/* =========================
   ARQUITECTURA DEL SITIO
   ========================= */

.site-arch-block .site-arch-title.section-title {
  font-size: 2.1rem;
  line-height: 1.12;
}

.site-arch-hero-title {
  margin: 0 0 1rem 0;
}

.site-arch-hero-text {
  margin: 0;
  max-width: 760px;
}

/* Grid de bloques */
.site-arch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

/* Bloque */
.site-arch-block {
  padding: 1.75rem 1.5rem;
}

.site-arch-title {
  margin: 0 0 1.25rem 0;
}

/* Listado */
.site-arch-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.site-arch-list a {
  color: var(--color-text);
  text-decoration: none;
}

.site-arch-list a:hover {
  text-decoration: underline;
}

/* Sub-item (hijos) */
.site-arch-sub {
  padding-left: 1.25rem;
  position: relative;
}

.site-arch-sub::before {
  content: "•";
  position: absolute;
  left: 0.35rem;
  top: 0;
  color: var(--color-accent);
}

/* Tablet */
@media (max-width: 991.98px) {
  .site-arch-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .site-arch-block {
    padding: 1.5rem 1.25rem;
  }
}

/* Mobile */
@media (max-width: 575.98px) {
  .site-arch-hero-title,
  .site-arch-hero-text {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .site-arch-block {
    padding: 1.25rem 1rem;
  }

  .site-arch-title {
    text-align: center;
    margin-bottom: 1rem;
  }

  .site-arch-list {
    gap: 0.65rem;
  }

  .site-arch-sub {
    padding-left: 1rem;
  }

  .site-arch-sub::before {
    left: 0.25rem;
  }

  .site-arch-block .site-arch-title.section-title {
    font-size: 1.6rem;
    line-height: 1.1;
  }
}
