/* ===========================================================
   DatoFino — landing · secciones del cuerpo
   verde-noche, serif Spectral, acento naranjo, mono JetBrains.
   (variables :root viven en curioso.css)
   =========================================================== */

/* ---------- progreso + CTA flotante ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0%; z-index:300;
  background:linear-gradient(90deg, var(--green), var(--accent));
  transition:width .08s linear;
}
.float-cta{
  position:fixed; right:18px; bottom:18px; z-index:190;
  max-width:calc(100vw - 36px);   /* red de seguridad: nunca más ancho que la pantalla */
  opacity:0; transform:translateY(18px) scale(.96); pointer-events:none;
  transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.float-cta.show{ opacity:1; transform:none; pointer-events:auto; }

/* ---------- botón pastilla reutilizable ---------- */
.df-btn{
  display:inline-flex; align-items:center; gap:.55em; justify-content:center;
  font-family:var(--f-body); font-weight:600; font-size:1rem; line-height:1;
  padding:15px 28px; border-radius:999px; border:1px solid transparent;
  background:var(--accent-deep); color:#fff; cursor:pointer; white-space:nowrap; text-decoration:none; /* AUD-21: #D33D00 da blanco a 4,7:1 (AA); el #F64A00 daba 3,6:1 */
  box-shadow:0 14px 34px -12px rgba(246,74,0,.7), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .16s var(--ease), background .16s, box-shadow .16s;
}
.df-btn svg{ width:1.15em; height:1.15em; }
.df-btn:hover{ transform:translateY(-2px); background:#B83400; box-shadow:0 18px 40px -12px rgba(246,74,0,.8); }
.df-btn:active{ transform:translateY(0); }
.df-btn.sm{ padding:11px 20px; font-size:.92rem; }
.micro{ font-family:var(--f-mono); font-size:.76rem; color:var(--muted-2); line-height:1.5; }
.micro b{ color:var(--muted); font-weight:500; }

/* ===========================================================
   ESTRUCTURA DE BANDA
   =========================================================== */
.band{ position:relative; border-top:1px solid var(--line-2); }
.band.b2{ background:var(--bg-2); }
.band-inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:clamp(74px,11vh,140px) var(--pad);
}
.band-inner.narrow{ max-width:980px; }

.s-head{ text-align:center; max-width:760px; margin-inline:auto; }
.s-kicker{
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent); margin-bottom:1.5rem;
}
.s-kicker::before, .s-kicker::after{ content:""; width:26px; height:1px; background:var(--line); }
.s-kicker .n{ color:var(--muted-2); }
.s-title{
  font-family:var(--f-disp); font-weight:500; letter-spacing:-.01em; line-height:1.06;
  font-size:clamp(2.1rem,4.6vw,3.7rem); margin:0; text-wrap:balance;
}
/* Título sin tell de "dos fuentes/dos colores" a media frase — ver curioso.css. */
.s-title em{ font-style:normal; font-weight:inherit; color:inherit; }
.s-lead{
  font-size:clamp(1.02rem,1.4vw,1.18rem); color:var(--muted); line-height:1.55;
  max-width:54ch; margin:1.4rem auto 0; text-wrap:pretty;
}

/* ===========================================================
   CÓMO FUNCIONA · 3 pasos
   =========================================================== */
