/* Good v09 — continuidad editorial aprobada en laboratorio. */
:root { --good-surface:#0d0f27; --good-surface-2:#11142f; --good-line:rgba(255,255,255,.12);
  --good-body-copy-size:1rem; }

.good-scroll-hero { overflow:hidden; background:#090b20; }
.good-scroll-hero::after { content:''; position:absolute; z-index:2; left:0; right:0; bottom:-1px;
  height:clamp(150px,24vh,260px); pointer-events:none;
  background:linear-gradient(180deg,rgba(16,18,42,0),rgba(16,18,42,.42) 40%,var(--bg) 100%); }
.good-scroll-shade { background:linear-gradient(0deg,transparent 0 30%),
  linear-gradient(90deg,rgba(8,10,30,.16) 0%,rgba(8,10,30,.08) 48%,rgba(8,10,30,.35) 100%); }
.good-scroll-title { width:min(1120px,100%); --good-title-size:clamp(3.8rem,6.6vw,6.6rem); }
.good-scroll-title h1 { display:flex; flex-direction:column; row-gap:-.045em; line-height:.98; }
.good-scroll-title .good-hero-title-line { display:block; width:max-content; max-width:100%; overflow:hidden;
  box-sizing:content-box; padding:.18em .18em .24em .02em; margin:-.18em -.18em -.1em -.02em; }
.good-scroll-title .good-hero-title-line>i { display:block; }
.good-scroll-title .good-hero-title-outline>i { color:transparent; -webkit-text-stroke:1.35px rgba(255,255,255,.92); }
.good-scroll-title .good-hero-title-solid { display:grid; align-self:flex-start; margin-left:1.95em; }
.good-scroll-title .good-hero-title-solid::before { content:attr(data-text); visibility:hidden;
  grid-area:1/1; white-space:nowrap; }
.good-scroll-title .good-hero-title-reveal { grid-area:1/1; align-self:end; display:block; width:100%;
  height:100%; overflow:hidden; }
.good-scroll-enhanced .good-hero-title-reveal { height:0; }
.good-scroll-enhanced .good-hero-frame-ready .good-hero-title-reveal {
  animation:good-title-solid-reveal .6s cubic-bezier(.16,1,.3,1) .13s both; }
.good-scroll-title .good-hero-title-reveal>i { display:block; color:#fff; background:none;
  -webkit-text-fill-color:#fff; mix-blend-mode:exclusion; text-shadow:none; transform:none;
  will-change:auto; animation:none; }
/* La palabra que mezcla con el fondo no se transforma ni se recorta con `clip-path`: ambas
   técnicas pueden promoverla a una capa sin backdrop en Chromium. Un duplicado invisible
   generado con `data-text` reserva su medida, mientras este contenedor revela la palabra
   variando sólo su altura en el flujo normal. La animación comienza después del primer frame
   pintado en el canvas, para que el texto tenga backdrop desde su primer fotograma. */
@keyframes good-title-solid-reveal {
  from { height:0; }
  to { height:100%; }
}
/* El `exclusion` de «corazones.» sólo se ve si la mezcla alcanza el canvas del isotipo, y
   cualquier ancestro con transform, will-change o z-index propio abre un contexto de apilamiento
   que la encierra y la deja en blanco plano —que es lo que pasaba frente a Capacidades, donde
   la cadena de ancestros del titular está limpia. `.good-scroll-inner` deja de abrir contexto
   (su z-index quedaba atrapado en el del pin-spacer, así que no elevaba nada) y el panel del
   titular se centra con `margin-block:auto` en vez de `translateY(-50%)`. Sólo en escritorio:
   en móvil el panel conserva su anclaje propio en `top:56%`. */
/* Capas del hero, con la misma estructura que los heroes de Capacidades: el fondo va en
   z-index negativo y el contenido se queda en el flujo, sin z-index propio. El canvas y los
   velos quedan asi por debajo, y el `exclusion` compone contra ellos ya mezclados en vez de
   quedar tapado —los velos estaban en z-index 1 y pintaban sobre el titular—. */
.good-scroll-hero { isolation:isolate; }
#good-hero-canvas { z-index:-3; }
.good-scroll-shade,.good-scroll-veil-start,.good-scroll-narrative-veil { z-index:-2; }
.good-scroll-inner { z-index:auto; }

@media (min-width:761px) {
  .good-scroll-title { top:0; bottom:0; height:-moz-fit-content; height:fit-content;
    margin-block:auto; transform:none; will-change:auto; }
}
.good-scroll-lead { max-width:42ch; margin-top:clamp(1.25rem,2.4vh,1.8rem); color:rgba(255,255,255,.82);
  font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.55; }
.good-scroll-discover { position:absolute; z-index:31;
  left:max(4vw,calc((100vw - 1320px)/2)); right:auto; top:calc(100svh - 94px); bottom:auto;
  gap:1rem; color:rgba(255,255,255,.9); font-size:.7rem; letter-spacing:.1em; }
.good-scroll-enhanced .good-scroll-discover { position:fixed; }
.good-scroll-discover i { position:relative; width:38px; height:38px; border:1px solid rgba(255,255,255,.32);
  color:#fff; background:transparent; font-size:0; transform:none;
  transition:transform .3s ease,border-color .3s ease,background .3s ease; animation:none; }
.good-scroll-discover i::before { content:''; position:absolute; left:50%; top:50%; display:block;
  width:11px; height:8px; margin:-4px 0 0 -5.5px; background:currentColor;
  clip-path:polygon(0 0,50% 68%,100% 0,100% 29%,50% 100%,0 29%);
  animation:good-scroll-chevron 2s ease-in-out infinite; }
.good-scroll-discover:hover i,.good-scroll-discover:focus-visible i { transform:scale(1.05);
  border-color:rgba(255,255,255,.72); background:rgba(255,255,255,.08); }
.good-scroll-discover:focus-visible { outline:none; }
.good-scroll-discover:focus-visible i { outline:2px solid var(--cyan); outline-offset:4px; }
@keyframes good-scroll-chevron {
  0% { transform:translateY(-10%); opacity:0; }
  50% { transform:translateY(0); opacity:1; }
  100% { transform:translateY(10%); opacity:0; }
}
.good-split-word { display:inline-block; white-space:nowrap; }
.good-split-char { display:inline-block; will-change:transform,opacity; }

#historia { position:relative; isolation:isolate; margin-top:-1px; padding-top:clamp(5.5rem,10vw,9rem); background:var(--bg); }
#historia::before { content:''; position:absolute; z-index:-1; inset:0 0 auto; height:min(52vw,720px); pointer-events:none;
  background:radial-gradient(circle at 76% 0,rgba(105,73,214,.14),transparent 42%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%); }

