/* =========================================================
   DeltaSoto Technologies — deltasoto.com
   Dirección visual: «Misión». Sin dependencias externas.
   ========================================================= */

@font-face{font-family:"Inter Tight";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-tight-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-tight-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter Tight";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-tight-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --bg:#000103; --bg2:#03060B; --panel:#080E18;
  --ink:#F4F7FC; --muted:#BCC7D7; --faint:#94A3B8;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.16);
  --accent:#3A8DFF; --ice:#7CC4FF; --warm:#FFB46B; --live:#35D66B;
  --gut:clamp(20px,5vw,64px);
  --maxw:1240px;
  --display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --hdr:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);overflow-x:clip;color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.6;background:var(--bg);overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(58,141,255,.35);color:#fff}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:#fff;color:#000;padding:10px 14px;border-radius:10px;font-weight:600}
.skip:focus{top:16px}

.mono{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.wrap{width:min(var(--maxw),100% - var(--gut)*2);margin-inline:auto;position:relative}
.h1{font-family:var(--display);font-weight:600;font-size:clamp(44px,7.6vw,118px);line-height:.98;letter-spacing:-.035em}
.h2{font-family:var(--display);font-weight:600;font-size:clamp(34px,5.1vw,74px);line-height:1.02;letter-spacing:-.03em}
.lead{font-size:clamp(18px,1.55vw,22px);line-height:1.55;color:var(--muted);max-width:640px}
.kicker{display:flex;align-items:center;gap:14px;color:var(--ice);margin-bottom:26px}
.kicker span{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 8px;border:1px solid rgba(124,196,255,.35);border-radius:999px;color:var(--ink);letter-spacing:.08em}
.eyebrow{color:var(--ice);margin-bottom:22px;display:inline-flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.note{color:var(--faint);font-size:11px;margin-top:22px;letter-spacing:.1em;text-transform:none}
.dot{width:8px;height:8px;border-radius:50%;background:var(--faint);display:inline-block;flex:none}
.dot--live{background:var(--live);box-shadow:0 0 0 0 rgba(53,214,107,.6);animation:ping 2.2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(53,214,107,.55)}70%{box-shadow:0 0 0 10px rgba(53,214,107,0)}100%{box-shadow:0 0 0 0 rgba(53,214,107,0)}}

/* ---------- Botones ---------- */
.btn{--h:54px;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:var(--h);padding:0 26px;border-radius:999px;font-weight:600;font-size:16px;letter-spacing:-.01em;white-space:nowrap;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);will-change:transform}
.btn--sm{--h:44px;padding:0 20px;font-size:15px}
.btn--lg{--h:62px;padding:0 30px;font-size:17px}
.btn--primary{background:var(--ink);color:#05070B}
.btn--primary:hover{background:#fff}
.btn--primary svg{transition:transform .35s var(--ease)}
.btn--primary:hover svg{transform:translateX(4px)}
.btn--ghost{border:1px solid var(--line2);color:var(--ink);background:rgba(255,255,255,.02)}
.btn--ghost:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06)}
.btn--glass{background:rgba(255,255,255,.06);border:1px solid var(--line2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn--glass:hover{background:rgba(255,255,255,.12)}

/* ---------- Intro ---------- */
.intro{position:fixed;inset:0;z-index:90;background:#020306;display:none;place-items:center}
.js .intro{display:grid}
.intro__inner{display:grid;justify-items:center;gap:18px;color:var(--ink)}
.intro__mark{width:96px;height:96px;color:#fff}
.intro__tri{stroke-dasharray:1400;stroke-dashoffset:1400}
.intro__orbit{stroke-dasharray:400;stroke-dashoffset:400}
.intro__count{font-size:20px;letter-spacing:.3em;color:#fff}
.intro__label{color:var(--faint);font-size:11px}
.intro.is-done{pointer-events:none}
.no-anim .intro{display:none!important}

/* ---------- Encabezado ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;height:calc(var(--hdr) + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:24px;padding:env(safe-area-inset-top,0px) var(--gut) 0;transition:transform .6s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.is-scrolled{background:rgba(0,1,3,.62);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--line)}
.hdr.is-hidden{transform:translateY(-100%)}
.brand{display:flex;align-items:center;color:#fff;margin-right:auto;margin-left:-6px}
.brand__logo{display:block;height:54px;width:auto}
.ftr__logo{display:block;width:min(540px,100%);height:auto;margin-left:-10px}
.nav{display:flex;gap:30px}
.nav a{font-size:14.5px;color:var(--muted);position:relative;padding:6px 0;transition:color .3s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ice);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover,.nav a.is-active{color:#fff}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1);transform-origin:left}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:rgba(255,255,255,.04);position:relative;cursor:pointer}
.burger span{position:absolute;left:13px;right:13px;height:1.6px;background:#fff;transition:transform .4s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:rgba(3,5,9,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:grid;align-content:center;padding:var(--hdr) var(--gut) 40px}
.menu[hidden]{display:none}
.menu nav{display:grid;gap:4px}
.menu a{display:flex;align-items:baseline;gap:18px;font-family:var(--display);font-size:clamp(34px,9vw,54px);font-weight:600;letter-spacing:-.03em;padding:8px 0;border-bottom:1px solid var(--line)}
.menu a .mono{color:var(--ice);font-size:12px}

/* ---------- Altímetro ---------- */
.alt{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:40;display:none;justify-items:center;gap:10px;color:var(--muted);pointer-events:none;opacity:0;transition:opacity .6s}
.alt.is-on{opacity:1}
.alt.is-on.is-muted{opacity:0}
.alt__label{font-size:10px;color:var(--faint)}
.alt__track{position:relative;width:2px;height:180px;background:var(--line)}
.alt__fill{position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(to top,var(--accent),var(--ice));transform-origin:bottom;transform:scaleY(0)}
.alt__ticks{position:absolute;inset:0 -5px;background:repeating-linear-gradient(to top,rgba(255,255,255,.22) 0 1px,transparent 1px 18px)}
.alt__value{font-size:11px;color:var(--ink);letter-spacing:.08em;writing-mode:horizontal-tb}
.alt__zone{font-size:9.5px;color:var(--ice);letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg);height:120px;text-align:center}
@media (min-width:1280px){.alt{display:grid}}

/* =========================================================
   00 · Portada
   ========================================================= */
.hero{position:relative;height:165vh}
.hero__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.layer{position:absolute;inset:0}
.hero__bg{inset:-4%;will-change:transform;background:radial-gradient(ellipse at 78% 38%,rgba(24,67,132,.18),transparent 48%),#000103}
.hero__stars{width:100%;height:100%;z-index:1;pointer-events:none}
.hero__delta{z-index:2;--s:min(64vw,920px);left:auto;right:-6vw;width:var(--s);height:var(--s);top:50%;bottom:auto;margin-top:calc(var(--s) / -2)}
.delta-big{will-change:transform,opacity}
.delta-big{width:100%;height:100%;overflow:visible;opacity:.76}
.delta-big__tri{stroke-dasharray:1400;stroke-dashoffset:0}
.hero__vignette{background:
  radial-gradient(120% 90% at 20% 70%,rgba(0,1,3,0) 0%,rgba(0,1,3,.15) 55%,rgba(0,1,3,.75) 100%),
  linear-gradient(180deg,rgba(0,1,3,.55) 0%,rgba(0,1,3,0) 22%,rgba(0,1,3,0) 62%,var(--bg) 100%);pointer-events:none}
.hero__content{position:absolute;left:var(--gut);right:var(--gut);bottom:max(13vh,120px);max-width:1040px;z-index:3}
.hero__title{font-family:var(--display);font-weight:600;font-size:clamp(46px,min(7.4vw,12.5vh),124px);line-height:.97;letter-spacing:-.034em;max-width:12.5ch;text-wrap:balance}
.hero__sub{margin-top:28px;font-size:clamp(18px,1.5vw,21px);color:#D0DAE8;max-width:560px;line-height:1.55}
.hero__ctas{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px}
.hero__hud{position:absolute;z-index:3;color:var(--muted);font-size:11px;display:flex;gap:10px;align-items:center}
.hud-tl{left:var(--gut);top:calc(var(--hdr) + 22px)}
.hud-tr{right:var(--gut);top:calc(var(--hdr) + 22px);color:var(--faint)}
.hud-tr #utcClock{color:var(--ink);font-variant-numeric:tabular-nums}
.hero__moon{position:absolute;z-index:3;right:var(--gut);bottom:max(13vh,120px);display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(5,8,13,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--muted);font-size:10.5px;line-height:1.5;text-transform:uppercase}
.hero__moon b{color:var(--ink);font-weight:500}
.hero__scroll{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);display:grid;justify-items:center;gap:12px;color:var(--faint);font-size:10.5px}
.hero__scroll i{width:1px;height:46px;background:linear-gradient(var(--ice),transparent);transform-origin:top;animation:drip 2.4s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* =========================================================
   01 · Δv
   ========================================================= */
.dv{position:relative;height:340vh}
.dv::before{content:"";position:absolute;left:0;right:0;top:-38vh;height:38vh;background:linear-gradient(180deg,rgba(0,1,3,0),var(--bg));z-index:2;pointer-events:none}
.dv__stage{z-index:1}
.dv__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;align-items:center}
.dv__bg{position:absolute;inset:0;opacity:.2}
.dv__bg img{width:100%;height:100%;object-fit:cover}
.dv__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(0,1,3,.7) 45%,rgba(0,1,3,.2) 100%),linear-gradient(180deg,var(--bg) 0%,transparent 20%,transparent 80%,var(--bg) 100%)}
.dv__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:center;padding-top:var(--hdr)}
.dv__para{margin-top:30px;font-family:var(--display);font-size:clamp(20px,1.9vw,27px);line-height:1.45;font-weight:500;letter-spacing:-.01em;color:var(--ink);max-width:560px}
.dv__analogy{margin-top:20px;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:#C3CDD9}
.dv__para .w{opacity:.14;transition:none}
.no-js .dv__para .w,.no-anim .dv__para .w{opacity:1}
.dv__diagram{position:relative;width:min(100%,600px);aspect-ratio:1;justify-self:center}
.orbits{width:100%;height:100%;overflow:visible}
.orb{stroke-dasharray:1600;stroke-dashoffset:0}
.orb--inner{opacity:.9}
.orb--outer{opacity:.35}
.burn{opacity:0;transform-box:fill-box}
.tag{position:absolute;font-size:10.5px;color:var(--muted);white-space:nowrap;transform:translate(-50%,-50%)}
.tag b{color:var(--ink);font-weight:500}
.tag--inner{left:50%;top:26%}
.tag--outer{left:50%;top:95%}
.tag--burn1{left:68.3%;top:56%;color:var(--warm);font-size:13px;opacity:0}
.tag--burn2{left:10.8%;top:56%;color:var(--warm);font-size:13px;opacity:0}

/* =========================================================
   02 · Escala
   ========================================================= */
.scale{position:relative;padding:clamp(120px,16vh,200px) 0 clamp(70px,10vh,130px);overflow:hidden;isolation:isolate}
.scale__bg{position:absolute;inset:-10% 0 -20%;z-index:-1;opacity:.3}
.scale__bg img{width:100%;height:100%;object-fit:cover;object-position:70% 80%}
.scale__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(0,1,3,.3) 35%,rgba(0,1,3,.55) 70%,var(--bg) 100%),linear-gradient(90deg,rgba(0,1,3,.85) 0%,rgba(0,1,3,.1) 70%)}
.scale__title{max-width:16ch}
.scale__grid{margin-top:clamp(48px,7vh,90px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.stat{padding-top:28px;border-top:1px solid var(--line2)}
.stat--now{border-top-color:var(--accent)}
.stat__era{color:var(--faint)}
.stat--now .stat__era{color:var(--ice)}
.stat__num{font-family:var(--display);font-weight:700;font-size:clamp(72px,12vw,190px);line-height:.95;letter-spacing:-.05em;margin:18px 0 14px;color:#A8B8CF;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.12em}
.stat--now .stat__num{background:linear-gradient(180deg,#FFFFFF 10%,#7CC4FF 110%);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__num small{font-size:.32em;letter-spacing:-.02em;font-weight:600}
.stat__cap{color:var(--muted);max-width:380px}
.ruler{margin-top:clamp(48px,8vh,80px)}
.ruler__bar{position:relative;height:28px;display:flex;align-items:center;gap:0}
.ruler__tiny{width:2px;height:28px;background:#4B5667;flex:none}
.ruler__long{height:2px;flex:1;margin-left:14px;background:linear-gradient(90deg,var(--accent),var(--ice) 60%,rgba(124,196,255,0));transform-origin:left;transform:scaleX(1)}
.scale__punch{margin-top:26px;font-family:var(--display);font-size:clamp(22px,2.4vw,34px);line-height:1.3;letter-spacing:-.02em;max-width:900px;color:#C7D1DD}
.scale__punch b{color:#fff;font-weight:600}

/* =========================================================
   03 · Manifiesto (tarjetas apiladas)
   ========================================================= */
.mani{position:relative;padding:clamp(70px,10vh,130px) 0 clamp(80px,12vh,160px);background:linear-gradient(180deg,transparent,rgba(6,10,18,.6) 40%,transparent)}
.mani__head{margin-bottom:clamp(40px,7vh,80px)}
.stack{display:grid;gap:9vh}
.card{position:sticky;top:calc(var(--hdr) + 5vh + var(--i) * 16px);transform-origin:50% 0}
.card__inner{position:relative;overflow:hidden;min-height:min(58vh,560px);border-radius:30px;padding:clamp(28px,4vw,64px);display:grid;align-content:space-between;gap:28px;
  background:linear-gradient(160deg,rgba(26,36,54,.92),rgba(9,13,21,.96) 55%),#0A0F18;
  border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 90px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.card__inner::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,rgba(58,141,255,.22),transparent 60%);pointer-events:none}
.card:nth-child(2) .card__inner::before{background:radial-gradient(60% 80% at 0% 0%,rgba(124,196,255,.2),transparent 60%)}
.card:nth-child(3) .card__inner::before{background:radial-gradient(60% 80% at 100% 100%,rgba(255,180,107,.16),transparent 60%)}
.card:nth-child(4) .card__inner::before{background:radial-gradient(60% 80% at 50% 0%,rgba(53,214,107,.12),transparent 60%)}
.card:nth-child(5) .card__inner::before{background:radial-gradient(70% 80% at 0% 100%,rgba(58,141,255,.24),transparent 60%)}
.card__num{color:var(--ice);position:relative}
.card__title{font-family:var(--display);font-weight:600;font-size:clamp(36px,5.6vw,86px);line-height:1;letter-spacing:-.035em;max-width:13ch;position:relative}
.card__text{font-size:clamp(18px,1.6vw,22px);color:#B5C0CE;max-width:560px;position:relative;line-height:1.55}
.card__glyph{position:absolute;right:clamp(16px,3vw,48px);bottom:-.16em;font-family:var(--display);font-weight:800;font-size:clamp(140px,24vw,360px);line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none}

/* =========================================================
   05 · Método
   ========================================================= */
.method{position:relative;overflow-x:clip;padding:clamp(110px,15vh,190px) 0;background:radial-gradient(70% 40% at 50% 32%,rgba(58,141,255,.07),transparent 70%)}
.method__head{margin-bottom:clamp(50px,8vh,96px)}
.traj{position:relative}
.traj__rail{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%)}
.traj__base{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.14) 0 6px,transparent 6px 14px)}
.traj__line{position:absolute;inset:0;background:linear-gradient(to bottom,var(--accent),var(--ice));transform-origin:top;transform:scaleY(0);box-shadow:0 0 18px rgba(58,141,255,.6)}
.traj__rocket{position:absolute;left:50%;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(124,196,255,.18),0 0 30px 6px rgba(124,196,255,.55)}
.steps{display:grid;gap:clamp(40px,8vh,90px)}
.step{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.step__node{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--bg);border:2px solid #39465A;transition:border-color .4s,background .4s,box-shadow .4s;z-index:1}
.step.is-lit .step__node{border-color:var(--ice);background:var(--accent);box-shadow:0 0 0 6px rgba(58,141,255,.14)}
.step__card{grid-column:1;justify-self:end;width:min(100%,460px);margin-right:clamp(36px,5vw,80px);padding:28px 30px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(17,24,36,.8),rgba(8,11,17,.8)),#080B11}
.step:nth-child(even) .step__card{grid-column:2;justify-self:start;margin:0 0 0 clamp(36px,5vw,80px)}
.step__n{color:var(--ice);margin-bottom:12px}
.step__card h3{font-family:var(--display);font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}
.step__card p:last-child{color:var(--muted);font-size:16px}

/* =========================================================
   06 · Fundador (vista de telescopio)
   ========================================================= */
.founder{position:relative;height:260vh;background:var(--bg)}
.founder__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;align-items:center;isolation:isolate}
.founder__scope{position:absolute;inset:0;z-index:-2;clip-path:circle(var(--r,12%) at 72% 46%);will-change:clip-path}
.founder__scope img{filter:brightness(.7) contrast(1.12);width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(var(--z,1.25));will-change:transform}
.founder__scope::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,1,3,.92) 0%,rgba(0,1,3,.62) 42%,rgba(0,1,3,0) 75%)}
.founder__reticle{position:absolute;left:72%;top:46%;z-index:-1;width:0;height:0}
.founder__reticle span{position:absolute;border-radius:50%;border:1px solid rgba(124,196,255,.35);left:50%;top:50%;transform:translate(-50%,-50%)}
.founder__reticle .r1{width:min(26vw,300px);height:min(26vw,300px)}
.founder__reticle .r2{width:min(30vw,350px);height:min(30vw,350px);border-style:dashed;border-color:rgba(124,196,255,.2)}
.founder__reticle .rx{width:min(36vw,420px);height:1px;border:0;border-radius:0;background:linear-gradient(90deg,transparent,rgba(124,196,255,.4),transparent)}
.founder__reticle .ry{height:min(36vw,420px);width:1px;border:0;border-radius:0;background:linear-gradient(transparent,rgba(124,196,255,.4),transparent)}
.founder__reticle p{position:absolute;left:0;top:min(19vw,215px);transform:translateX(-50%);color:var(--ice);font-size:10.5px;white-space:nowrap}
.founder__grid{padding-top:var(--hdr)}
.founder__text{max-width:620px}
.founder__bio{margin-top:28px;font-size:clamp(17px,1.4vw,20px);color:#C3CDD9;line-height:1.65}
.quote{margin:34px 0 0;padding:26px 0 0 28px;border-left:1px solid var(--accent);position:relative}
.quote p{font-family:var(--display);font-size:clamp(21px,1.9vw,28px);line-height:1.38;letter-spacing:-.015em;color:#fff;font-weight:500}
.quote footer{margin-top:18px;color:var(--ice);font-size:10.5px}

/* =========================================================
   07 · Contacto
   ========================================================= */
.contact{position:relative;min-height:100vh;min-height:100svh;display:grid;align-items:center;overflow:hidden;isolation:isolate;padding:clamp(120px,16vh,180px) 0}
.contact__bg{position:absolute;inset:-8% 0 0;z-index:-1;will-change:transform}
.contact__bg img{filter:brightness(.6) contrast(1.15);width:100%;height:100%;object-fit:cover;object-position:50% 80%}
.contact__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(0,1,3,.2) 40%,rgba(0,1,3,.1) 75%,rgba(0,1,3,.7) 100%)}
.contact__inner{text-align:center;display:grid;justify-items:center}
.contact__title{max-width:12ch;text-wrap:balance}
.contact .lead{margin-top:28px;text-align:center}
.contact__ctas{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}

/* =========================================================
   Pie
   ========================================================= */
.ftr{position:relative;background:#000103;border-top:1px solid var(--line);overflow:hidden}
.ticker{border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0}
.ticker__row{display:flex;gap:56px;padding-right:56px;width:max-content;animation:tick 72s linear infinite;color:var(--faint)}
.ticker__row span{white-space:nowrap}
@keyframes tick{to{transform:translateX(-50%)}}
.ftr__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,.9fr);gap:40px;padding:clamp(56px,8vh,90px) 0 48px}
.ftr__tag{margin-top:18px;color:var(--muted)}
.ftr__col{display:grid;align-content:start;gap:12px}
.ftr__col .mono{color:var(--faint);margin-bottom:6px}
.ftr__col a{color:#C3CDD9;transition:color .3s;overflow-wrap:anywhere}
.ftr__col a:hover{color:#fff}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding:24px 0 34px;border-top:1px solid var(--line);color:var(--faint);font-size:10.5px;letter-spacing:.1em}
.ftr__bottom p{text-transform:none}

/* =========================================================
   Estados de animación (solo con JS)
   ========================================================= */
.js:not(.no-anim) .reveal-up{opacity:0;transform:translateY(34px);filter:blur(8px)}
.js:not(.no-anim) [data-split]{visibility:hidden}
.js:not(.no-anim) [data-split].is-split{visibility:visible}
.js:not(.no-anim) .f-in{opacity:0;transform:translateY(24px)}
.split-line{overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width:1100px){
  .nav{display:none}
  .burger{display:block}
  .hdr__cta{display:none}
}
@media (max-width:900px){
  :root{--hdr:66px}
  .brand__logo{height:48px}
  .hero{height:150vh}
  .hero__delta{z-index:2;--s:min(118vw,620px);right:auto;left:50%;top:25%;margin-left:calc(var(--s) / -2);opacity:.28}
  .hero__content{bottom:max(15vh,110px)}
  .hero__title{max-width:11ch}
  .hero__moon{left:var(--gut);right:auto;bottom:max(5vh,34px);padding:8px 14px 8px 8px}
  .hero__moon svg{width:26px;height:26px}
  .hero__scroll{display:none}
  .hud-tr{display:none}
  .dv{height:300vh}
  .dv__grid{grid-template-columns:1fr;gap:6px;align-content:center}
  .dv__diagram{width:min(64vw,30svh);order:1}
  .dv__para{margin-top:18px;font-size:clamp(18px,4.6vw,22px)}
  .dv__analogy{margin-top:14px;font-size:16px}
  .dv .h2{font-size:clamp(28px,7.2vw,40px)}
  .dv .kicker{margin-bottom:14px}
  .tag{font-size:9px;letter-spacing:.08em}
  .tag--inner{top:24%}
  .scale__grid{grid-template-columns:1fr;gap:44px}
  .card{top:calc(var(--hdr) + 3vh + var(--i) * 10px)}
  .card__inner{min-height:auto;border-radius:24px;gap:22px}
  .stack{gap:6vh}
        .traj__rail{left:14px;transform:none}
  .traj__rocket{left:1px}
  .step{grid-template-columns:1fr}
  .step__node{left:15px}
  .step__card,.step:nth-child(even) .step__card{grid-column:1;justify-self:stretch;width:auto;margin:0 0 0 46px}
  .founder{height:auto}
  .founder__stage{position:relative;height:auto;min-height:100svh;align-items:end;padding:58svh 0 14svh}
  .founder__scope{clip-path:circle(var(--r,14%) at 62% 26svh);bottom:auto;height:74svh}
  .founder__scope img{object-position:70% 88%}
  .founder__scope::after{background:linear-gradient(180deg,rgba(0,1,3,0) 0%,rgba(0,1,3,0) 55%,rgba(0,1,3,.75) 82%,var(--bg) 100%)}
  .founder__reticle{left:62%;top:26svh}
  .founder__reticle .r1{width:46vw;height:46vw}.founder__reticle .r2{width:54vw;height:54vw}
  .founder__reticle .rx{width:64vw}.founder__reticle .ry{height:64vw}
  .founder__reticle p{top:31vw}
  .founder__grid{padding:0}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .ftr__brand{grid-column:1/-1}
}
@media (max-width:520px){
  .btn{--h:50px;padding:0 22px;font-size:15.5px}
  .btn--lg{--h:56px;padding:0 24px;font-size:16px}
  .hero__ctas .btn{flex:1 1 auto}
  .contact__ctas{display:grid;width:100%}
    .ftr__bottom{flex-direction:column}
  .ftr__col:last-child{grid-column:1/-1}
  .ftr__col a{overflow-wrap:normal}
  .hud-tl{font-size:9.5px;letter-spacing:.1em}
}
@media (max-height:760px) and (max-width:900px){
  .hud-tl{display:none}
  .hero__content{bottom:92px}
  .eyebrow{margin-bottom:14px}
  .hero__sub{font-size:16px;margin-top:18px}
  .hero__ctas{margin-top:24px}
  .hero__ctas .btn--ghost{display:none}
}
@media (max-height:820px) and (min-width:901px){
  .hud-tl,.hud-tr{display:none}
}
@media (max-height:720px) and (min-width:901px){
  .hud-tl,.hud-tr{display:none}
  .dv .h2{font-size:clamp(30px,min(5.1vw,8.4vh),74px)}
  .dv__para{font-size:clamp(17px,min(1.9vw,3.4vh),27px);margin-top:18px}
  .dv__diagram{width:min(100%,600px,76vh)}
  .hero__sub{margin-top:20px}
  .hero__ctas{margin-top:26px}
  .hero__content{bottom:max(10vh,90px)}
  .hero__moon{bottom:max(10vh,90px)}
  .hero__scroll{display:none}
}
@media (max-height:620px) and (max-width:900px){
  .dv__diagram{width:min(60vw,38svh)}
}

/* Movimiento reducido, sin JS o si la animación falla: todo visible, sin escenas fijas */
:is(.no-anim,.no-js) .hero,:is(.no-anim,.no-js) .dv,:is(.no-anim,.no-js) .founder{height:auto}
:is(.no-anim,.no-js) .hero__stage,:is(.no-anim,.no-js) .dv__stage,:is(.no-anim,.no-js) .founder__stage{position:relative;height:auto;min-height:100vh;min-height:100svh}
:is(.no-anim,.no-js) .dv__stage{padding:120px 0}
:is(.no-anim,.no-js) .founder__scope{clip-path:none}
:is(.no-anim,.no-js) .founder__reticle,:is(.no-anim,.no-js) .traj__rocket,:is(.no-anim,.no-js) .hero__scroll{display:none}
:is(.no-anim,.no-js) .traj__line{transform:none}
:is(.no-anim,.no-js) .burn,:is(.no-anim,.no-js) .tag{opacity:1}
:is(.no-anim,.no-js) .dv__para .w{opacity:1}
:is(.no-anim,.no-js) .card{position:relative;top:auto}
:is(.no-anim,.no-js) .intro{display:none!important}
@media (prefers-reduced-motion:reduce){
  .ticker__row,.hero__scroll i,.dot--live{animation:none}
  .intro{display:none!important}
  .delta-big__sat,.orbit-runner{display:none}
}

/* =========================================================
   Páginas secundarias
   ========================================================= */
.page-legal .hdr{position:sticky;top:0}
.legal{padding:clamp(60px,10vh,120px) 0 clamp(80px,12vh,140px);max-width:780px}
.legal__date{color:var(--faint);margin:18px 0 48px;text-transform:none;letter-spacing:.06em}
.legal h2{font-family:var(--display);font-size:clamp(22px,2.2vw,28px);font-weight:600;letter-spacing:-.02em;margin:44px 0 14px}
.legal p{color:#C3CDD9;margin:0 0 14px;max-width:70ch}
.legal a{color:var(--ice);text-decoration:underline;text-underline-offset:3px}
.legal b{color:#fff}
.legal__pending{background:rgba(255,180,107,.16);color:#FFD2A6;padding:1px 6px;border-radius:6px}
.lost{min-height:100vh;min-height:100svh;display:grid;place-content:center;justify-items:center;text-align:center;gap:20px;padding:40px var(--gut);background:radial-gradient(60% 50% at 50% 40%,rgba(58,141,255,.12),transparent 70%),var(--bg)}
.lost__code{color:var(--ice)}
.lost .lead{margin-bottom:12px}

/* Quiet continuation of the opening sky, below every section and its cards. */
#contenido{position:relative;isolation:isolate}
#contenido > section{z-index:1}
.ambient-stars{position:fixed;inset:0;width:100%;height:100vh;height:100svh;z-index:0;pointer-events:none;opacity:0}
