/* Lincem · landing pública (estática, sin dependencias). Tema oscuro único. */

/* ---------- Fuentes autoalojadas (SIL OFL 1.1) ---------- */
@font-face{font-family:"Manrope";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/manrope-500.woff) format("woff")}
@font-face{font-family:"Manrope";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/manrope-700.woff) format("woff")}
@font-face{font-family:"Manrope";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/manrope-800.woff) format("woff")}
@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-400.woff) format("woff")}
@font-face{font-family:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-500.woff) format("woff")}
@font-face{font-family:"DM Sans";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-600.woff) format("woff")}
@font-face{font-family:"DM Sans";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-700.woff) format("woff")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  color-scheme:dark;
  --bg:#05090e; --bg-1:#070d14; --bg-2:#0b131c; --bg-3:#111c28; --bg-4:#172535;
  --glass:rgba(10,18,27,.74);
  --line:rgba(160,196,226,.12); --line-2:rgba(160,196,226,.22); --line-3:rgba(160,196,226,.34);
  --fg:#eef3f7; --fg-2:#b8c5d1; --fg-3:#8798a9;
  --amber:#ffb35c; --amber-2:#ff9437; --amber-soft:#ffd9ad;
  --teal:#5cd6e0; --teal-2:#33aebe;
  --ok:#5fd38a; --warn:#f2b13a; --bad:#f2665a; --na:#8d9aa6;
  --display:"Manrope","DM Sans",system-ui,sans-serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --r:20px; --r-sm:12px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --head-h:72px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 12px);background:var(--bg)}