#historia.section,#lideres.section,#tesis.section,#equipo.section,#metodologia.section { padding-block:clamp(5.5rem,10vw,9rem); }
#historia .bloque-split-grid { grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(3rem,9vw,9rem); align-items:start; }
#historia .bloque-texto { position:sticky; top:clamp(7rem,18vh,10rem); }
#historia h2,#lideres h2,#como-pensamos h2,#equipo h2,#metodologia h2 { font-weight:400; letter-spacing:-.045em; }
#historia h2 { max-width:10ch; margin:1rem 0 1.8rem; font-size:clamp(2.6rem,4.8vw,4.8rem); line-height:1.02; }
#historia .bloque-texto p:not(.kicker) { max-width:47ch; font-size:var(--good-body-copy-size); }
#historia .bloque-figura { position:relative; margin:clamp(2.5rem,8vh,5rem) 0 0; padding:10px; border:1px solid rgba(167,122,234,.22);
  border-radius:22px; background:linear-gradient(145deg,rgba(31,35,72,.9),rgba(21,23,52,.86));
  box-shadow:0 32px 70px -38px rgba(0,0,0,.9); }
#historia .bloque-figura::after { content:'GOOD · 2017'; position:absolute; right:1.3rem; bottom:1.3rem; padding:.5rem .65rem;
  border-radius:999px; color:#fff; background:rgba(9,11,32,.64); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  font-size:.58rem; letter-spacing:.16em; }
/* El zoom vive en un envoltorio que recorta: la tarjeta tiene 10px de padding como paspartú
   y recortar en la propia figura dejaría que la foto ampliada se lo comiera. */