.howstrip{
  background:rgba(0,0,0,.26); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2);
}
.howstrip-inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:clamp(22px,3.2vw,34px) var(--pad);
  display:grid; grid-template-columns:repeat(3,1fr);
}
.hstep{ display:flex; gap:1rem; align-items:flex-start; padding:.3rem clamp(1.1rem,2.6vw,2.4rem); }
.hstep:first-child{ padding-left:0; }
.hstep:last-child{ padding-right:0; }
.hstep + .hstep{ border-left:1px solid var(--line-2); }
.hstep .hn{ font-family:var(--f-mono); font-size:.74rem; letter-spacing:.12em; color:var(--accent); padding-top:.25rem; flex:none; }
.hstep .ht{ font-family:var(--f-disp); font-weight:500; font-size:1.18rem; letter-spacing:-.01em; color:var(--ink); display:flex; align-items:center; gap:.55rem; }
.hstep .hd{ color:var(--muted); font-size:.9rem; line-height:1.5; margin-top:.35rem; max-width:34ch; }
.hsem{ display:inline-flex; gap:4px; }
.hsem i{ width:7px; height:7px; border-radius:50%; display:inline-block; }
.hsem i.v{ background:var(--green); box-shadow:0 0 7px 1px var(--green); }
.hsem i.a{ background:#F4C34D; }
.hsem i.r{ background:#FF7A5E; }
@media (max-width:760px){
  .howstrip-inner{ grid-template-columns:1fr; gap:0; }
  .hstep{ padding:1rem 0; }
  .hstep:first-child{ padding-top:.2rem; }
  .hstep:last-child{ padding-bottom:.2rem; }
  .hstep + .hstep{ border-left:none; border-top:1px solid var(--line-2); }
  .hstep .hd{ max-width:none; }
}

/* ===========================================================
   01 · PROBLEMA
   =========================================================== */
.pain-list{ margin-top:clamp(2.6rem,5vw,4rem); max-width:920px; margin-inline:auto; }
.pain{
  display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1rem,3vw,2rem); align-items:baseline;
  padding:clamp(1.4rem,3vw,2rem) 0; border-top:1px solid var(--line-2);
}
.pain:last-child{ border-bottom:1px solid var(--line-2); }
.pain .pn{ font-family:var(--f-mono); font-size:.82rem; color:var(--accent); }
.pain p{
  margin:0; font-family:var(--f-disp); font-weight:400; letter-spacing:-.01em;
  font-size:clamp(1.3rem,2.7vw,2rem); line-height:1.16; color:var(--ink);
}
.pain .echo{ font-family:var(--f-mono); font-size:.74rem; color:var(--muted-2); text-align:right; white-space:nowrap; align-self:center; }

/* ===========================================================
   02 · VEREDICTO · semáforo
   =========================================================== */
.panel{ margin-top:clamp(2.6rem,5vw,3.6rem); border-top:1px solid var(--line); }
.lamp-row{
  display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1.1rem,3vw,2.4rem); align-items:center;
  padding:clamp(1.5rem,3vw,2.3rem) clamp(.4rem,2vw,1.4rem);
  border-bottom:1px solid var(--line); position:relative; overflow:hidden;
}
.lamp-row.hot{ background:linear-gradient(90deg, rgba(70,208,127,.07), transparent 70%); }
.lamp{
  width:clamp(36px,5vw,54px); height:clamp(36px,5vw,54px); border-radius:50%; flex:none; position:relative;
}
.lamp::after{ content:""; position:absolute; inset:-8px; border-radius:50%; border:1px solid currentColor; opacity:.3; }
.lamp-verde{ background:var(--green); color:var(--green); box-shadow:0 0 28px -2px var(--green); }
.lamp-amar{ background:#F4C34D; color:#F4C34D; box-shadow:0 0 24px -4px #F4C34D; }
.lamp-rojo{ background:#FF7A5E; color:#FF7A5E; box-shadow:0 0 24px -4px #FF7A5E; }
.lamp-row .flag{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); display:block; margin-bottom:.45rem; }
.lamp-row .name{ font-family:var(--f-disp); font-weight:500; font-size:clamp(1.5rem,3.4vw,2.5rem); line-height:1; letter-spacing:-.02em; }
.lamp-row .desc{ color:var(--muted); margin-top:.4rem; font-size:1rem; }
.lamp-row .verdict{ font-family:var(--f-disp); font-style:italic; font-weight:400; font-size:clamp(1.1rem,2.2vw,1.6rem); text-align:right; max-width:13ch; line-height:1.12; }
.v-verde{ color:var(--green); } .v-amar{ color:#F4C34D; } .v-rojo{ color:#FF7A5E; }
.panel-note{ text-align:center; color:var(--muted); font-size:.96rem; line-height:1.5; max-width:52ch; margin:clamp(1.8rem,3vw,2.4rem) auto 0; }

/* ===========================================================
   03 · DOS CANCHAS (Compra Ágil core)
   =========================================================== */
.canchas{ margin-top:clamp(2.6rem,5vw,3.6rem); display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cancha{ padding:clamp(1.8rem,3.4vw,2.6rem); border-radius:18px; border:1px solid var(--line); background:rgba(236,244,237,.02); }
.cancha.feat{
  background:linear-gradient(160deg, rgba(246,74,0,.1), rgba(246,74,0,.02));
  border-color:rgba(246,74,0,.34); box-shadow:0 40px 90px -50px rgba(246,74,0,.5);
}
.cancha-tag{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); }
.cancha.feat .cancha-tag{ color:var(--accent); }
.cancha h3{ font-family:var(--f-disp); font-weight:500; font-size:clamp(1.4rem,3vw,1.9rem); letter-spacing:-.01em; margin:.7rem 0 .6rem; line-height:1.1; }
.cancha p{ color:var(--muted); font-size:1rem; line-height:1.5; margin:0; }
.cancha p b{ color:var(--ink); font-weight:600; }
@media (max-width:680px){ .canchas{ grid-template-columns:1fr; } }

/* ===========================================================
   04 · RADIOGRAFÍA · expediente en vivo
   =========================================================== */
.demo-tabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:clamp(2rem,4vw,3rem); }
.demo-tab{
  font-family:var(--f-mono); font-weight:500; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase;
  padding:.65rem 1.2rem; border:1px solid var(--line); border-radius:999px; background:transparent;
  color:var(--muted); cursor:pointer; transition:all .16s var(--ease);
}
.demo-tab:hover{ color:var(--ink); border-color:var(--muted-2); }
.demo-tab[aria-selected="true"]{ background:var(--accent-deep); border-color:var(--accent-deep); color:#fff; } /* AUD-21: #D33D00 = 4,7:1 con blanco (AA); el #F64A00 daba 3,6:1 */
.dossier{
  margin-top:1.6rem; border:1px solid var(--line); border-radius:18px; overflow:hidden;
  background:rgba(236,244,237,.02);
  box-shadow:0 40px 90px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04);
  transition:opacity .18s ease, transform .18s ease; min-height:220px;
}
.dossier.swapping{ opacity:0; transform:translateY(6px); }

/* banda del resultado del HERO: oculta hasta que el usuario escribe su rubro */
.hero-result-band{ display:none; background:var(--bg-2); border-bottom:1px solid var(--line-2); }
.hero-result-band.show{ display:block; }
.hero-result-band .band-inner{ padding-top:clamp(2.2rem,4vw,3.2rem); padding-bottom:clamp(2.2rem,4vw,3.2rem); }
.hero-result-band .dossier{ margin-top:0; }

/* paleta de semáforo: una sola variable --sem la usan flag + lamp */
.sem-verde{ --sem:var(--green); }
.sem-amar{ --sem:#F4C34D; }
.sem-rojo{ --sem:#FF7A5E; }
.sem-gris{ --sem:var(--muted-2); }

.dossier-top{ display:flex; flex-wrap:wrap; gap:1rem; align-items:baseline; justify-content:space-between; padding:clamp(1.3rem,3vw,1.8rem) clamp(1.3rem,3vw,2rem); border-bottom:1px solid var(--line-2); }
.dossier-top .expediente{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); }
.dossier-top .rubro{ font-family:var(--f-disp); font-weight:500; font-size:clamp(1.5rem,3.6vw,2.4rem); letter-spacing:-.02em; line-height:1.05; margin-top:.2rem; }
.dossier-flag{ font-family:var(--f-mono); font-size:.72rem; font-weight:500; letter-spacing:.05em; padding:.4rem .75rem; border:1px solid currentColor; border-radius:999px; color:var(--sem); white-space:nowrap; }

.dmetrics{ display:grid; grid-template-columns:repeat(2,1fr); }
.dmetric{ padding:clamp(1.2rem,3vw,1.8rem); border-bottom:1px solid var(--line-2); }
.dmetric:nth-child(odd){ border-right:1px solid var(--line-2); }
.dmetric .n{ font-family:var(--f-disp); font-weight:500; font-size:clamp(2.2rem,5.5vw,3.4rem); line-height:.95; letter-spacing:-.03em; color:var(--ink); }
.dmetric .n .u{ font-size:.42em; color:var(--accent); margin-left:.1em; vertical-align:.18em; font-weight:600; }
.dmetric.hot .n{ color:var(--accent); }
.dmetric .l{ font-family:var(--f-mono); font-size:.74rem; color:var(--muted); margin-top:.6rem; line-height:1.45; }
.dossier-thin{ padding:clamp(1.4rem,3vw,2rem); color:var(--muted); font-size:1rem; line-height:1.5; border-bottom:1px solid var(--line-2); }
.dossier-thin b{ color:var(--ink); }

/* bloque Compra Ágil dentro del expediente */
.ca-band{
  display:flex; gap:1rem; align-items:flex-start;
  padding:clamp(1.2rem,3vw,1.6rem) clamp(1.3rem,3vw,2rem);
  border-bottom:1px solid var(--line-2);
  background:linear-gradient(90deg, color-mix(in srgb, var(--sem) 9%, transparent), transparent 78%);
}
.ca-band .lamp{ width:14px; height:14px; flex:none; margin-top:.25rem; background:var(--sem); box-shadow:0 0 14px -2px var(--sem); }
.ca-band .lamp::after{ display:none; }
.ca-h{ font-family:var(--f-mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sem); }
.ca-h b{ color:var(--ink); font-weight:600; }
.ca-d{ color:var(--muted); font-size:.95rem; line-height:1.5; margin-top:.4rem; }
.ca-d b{ color:var(--ink); font-weight:600; }

.dossier-close{ font-family:var(--f-disp); font-style:italic; font-size:clamp(1.15rem,2.4vw,1.6rem); color:var(--ink); line-height:1.25; margin:0; padding:clamp(1.3rem,3vw,1.8rem) clamp(1.3rem,3vw,2rem) .4rem; }
.dossier-close b{ font-style:normal; color:var(--accent); font-weight:600; }
/* Gancho al bot: el buscador da el panorama; el bot afina el rubro. Va entre el
   cierre del análisis y el CTA — enmarcado como ventaja, no como disclaimer. */
.dossier-afina{ font-family:var(--f-body); font-size:.92rem; color:var(--muted); line-height:1.5; margin:0; padding:.3rem clamp(1.3rem,3vw,2rem) 0; }
.dossier-afina b{ color:var(--ink); font-weight:600; }

/* últimas adjudicadas */
.dossier-rec{ padding:.6rem clamp(1.3rem,3vw,2rem) .4rem; }
.dossier-rec-h{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); margin-bottom:.8rem; }
.rec{ padding:.7rem 0; border-top:1px solid var(--line-2); }
.rec-n{ color:var(--ink); font-size:.98rem; line-height:1.35; }
.rec-m{ font-family:var(--f-mono); font-size:.74rem; color:var(--muted-2); margin-top:.25rem; display:flex; gap:.5rem; flex-wrap:wrap; align-items:baseline; }
.rec-m b{ color:var(--muted); font-weight:600; }

.dossier-cta{ padding:clamp(1.3rem,3vw,1.8rem) clamp(1.3rem,3vw,2rem); display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
/* "Activar este perfil en Telegram" es largo: en móvil superaba el ancho de la
   tarjeta (.dossier tiene overflow:hidden + border-radius) y se le cortaba la
   esquina. max-width:100% lo acota a la tarjeta y white-space:normal deja fluir
   el texto a 2 líneas si no cabe (en desktop sigue en una sola línea). */
.dossier-cta .df-btn{ max-width:100%; white-space:normal; }
.dossier-note{ font-family:var(--f-mono); font-size:.7rem; color:var(--muted-2); margin:0; padding:0 clamp(1.3rem,3vw,2rem) clamp(1.3rem,3vw,1.8rem); line-height:1.5; }

/* estados de carga / mensaje */
.dossier-msg{ padding:clamp(2.4rem,6vw,4rem) clamp(1.3rem,3vw,2rem); text-align:center; }
.dossier-msg-k{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem; }
.dossier-msg-t{ font-family:var(--f-disp); font-weight:500; font-size:clamp(1.4rem,3.2vw,2rem); letter-spacing:-.01em; line-height:1.2; color:var(--ink); }
.dossier-msg-t b{ color:var(--accent); }
.dossier-msg-s{ color:var(--muted); font-size:.98rem; line-height:1.5; margin-top:.9rem; max-width:46ch; margin-inline:auto; }
.dossier-msg-s b{ color:var(--ink); }
.dossier-dots{ display:inline-flex; gap:6px; margin-top:1.2rem; }
.dossier-dots i{ width:8px; height:8px; border-radius:50%; background:var(--accent); opacity:.4; animation:dot 1.1s var(--ease) infinite; }
.dossier-dots i:nth-child(2){ animation-delay:.18s; }
.dossier-dots i:nth-child(3){ animation-delay:.36s; }
@keyframes dot{ 0%,100%{ opacity:.3; transform:translateY(0); } 50%{ opacity:1; transform:translateY(-4px); } }

/* ===========================================================
   05 · CONTRASTE · ruido | señal
   =========================================================== */
.split{ margin-top:clamp(2.6rem,5vw,3.6rem); display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.split-col{
  padding:clamp(1.8rem,3.4vw,2.8rem); border-radius:18px; border:1px solid var(--line);
  display:flex; flex-direction:column;
}
.split-them{ background:rgba(236,244,237,.02); }
.split-us{
  background:linear-gradient(160deg, rgba(246,74,0,.1), rgba(246,74,0,.02));
  border-color:rgba(246,74,0,.34);
  box-shadow:0 40px 90px -50px rgba(246,74,0,.5);
}
.stag{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:1.1rem; }
.split-us .stag{ color:var(--accent); }
.split-word{ font-family:var(--f-disp); font-weight:400; font-size:clamp(2.4rem,6vw,4.2rem); line-height:.9; letter-spacing:-.03em; }
.split-them .split-word{ color:var(--muted); }
.split-us .split-word{ color:var(--accent); font-style:italic; }
.split-col ul{ list-style:none; margin:1.5rem 0 0; padding:0; display:flex; flex-direction:column; gap:1rem; }
.split-col li{ position:relative; padding-left:1.8rem; font-size:1.04rem; line-height:1.35; color:var(--muted); }
.split-col li b{ color:var(--ink); font-weight:600; }
.split-them li::before{ content:"\00d7"; position:absolute; left:0; top:-.05em; color:var(--muted-2); font-weight:700; font-size:1.1em; }
.split-us li::before{ content:"\2192"; position:absolute; left:0; top:0; color:var(--accent); font-weight:700; }
.split-close{
  text-align:center; font-family:var(--f-disp); font-weight:400; font-size:clamp(1.5rem,3.6vw,2.6rem);
  letter-spacing:-.02em; line-height:1.12; margin:clamp(2.2rem,4vw,3rem) auto 0; max-width:20ch;
}
.split-close em{ font-style:normal; color:inherit; }

/* ===========================================================
   06 · PRUEBA · monumento de cifras
   =========================================================== */
.proof{ margin-top:clamp(2.6rem,5vw,3.8rem); display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:end; }
.proof-main .pn{
  font-family:var(--f-disp); font-weight:400; font-size:clamp(5rem,15vw,11rem); line-height:.8;
  letter-spacing:-.04em; color:var(--ink);
  background:linear-gradient(180deg, var(--ink), rgba(236,244,237,.5)); -webkit-background-clip:text; background-clip:text;
}
.proof-main .pl{ font-family:var(--f-mono); font-size:.86rem; color:var(--muted); max-width:32ch; margin-top:1rem; line-height:1.5; }
.proof-side{ display:flex; flex-direction:column; gap:clamp(1.6rem,3vw,2.4rem); }
.proof-item{ border-top:1px solid var(--line); padding-top:1rem; }
.proof-item .pn{ font-family:var(--f-disp); font-weight:400; font-size:clamp(2.6rem,6vw,4rem); line-height:.9; letter-spacing:-.03em; color:var(--accent); }
.proof-item .pl{ font-family:var(--f-mono); font-size:.76rem; color:var(--muted-2); margin-top:.5rem; line-height:1.45; }

/* ===========================================================
   07 · EXPLORA · índices SEO (AUD-19 H1)
   =========================================================== */
.explora-grid{ margin-top:clamp(2.4rem,5vw,3.4rem); display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.explora-card{
  display:flex; flex-direction:column; gap:.55rem;
  padding:clamp(1.8rem,3.4vw,2.6rem); border-radius:18px;
  border:1px solid var(--line); background:rgba(236,244,237,.02);
  text-decoration:none; color:var(--ink);
  transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
}
.explora-card:hover{
  border-color:rgba(246,74,0,.34); transform:translateY(-2px);
  box-shadow:0 30px 70px -50px rgba(246,74,0,.5);
}
.ec-k{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
.ec-t{ font-family:var(--f-disp); font-weight:400; font-size:clamp(1.4rem,3vw,2rem); line-height:1.1; letter-spacing:-.02em; }
.ec-d{ font-size:1rem; line-height:1.5; color:var(--muted); }
.ec-go{ margin-top:.4rem; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:.4rem; }
.ec-go .arr{ transition:transform .2s var(--ease); }
.explora-card:hover .ec-go .arr{ transform:translateX(3px); }
@media (max-width:680px){ .explora-grid{ grid-template-columns:1fr; } }

/* ===========================================================
   08 · FAQ (answer-first, GEO)
   =========================================================== */
.faq{ margin-top:clamp(2.6rem,5vw,3.6rem); display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.4rem) clamp(2rem,5vw,4rem); }
.faq-item{ border-top:1px solid var(--line-2); padding-top:1.4rem; }
.faq-item h3{ font-family:var(--f-disp); font-weight:500; font-size:clamp(1.15rem,2.2vw,1.4rem); letter-spacing:-.01em; line-height:1.2; margin:0 0 .6rem; color:var(--ink); }
.faq-item p{ color:var(--muted); font-size:.98rem; line-height:1.6; margin:0; }
@media (max-width:680px){ .faq{ grid-template-columns:1fr; } }

/* ===========================================================
   08 · CTA FINAL
   =========================================================== */
.final{ position:relative; overflow:hidden; }
.final::before{
  content:""; position:absolute; left:50%; top:42%; transform:translate(-50%,-50%);
  width:min(900px,120vw); height:min(900px,120vw); border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(circle, rgba(246,74,0,.16), transparent 62%);
}
.final .band-inner{ position:relative; z-index:1; text-align:center; }
.final-bird{ margin:0 auto clamp(1.4rem,3vw,2.2rem); width:clamp(72px,10vw,128px); }
.final-bird img{ width:100%; height:auto; animation:float-bird 6s ease-in-out infinite; filter:drop-shadow(0 14px 30px rgba(0,0,0,.5)); }
@keyframes float-bird{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.final h2{
  font-family:var(--f-disp); font-weight:500; letter-spacing:-.01em; line-height:1.06;
  font-size:clamp(2.3rem,6vw,4.6rem); margin:0; max-width:16ch; margin-inline:auto; text-wrap:balance;
}
.final h2 em{ font-style:normal; font-weight:inherit; color:inherit; }
.final-lead{ font-size:clamp(1.05rem,1.5vw,1.25rem); color:var(--muted); max-width:48ch; margin:1.5rem auto 0; }
.final-cta{ margin-top:2.4rem; display:flex; flex-direction:column; align-items:center; gap:1.1rem; }

/* ===========================================================
   FOOTER · colofón
   =========================================================== */
.colophon{ border-top:1px solid var(--line-2); background:rgba(0,0,0,.3); }
.colophon-inner{
  max-width:var(--maxw); margin-inline:auto; padding:clamp(2.6rem,5vw,3.6rem) var(--pad) 2rem;
  display:grid; grid-template-columns:1.4fr 2fr; gap:clamp(2rem,5vw,4rem);
}
.colophon .c-brand{ display:flex; align-items:center; gap:.6rem; color:var(--ink); font-family:var(--f-disp); font-weight:500; font-size:1.25rem; letter-spacing:-.01em; }
.colophon .c-brand img{ width:26px; height:26px; }
.colophon .c-about{ color:var(--muted-2); font-size:.88rem; line-height:1.6; margin:1rem 0 0; max-width:42ch; }
.colophon .c-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.colophon .c-col{ display:flex; flex-direction:column; gap:.7rem; }
.colophon .c-h{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:.2rem; }
.colophon .c-col a{ color:var(--muted); font-size:.9rem; transition:color .16s; }
.colophon .c-col a:hover{ color:var(--accent); }
.colophon-base{
  max-width:var(--maxw); margin-inline:auto; padding:1.4rem var(--pad);
  border-top:1px solid var(--line-2);
  display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between;
  font-family:var(--f-mono); font-size:.74rem; color:var(--muted-2);
}
.colophon-base b{ color:var(--muted); font-weight:500; }
.colophon-base .c-fresh{ color:var(--muted-2); }
@media (max-width:680px){
  .colophon-inner{ grid-template-columns:1fr; gap:2rem; }
  .colophon .c-cols{ gap:1.2rem; }
}

/* ===========================================================
   REVEAL
   =========================================================== */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:860px){
  .proof{ grid-template-columns:1fr; gap:2.4rem; }
  .proof-side{ flex-direction:row; flex-wrap:wrap; }
  .proof-item{ flex:1; min-width:150px; }
  .pain:nth-child(3) p, .pain:nth-child(4) p{ padding-left:0; }
}
@media (max-width:680px){
  .split{ grid-template-columns:1fr; }
  .lamp-row{ grid-template-columns:auto 1fr; row-gap:.5rem; }
  .lamp-row .verdict{ grid-column:1 / 3; text-align:left; max-width:none; }
  .dmetrics{ grid-template-columns:1fr; }
  .dmetric:nth-child(odd){ border-right:none; }
  .pain{ grid-template-columns:auto 1fr; }
  .pain .echo{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .final-bird img{ animation:none !important; }
  .dossier-dots i{ animation:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}
