/* Ingeniero de Pista Multi-Sim · página de lanzamiento
   Dirección: noche de carrera, muro de boxes. Todo late al mismo pulso (--beat). */
:root{
  color-scheme:dark;
  --bg:#08090d;--bg2:#0d0f15;--panel:#11131a;--line:#2b2e38;--line2:#434753;
  --ink:#f3f3f5;--muted:#a9adb9;--dim:#6f7482;
  --orange:#ff5e00;--orange2:#ff8a3d;--hot:#ff3b1f;--ok:#9be7a8;
  --beat:1.15s;
  --display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --body:'Barlow',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --page:min(100% - 64px,1360px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body)}
a{color:inherit}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}
::selection{background:var(--orange);color:#0a0a0f}
:focus-visible{outline:3px solid var(--orange2);outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:.95;letter-spacing:-.01em;text-transform:uppercase}
.wrap{width:var(--page);margin-inline:auto}
.skip{position:absolute;top:-100px;left:20px;z-index:60;padding:10px 16px;background:var(--orange);color:#0a0a0f}.skip:focus{top:20px}
.mono{font-family:var(--mono)}

/* Barra de progreso = vuelta, con sectores */
.scroll-progress{position:fixed;top:0;left:0;z-index:50;width:100%;height:3px;background:var(--orange);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.scroll-progress:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(33.3% - 1px),var(--bg) 33.3% calc(33.3% + 2px),transparent 0 calc(66.6% - 1px),var(--bg) 66.6% calc(66.6% + 2px),transparent 0)}

/* Cabecera */
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;padding:22px 0}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:700 1.25rem var(--display);letter-spacing:.02em;text-transform:uppercase}
.brand-mark{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--orange);margin-right:10px;box-shadow:0 0 18px var(--orange)}
.lang{display:flex;gap:2px;padding:3px;border:1px solid var(--line2);background:#0c0d12b0}
.lang a{min-width:44px;min-height:40px;display:grid;place-items:center;text-decoration:none;font:700 .78rem var(--mono)}
.lang a[aria-current=page]{background:var(--ink);color:#0c0d12}
.lang a:not([aria-current]):hover{color:var(--orange)}
.external-fixed{position:fixed;right:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--line2);background:#12141be8;backdrop-filter:blur(12px);text-decoration:none;font:600 .78rem var(--body);box-shadow:0 5px 25px #0008}
.external-fixed:hover{border-color:var(--orange)}
.external-fixed{opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s}
.external-fixed.is-shown{opacity:1;transform:none;pointer-events:auto}

/* Botón */
.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:58px;padding:12px 24px;border:1px solid var(--orange);background:var(--orange);color:#0a0a0f;text-decoration:none;font:700 1.05rem var(--display);letter-spacing:.06em;text-transform:uppercase;line-height:1.2;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.button span{font-size:1.3em;font-weight:400}
.button:hover{background:var(--orange2);border-color:var(--orange2);box-shadow:0 12px 42px #ff5e0040}

/* ─── HERO ─────────────────────────────────────────────── */
.hero{position:relative;min-height:max(780px,100svh);display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#08090e url('../img/hero-poster.svg') center/cover no-repeat}
.hero:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#08090ef6 0%,#08090ed8 42%,#08090e40 85%),linear-gradient(0deg,#08090e 0%,transparent 30%)}
.hero:after{content:'';position:absolute;z-index:1;inset:0;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 4px);pointer-events:none}
.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.hero-trace{position:absolute;z-index:2;right:-9%;top:6%;width:76%;height:88%;overflow:visible;opacity:.55;filter:drop-shadow(0 0 14px #ff5e0070)}
.hero-trace path{fill:none;stroke-linecap:round}
.trace-glow{stroke:var(--orange);stroke-width:20;opacity:.18;filter:blur(12px)}
.trace-core{stroke:var(--orange2);stroke-width:3;stroke-dasharray:110 1300;animation:trace-run 6.5s linear infinite}

/* Osciloscopio de telemetría (decorativo, datos sintéticos) */
.hero-scope{position:absolute;z-index:2;right:max(32px,calc((100% - 1360px)/2));top:50%;width:min(44vw,600px);transform:translateY(-44%);border:1px solid var(--line2);background:#0a0b10cc;backdrop-filter:blur(3px);box-shadow:0 40px 120px #000a}
.scope-head,.scope-read{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font:500 .72rem var(--mono);letter-spacing:.08em;color:var(--muted)}
.scope-head{border-bottom:1px solid var(--line)}
.scope-head b{color:var(--ink);font-weight:700}
.rec{color:var(--hot);font-weight:700}
.rec:before{content:'';display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--hot);vertical-align:1px;animation:blink 1s steps(2,start) infinite}
.scope-canvas{display:block;width:100%;height:230px}
.scope-read{border-top:1px solid var(--line);justify-content:flex-start;gap:0;padding:0}
.scope-read div{flex:1;padding:10px 14px;border-right:1px solid var(--line)}
.scope-read div:last-child{border-right:0}
.scope-read small{display:block;font-size:.62rem;color:var(--dim)}
.scope-read b{font:700 1.45rem/1.1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.scope-read em{font-style:normal;margin-left:3px;color:var(--dim)}
.scope-read [data-ch=thr]{color:var(--orange2)}.scope-read [data-ch=brk]{color:var(--hot)}

.hero-content{position:relative;z-index:3;padding-top:150px;padding-bottom:140px}
.hero h1{max-width:760px;margin:0 0 38px;font-size:clamp(4.6rem,10.4vw,10.6rem);font-weight:800;font-style:italic;line-height:.84;letter-spacing:-.005em}
.hero h1>span{display:block}
.hero-title-accent{color:var(--orange);animation:accent-beat var(--beat) ease-out infinite}
.full-stop{color:var(--ink)}
.hero-bottom{display:flex;align-items:end;gap:40px;flex-wrap:wrap}
.hero-sub{max-width:420px;margin:0;color:#dfe0e6;font-size:clamp(1.08rem,1.4vw,1.25rem);line-height:1.5}
.hero-cta{min-width:280px;justify-content:space-between}
.hero-footer{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:20px;font:700 .7rem var(--mono);letter-spacing:.16em;color:var(--orange)}
.scroll-cue{color:#cfd1d8}.scroll-cue i{font-style:normal;margin-left:10px}

/* Latido: «Nuevo lanzamiento» */
.hero-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 30px;font:700 .8rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d9dae0}
.beat{position:relative;width:12px;height:12px;flex:none;border-radius:50%;background:var(--orange);box-shadow:0 0 18px var(--orange);animation:thump var(--beat) ease-out infinite}
.beat:before,.beat:after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--orange);opacity:0;animation:ripple var(--beat) ease-out infinite}
.beat:after{animation-delay:calc(var(--beat) * .26)}
.kicker-live{display:inline-block;padding:7px 12px;border:1px solid #ff5e0080;background:#ff5e0014;color:#fff;transform-origin:left center;animation:word-beat var(--beat) ease-out infinite}
.ecg{width:110px;height:26px;overflow:visible}
.ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ecg .ecg-base{stroke:#ff5e0038;stroke-width:1.5}
.ecg .ecg-run{stroke:var(--orange);stroke-width:2.2;stroke-dasharray:46 260;filter:drop-shadow(0 0 4px var(--orange));animation:ecg var(--beat) linear infinite}
.kicker-version{color:var(--muted)}

/* Banda */
.launch-band{overflow:hidden;background:var(--orange);color:#0c0b0c}
.launch-track{display:flex;width:max-content;white-space:nowrap;will-change:transform}
.launch-track span{display:block;padding:14px 0;font:800 italic clamp(2.6rem,6vw,6rem)/1 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.launch-track b{display:inline-block;width:.34em;height:.34em;margin:0 .45em;vertical-align:.18em;background:#0c0b0c;transform:skewX(-14deg)}

/* Problema */
.problem{position:relative;overflow:hidden;padding:clamp(120px,15vw,200px) 0;background:var(--bg)}
.problem h2{font-size:clamp(3.6rem,8.4vw,8.8rem);font-weight:700;margin:0 0 60px}
.problem h2 span{display:block}
.problem h2 span:nth-child(2){color:#7d8190}
.problem h2 span:nth-child(3){color:var(--orange)}
.laps{display:grid;grid-template-columns:repeat(4,max-content);gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--line2);font:500 clamp(.8rem,1.3vw,1rem) var(--mono);font-variant-numeric:tabular-nums}
.laps li{padding:14px 22px;border-right:1px solid var(--line2)}
.laps li:last-child{border-right:0}
.laps small{display:block;color:var(--dim);font-size:.72em;letter-spacing:.12em}
.laps b{display:block;font-size:1.35em;color:var(--ink)}
.laps .up{color:var(--hot)}.laps .dn{color:var(--ok)}
.laps-note{margin:16px 0 0;color:var(--dim);font:500 .78rem var(--mono);letter-spacing:.06em}

/* Secciones */
.section{padding:clamp(100px,12vw,180px) 0}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--orange);font:700 .76rem var(--mono);letter-spacing:.16em;text-transform:uppercase}
.eyebrow:before{content:'';width:28px;height:2px;background:currentColor}
.section-heading{max-width:920px;margin-bottom:80px}
.section-heading h2{font-size:clamp(3.2rem,6.8vw,6.8rem);margin:0 0 24px}
.section-heading p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:1.12rem;line-height:1.65}

/* Pasos */
.steps{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px);align-items:center;padding:80px 0;border-top:1px solid var(--line)}
.step:nth-of-type(2){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.step:nth-of-type(2) .step-copy{order:2}
.step-copy{max-width:470px}
.step-number{display:block;margin-bottom:22px;font:700 .8rem var(--mono);letter-spacing:.14em;color:var(--orange);text-transform:uppercase}
.step-number b{display:block;font:800 italic clamp(4rem,7vw,6.5rem)/.9 var(--display);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px var(--orange)}
.step h3{font-size:clamp(2.8rem,4.8vw,4.8rem);margin-bottom:20px}
.step p{color:var(--muted);font-size:1.1rem;line-height:1.65}

/* Viñetas de los pasos */
.vis{position:relative;border:1px solid var(--line2);background:linear-gradient(160deg,#141720,#0b0c11);box-shadow:0 30px 90px #0009;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.vis-bar{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font:500 .72rem var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.vis-bar b{color:var(--ink)}
.vis-tag{padding:2px 7px;border:1px solid var(--line2);color:var(--dim);font-size:.9em}
.vis .scope-canvas{height:300px}
.vis-shot{margin:0}
.vis-shot img{display:block;width:100%;height:auto}
.shot-link{display:block;cursor:zoom-in}
.shot-link:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
.vis-tag-real{border-color:var(--orange);color:var(--orange)}
.shot-stage{display:grid;place-items:center;padding:clamp(18px,3vw,34px);background:radial-gradient(circle at 50% 60%,#ff5e0018,transparent 70%)}
.vis-change .shot-stage img{width:min(100%,354px);box-shadow:0 20px 60px #000a}
.vis-change .plan-next{margin:0;border-top:1px solid var(--line)}
.feature-wide.has-shot{grid-template-columns:1fr;gap:34px;align-items:start}
.feature-wide.has-shot > div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}

.vis-note .quote{margin:0;padding:28px 26px 8px;font:700 italic clamp(1.7rem,3vw,2.6rem)/1.05 var(--display);text-transform:none}
.vis-note .quote small{display:block;margin-bottom:10px;font:700 .7rem var(--mono);font-style:normal;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.vis-note svg{display:block;width:100%;height:auto}
.vis-note .sp{fill:none;stroke:#e7e8ee;stroke-width:2;stroke-linejoin:round;stroke-dasharray:1400;stroke-dashoffset:0}
.vis-note .grid line{stroke:#ffffff10}
.vis-note .zone rect{fill:#ff3b1f22;stroke:#ff3b1f;stroke-width:1;stroke-dasharray:3 3}
.vis-note .zone text{fill:var(--hot);font:700 11px var(--mono);letter-spacing:.08em}
.vis-note .zone circle{fill:var(--hot)}
.hits{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;border-top:1px solid var(--line);font:500 .8rem var(--mono)}
.hits li{padding:12px 16px;color:var(--muted)}
.hits li+li{border-left:1px solid var(--line)}
.hits b{color:var(--ink)}

.vis-plan ul{margin:0;padding:10px 0;list-style:none}
.vis-plan li{display:grid;grid-template-columns:1fr auto auto auto;align-items:baseline;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line)}
.vis-plan li span{font:600 1.05rem var(--body)}
.vis-plan s{color:var(--dim);font:500 1rem var(--mono)}
.vis-plan i{font-style:normal;color:var(--orange)}
.vis-plan li b{font:700 1.5rem var(--mono);color:var(--orange2)}
.plan-why{margin:0;padding:18px 20px;color:#d7d8de;line-height:1.55}
.plan-why small,.plan-next small{display:block;margin-bottom:6px;font:700 .68rem var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.plan-next{display:flex;align-items:center;gap:12px;margin:0;padding:14px 20px;border-top:1px solid var(--line);font:500 .8rem var(--mono);color:var(--muted)}
.plan-next .beat{width:9px;height:9px}

/* Qué hace */
.features{background:var(--panel)}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7vw}
.feature{position:relative;padding:44px 0 56px;border-top:1px solid var(--line2)}
.feature:before{content:'';position:absolute;top:-1px;left:0;width:0;height:2px;background:var(--orange);transition:width .5s ease}
.feature:hover:before{width:100%}
.feature h3{font-size:clamp(2.1rem,3.4vw,3.4rem);margin-bottom:16px}
.feature p{max-width:520px;color:var(--muted)}
.feature .spec{margin:18px 0 0;font:500 .74rem var(--mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.feature-wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}
.feature-wide h3{font-size:clamp(3rem,6vw,6rem)}
.loss{margin:0;padding:0;list-style:none;font:500 .85rem var(--mono);font-variant-numeric:tabular-nums}
.loss li{display:grid;grid-template-columns:80px 1fr 78px;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.loss li span{color:var(--muted)}
.loss li i{display:block;height:8px;background:linear-gradient(90deg,var(--orange),var(--hot));transform-origin:left;transform:scaleX(var(--w))}
.loss li b{text-align:right;color:var(--ink)}
.loss-cap{margin:10px 0 0;font:500 .7rem var(--mono);color:var(--dim);letter-spacing:.08em}

/* Simuladores */
.simulators{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sim-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);counter-reset:sim}
.sim-list div{position:relative;display:flex;align-items:end;min-height:240px;padding:32px 25px 28px;border-right:1px solid var(--line2);font:800 italic clamp(2rem,3.4vw,3.6rem)/.95 var(--display);text-transform:uppercase;counter-increment:sim;transition:background .35s ease}
.sim-list div:first-child{border-left:1px solid var(--line2)}
.sim-list div:before{content:'0' counter(sim);position:absolute;top:22px;left:25px;color:var(--orange);font:700 .8rem var(--mono);font-style:normal;letter-spacing:.08em}
.sim-list div:hover{background:#ff5e0018}
.sim-list small{position:absolute;top:22px;right:25px;font:500 .68rem var(--mono);font-style:normal;letter-spacing:.1em;color:var(--dim)}
.sim-note{max-width:820px;margin-top:26px;color:var(--muted);font-size:1.05rem}

/* Aviso */
.signup{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 20%,#ff5e0024,transparent 36%),var(--panel)}
.signup:before{content:'7.0';position:absolute;right:-.06em;bottom:-.3em;color:#ff5e000d;font:800 italic min(48vw,640px)/1 var(--display);pointer-events:none}
.signup-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px)}
.signup .section-heading{margin:0}
.signup-form{align-self:start;margin-top:35px;padding:36px;background:#0a0b10ec;border:1px solid var(--line2);box-shadow:0 25px 80px #0007}
.signup-form label{display:block;margin-bottom:10px;font-size:.95rem;font-weight:600}
.email-row{display:flex;gap:8px}
.email-row input{flex:1;min-width:0;min-height:58px;padding:13px 14px;border:1px solid #8a8d98;background:#15171f;color:#fff}
.email-row input::placeholder{color:#9a9daa}
.email-row .button{min-width:150px}
.consent{display:flex;gap:12px;margin-top:20px;align-items:flex-start}
.consent input{appearance:none;flex:none;width:22px;height:22px;margin:2px 0 0;border:2px solid #9b9ca5;background:#171720;cursor:pointer}
.consent input:checked{background:var(--orange);border-color:var(--orange)}
.consent input:checked:after{content:'✓';display:block;color:#0a0a0f;font-size:17px;font-weight:700;line-height:17px;text-align:center}
.consent label{margin:0;font-weight:400;color:var(--muted);line-height:1.5}
.consent a{color:#fff;text-underline-offset:3px}
.form-status{min-height:26px;margin:18px 0 0;font-size:.9rem}
.form-status[data-state=error]{color:#ffac88}.form-status[data-state=success]{color:var(--ok)}
button:disabled{opacity:.6;cursor:wait}

footer{border-top:1px solid var(--line);padding:40px 0 70px;color:var(--muted);font-size:.88rem}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 27px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.signature{margin:10px 0 0;font-size:.78rem}

/* ─── Animaciones ─────────────────────────────────────── */
@keyframes thump{0%{transform:scale(1)}9%{transform:scale(1.45)}20%{transform:scale(.95)}29%{transform:scale(1.28)}42%,100%{transform:scale(1)}}
@keyframes ripple{0%{transform:scale(1);opacity:.85}70%,100%{transform:scale(3.4);opacity:0}}
@keyframes word-beat{0%{transform:scale(1);box-shadow:0 0 0 #ff5e0000}9%{transform:scale(1.06);box-shadow:0 0 28px #ff5e0070;border-color:var(--orange)}20%{transform:scale(1)}29%{transform:scale(1.035);box-shadow:0 0 18px #ff5e0050}45%,100%{transform:scale(1);box-shadow:0 0 0 #ff5e0000}}
@keyframes accent-beat{0%,45%,100%{text-shadow:0 0 0 #ff5e0000}9%{text-shadow:0 0 42px #ff5e0090}29%{text-shadow:0 0 24px #ff5e0060}}
@keyframes ecg{from{stroke-dashoffset:46}to{stroke-dashoffset:-260}}
@keyframes blink{to{visibility:hidden}}
@keyframes trace-run{to{stroke-dashoffset:-1410}}
@keyframes rise{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}
@keyframes draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}}

@media(prefers-reduced-motion:no-preference){
  .hero-kicker{animation:rise .7s .1s both}
  .hero h1>span:nth-child(1){animation:rise .8s .2s both}
  .hero h1>span:nth-child(2){animation:rise .8s .32s both}
  .hero h1>span:nth-child(3){animation:rise .8s .44s both,accent-beat var(--beat) 1.3s ease-out infinite}
  .hero-bottom{animation:rise .8s .6s both}
  .hero-scope{animation:rise 1s .5s both}
  .button{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
  .button:hover{transform:translateY(-3px)}
  .motion-ready .reveal{opacity:0;transform:translateY(45px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
  .motion-ready .reveal.is-visible{opacity:1;transform:none}
  .motion-ready .problem h2 span{opacity:0;transform:translateX(-80px) skewX(-8deg);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.9,.2,1)}
  .motion-ready .problem h2.is-visible span{opacity:1;transform:none}
  .motion-ready .problem h2 span:nth-child(2){transition-delay:.25s}
  .motion-ready .problem h2 span:nth-child(3){transition-delay:.5s}
  .motion-ready .laps li{opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease}
  .motion-ready .laps.is-visible li{opacity:1;transform:none}
  .motion-ready .laps.is-visible li:nth-child(2){transition-delay:.35s}
  .motion-ready .laps.is-visible li:nth-child(3){transition-delay:.7s}
  .motion-ready .laps.is-visible li:nth-child(4){transition-delay:1.05s}
  .motion-ready .vis-note .sp{stroke-dashoffset:1400}
  .motion-ready .vis-note.is-visible .sp{animation:draw 1.8s .2s ease-out forwards}
  .motion-ready .vis-note .zone,.motion-ready .hits li{opacity:0}
  .motion-ready .vis-note.is-visible .zone{transform-box:fill-box;transform-origin:center;animation:pop .5s ease-out forwards}
  .motion-ready .vis-note.is-visible .zone-1{animation-delay:1.1s}
  .motion-ready .vis-note.is-visible .zone-2{animation-delay:1.6s}
  .motion-ready .vis-note.is-visible .hits li{animation:rise .5s ease-out forwards}
  .motion-ready .vis-note.is-visible .hits li:nth-child(1){animation-delay:1.3s}
  .motion-ready .vis-note.is-visible .hits li:nth-child(2){animation-delay:1.8s}
  .motion-ready .vis-plan li b,.motion-ready .vis-plan li i{opacity:0}
  .motion-ready .vis-plan.is-visible li b,.motion-ready .vis-plan.is-visible li i{animation:pop .45s ease-out forwards}
  .motion-ready .vis-plan.is-visible li:nth-child(1) i{animation-delay:.5s}.motion-ready .vis-plan.is-visible li:nth-child(1) b{animation-delay:.7s}
  .motion-ready .vis-plan.is-visible li:nth-child(2) i{animation-delay:1.1s}.motion-ready .vis-plan.is-visible li:nth-child(2) b{animation-delay:1.3s}
  .motion-ready .vis-plan.is-visible li s{transition:color .3s 1.5s}
  .motion-ready .loss li i{transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
  .motion-ready .loss.is-visible li i{transform:scaleX(var(--w))}
  .motion-ready .loss.is-visible li:nth-child(2) i{transition-delay:.15s}
  .motion-ready .loss.is-visible li:nth-child(3) i{transition-delay:.3s}
  .motion-ready .loss.is-visible li:nth-child(4) i{transition-delay:.45s}
}

/* ─── Adaptación ──────────────────────────────────────── */
@media(max-width:1100px){
  .hero-scope{width:46vw;right:24px;opacity:.9}
  .hero h1{font-size:clamp(4.2rem,10vw,7.4rem)}
  .signup-grid{grid-template-columns:1fr}.signup-form{max-width:700px;margin-top:0}
  .feature-wide{grid-template-columns:1fr;gap:28px}
  .feature-wide.has-shot > div:first-child{grid-template-columns:1fr;gap:12px}
}
@media(max-width:860px){
  :root{--page:min(100% - 40px,1360px)}
  .hero-video{display:none}
  .hero{align-items:flex-start}
  .hero-scope{position:relative;right:auto;top:auto;transform:none;width:auto;margin:0 20px 110px;z-index:3}
  .hero{flex-direction:column}
  .hero-content{padding-bottom:40px}
  .hero-trace{width:125%;right:-45%;opacity:.4}
  .step{grid-template-columns:1fr;gap:40px;padding:65px 0}
  .step:nth-of-type(2){grid-template-columns:1fr}
  .step:nth-of-type(2) .step-copy{order:initial}
  .sim-list{grid-template-columns:1fr}
  .sim-list div{min-height:120px;padding-top:48px;border-left:1px solid var(--line2)}
  .sim-list div:not(:last-child){border-bottom:1px solid var(--line2)}
  .laps{grid-template-columns:repeat(2,1fr)}
  .laps li:nth-child(2){border-right:0}
  .laps li:nth-child(-n+2){border-bottom:1px solid var(--line2)}
}
@media(max-width:560px){
  :root{--page:min(100% - 32px,1360px)}
  body{font-size:16px}
  .site-header{padding:14px 0}
  .external-fixed{display:none}
  .hero-content{padding-top:112px}
  .hero-kicker{gap:10px;font-size:.68rem;letter-spacing:.1em}
  .ecg{width:74px}
  .hero h1{font-size:clamp(3.5rem,17vw,5.2rem);margin-bottom:28px}
  .hero-bottom{display:block}
  .hero-sub{margin-bottom:24px}
  .hero-cta{width:100%;min-width:0}
  .hero-scope{margin:0 16px 90px}
  .scope-canvas{height:170px}
  .scope-read b{font-size:1.1rem}
  .scope-read div{padding:8px 10px}
  .hero-footer{bottom:16px;font-size:.6rem;letter-spacing:.08em}
  .problem h2{font-size:clamp(3rem,13vw,4.6rem)}
  .laps li{padding:12px 14px}
  .section-heading{margin-bottom:50px}
  .section-heading h2{font-size:clamp(2.9rem,12vw,4.6rem)}
  .step{padding:50px 0;gap:28px}
  .step h3{font-size:clamp(2.6rem,11vw,3.8rem)}
  .vis .scope-canvas{height:200px}
  .vis-plan li{grid-template-columns:1fr auto auto auto;gap:10px;padding:14px 14px}
  .vis-plan li span{font-size:.92rem}
  .vis-plan li b{font-size:1.15rem}
  .hits{grid-template-columns:1fr}.hits li+li{border-left:0;border-top:1px solid var(--line)}
  .feature-grid{grid-template-columns:1fr}
  .feature-wide{grid-column:auto}
  .feature{padding:36px 0 44px}
  .loss li{grid-template-columns:64px 1fr 64px}
  .signup-form{padding:22px}
  .email-row{flex-direction:column}.email-row .button{width:100%}
  .footer-inner{display:block}.footer-links{margin-top:20px;padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .hero-video{display:none}
  .scroll-progress{display:none}
}