#historia .bloque-figura-media { display:block; overflow:hidden; border-radius:15px; }
#historia .bloque-figura img { aspect-ratio:4/5; object-fit:cover; border-radius:15px;
  transform:scale(1.001); transform-origin:center; transition:transform .7s cubic-bezier(.2,.8,.2,1);
  will-change:transform; }
#historia .bloque-figura:hover img { transform:scale(1.018); }

@media (min-width:761px) and (min-height:860px) {
  #historia { min-height:calc(100svh + 26rem); }
  /* `.section` (base.css) es flex con align-items:center. Con el relevo de 26rem la sección
     mide ~1316px contra ~780px de contenido, así que ese centrado repartía 123px de vacío
     sobre el bloque y hacía aterrizar el ancla #historia muy por debajo del resto. El bloque
     se ancla al inicio; el colchón de scroll del relevo queda intacto debajo. */
  #historia.section { align-items:flex-start; }
  /* El ancla global (`:target`, base.css) deja el borde de la sección en 90px, pero aquí el
     bloque arranca 144px más abajo por el padding y se salía del viewport. El margen cancela
     ese padding y lo aterriza a 5.5rem del borde: el mismo lugar donde el sticky lo sostiene
     después, así que llegar por el menú y llegar scrolleando dejan la composición igual. */
  #historia { scroll-margin-top:calc(5.5rem - clamp(5.5rem,10vw,9rem)); }
  #historia .bloque-split-grid { position:sticky; top:clamp(4.5rem,8vh,5rem); align-items:center; }
  #historia .bloque-texto { position:static; }
  #historia .bloque-figura { margin-top:0; }
}

@media (min-width:761px) and (max-height:859px) {
  #historia.section { padding-top:clamp(3rem,8vh,4.5rem); }
}

#lideres { border-top:1px solid var(--good-line); background:var(--good-surface); }
#lideres>.container { display:grid; grid-template-columns:minmax(200px,.42fr) minmax(0,1fr); column-gap:clamp(2.5rem,8vw,8rem); }
#lideres>.container>.kicker { grid-column:1; grid-row:1; margin:0; }
#lideres>.container>h2 { grid-column:2; grid-row:1; max-width:13ch; margin:0; font-size:clamp(2.4rem,4.4vw,4.35rem); line-height:1.04; }
#lideres .bloque-intro { grid-column:2; max-width:68ch; margin-top:1.5rem; font-size:var(--good-body-copy-size); }
.lideres-grid { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(2.5rem,5vw,5rem); row-gap:clamp(4rem,7vw,6.5rem);
  margin-top:clamp(3.5rem,7vw,6rem); background:transparent; border:0; }
.lider { display:flex; flex-direction:column; min-height:0; padding:clamp(1.15rem,1.7vw,1.4rem) 0 0;
  border-top:1px solid rgba(255,255,255,.16); background:transparent; transition:border-color .35s ease; }
.lider:hover { border-color:rgba(82,206,191,.58); background:transparent; }
.lider-media { position:relative; width:100%; aspect-ratio:1; margin:0 0 clamp(1.4rem,2.4vw,2rem);
  overflow:hidden; border-radius:8px; background:#15162b; transform:translateZ(0); }
.lider-media::after { content:''; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:linear-gradient(90deg,var(--cyan),var(--magenta)); transform:scaleX(0); transform-origin:0 50%;
  transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.lider-media img { display:block; width:100%; height:100%; min-height:0; margin:0; aspect-ratio:1; object-fit:cover;
  border-radius:0; filter:grayscale(1) contrast(1.04); transform:scale(1.001); transform-origin:center;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease; }
.lider:hover .lider-media img { filter:grayscale(0) saturate(1.04) contrast(1.015); transform:scale(1.03); }
.lider:hover .lider-media::after { transform:scaleX(1); }
.lider h3 { align-self:start; margin:0 0 .55rem; font-size:clamp(1.65rem,2.2vw,2.1rem);
  font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.lider-cargo { margin:0 0 1.15rem; font-size:.66rem; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; }
.lider-bio { max-width:52ch; margin:0; font-size:var(--good-body-copy-size); line-height:1.72; }

#tesis { position:relative; isolation:isolate; overflow:hidden;
  background:radial-gradient(circle at 92% 14%,rgba(221,0,127,.16),transparent 34%),
  radial-gradient(circle at 4% 86%,rgba(82,206,191,.1),transparent 30%),#0b0d24; }
#tesis::after { content:''; position:absolute; z-index:-1; width:48vw; aspect-ratio:1; right:-22vw; top:-30vw;
  border:1px solid rgba(167,122,234,.18); border-radius:50%; box-shadow:0 0 90px rgba(101,62,197,.12); }
#tesis .container { display:grid; grid-template-columns:minmax(170px,.35fr) minmax(0,1fr); gap:clamp(2rem,7vw,7rem); }
#tesis .kicker { margin:0; }
#tesis .cita { grid-column:2; max-width:18ch; margin:0; font-size:clamp(2.55rem,5.1vw,5.25rem);
  font-weight:400; line-height:1.03; letter-spacing:-.055em; }
#tesis .cita em { color:var(--cyan); font-style:normal; }
#tesis .cita-apoyo { grid-column:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.5rem,4vw,4rem); max-width:900px; margin-top:clamp(2rem,4vw,3.5rem); padding-top:1.5rem;
  border-top:1px solid var(--good-line); font-size:var(--good-body-copy-size); }