body{margin:0;min-width:320px;background:var(--bg);color:var(--fg);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility}
@supports (overflow:clip){body{overflow-x:clip}}
img,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0}
h1,h2,h3{font-family:var(--display);font-weight:800;margin:0;color:var(--fg);text-wrap:balance;overflow-wrap:break-word}
h3{font-weight:700;font-size:clamp(1.18rem,1.05rem + .45vw,1.42rem);line-height:1.2;letter-spacing:-.02em}
b,strong{font-weight:600;color:var(--fg)}
sub{font-size:.7em;line-height:0}
button{font:inherit;color:inherit}
:focus{outline:none}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
::selection{background:rgba(255,179,92,.35);color:#fff}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gut));margin-inline:auto;padding-inline:max(var(--gut),env(safe-area-inset-left,0px)) max(var(--gut),env(safe-area-inset-right,0px))}

/* Grano cinematográfico muy sutil sobre toda la página */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

.skip{position:absolute;left:16px;top:-100px;z-index:200;padding:10px 16px;border-radius:10px;background:var(--amber);color:#1b1206;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* ---------- Tipografía de sección ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 .78rem/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.lead{font-size:clamp(1.06rem,.98rem + .38vw,1.28rem);line-height:1.6;color:var(--fg-2);max-width:62ch}
h2{font-size:clamp(2.05rem,1.2rem + 3.2vw,3.85rem);line-height:1.03;letter-spacing:-.04em;margin-top:14px}
.dim{color:var(--fg-3)}
.hl{color:var(--amber)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hl{background:linear-gradient(100deg,#ffe1b8 0%,#ffb35c 42%,#ff8a3d 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
}
.fineprint{margin-top:14px;font-size:.86rem;color:var(--fg-3)}
.live-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none;box-shadow:0 0 0 0 rgba(95,211,138,.55);animation:live 2.4s ease-out infinite}

/* ---------- Estados (siempre forma + texto, nunca solo color) ---------- */
.st{display:inline-block;flex:none;width:.66em;height:.66em;background:currentColor;vertical-align:baseline}
.st--ok{color:var(--ok);border-radius:50%}
.st--warn{color:var(--warn);clip-path:polygon(50% 4%,100% 96%,0 96%)}
.st--bad{color:var(--bad);transform:rotate(45deg) scale(.86);border-radius:1px}
.st--na{color:var(--na);background:none;border-radius:50%;box-shadow:inset 0 0 0 1.6px currentColor}
.st--none{color:var(--na);height:2px;border-radius:2px;width:.7em;vertical-align:middle}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font:500 .78rem/1.4 var(--sans);white-space:nowrap;border:1px solid transparent}
.pill--ok{background:rgba(95,211,138,.12);border-color:rgba(95,211,138,.3);color:#c9f2d7}
.pill--warn{background:rgba(242,177,58,.13);border-color:rgba(242,177,58,.34);color:#fbe2b0}
.pill--bad{background:rgba(242,102,90,.14);border-color:rgba(242,102,90,.36);color:#ffd2cc}
.pill--na,.pill--none{background:rgba(141,154,166,.12);border-color:rgba(141,154,166,.3);color:#d3dbe2}

/* ---------- Botones ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:600 1rem/1.15 var(--sans);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background-color .25s,border-color .25s,color .25s;white-space:nowrap}
.btn--lg{min-height:58px;padding:0 24px;font-size:1.02rem}
.btn--sm{min-height:40px;padding:0 14px;font-size:.9rem;gap:8px}
.btn--primary{background:linear-gradient(180deg,#ffc681,#ff9a42);color:#1b1206;box-shadow:0 12px 34px rgba(255,148,55,.26),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(255,148,55,.36),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--ghost{background:rgba(255,255,255,.03);border-color:var(--line-3);color:var(--fg)}
.btn--ghost:hover{border-color:rgba(238,243,247,.55);background:rgba(255,255,255,.06)}
.btn--soon{background:linear-gradient(180deg,#f9c387,#ec9a52);color:#241505;cursor:not-allowed;box-shadow:0 12px 34px rgba(255,148,55,.2),inset 0 1px 0 rgba(255,255,255,.45)}
.btn--soon .ico{color:#3a2410}
.btn--soon .badge{background:rgba(36,21,5,.14);color:#3a2410}
.btn--soon:hover{filter:brightness(1.04)}
.btn--soon-line{background:linear-gradient(180deg,rgba(255,190,122,.16),rgba(255,148,55,.08));border-color:rgba(255,179,92,.55);color:#ffe4c2;box-shadow:none}
.btn--soon-line .ico{color:var(--amber)}
.btn--soon-line .badge{background:rgba(255,179,92,.18);color:#ffd7a6}
.btn--soon-line:hover{filter:none;border-color:rgba(255,179,92,.85)}
.lbl-short{display:none}
.btn .ico{transition:transform .25s var(--ease)}
.btn--primary:hover .ico,.btn--ghost:hover .ico{transform:translateX(3px)}
.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:rgba(255,179,92,.18);color:#ffd7a6;font:500 .66rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.badge--ghost{background:rgba(160,196,226,.1);color:var(--fg-2)}
.btn--sm .badge{padding:3px 7px;font-size:.6rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.cta-row--center{justify-content:center}

/* ---------- Cabecera ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--head-h);transition:background-color .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.top.is-scrolled,.top.is-open{background:rgba(5,9,14,.78);border-bottom-color:var(--line);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
.top__in{height:100%;display:flex;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--fg);flex:none;border-radius:10px}
.brand__mark{width:38px;height:38px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.brand__word{position:relative;font:800 1.42rem/1 var(--display);letter-spacing:-.03em}
.brand__i{position:relative;display:inline-block}
.brand__i::after{content:"";position:absolute;left:50%;top:-.02em;width:.2em;height:.2em;background:var(--amber);border-radius:1px;transform:translateX(-50%) rotate(45deg);box-shadow:0 0 10px rgba(255,179,92,.8)}
.nav{margin-left:auto;display:flex;align-items:center}
.nav__list{display:flex;gap:2px;list-style:none}
.nav__list a{display:block;padding:10px 12px;border-radius:999px;font:500 .93rem/1 var(--sans);color:var(--fg-2);text-decoration:none;transition:color .2s,background-color .2s}
.nav__list a:hover{color:var(--fg);background:rgba(255,255,255,.05)}
.nav__list a.is-active{color:var(--fg);background:rgba(255,179,92,.1);box-shadow:inset 0 0 0 1px rgba(255,179,92,.28)}
.nav__demo{display:none}
.top__cta{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);cursor:pointer;place-items:center}
.menu-btn .ico{width:22px;height:22px}

@media (max-width:1180px){
  .nav__list a{padding:10px 9px;font-size:.88rem}
}
@media (max-width:1060px){
  .js .menu-btn{display:grid}
  .nav{position:absolute;left:0;right:0;top:var(--head-h);margin:0;display:none;flex-direction:column;align-items:stretch;gap:6px;padding:12px var(--gut) 22px;background:#05090e;border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  .top.is-open .nav{display:flex}
  .nav__list{flex-direction:column;gap:2px}
  .nav__list a{padding:14px 12px;font-size:1.05rem;border-radius:12px}
  .nav__demo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:14px 12px;border-radius:12px;border:1px solid var(--line-2);color:var(--fg);text-decoration:none;font-weight:600}
  .top__cta{margin-left:auto}
}
@media (max-width:520px){
  .top__in{gap:12px}
  .top__cta{gap:8px}
  .top .lbl-long{display:none}
  .top .lbl-short{display:inline}
  .top .btn--soon{padding:0 11px;gap:7px;font-size:.86rem}
  .menu-btn{width:42px;height:42px}
  .brand{gap:9px}
  .brand__mark{width:32px;height:32px}
  .brand__word{font-size:1.26rem}
}
@media (max-width:380px){
  .top .lbl-short{display:none}
  .badge .lbl-long{display:none}
  .badge .lbl-short{display:inline}
  .btn--lg{padding:0 16px;font-size:.98rem;white-space:normal;text-align:center}
}

/* ---------- Portada ---------- */
.hero{position:relative;isolation:isolate;min-height:min(100svh,1040px);display:flex;flex-direction:column;justify-content:center;padding:calc(var(--head-h) + 40px) 0 104px;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#06101a}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 60%;filter:saturate(1.1) brightness(.64) contrast(1.06);transform:scale(1.08);animation:heroZoom 26s var(--ease) both}
.hero__media::after{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 55% 60% at 74% 56%,rgba(5,9,14,0) 0%,rgba(5,9,14,.3) 62%,rgba(5,9,14,.62) 100%),
  linear-gradient(90deg,rgba(5,9,14,.95) 0%,rgba(5,9,14,.82) 32%,rgba(5,9,14,.3) 66%,rgba(5,9,14,.5) 100%),
  linear-gradient(180deg,rgba(5,9,14,.82) 0%,rgba(5,9,14,0) 24%,rgba(5,9,14,0) 64%,var(--bg) 100%)}
.hero__grid-bg{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(140,190,230,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,190,230,.07) 1px,transparent 1px);background-size:76px 76px;background-position:center center;-webkit-mask-image:radial-gradient(ellipse 60% 62% at 72% 48%,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse 60% 62% at 72% 48%,#000 0%,transparent 72%)}
.hero__in{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);align-items:center;gap:clamp(20px,3.5vw,64px)}
.hero__copy{position:relative;z-index:2}
.hero__eyebrow{color:var(--fg-2)}
.hero__title{font-size:clamp(2.9rem,1.2rem + 5.9vw,6.6rem);line-height:.94;letter-spacing:-.05em;margin:22px 0 26px;max-width:12ch}
.hero__lead{max-width:54ch;font-size:clamp(1.08rem,1rem + .4vw,1.32rem)}
.hero__facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;list-style:none;font:500 .82rem/1.3 var(--mono);color:var(--fg-2);letter-spacing:.02em}
.hero__facts li{display:inline-flex;align-items:center;gap:8px}
.hero__facts .ico{color:var(--teal)}
.hero__visual{position:relative;display:grid;place-items:center;min-height:0}
.lens{position:relative;width:min(108%,580px);aspect-ratio:1;display:grid;place-items:center;transform:translate3d(calc(var(--px,0) * var(--k,0) * -14px),calc(var(--py,0) * var(--k,0) * -10px),0)}
.lens>*{grid-area:1/1}
.lens__glow{width:118%;height:118%;border-radius:50%;background:radial-gradient(circle at 50% 54%,rgba(255,170,80,.24) 0%,rgba(92,214,224,.1) 34%,rgba(5,9,14,0) 64%)}
.lens__sweep{width:84%;height:84%;border-radius:50%;background:conic-gradient(from 0deg,rgba(92,214,224,0) 0deg,rgba(92,214,224,0) 280deg,rgba(92,214,224,.10) 330deg,rgba(92,214,224,.30) 359deg,rgba(92,214,224,0) 360deg);-webkit-mask-image:radial-gradient(circle,transparent 0 44%,#000 45%);mask-image:radial-gradient(circle,transparent 0 44%,#000 45%);animation:spin 10s linear infinite}
.lens__rings{width:100%;height:100%;overflow:visible}
.lens__rings .r-outer{fill:none;stroke:rgba(160,196,226,.18);stroke-width:1}
.lens__rings .r-ticks{fill:none;stroke:rgba(160,196,226,.3);stroke-width:7;stroke-dasharray:1 7.797}
.lens__rings .r-ticks-major{fill:none;stroke:rgba(255,179,92,.7);stroke-width:13;stroke-dasharray:1.6 86.37}
.lens__rings .arc{fill:none;stroke-width:3.2;stroke-linecap:round}
.lens__rings .arc--ok{stroke:var(--ok)}
.lens__rings .arc--warn{stroke:var(--warn)}
.lens__rings .arc--bad{stroke:var(--bad)}
.lens__rings .arc--na{stroke:var(--na)}
.lens__rings .r-dash{fill:none;stroke:rgba(92,214,224,.45);stroke-width:1.2;stroke-dasharray:2 9;transform-origin:200px 200px;animation:spin 90s linear infinite reverse}
.lens__rings .r-text{transform-origin:200px 200px;animation:spin 140s linear infinite}
.lens__rings .r-text text{font:500 11px var(--mono);fill:rgba(220,232,242,.52)}
.lens__rings .r-cross{stroke:rgba(160,196,226,.45);stroke-width:1.2}
.lens__lynx{width:71%;height:auto;overflow:visible;filter:drop-shadow(0 28px 50px rgba(0,0,0,.6));animation:lynxIn 1.5s var(--ease) both}
.lens__mesh{--lxf:none;fill:none;stroke:rgba(255,255,255,.3);stroke-width:.28;stroke-linejoin:round}
.lens__eyes{fill:#ffb347;opacity:.62;mix-blend-mode:screen;animation:eyes 6s ease-in-out infinite}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:11px;padding:11px 16px 11px 13px;border-radius:14px;background:rgba(8,15,23,.76);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(0,0,0,.4);font-size:.86rem;line-height:1.3;white-space:nowrap;transform:translate3d(calc(var(--px,0) * var(--k,0) * -14px),calc(var(--py,0) * var(--k,0) * -10px),0)}
.chip>span{animation:float 7s ease-in-out infinite}
.chip b{display:block;font-weight:600}
.chip small{display:block;font-size:.8rem;color:var(--fg-2)}
.chip .st{width:.8em;height:.8em}
.chip--bad{top:12%;left:-4%}
.chip--warn{top:47%;right:-6%}
.chip--warn>span{animation-delay:-2.3s}
.chip--ok{bottom:9%;left:4%}
.chip--ok>span{animation-delay:-4.6s}
.hero__note{position:absolute;bottom:-34px;left:50%;transform:translateX(-50%);white-space:nowrap;font:400 .72rem var(--mono);letter-spacing:.08em;color:var(--fg-3)}
.hero__scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:6px;font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);text-decoration:none;border-radius:8px;padding:4px 8px}
.hero__scroll .ico{animation:nudge 2.4s ease-in-out infinite}
.hero__scroll:hover{color:var(--fg)}

@media (max-width:1100px){
  .chip--bad{left:-1%}
  .chip--warn{right:-2%}
}
@media (max-width:960px){
  .hero{min-height:auto;padding-top:calc(var(--head-h) + 18px);padding-bottom:88px}
  .hero__in{grid-template-columns:minmax(0,1fr);gap:6px}
  .hero__visual{order:-1;margin-inline:auto;width:min(100%,420px)}
  .lens{width:min(76vw,380px)}
  .hero__title{max-width:none;margin-top:16px}
  .hero__media img{object-position:58% 64%}
  .hero__media::after{background:
    linear-gradient(180deg,rgba(5,9,14,.84) 0%,rgba(5,9,14,.45) 30%,rgba(5,9,14,.72) 55%,rgba(5,9,14,.9) 80%,var(--bg) 100%)}
  .chip{font-size:.78rem;padding:8px 12px 8px 10px;gap:9px}
  .chip small{font-size:.74rem}
  .chip--bad{top:6%;left:0}
  .chip--warn{top:auto;bottom:8%;right:0}
  .chip--ok{display:none}
  .hero__note{display:none}
  .hero__scroll{display:none}
}
@media (max-width:560px){
  .lens{width:min(70vw,300px)}
  .chip--bad{left:0;top:2%}
  .chip--warn{right:0;bottom:4%}
  .cta-row .btn{width:100%}
  .hero__facts{gap:8px 16px;font-size:.76rem}
}
@media (max-width:360px){
  .chip{display:none}
}

/* ---------- Teletipo de ejemplo ---------- */
.ticker{position:relative;z-index:2;display:flex;align-items:stretch;height:58px;border-block:1px solid var(--line);background:rgba(7,13,20,.9)}
.ticker__label{flex:none;display:flex;align-items:center;gap:10px;padding:0 20px 0 max(var(--gut),env(safe-area-inset-left,0px));font:400 .74rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);border-right:1px solid var(--line)}
.ticker__label b{color:var(--fg)}
.ticker__viewport{position:relative;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ticker__track{display:flex;align-items:center;height:100%;width:max-content;list-style:none}
.ticker--ready .ticker__track{animation:marquee 56s linear infinite}
.ticker__track li{display:flex;align-items:center;gap:8px;padding:0 26px;white-space:nowrap;border-right:1px solid var(--line);height:28px}
.t-name{font-size:.86rem;color:var(--fg-3)}
.t-val{font:500 .98rem var(--mono);color:var(--fg);font-variant-numeric:tabular-nums;min-width:3.6ch;text-align:right}
.t-unit{font:400 .8rem var(--mono);color:var(--fg-3)}
.ticker__track .st{margin-left:4px}
.t-val.up::after,.t-val.down::after{display:inline-block;margin-left:5px;font-size:.62rem;color:var(--fg-3)}
.t-val.up::after{content:"▲"}
.t-val.down::after{content:"▼"}
.ticker__pause{flex:none;width:58px;display:grid;place-items:center;border:0;border-left:1px solid var(--line);background:transparent;color:var(--fg-2);cursor:pointer}
.ticker__pause:hover{color:var(--fg);background:rgba(255,255,255,.04)}
.ticker__pause .ico{width:20px;height:20px}
.ticker__pause .ico--play,.icon-btn .ico--play{display:none}
.ticker__pause[aria-pressed="true"] .ico--play,.icon-btn[aria-pressed="true"] .ico--play{display:block}
.ticker__pause[aria-pressed="true"] .ico--pause,.icon-btn[aria-pressed="true"] .ico--pause{display:none}
.ticker:hover .ticker__track,.ticker:focus-within .ticker__track{animation-play-state:paused}
@media (max-width:640px){.ticker__label>span:last-child{display:none}.ticker__label{padding-right:14px}}

/* ---------- Secciones ---------- */
.section{position:relative;padding-block:clamp(76px,8.6vw,136px)}
.section--alt{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-1) 14%,var(--bg-1) 86%,var(--bg) 100%)}
.section::before{content:"";position:absolute;left:50%;top:0;width:min(1240px,92%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--line-2),transparent)}
#promesas::before{display:none}
.head{max-width:880px;margin-bottom:clamp(36px,4.6vw,64px)}
.head--split{max-width:none;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(20px,5vw,84px);align-items:end}
.head--split .lead{margin-top:0}
.head .lead{margin-top:20px}
@media (max-width:900px){.head--split{grid-template-columns:1fr}.head--split .lead{margin-top:6px}}

/* ---------- 2 · Promesas ---------- */
.promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.promise{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 28px 26px;border-radius:var(--r);background:linear-gradient(180deg,rgba(21,34,49,.72),rgba(10,17,26,.72));border:1px solid var(--line);overflow:hidden;transition:border-color .4s,transform .5s var(--ease)}
.promise::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,179,92,.55),rgba(92,214,224,.25) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .45s}
.promise:hover{transform:translateY(-4px)}
.promise:hover::before{opacity:1}
.promise__top{display:flex;align-items:center;gap:12px;font:500 .8rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.promise__num{color:var(--amber)}
.promise__ico{margin-left:auto;width:30px;height:30px;color:var(--teal);stroke-width:1.5}
.promise h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem);margin-top:6px}
.promise>p{color:var(--fg-2)}
.promise__viz{margin-top:auto;position:relative;padding:16px;border-radius:14px;background:rgba(4,8,13,.62);border:1px solid var(--line);min-height:112px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.tag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(92,214,224,.1);color:#bdeff3;font:500 .72rem/1.3 var(--mono);letter-spacing:.04em}
.tag .ico{width:13px;height:13px}
.viz-read{display:grid;grid-template-columns:auto minmax(28px,1fr) auto;align-items:center;gap:12px 0}
.viz-read .node{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--bg-3);border:1px solid var(--line-2);font:500 .82rem var(--sans);color:var(--fg)}
.viz-read .node .ico{color:var(--teal);width:18px;height:18px}
.viz-read .node--lx svg{width:22px;height:22px}
.viz-read .wire{position:relative;flex:1;height:2px;margin:0 8px;min-width:40px;background:linear-gradient(90deg,rgba(92,214,224,.15),rgba(92,214,224,.5));border-radius:2px;overflow:hidden}
.viz-read .wire i{position:absolute;top:-2px;left:-10%;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px var(--teal);animation:packet 2.6s linear infinite}
.viz-read .wire i:nth-child(2){animation-delay:-.86s}
.viz-read .wire i:nth-child(3){animation-delay:-1.73s}
.viz-read .tag{grid-column:1/-1;justify-self:start}
.viz-code code{font:400 .84rem/1.6 var(--mono);color:var(--fg-2);overflow-wrap:anywhere}
.c-var{color:#bdeff3}.c-fn{color:var(--amber)}.c-str{color:#c9f2d7}
.viz-ai p{font-size:.92rem;line-height:1.55;color:var(--fg);font-style:italic}
.viz-ai .tag{background:rgba(255,179,92,.12);color:#ffd7a6}
@media (max-width:1000px){.promises{grid-template-columns:1fr;max-width:640px}}

/* ---------- 3 · Escena 3D ---------- */
.section--stage{padding-top:clamp(72px,8vw,124px)}
.stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 370px;border-radius:26px;border:1px solid var(--line-2);background:#08111a;overflow:hidden;box-shadow:0 50px 140px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.02) inset}
.stage__view{position:relative;min-height:clamp(440px,64vh,660px);background:radial-gradient(ellipse 80% 70% at 50% 60%,#0f1d2b 0%,#08111a 70%);overflow:hidden}
.stage__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s}
.stage__canvas{position:absolute;inset:0;width:100%!important;height:100%!important;touch-action:pan-y;cursor:grab;opacity:0;transition:opacity .8s}
.stage.is-live .stage__canvas{opacity:1}
.stage.is-live .stage__poster{opacity:0}
.stage__canvas:active{cursor:grabbing}
.stage__labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.lbl3d{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;padding:6px 10px 6px 9px;border-radius:10px;background:rgba(6,12,19,.8);border:1px solid var(--line-2);font:500 .74rem/1.25 var(--sans);color:var(--fg);white-space:nowrap;will-change:transform;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lbl3d span{color:var(--fg-3);font-weight:400}
.lbl3d.is-sel{border-color:rgba(255,179,92,.7);box-shadow:0 0 0 1px rgba(255,179,92,.3),0 8px 24px rgba(0,0,0,.4)}
.stage__tip{position:absolute;z-index:4;pointer-events:none;padding:8px 12px;border-radius:10px;background:rgba(6,12,19,.92);border:1px solid var(--line-2);font-size:.82rem;line-height:1.35;transform:translate(14px,14px);max-width:260px}
.stage__bar{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:linear-gradient(180deg,rgba(6,12,19,.75),rgba(6,12,19,0));pointer-events:none}
.stage__bar>*{pointer-events:auto}
.stage__live{display:flex;align-items:center;gap:10px;font:500 .78rem/1.3 var(--mono);letter-spacing:.04em;color:var(--fg-2)}
.stage__ctrl{display:flex;gap:8px}
.icon-btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);background:rgba(6,12,19,.7);color:var(--fg-2);font:500 .82rem var(--sans);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.icon-btn:hover:not(:disabled){color:var(--fg);border-color:var(--line-3)}
.icon-btn:disabled{opacity:.45;cursor:default}
.icon-btn .ico{width:16px;height:16px}
.stage__legend{position:absolute;left:18px;bottom:16px;z-index:3;display:flex;flex-wrap:wrap;gap:6px 14px;max-width:calc(100% - 36px);padding:9px 14px;border-radius:12px;background:rgba(6,12,19,.72);border:1px solid var(--line);list-style:none;font:500 .74rem/1.2 var(--sans);color:var(--fg-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.stage__legend li{display:inline-flex;align-items:center;gap:7px}
.flow{display:inline-block;width:18px;height:3px;border-radius:2px}
.flow--steam{background:repeating-linear-gradient(90deg,#9fe8ee 0 5px,transparent 5px 8px)}
.flow--water{background:#5b9cff}
.stage__hint{position:absolute;right:18px;bottom:20px;z-index:3;font:400 .72rem var(--mono);color:var(--fg-3);pointer-events:none}
.stage__msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;max-width:min(420px,86%);padding:14px 18px;border-radius:14px;background:rgba(6,12,19,.86);border:1px solid var(--line-2);font-size:.9rem;color:var(--fg-2);text-align:center}
.stage__panel{position:relative;border-left:1px solid var(--line);background:linear-gradient(180deg,rgba(12,21,31,.96),rgba(8,14,21,.98));padding:26px 24px}
.panel__kicker{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.panel__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:12px 0 18px}
.panel__head h3{font-size:1.5rem}
.panel__kpis{width:100%;border-collapse:collapse;font-size:.88rem}
.panel__kpis th{font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);text-align:left;padding:0 6px 10px 0;border-bottom:1px solid var(--line)}
.panel__kpis td{padding:11px 6px 11px 0;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--fg-2)}
.panel__kpis td:nth-child(2){color:var(--fg);font-family:var(--mono);font-size:.84rem;white-space:nowrap}
.panel__kpis td:nth-child(3){font-family:var(--mono);font-size:.8rem;color:var(--fg-3);white-space:nowrap}
.panel__kpis td:last-child{text-align:right;padding-right:0}
.panel__kpis .pill{font-size:.72rem;padding:2px 8px 2px 7px}
.panel__empty{padding:14px;border-radius:12px;border:1px dashed var(--line-2);font-size:.88rem;color:var(--fg-3)}
.panel__why{margin-top:18px;font-size:.92rem;line-height:1.6;color:var(--fg-2)}
.panel__meta{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font:400 .74rem/1.5 var(--mono);color:var(--fg-3)}
.equip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.equip__btn{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 15px 0 13px;border-radius:999px;border:1px solid var(--line-2);background:rgba(13,22,33,.6);color:var(--fg-2);font:500 .88rem var(--sans);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.equip__btn:hover{color:var(--fg);border-color:var(--line-3)}
.equip__btn[aria-pressed="true"]{background:rgba(255,179,92,.12);border-color:rgba(255,179,92,.55);color:var(--fg)}
@media (max-width:1060px){
  .stage{grid-template-columns:1fr}
  .stage__panel{border-left:0;border-top:1px solid var(--line)}
  .stage__view{min-height:clamp(380px,58vw,520px)}
}
@media (max-width:900px){.stage__hint{display:none}}
@media (max-width:640px){
  .stage{border-radius:20px}
  .stage__view{min-height:400px}
  .stage__bar{padding:12px;flex-wrap:wrap}
  .icon-btn__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .icon-btn{padding:0 11px}
  .stage__legend{left:10px;right:10px;bottom:10px;max-width:none;gap:5px 11px;font-size:.7rem}
  .stage__hint{display:none}
  .stage__panel{padding:22px 16px}
  .panel__kpis{font-size:.82rem;table-layout:fixed}
  .panel__kpis th:nth-child(1){width:38%}
  .panel__kpis th:nth-child(2){width:25%}
  .panel__kpis th:nth-child(3){width:17%}
  .panel__kpis th:nth-child(4){width:20%}
  .panel__kpis td{padding:10px 4px 10px 0;overflow-wrap:anywhere}
  .panel__kpis td:nth-child(2),.panel__kpis td:nth-child(3){white-space:normal;font-size:.76rem}
  .panel__kpis .pill{font-size:.68rem;padding:2px 6px 2px 5px;gap:4px}
  .lbl3d{font-size:.68rem;padding:4px 8px}
  .equip{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .equip__btn{min-height:44px;padding:6px 10px;font-size:.84rem;line-height:1.2;text-align:left;border-radius:14px}
}

/* ---------- 4 · Para quién ---------- */
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.role{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--bg-2);border:1px solid var(--line);transition:transform .5s var(--ease),border-color .4s}
.role:hover{transform:translateY(-4px);border-color:var(--line-2)}
.role__img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-3)}
.role__img img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.8) contrast(1.06);transition:transform 1.4s var(--ease)}
.role:hover .role__img img{transform:scale(1.05)}
.role__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,19,28,0) 35%,rgba(11,19,28,.92) 100%),linear-gradient(0deg,rgba(18,52,72,.22),rgba(18,52,72,.22))}
.role__body{position:relative;display:flex;flex-direction:column;gap:12px;padding:0 26px 28px;margin-top:-30px;flex:1}
.role__who{align-self:flex-start;padding:5px 11px;border-radius:999px;background:rgba(5,9,14,.85);border:1px solid rgba(92,214,224,.35);font:500 .72rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#bdeff3}
.role__body>p:not(.role__who):not(.role__tags){color:var(--fg-2)}
.role__tags{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font:400 .76rem var(--mono);color:var(--fg-3)}
@media (max-width:1000px){.roles{grid-template-columns:1fr;max-width:640px}.role__img{aspect-ratio:16/8}}

/* ---------- 5 · Seis pasos ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;counter-reset:step}
.step{position:relative}
.step__node{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:22px}
.step__node .ico{width:58px;height:58px;padding:15px;border-radius:18px;background:linear-gradient(160deg,rgba(92,214,224,.16),rgba(92,214,224,.04));border:1px solid rgba(92,214,224,.32);color:var(--teal);stroke-width:1.5;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.step__n{font:500 .8rem var(--mono);letter-spacing:.14em;color:var(--amber)}
.step:not(:nth-child(3n))::after{content:"";position:absolute;top:29px;left:116px;right:-24px;height:1px;background:linear-gradient(90deg,rgba(92,214,224,.5),rgba(92,214,224,.08))}
.step:not(:nth-child(3n))::before{content:"";position:absolute;top:27px;left:116px;width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px var(--teal);animation:travel 3.6s var(--ease) infinite;z-index:1}
.step h3{margin-bottom:10px}
.step>p:not(.step__tag){color:var(--fg-2)}
.step__tag{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font:400 .76rem var(--mono);color:var(--fg-3)}
@media (max-width:1000px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step::after,.step::before{display:none}
}
@media (max-width:640px){
  .steps{grid-template-columns:1fr;gap:0}
  .step{padding:0 0 34px 76px;min-height:96px}
  .step__node{position:absolute;left:0;top:0;margin:0}
  .step__node .ico{width:54px;height:54px;padding:14px}
  .step__n{position:absolute;left:0;top:62px;width:54px;text-align:center}
  .step:not(:last-child)::after{display:block;content:"";position:absolute;left:27px;top:86px;bottom:6px;right:auto;width:1px;height:auto;background:linear-gradient(180deg,rgba(92,214,224,.45),rgba(92,214,224,.06))}
  .step h3{padding-top:4px}
}

/* ---------- 6 · IA ---------- */
.section--ai{overflow:hidden;isolation:isolate}
.ai__bg{position:absolute;left:0;right:0;top:0;height:min(980px,100%);z-index:-1;pointer-events:none}
.ai__bg img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;opacity:.34;filter:saturate(1.15);-webkit-mask-image:radial-gradient(ellipse 52% 60% at 84% 30%,#000 0%,rgba(0,0,0,.6) 45%,transparent 78%);mask-image:radial-gradient(ellipse 52% 60% at 84% 30%,#000 0%,rgba(0,0,0,.6) 45%,transparent 78%)}
.ai{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,4.5vw,64px);align-items:start}
.layers{list-style:none;display:grid;gap:10px;margin-bottom:34px}
.layer{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:16px;border:1px solid var(--line-2);background:rgba(11,19,28,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.layer .ico{width:40px;height:40px;padding:9px;border-radius:12px;background:rgba(92,214,224,.1);color:var(--teal);stroke-width:1.5}
.layer b{display:block;font-weight:600;line-height:1.35}
.layer span{display:block;font-size:.9rem;color:var(--fg-3);line-height:1.45}
.layer--ai{border-color:rgba(255,179,92,.5);background:linear-gradient(90deg,rgba(255,179,92,.16),rgba(255,179,92,.04));box-shadow:0 24px 50px rgba(0,0,0,.35)}
.layer--ai .ico{background:rgba(255,179,92,.16);color:var(--amber)}
.layer--gap{justify-content:center;padding:2px;border:0;background:none;font:400 .74rem var(--mono);letter-spacing:.06em;color:var(--fg-3);gap:10px;-webkit-backdrop-filter:none;backdrop-filter:none}
.layer--gap span{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;color:var(--fg-3)}
.layer--gap span::before,.layer--gap span::after{content:"";width:34px;height:1px;background:repeating-linear-gradient(90deg,var(--line-3) 0 4px,transparent 4px 7px)}
.dodont{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.dodont h3{font-size:1.12rem;margin-bottom:14px}
.ticks{list-style:none;display:grid;gap:12px}
.ticks li{position:relative;padding-left:28px;font-size:.95rem;line-height:1.55;color:var(--fg-2)}
.ticks li::before{content:"";position:absolute;left:0;top:.3em;width:17px;height:17px;border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:11px}
.ticks--ok li::before{background-color:rgba(95,211,138,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235fd38a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ticks--no li::before{background-color:rgba(242,102,90,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2665a' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E")}
.reading{position:relative;padding:26px;border-radius:24px;background:linear-gradient(180deg,rgba(19,31,45,.94),rgba(9,15,23,.96));border:1px solid var(--line-2);box-shadow:0 50px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)}
.reading::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,179,92,.9),transparent)}
.reading__head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.reading__head h3{font-size:1.08rem;letter-spacing:-.01em}
.reading__head .badge{margin-left:auto;align-self:flex-start}
.reading__avatar{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;background:radial-gradient(circle at 50% 60%,rgba(255,179,92,.25),rgba(255,179,92,0) 70%),var(--bg-3);border:1px solid rgba(255,179,92,.35)}
.reading__avatar svg{width:32px;height:32px}
.reading__meta{font:400 .74rem/1.4 var(--mono);color:var(--fg-3);margin-top:3px}
.reading__body{display:grid;gap:14px;padding:20px 0;font-size:1rem;line-height:1.65;color:var(--fg-2)}
.cite{padding:1px 7px;border-radius:6px;background:rgba(255,179,92,.13);color:var(--amber-soft);font:500 .86em var(--mono);white-space:nowrap}
.reading__label{display:block;margin-bottom:10px;font:500 .7rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.reading__src{padding:16px 0;border-top:1px solid var(--line)}
.srcs{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.srcs li{padding:6px 10px;border-radius:10px;background:rgba(92,214,224,.07);border:1px solid rgba(92,214,224,.2);font:400 .76rem/1.35 var(--mono);color:var(--fg-2)}
.srcs b{color:#bdeff3;font-weight:500;margin-right:4px}
.reading__ask{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;border-top:1px solid var(--line)}
.reading__ask .reading__label{flex-basis:100%;margin-bottom:2px}
.q{padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);font-size:.82rem;color:var(--fg-2)}
.reading__foot{display:flex;gap:10px;align-items:flex-start;padding-top:16px;border-top:1px solid var(--line);font-size:.84rem;color:var(--fg-3)}
.reading__foot .ico{color:var(--ok);margin-top:2px}
@media (max-width:1060px){.ai{grid-template-columns:1fr}.reading{max-width:720px}}
@media (max-width:640px){.dodont{grid-template-columns:1fr}.reading{padding:20px}}

/* ---------- 7 · Gráficas ---------- */
.charts{display:grid;gap:10px;padding:clamp(18px,3vw,34px);border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(13,22,33,.9),rgba(8,14,21,.9))}
.chart{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:end}
.chart+.chart{margin-top:22px;padding-top:26px;border-top:1px solid var(--line)}
.chart__cap{display:grid;gap:3px}
.chart__kicker{font:500 .76rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.chart__kicker--lx{color:var(--teal)}
.chart__title{font-weight:600;font-size:1.06rem;color:var(--fg)}
.chart__sub{font-size:.84rem;color:var(--fg-3)}
.chart__stat{text-align:right}
.chart__stat b{display:block;font:800 clamp(1.5rem,1.1rem + 1.4vw,2.2rem)/1.05 var(--display);letter-spacing:-.03em;color:var(--fg)}
.chart__stat span{font-size:.86rem;color:var(--fg-3)}
.chart__plot{grid-column:1/-1;position:relative;margin-top:10px;border-radius:12px;touch-action:pan-y}
.chart__plot:focus-visible{outline-offset:6px}
.chart__svg{width:100%;height:auto;overflow:visible}
.chart__svg text{font-family:var(--mono);font-size:11px;fill:var(--fg-3)}
.chart__svg .c-grid{stroke:rgba(160,196,226,.1);stroke-width:1}
.chart__svg .c-zero{stroke:rgba(160,196,226,.28);stroke-width:1}
.chart__svg .c-band-warn{fill:rgba(242,177,58,.07)}
.chart__svg .c-band-bad{fill:rgba(242,102,90,.09)}
.chart__svg .c-band-line-warn{stroke:rgba(242,177,58,.45);stroke-width:1}
.chart__svg .c-band-line-bad{stroke:rgba(242,102,90,.5);stroke-width:1}
.chart__svg .c-ghost{fill:none;stroke:rgba(184,197,209,.4);stroke-width:1.6;stroke-dasharray:3 4;stroke-linejoin:round}
.chart__svg .c-line{fill:none;stroke:var(--teal);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart__svg .c-area{fill:rgba(92,214,224,.1)}
.chart__svg .c-blind{fill:rgba(160,196,226,.045)}
.chart__svg .c-blind-edge{stroke:rgba(160,196,226,.22);stroke-width:1}
.chart__svg .c-ann{font-family:var(--sans);font-size:12.5px;fill:var(--fg-2)}
.chart__svg .c-ann-strong{font-family:var(--sans);font-size:12.5px;font-weight:600;fill:var(--fg)}
.chart__svg .c-lead{stroke:rgba(184,197,209,.4);stroke-width:1}
.chart__svg .c-mk{stroke:#0b131c;stroke-width:2}
.chart__svg .c-mk--ok{fill:var(--ok)}.chart__svg .c-mk--warn{fill:var(--warn)}.chart__svg .c-mk--bad{fill:var(--bad)}.chart__svg .c-mk--info{fill:var(--teal)}
.chart__svg .c-mk--hollow{fill:#0b131c;stroke:var(--bad);stroke-width:2}
.chart__svg .c-cross{stroke:rgba(238,243,247,.45);stroke-width:1}
.chart__svg .c-cross-dot{stroke:#0b131c;stroke-width:2}
.chart__svg .c-draw{stroke-dasharray:var(--len);stroke-dashoffset:0}
.charts.is-drawing .c-draw{animation:draw 2.2s var(--ease) both}
.chart__tip{position:absolute;z-index:2;pointer-events:none;min-width:150px;padding:9px 12px;border-radius:10px;background:rgba(5,9,14,.94);border:1px solid var(--line-2);box-shadow:0 12px 30px rgba(0,0,0,.45);font-size:.8rem;line-height:1.45;color:var(--fg-2);transform:translate(-50%,calc(-100% - 14px));white-space:nowrap}
.chart__tip b{display:block;font:500 1rem var(--mono);color:var(--fg)}
.chart__tip .muted{color:var(--fg-3)}
.chart__keys{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg-2)}
.chart__keys span{display:inline-flex;align-items:center;gap:8px}
.k{display:inline-block;width:20px;height:10px;border-radius:3px}
.k--band-warn{background:rgba(242,177,58,.25);box-shadow:inset 0 1px 0 rgba(242,177,58,.7)}
.k--band-bad{background:rgba(242,102,90,.28);box-shadow:inset 0 1px 0 rgba(242,102,90,.75)}
.k--ghost{height:0;border-top:2px dashed rgba(184,197,209,.55);border-radius:0}
.k--line{height:2px;background:var(--teal);border-radius:2px}
.chart__table{margin-top:6px;font-size:.88rem}
.chart__table summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 2px;color:var(--fg-2);border-radius:8px}
.chart__table summary:hover{color:var(--fg)}
.table-wrap{overflow-x:auto;margin-top:10px}
.chart__table table{width:100%;min-width:360px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.chart__table caption{text-align:left;color:var(--fg-3);font-size:.82rem;margin-bottom:8px}
.chart__table th,.chart__table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.chart__table td{font-family:var(--mono);font-size:.82rem}
@media (max-width:640px){
  .chart{grid-template-columns:1fr}
  .chart__stat{text-align:left}
  .chart__svg text{font-size:10px}
  .chart__svg .c-ann,.chart__svg .c-ann-strong{font-size:11px}
}
.versus{margin-top:clamp(36px,5vw,64px)}
.versus__table{width:100%;border-collapse:separate;border-spacing:0}
.versus__table thead th{padding:0 22px 16px;text-align:left;font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.versus__table thead th:last-child{color:var(--teal)}
.versus__lx{display:inline-flex;align-items:center;gap:10px}
.versus__lx svg{width:24px;height:24px}
.versus__table tbody th{width:18%;padding:20px 22px 20px 0;text-align:left;vertical-align:top;font:600 1rem/1.4 var(--sans);color:var(--fg);border-top:1px solid var(--line)}
.versus__table td{width:41%;padding:20px 22px;vertical-align:top;color:var(--fg-3);border-top:1px solid var(--line);line-height:1.55}
.versus__table td:last-child{color:var(--fg);background:linear-gradient(90deg,rgba(92,214,224,.07),rgba(92,214,224,.02));border-left:1px solid rgba(92,214,224,.22)}
.versus__table thead th:last-child{background:linear-gradient(90deg,rgba(92,214,224,.07),rgba(92,214,224,.02));border-left:1px solid rgba(92,214,224,.22);border-radius:14px 14px 0 0;padding-top:16px}
.versus__table tbody tr:last-child td:last-child{border-radius:0 0 14px 14px}
@media (max-width:760px){
  .versus__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .versus__table,.versus__table tbody,.versus__table tr,.versus__table th,.versus__table td{display:block;width:auto}
  .versus__table tr{padding:18px 0;border-top:1px solid var(--line)}
  .versus__table tbody th{width:auto;padding:0 0 10px;border:0}
  .versus__table td{padding:10px 14px;border:0;border-radius:12px}
  .versus__table td::before{content:attr(data-label);display:block;margin-bottom:4px;font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
  .versus__table td:last-child{border-left:0;border:1px solid rgba(92,214,224,.22);margin-top:8px}
  .versus__table td:last-child::before{color:var(--teal)}
  .versus__table tbody tr:last-child td:last-child{border-radius:12px}
}

/* ---------- 8 · Trazabilidad ---------- */
.trace{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,4.5vw,64px);align-items:start}
.trace__value{position:sticky;top:calc(var(--head-h) + 24px);padding:30px;border-radius:24px;background:radial-gradient(ellipse 90% 60% at 20% 0%,rgba(242,102,90,.12),transparent 70%),linear-gradient(180deg,rgba(19,31,45,.92),rgba(9,15,23,.95));border:1px solid var(--line-2);box-shadow:0 40px 100px rgba(0,0,0,.45)}
.trace__kicker{font:500 .74rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.trace__name{margin-top:18px;font-weight:600;font-size:1.1rem}
.trace__num{margin-top:6px;font:800 clamp(3.6rem,2.4rem + 3.6vw,5.6rem)/1 var(--display);letter-spacing:-.05em}
.trace__num span{margin-left:10px;font:500 1.1rem var(--mono);letter-spacing:0;color:var(--fg-3)}
.trace__state{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;font-size:.92rem;color:var(--fg-2)}
.trace__spark{margin-top:22px;height:80px}
.trace__spark svg{width:100%;height:100%;overflow:visible}
.sp-band{fill:rgba(242,102,90,.1)}
.sp-line{fill:none;stroke:var(--teal);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sp-dot{fill:var(--bad);stroke:#0f1a26;stroke-width:2;vector-effect:non-scaling-stroke}
.trace__note{margin-top:16px;font-size:.82rem;color:var(--fg-3)}
.trace__levels{position:relative;list-style:none}
.trace__levels::before{content:"";position:absolute;left:26px;top:28px;bottom:28px;width:1px;background:linear-gradient(180deg,var(--amber),rgba(92,214,224,.4) 50%,rgba(92,214,224,.08))}
.lvl{position:relative;border-radius:16px;transition:background-color .3s}
.lvl.is-open{background:rgba(255,255,255,.03)}
.lvl__btn{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 18px;padding:16px 16px 16px 8px;text-align:left;background:none;border:0;border-radius:16px;cursor:pointer;color:var(--fg)}
.lvl__n{grid-row:1/span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-3);font:500 .86rem/1 var(--mono);color:var(--amber);position:relative;z-index:1;transition:background-color .3s,border-color .3s,color .3s}
.lvl.is-open .lvl__n{background:var(--amber);border-color:var(--amber);color:#1b1206}
.lvl__t{font-weight:600;font-size:1.08rem;line-height:1.3}
.lvl__s{grid-column:2;font-size:.88rem;color:var(--fg-3)}
.lvl__chev{grid-column:3;grid-row:1/span 2;width:20px;height:20px;color:var(--fg-3);transition:transform .35s var(--ease)}
.lvl.is-open .lvl__chev{transform:rotate(45deg);color:var(--amber)}
.lvl__body{padding:0 18px 22px 64px;color:var(--fg-2);font-size:.96rem}
.lvl__body code{display:block;margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(4,8,13,.72);border:1px solid var(--line);font:400 .8rem/1.6 var(--mono);color:#bdeff3;overflow-wrap:anywhere}
@media (max-width:960px){.trace{grid-template-columns:1fr}.trace__value{position:relative;top:0}}
@media (max-width:520px){.lvl__body{padding-left:18px}.trace__value{padding:24px}}

/* ---------- 9 · Seguridad ---------- */
.section--secure{overflow:hidden;isolation:isolate}
.secure__bg{position:absolute;right:0;top:0;bottom:0;width:62%;z-index:-1;pointer-events:none}
.secure__bg img{width:100%;height:100%;object-fit:cover;object-position:30% 50%;opacity:.38;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}
.secure__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(5,9,14,0) 22%,rgba(5,9,14,0) 70%,var(--bg) 100%)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pillar{padding:30px 28px;border-radius:var(--r);background:rgba(10,17,26,.82);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pillar__ico{width:48px;height:48px;padding:11px;margin-bottom:22px;border-radius:14px;background:rgba(255,179,92,.1);border:1px solid rgba(255,179,92,.3);color:var(--amber);stroke-width:1.5}
.pillar h3{margin-bottom:12px}
.pillar p{color:var(--fg-2)}
.checks{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.checks li{display:flex;align-items:center;gap:12px;font-size:.96rem;color:var(--fg-2)}
.checks .ico{width:20px;height:20px;color:var(--teal)}
@media (max-width:1000px){.pillars{grid-template-columns:1fr;max-width:640px}.checks{grid-template-columns:1fr 1fr}.secure__bg{width:100%}.secure__bg img{opacity:.22}}
@media (max-width:600px){.checks{grid-template-columns:1fr}}

/* ---------- 10 · Hoja de ruta ---------- */
.road{position:relative;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.road::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--amber) 0%,var(--teal) 55%,rgba(92,214,224,.08) 100%)}
.road__item{position:relative;padding-top:44px}
.road__item::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--amber);box-shadow:0 0 0 5px rgba(255,179,92,.12)}
.road__item:nth-child(n+2)::before{border-color:var(--teal);box-shadow:0 0 0 5px rgba(92,214,224,.1)}
.road__when{font:500 .78rem/1.3 var(--mono);letter-spacing:.08em;color:var(--amber);margin-bottom:12px}
.road__item:nth-child(n+2) .road__when{color:var(--teal)}
.road__item h3{margin-bottom:10px}
.road__item>p:last-child{color:var(--fg-2)}
@media (max-width:1000px){
  .road{grid-template-columns:1fr 1fr;gap:40px 28px}
  .road::before{display:none}
  .road__item{padding-top:0;padding-left:34px}
  .road__item::before{top:4px}
}
@media (max-width:600px){.road{grid-template-columns:1fr}}

/* ---------- Cierre ---------- */
.closing{text-align:center;overflow:hidden;isolation:isolate;padding-bottom:clamp(100px,12vw,180px)}
.closing__glow{position:absolute;left:50%;top:38%;width:min(1100px,140vw);aspect-ratio:1.6;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(ellipse at center,rgba(255,170,80,.14) 0%,rgba(92,214,224,.06) 35%,transparent 65%)}
.closing__in{display:flex;flex-direction:column;align-items:center}
.closing__mark{position:relative;width:clamp(140px,16vw,210px);margin:12px 0 52px}
.closing__mark svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 24px 50px rgba(0,0,0,.6))}
.closing__mark::after{content:"";position:absolute;inset:-22% -22% -14%;border-radius:50%;border:1px solid rgba(160,196,226,.14);box-shadow:inset 0 0 60px rgba(92,214,224,.06)}
.closing__mark .lens__eyes{opacity:.55}
.closing h2{max-width:16ch}
.closing .lead{margin:22px auto 0;max-width:60ch}
.contact-soon{display:flex;align-items:flex-start;gap:14px;max-width:600px;margin:32px auto 0;padding:16px 20px;border-radius:16px;border:1px dashed rgba(255,179,92,.5);background:rgba(255,179,92,.06);text-align:left;color:var(--fg-2);font-size:.96rem}
.contact-soon .ico{width:22px;height:22px;color:var(--amber);margin-top:2px}

/* ---------- Pie ---------- */
.foot{border-top:1px solid var(--line);background:var(--bg-1);padding:44px 0 calc(40px + env(safe-area-inset-bottom,0px))}
.foot__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px 48px;align-items:start}
.foot__brand p{margin-top:14px;color:var(--fg-3);font-size:.92rem;max-width:36ch}
.foot__meta{display:grid;gap:10px;font-size:.9rem;color:var(--fg-2)}
.foot__legal{display:flex;flex-wrap:wrap;gap:6px 20px;color:var(--fg-3)}
.foot__fine{font-size:.82rem;color:var(--fg-3)}
@media (max-width:760px){.foot__in{grid-template-columns:1fr}}

/* ---------- Aviso emergente ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:120;max-width:min(440px,calc(100vw - 32px));padding:14px 18px;border-radius:14px;background:rgba(12,21,31,.96);border:1px solid rgba(255,179,92,.45);box-shadow:0 20px 50px rgba(0,0,0,.5);font-size:.92rem;color:var(--fg);transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast:empty{display:none}

/* ---------- Aparición al desplazar (solo si se ha armado tras el primer scroll) ---------- */
.will-reveal{opacity:0;transform:translate3d(0,34px,0)}
.will-reveal.is-in{opacity:1;transform:none;transition:opacity 1s var(--ease) var(--d,0ms),transform 1.1s var(--ease) var(--d,0ms)}

/* ---------- Animaciones ---------- */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes heroZoom{from{transform:scale(1.16)}to{transform:scale(1.06)}}
@keyframes lynxIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes eyes{0%,100%{opacity:.5}50%{opacity:.78}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(95,211,138,.55)}70%{box-shadow:0 0 0 9px rgba(95,211,138,0)}100%{box-shadow:0 0 0 0 rgba(95,211,138,0)}}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes packet{from{left:-6%}to{left:104%}}
@keyframes travel{0%{left:116px;opacity:0}12%{opacity:1}85%{opacity:1}100%{left:calc(100% + 18px);opacity:0}}
@keyframes draw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero__copy>*{animation:heroIn 1s var(--ease) both}
.hero__copy>*:nth-child(2){animation-delay:.08s}
.hero__copy>*:nth-child(3){animation-delay:.16s}
.hero__copy>*:nth-child(4){animation-delay:.24s}
.hero__copy>*:nth-child(5){animation-delay:.32s}


/* Pausa global del movimiento (botón del teletipo) */
.is-paused *,.is-paused *::before,.is-paused *::after{animation-play-state:paused!important}

/* ---------- Movimiento reducido: sin animaciones ni órbita ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .lens__sweep,.step::before,.viz-read .wire i{display:none}
  .ticker__viewport{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .ticker__pause{display:none}
  .will-reveal{opacity:1;transform:none}
  .hero__media img{transform:none}
  .lens,.chip{transform:none}
}

/* ---------- Colores forzados (alto contraste del sistema) ---------- */
@media (forced-colors:active){
  .st{forced-color-adjust:none}
  .btn,.pill,.equip__btn,.icon-btn{border:1px solid ButtonText}
  .hl{color:Highlight;background:none}
}

/* ---------- Impresión ---------- */
@media print{
  .top,.ticker,.hero__scroll,.stage,.equip,.toast,body::after{display:none!important}
  body{background:#fff;color:#000}
}
