/* Revisión de presentación · reunión del 25-09-2026.
   Conserva tipografías, paleta y dimensiones de la versión aprobada. */

/* El ajuste automático por pantallas producía saltos al detener el scroll
   en escritorio. Mantener el desplazamiento libre y los enlaces de sección. */
html:has(body.por-pantallas) { scroll-snap-type: none; }
.por-pantallas .pantalla { scroll-snap-align: none; }

.brand { line-height: 1.25; }
.brand small { margin-top: 4px; }
.hero h1 { max-width: 15ch; }
.hero .lead { max-width: 49ch; }
.service-item h3 { overflow-wrap: anywhere; }

/* El video solo se activa al configurar el archivo y sus subtítulos. */
.presentacion-video video {
  display: block;
  width: min(880px, 100%);
  max-height: 72svh;
  margin: 28px auto 0;
  border-radius: 24px 24px 24px 6px;
  background: var(--ink);
  box-shadow: var(--shadow);
}

/* Sin JavaScript permanecen visibles todos los testimonios. Con él, se
   superponen en la misma celda para conservar la altura del texto más largo.
   No hay reproducción automática ni cambios de foco al pasar de testimonio. */
.testimonios-carrusel { max-width: 850px; margin-inline: auto; }
.testimonios-carrusel .testimonios-grid { grid-template-columns: 1fr; }
.testimonios-carrusel .quote,
.testimonios-carrusel .quote:nth-child(4) { grid-column: auto; }
.testimonios-carrusel.mejorado .testimonios-grid { display: grid; gap: 0; }
.testimonios-carrusel.mejorado .quote,
.testimonios-carrusel.mejorado .quote:nth-child(4) {
  grid-area: 1 / 1;
  visibility: hidden;
  pointer-events: none;
}
.testimonios-carrusel.mejorado .quote.activo {
  visibility: visible;
  pointer-events: auto;
}
.testimonios-carrusel .quote {
  padding: clamp(28px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border-top: 3px solid var(--blue);
}
.testimonios-carrusel .quote blockquote {
  font-size: clamp(1.18rem, 2.3vw, 1.65rem);
  line-height: 1.55;
  margin: 0 0 20px;
}
.testimonios-carrusel .quote figcaption { margin-top: auto; }
.testimonios-controles { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 24px; }
.testimonios-estado { min-width: 5ch; margin: 0; font-size: .9rem; font-weight: 700; color: var(--forest); }
.testimonio-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  color: var(--forest);
  font: inherit;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.testimonio-control:hover { border-color: var(--forest); background: var(--mint); }

@media (max-width: 520px) {
  .cabecera .nav { gap: 12px; }
  .brand { font-size: 1rem; min-width: 0; flex: 1; }
  .brand small { font-size: .59rem; letter-spacing: .07em; }
  .cabecera .nav > .button { display: inline-flex; flex: 0 0 auto; max-width: 126px; min-height: 44px; padding: .55rem .8rem; font-size: .82rem; line-height: 1.2; text-align: center; }
  .hero .lead { max-width: none; }
  .testimonios-carrusel .quote { padding: 28px 22px; }
}

/* Fotografía elegida el 26-09: archivo completo; encuadres solo de presentación. */
.hero-foto.hero-foto-sonriente { object-position: 50% 12%; }
.menu-retrato { position: relative; width: 140px; height: 140px; margin: 0 auto 1rem; overflow: hidden; border: 4px solid var(--white); border-radius: 50%; box-shadow: var(--shadow); }
.menu-head .menu-retrato img { position: absolute; top: -12px; left: 50%; width: 260px; height: auto; max-width: none; transform: translateX(-50%); object-fit: initial; border: 0; border-radius: 0; box-shadow: none; margin: 0; }
@media (max-width: 850px) { .hero-foto.hero-foto-sonriente { object-position: 50% 10%; } }