#tesis .cita-apoyo p { margin:0; }

#como-pensamos { padding:0; background:var(--bg); }
#como-pensamos .como-pensamos-wrap { gap:0; }
.convicciones-stage { position:relative; isolation:isolate; overflow:hidden; display:grid;
  grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); column-gap:clamp(2rem,8vw,8rem);
  margin-inline:calc(50% - 50vw); padding:clamp(4.5rem,7vw,6.5rem) max(4vw,calc((100vw - 1320px)/2)); }
.convicciones-fondo { position:absolute; z-index:-4; inset:-22% -10%; overflow:hidden; transform-origin:50% 50%; will-change:transform; }
.convicciones-fondo img { width:100%; height:100%; object-fit:cover; object-position:center;
  filter:saturate(1.18) contrast(1.1) brightness(.72); transform:scale(1.16); will-change:transform; }
.convicciones-velo { position:absolute; z-index:-3; inset:-4% 0; pointer-events:none;
  background:linear-gradient(90deg,rgba(8,10,34,.44) 0%,rgba(12,12,43,.2) 48%,rgba(7,9,31,.48) 100%),
  linear-gradient(180deg,rgba(9,11,32,.06),rgba(9,11,32,.28));
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); will-change:transform; }
.convicciones-ruido { position:absolute; z-index:-2; inset:0; opacity:.46; pointer-events:none;
  background:url('../assets/brand/noise.png') center/cover no-repeat; }
.convicciones-stage>.kicker,.convicciones-stage>h2,.convicciones-stage>.convicciones { position:relative; z-index:1; will-change:transform; }
.convicciones-stage>.kicker { grid-column:1; margin:0; }
.convicciones-stage>h2 { grid-column:2; margin:0; font-size:clamp(2.2rem,3.5vw,3.45rem); }
.convicciones { grid-column:2; margin-top:clamp(2rem,3.5vw,3rem); border-top:1px solid rgba(255,255,255,.12); }
.convicciones li { display:grid; grid-template-columns:1fr; gap:0; padding:clamp(1.1rem,1.8vw,1.55rem) 0;
  color:rgba(255,255,255,.34); transition:color .3s ease,padding-left .35s ease; }
.convicciones li:hover { padding-left:.7rem; color:#fff; }
.convicciones p { font-size:clamp(1.3rem,2.05vw,2.05rem); font-weight:400; line-height:1.18; letter-spacing:-.035em; }
.pilares-good { margin-inline:calc(50% - 50vw); padding:clamp(4.5rem,7vw,6.5rem) max(4vw,calc((100vw - 1320px)/2));
  border-top:1px solid var(--good-line); background:radial-gradient(circle at 78% 28%,rgba(89,65,192,.15),transparent 34%),var(--good-surface); }
.pilares-good>h2 { max-width:14ch; margin:1rem 0 clamp(2.5rem,4vw,3.5rem); font-size:clamp(2.2rem,3.5vw,3.45rem); line-height:1.04; }
.cultura-componente { padding:clamp(1rem,2.5vw,2.25rem); border:1px solid rgba(167,122,234,.18);
  border-radius:24px; background:rgba(9,11,32,.42); box-shadow:0 32px 75px -45px rgba(0,0,0,.9); }
.cultura-wheel { width:min(450px,100%); }
.cultura-panel { min-height:390px; }

#equipo { background:#0b0d24; }
#equipo>.container { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); column-gap:clamp(2rem,8vw,8rem); }
#equipo .kicker { grid-column:1; margin:0; }
#equipo h2 { grid-column:2; max-width:15ch; margin:0; font-size:clamp(2.5rem,4.8vw,4.8rem); line-height:1.03; }
#equipo h2 em { color:var(--magenta); font-style:normal; }
.equipo-destacado { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.52fr) minmax(260px,.48fr);
  gap:clamp(2rem,5vw,5rem); align-items:center; margin-top:clamp(3rem,6vw,5rem);
  padding-bottom:clamp(3.5rem,7vw,6rem); border-bottom:1px solid var(--good-line); }
.equipo-destacado figure { position:relative; overflow:hidden; margin:0; border:1px solid rgba(255,255,255,.12);
  border-radius:18px; background:#15162b; }
.equipo-destacado figure::after { content:'EQUIPO GOOD'; position:absolute; left:1.2rem; bottom:1.2rem; padding:.52rem .7rem;
  border-radius:999px; color:#fff; background:rgba(9,11,32,.68); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  font-size:.57rem; font-weight:600; letter-spacing:.16em; }
.equipo-destacado img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; filter:grayscale(1) contrast(1.03);
  transform:scale(1.001); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease; }
.equipo-destacado figure:hover img { filter:grayscale(0) saturate(1.03) contrast(1.02); transform:scale(1.018); }
#equipo .equipo-destacado .equipo-texto { display:block; max-width:34ch; margin:0; font-size:clamp(.92rem,1.15vw,1.05rem); line-height:1.75; }
#equipo .equipo-destacado .equipo-texto::before { content:'UN MISMO PROPÓSITO'; display:block; margin-bottom:1.1rem;
  color:var(--cyan); font-size:.62rem; font-weight:600; letter-spacing:.18em; }
#equipo .equipo-destacado .equipo-texto p { margin:0; }
#equipo .equipo-destacado .equipo-texto p+p { margin-top:1.2rem; }
.equipo-galeria-titulo { grid-column:1/-1; margin:clamp(2.5rem,5vw,4rem) 0 0; color:var(--cyan);
  font-size:var(--section-indicator-size); font-weight:600; line-height:var(--section-indicator-leading);
  letter-spacing:var(--section-indicator-tracking); text-transform:uppercase; }
.equipo-galeria { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.27fr) minmax(0,1fr);
  gap:clamp(1rem,2vw,1.6rem); align-items:start; margin-top:1rem; }
.equipo-galeria-columna { display:grid; gap:clamp(1rem,2vw,1.6rem); align-content:start; }
.equipo-galeria figure { position:relative; overflow:hidden; margin:0; border:1px solid rgba(255,255,255,.12);
  border-radius:16px; background:#14162c; box-shadow:0 24px 70px rgba(3,5,24,.2); transform:translateZ(0); }
.equipo-galeria figure:nth-child(even) { transform:translateZ(0); }
.equipo-galeria figure::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); opacity:.65; transition:opacity .35s ease; }
.equipo-galeria img { display:block; width:100%; height:auto; aspect-ratio:auto; border-radius:0;
  filter:grayscale(1) contrast(1.04); transform:scale(1.001); transform-origin:center;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease; will-change:transform; }
.equipo-galeria figure:hover img { transform:scale(1.018); filter:grayscale(0) saturate(1.04) contrast(1.015); }
.equipo-galeria figure:hover::after { opacity:1; }

#metodologia { border-top:1px solid var(--good-line); background:var(--good-surface); }
#metodologia>.container { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); column-gap:clamp(2rem,8vw,8rem); }
#metodologia .kicker { grid-column:1; margin:0; }
#metodologia h2 { grid-column:2; max-width:14ch; margin:0; font-size:clamp(2.4rem,4.4vw,4.35rem); line-height:1.04; }
#metodologia .bloque-intro { grid-column:2; margin-top:1.35rem; }
.metodologia-wrap { grid-column:1/-1; margin-top:clamp(3rem,6vw,5rem);
  padding:clamp(1.35rem,2.4vw,2rem) 0 0; position:relative; }
.metodologia { column-gap:clamp(1.5rem,2.8vw,2.75rem); row-gap:0; margin:0; padding:0; border:0; background:none; position:static; }
.metodologia li { min-height:0; padding:0; background:none; transition:none; }
.metodologia li:hover { background:none; }
.metodologia-track { position:absolute; top:0; left:0; right:0; height:1px; background:rgba(255,255,255,.16); }
.metodologia-progress { --mp:0; position:absolute; top:0; left:0; width:100%; height:1px; transform:scaleX(var(--mp));
  transform-origin:0 50%; background:linear-gradient(90deg,var(--cyan),var(--magenta)); will-change:transform; }
.metodologia li::before { display:block; content:''; position:absolute;
  top:calc(0px - clamp(1.35rem,2.4vw,2rem) - 4px); left:0; width:9px; height:9px; margin:0;
  border-radius:50%; background:rgba(255,255,255,.28); box-shadow:0 0 0 4px var(--good-surface);
  transition:background .35s ease,transform .35s ease,box-shadow .35s ease; z-index:1; }
.metodologia li.is-active::before { background:var(--cyan); transform:scale(1.4);
  box-shadow:0 0 0 4px var(--good-surface),0 0 18px rgba(82,206,191,.48); }
.metodologia li:last-child.is-active::before { background:var(--magenta);
  box-shadow:0 0 0 4px var(--good-surface),0 0 18px rgba(221,0,127,.5); }
.metodologia .paso-num { margin:0 0 .6rem; color:var(--muted); transition:color .35s ease; }
.metodologia li.is-active .paso-num { color:var(--cyan); }
.metodologia li:last-child.is-active .paso-num { color:var(--magenta); }
.metodologia h3 { margin:0 0 .5rem; font-size:1.05rem; font-weight:500; }
.metodologia p { font-size:var(--good-body-copy-size); color:var(--muted); }

.manifiesto-good { padding-block:clamp(6rem,12vw,11rem); }
.manifiesto-good::before { opacity:.32; transform:scale(1.08); }
.manifiesto-titular { max-width:12ch; margin:1rem 0 clamp(2.5rem,5vw,4.5rem);
  font-size:clamp(3rem,6.2vw,6.4rem); font-weight:400; line-height:.98; letter-spacing:-.055em; }
.manifiesto-titular em { color:var(--magenta); font-style:normal; }
.manifiesto-cuerpo { margin-left:auto; max-width:66ch; font-size:clamp(1rem,1.45vw,1.22rem); }
.manifiesto-cuerpo>.manifiesto-cierre { width:auto; max-width:none; margin:2rem 0 0; text-align:left; font-size:.72rem; }
.manifiesto-cuerpo .word { will-change:opacity; }

@media (max-width:980px) {
  .equipo-destacado { grid-template-columns:1fr; gap:2rem; }
  #equipo .equipo-destacado .equipo-texto { max-width:58ch; }
  .metodologia-wrap { padding-top:0; }
  .metodologia { grid-template-columns:1fr; gap:clamp(1.9rem,4.5vw,2.6rem); }
  .metodologia-track { top:0; left:4px; right:auto; bottom:0; width:1px; height:auto; }
  .metodologia-progress { top:0; left:4px; width:1px; height:100%; transform:scaleY(var(--mp)); transform-origin:0 0; }
  .metodologia li { padding-left:1.85rem; }
  .metodologia li::before { top:.3rem; left:0; margin-top:0; }
}

@media (max-width:760px) {
  .good-scroll-hero::after { height:20vh; }
  .good-scroll-title { width:100%; --good-title-size:clamp(3.15rem,14vw,4.25rem); }
  .good-scroll-title h1 { line-height:1.02; row-gap:.04em; }
  .good-scroll-title .good-hero-title-line { width:100%; max-width:100%; box-sizing:border-box;
    padding:.18em .08em .24em 0; margin:-.18em -.08em -.1em 0; }
  .good-scroll-title .good-hero-title-line>i,
  .good-scroll-title .good-hero-title-reveal>i { white-space:normal; }
  .good-scroll-title .good-hero-title-solid { width:max-content; max-width:calc(100% - 1.95em); margin-left:1.95em; }
  .good-scroll-lead { max-width:29ch; margin-top:1.2rem; font-size:.96rem; line-height:1.55; }
  #historia.section,#lideres.section,#tesis.section,#equipo.section,#metodologia.section { padding-block:4.75rem; }
  #historia .bloque-split-grid,#lideres>.container,#tesis .container,.convicciones-stage,#equipo>.container,#metodologia>.container { grid-template-columns:1fr; gap:0; }
  #historia .bloque-texto { position:static; }
  #historia .bloque-figura { margin-top:2.5rem; }
  #historia .bloque-figura img { aspect-ratio:4/4.6; }
  #lideres>.container>.kicker,#lideres>.container>h2,#lideres .bloque-intro,#tesis .cita,#tesis .cita-apoyo,
  .convicciones-stage>.kicker,.convicciones-stage>h2,.convicciones,#equipo .kicker,#equipo h2,#metodologia .kicker,
  #metodologia h2,#metodologia .bloque-intro { grid-column:1; grid-row:auto; }
  #lideres>.container>h2,.convicciones-stage>h2,#equipo h2,#metodologia h2 { margin-top:1rem; }
  .lideres-grid { grid-template-columns:1fr; row-gap:4rem; }
  .lider { padding-top:1rem; }
  .lider h3 { font-size:clamp(1.6rem,7.2vw,2rem); }
  #tesis .cita { margin-top:2rem; }
  #tesis .cita-apoyo { grid-template-columns:1fr; gap:1.2rem; }
  .convicciones-stage { padding:4.5rem 6vw; }
  .convicciones-fondo { inset:-18% -26%; }
  .convicciones-fondo img { object-position:center; filter:saturate(1.14) contrast(1.08) brightness(.68); }
  .convicciones-velo { background:linear-gradient(180deg,rgba(9,11,32,.26),rgba(9,11,32,.48)); }
  .convicciones { margin-top:1.6rem; }
  .convicciones li { grid-template-columns:1fr; padding-block:1rem; }
  .convicciones p { font-size:clamp(1.2rem,5.2vw,1.65rem); }
  .pilares-good { padding:4.5rem 6vw; }
  .cultura-componente { padding:.5rem; border-radius:16px; }
  .cultura-wheel { width:min(330px,88vw); }
  .cultura-panel { min-height:380px; }
  .equipo-destacado { margin-top:2.5rem; padding-bottom:3.5rem; }
  .equipo-destacado figure { border-radius:14px; }
  /* Apaisada y entera en móvil: sin esto, el atributo height (501) deja la caja vertical y
     recorta los extremos del grupo. 4/3 es la proporción de la foto grupal. */
  .equipo-destacado img { height:auto; aspect-ratio:4/3; }
  .equipo-galeria { grid-template-columns:1fr; gap:1rem; }
  .equipo-galeria-columna { gap:1rem; }
  .metodologia .paso-num { margin-bottom:.5rem; }
  .manifiesto-cuerpo,.manifiesto-cierre { margin-left:0; }
}

@media (prefers-reduced-motion:reduce) {
  .good-scroll-enhanced .good-scroll-title .good-hero-title-reveal { height:100%; animation:none; }
  .good-scroll-discover i::before { animation:none; opacity:1; }
  .good-split-char { transform:none!important; opacity:1!important; will-change:auto; }
  .convicciones-fondo,.convicciones-fondo img,.convicciones-velo,
  .convicciones-stage>.kicker,.convicciones-stage>h2,.convicciones-stage>.convicciones { transform:none!important; will-change:auto; }
  .lider,.lider-media::after,.lider-media img,.convicciones li,.equipo-destacado img,.equipo-galeria img,.equipo-galeria figure::after,.metodologia li,#historia .bloque-figura img { transition:none; }
  .lider:hover .lider-media img { transform:none; }
  .convicciones li:hover { padding-left:0; }
  .equipo-destacado figure:hover img,.equipo-galeria figure:hover img,#historia .bloque-figura:hover img { transform:none; }
}
