@font-face{font-family:'Archivo';font-style:normal;font-weight:700 800;font-display:swap;src:url(fonts/Archivo-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700 800;font-display:swap;src:url(fonts/Archivo-latin.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:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-latin.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-weight:400 600;font-display:swap;src:url(fonts/Inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/Inter-latin.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}
html[data-lng="es"] [data-l="en"], html[data-lng="en"] [data-l="es"] { display: none !important; }
html[data-lng="es"] [data-set-lng="es"], html[data-lng="en"] [data-set-lng="en"] { color: var(--signal); font-weight: 600; }
:root{--night:#0A1628;--steel:#12305A;--signal:#3B9EFF;--amber:#F2A33A;--ice:#F3F5F8;--ink:#0B1B2E;--muted:#8FA3BF;--radius:14px;--f-display:'Archivo',system-ui,sans-serif;--f-body:'Inter',system-ui,sans-serif;--f-mono:'IBM Plex Mono',ui-monospace,monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--night);color:#E8EEF7;font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--signal)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.block{padding:clamp(64px,10vw,128px) 0;position:relative}
.block--night{background:var(--night)}
.block--steel{background:linear-gradient(180deg,var(--night),var(--steel))}
.block--ice{background:var(--ice);color:var(--ink)}
.block--ice .lead,.block--ice p{color:#3A4A60}
.kicker{font:500 13px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin:0 0 14px}
.block--ice .kicker{color:#1F6FD1}
.display{font:800 clamp(40px,7vw,88px)/1.02 var(--f-display);letter-spacing:-.02em;margin:0;text-transform:uppercase}
.h2{font:800 clamp(30px,4.6vw,56px)/1.05 var(--f-display);letter-spacing:-.015em;margin:0 0 18px;text-transform:uppercase}
.h3{font:700 20px/1.25 var(--f-display);margin:0 0 10px;text-transform:uppercase;letter-spacing:.01em}
.lead{font-size:clamp(18px,2vw,21px);color:#B9C7DA;max-width:62ch;margin:0 0 28px}
.grid-2,.grid-3,.grid-4{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1040px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{background:rgba(18,48,90,.45);border:1px solid rgba(59,158,255,.18);border-radius:var(--radius);padding:24px}
.block--ice .card{background:#fff;border-color:#DDE5EF}
.list-dots{list-style:none;margin:0;padding:0}
.list-dots li{padding:6px 0 6px 18px;position:relative}
.list-dots li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--signal)}
.tag-strip{font:500 clamp(12px,1.5vw,15px)/1.6 var(--f-mono);letter-spacing:.16em;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font:600 15px/1 var(--f-body);text-decoration:none;border:1px solid transparent;transition:transform .2s,background .2s}
.btn--primary{background:var(--signal);color:#04101F}
.btn--ghost{border-color:rgba(255,255,255,.35);color:#fff}
.btn:hover{transform:translateY(-2px)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,22,40,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav{display:flex;align-items:center;gap:24px;height:64px;position:relative}
.wordmark{font:800 24px/1 var(--f-display);letter-spacing:.06em;color:#fff;text-decoration:none}
.nav-menu{display:flex;gap:22px;margin-left:auto}
.nav-menu a{color:#C9D5E6;text-decoration:none;font-size:15px}
.nav-menu a:hover{color:#fff}
.lang-switch{display:flex;gap:6px;align-items:center;color:var(--muted);font:500 13px var(--f-mono)}
.lang-switch button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:6px}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;width:40px;height:40px;cursor:pointer;padding:9px}
.nav-toggle i,.nav-toggle i::before,.nav-toggle i::after{display:block;width:22px;height:2px;background:#fff;position:relative;content:""}
.nav-toggle i::before{position:absolute;top:-7px}.nav-toggle i::after{position:absolute;top:7px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:899px){.nav-toggle{display:block}.nav-menu{display:none;position:absolute;top:64px;left:-20px;right:-20px;flex-direction:column;gap:0;background:var(--night);padding:8px 20px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-menu a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.nav.open .nav-menu{display:flex}.lang-switch{margin-left:0}}
.site-footer{background:#060E1A;padding:48px 0;color:var(--muted);font-size:14px}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
.site-footer p{margin:8px 0 0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation:none!important}}
/* hero */
.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:center;overflow:hidden;padding:96px 0 64px}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,40,.72) 0%,rgba(10,22,40,.45) 45%,var(--night) 100%)}
.hero__inner{position:relative}
.hero__title{font-size:clamp(32px,6.2vw,80px)}
.hero__tagline{font:600 clamp(18px,2.2vw,24px)/1.3 var(--f-body);color:#fff;margin:22px 0 10px}
.hero__tagline::before{content:"";display:inline-block;width:28px;height:3px;background:var(--amber);vertical-align:middle;margin-right:12px}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
/* history */
.timeline{list-style:none;margin:40px 0 24px;padding:0;display:grid;gap:18px}
@media(min-width:900px){.timeline{grid-template-columns:repeat(4,1fr);position:relative}.timeline::before{content:"";position:absolute;top:22px;left:4%;right:4%;height:2px;background:linear-gradient(90deg,#9FB3CC,var(--signal))}}
.tl-step{position:relative;background:#fff;border:1px solid #DDE5EF;border-radius:var(--radius);padding:52px 20px 20px}
.tl-step::before{content:"";position:absolute;top:14px;left:20px;width:16px;height:16px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 6px rgba(59,158,255,.18)}
.tl-step p{margin:0}
.tl-step--future{background:var(--night);color:#fff;border-color:var(--night)}
.block--ice .tl-step--future p{color:#B9C7DA}
.tl-step--future::before{background:var(--amber);box-shadow:0 0 0 6px rgba(242,163,58,.25)}
.tl-label{font:500 12px var(--f-mono);letter-spacing:.14em;color:#1F6FD1;text-transform:uppercase}
.tl-step--future .tl-label{color:var(--amber)}
.tl-note{font-size:15px;color:#51637A;max-width:80ch}
/* presence */
.presence{align-items:center}.country-card{margin-bottom:14px}.country-items{margin:0;color:#B9C7DA;font-size:15px}
.map .ctx path{fill:#0F223D;stroke:#1C3558;stroke-width:1}
.map .land{fill:#12305A;stroke:#3B9EFF;stroke-width:1.2;stroke-opacity:.6}
.map .pin circle{fill:var(--signal)}
.map .pin .halo{fill:none;stroke:var(--signal);stroke-width:1.5;animation:ping 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
.map text{fill:#DCE6F3;font:500 13px var(--f-mono)}
.map .country{fill:#5F7DA3;font:700 15px var(--f-display);letter-spacing:.3em}
.map .link{stroke:var(--amber);stroke-width:1.6;fill:none;stroke-dasharray:6 6;animation:dash 1.6s linear infinite}
.map .hq rect{fill:var(--night);stroke:var(--amber);stroke-width:1.2}
.map .hq text{fill:#fff;font:600 13px var(--f-mono)}.map .hq .sub{fill:var(--amber);font-size:11px}
@keyframes ping{from{transform:scale(1);opacity:.9}to{transform:scale(3);opacity:0}}
@keyframes dash{to{stroke-dashoffset:-24}}
.presence__closing{margin-top:32px;text-align:center}
/* chain */
.chain-list{list-style:none;margin:28px 0 0;padding:0 0 0 28px;position:relative}
.chain-list::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--signal),rgba(59,158,255,.15))}
.chain-list::after{content:"";position:absolute;left:4px;top:0;width:10px;height:10px;border-radius:50%;background:var(--amber);animation:flow 5s linear infinite}
@keyframes flow{to{top:calc(100% - 10px)}}
.chain-level{display:flex;gap:14px;align-items:center;padding:12px 16px;margin:6px 0;border-radius:10px;border:1px solid rgba(59,158,255,.15);font:600 16px var(--f-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .2s,border-color .2s,opacity .7s ease,transform .7s ease}
.chain-level.is-active,.chain-level:hover{background:rgba(59,158,255,.14);border-color:var(--signal)}
.chain-level:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.chain-n{font:500 12px var(--f-mono);color:var(--muted)}
.chain-side{align-self:center}.chain-integrates{font-size:clamp(26px,3.4vw,40px)}
/* areas + capabilities */
.area-grid{position:relative;margin-top:32px}
@media(min-width:1040px){.area-grid::before{content:"";position:absolute;left:6%;right:6%;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--signal) 0 8px,transparent 8px 16px);z-index:0}.area-card{position:relative;z-index:1}}
.block--ice .area-card .kicker{color:#1F6FD1}
.areas-note{margin-top:24px}
.caps-title{margin-top:64px}
.caps{margin-top:20px}
.cap{display:flex;flex-direction:column;gap:6px;padding:20px;border-left:3px solid var(--signal);background:#fff;border-radius:0 var(--radius) var(--radius) 0}
.cap strong{font:800 22px var(--f-display);text-transform:uppercase;color:var(--ink)}
.cap span{color:#51637A;font-size:15px}
.caps-line{margin-top:28px;text-align:center;color:#51637A}
/* model */
.model-grid{display:grid;gap:16px;margin:32px 0}
@media(min-width:900px){.model-grid{grid-template-columns:minmax(0,1fr) 64px minmax(0,1.3fr);align-items:center}}
.model-has{opacity:.85}.model-add{border-color:var(--signal);box-shadow:0 0 0 1px var(--signal) inset}
.model-plus{font:800 48px var(--f-display);color:var(--amber);text-align:center}
.model-closing{font-size:clamp(24px,3.2vw,40px);margin-top:12px}
.model-add .list-dots{columns:2;column-gap:24px}
@media(max-width:520px){.model-add .list-dots{columns:1}}
/* field + command center */
.ops-field{align-items:center}
.ops-photo img,.cover{width:100%;height:100%;min-height:320px;max-height:520px;object-fit:cover;border-radius:var(--radius)}
.two-col{columns:2;column-gap:24px}@media(max-width:520px){.two-col{columns:1}}
.ops-closing{margin-top:20px;color:var(--ink)}
.cc{overflow:hidden}.cc__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.cc__shade{position:absolute;inset:0;background:rgba(10,22,40,.88)}.cc__inner{position:relative}
.cc-item p:last-child{margin:0;color:#B9C7DA;font-size:15px}
.cc-equation{font:700 clamp(20px,2.6vw,30px)/1.3 var(--f-display);text-transform:uppercase;margin:36px 0 10px}
.cc-equation b{color:var(--amber);padding:0 8px}
/* infrastructure + ecosystem */
.pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.pill{border:1px solid rgba(59,158,255,.35);border-radius:999px;padding:8px 14px;font-size:14px}
.block--ice .pill{border-color:#BFD3EA;background:#fff}
.formula-card{align-self:center;text-align:center;padding:40px 24px}
.formula{font:800 clamp(28px,3.6vw,44px)/1.1 var(--f-display);text-transform:uppercase;margin:0 0 12px}
.formula b{color:var(--amber)}
.formula-card p:last-child{margin:16px 0 0;color:#B9C7DA}
.eco{margin-top:80px}
.eco-grid{display:grid;gap:12px;margin-top:24px}
@media(min-width:900px){.eco-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}}
.eco-grid .card p{margin:0;color:#B9C7DA}
.eco-plus{align-self:center;text-align:center;font:800 32px var(--f-display);color:var(--signal)}
.eco-closing{text-align:center;margin-top:28px}
.logo-strip{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;margin-top:40px;opacity:.8}
/* field to cloud */
.f2c__top{align-items:center}
.layers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.layer{width:var(--w);background:rgba(10,22,40,.6);border:1px solid rgba(59,158,255,.3);border-radius:10px;padding:12px 16px;position:relative;display:flex;flex-direction:column}
.layer strong{font:700 15px var(--f-display);text-transform:uppercase;letter-spacing:.05em}
.layer span{font-size:14px;color:#B9C7DA}
.layer:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-15px;width:2px;height:14px;background:var(--signal)}
.layer:last-child{border-color:var(--amber)}
@media(max-width:700px){.layer{width:100%}}
.edge{margin-top:80px}.edge__img{width:100%;height:280px;object-fit:cover;border-radius:var(--radius);margin-bottom:32px}
.story{font:500 14px/2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin:24px 0}
.story i{color:var(--signal);font-style:normal;padding:0 10px}
@media(max-width:700px){.story i{display:block;padding:0;transform:rotate(90deg);width:1em}}
.rockylink{margin-top:64px;border-color:var(--signal)}.rl-deploy-title{margin-top:24px}
.pill--loc::before{content:"◉ ";color:var(--amber)}
/* intelligence */
.intel-steps{list-style:none;padding:0;margin:40px 0;display:flex;gap:12px;justify-content:space-between;position:relative}
.intel-steps::before{content:"";position:absolute;top:50%;left:5%;right:5%;height:2px;background:linear-gradient(90deg,rgba(59,158,255,.3),var(--signal))}
.intel-step{position:relative;flex:1;display:flex;justify-content:center}
.intel-step span{display:grid;place-items:center;width:clamp(96px,14vw,140px);aspect-ratio:1;border-radius:50%;background:rgba(59,158,255,var(--o));color:#04101F;font:800 clamp(12px,1.5vw,16px) var(--f-display);text-transform:uppercase;text-align:center;padding:8px}
.intel-step:last-child span{box-shadow:0 0 0 8px rgba(242,163,58,.35)}
@media(max-width:700px){.intel-steps{flex-direction:column;align-items:center}.intel-steps::before{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto}}
.intel-closing{margin-top:40px;font-size:clamp(24px,3vw,38px)}
/* big picture + industries */
.center{text-align:center}
.big{list-style:none;padding:0;margin:40px auto;max-width:760px;display:flex;flex-direction:column;align-items:stretch;gap:22px}
.big-layer{text-align:center;padding:16px;border:1px solid rgba(59,158,255,.35);border-radius:12px;font:700 clamp(14px,1.8vw,18px) var(--f-display);text-transform:uppercase;letter-spacing:.05em;position:relative;background:rgba(10,22,40,.55)}
.big-layer:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-23px;width:2px;height:22px;background:linear-gradient(var(--signal),transparent)}
.big-layer--asenti{background:var(--signal);color:#04101F;border-color:var(--signal)}
.big-layer:last-child{border-color:var(--amber)}
.big-closing{font-size:clamp(26px,4.4vw,54px);text-align:center;margin-top:32px}
.industry--main{display:grid;gap:24px;margin:28px 0;background:var(--night);color:#fff;border-radius:var(--radius);overflow:hidden}
@media(min-width:900px){.industry--main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}}
.industry--main > div{padding:28px}.block--ice .industry--main .lead{color:#B9C7DA}
.industry--main .cover{border-radius:0}
.industries{margin-top:16px}.industries-closing{margin-top:48px}
.map{overflow:hidden}
.industry--main .h2{font-size:clamp(28px,4vw,48px);overflow-wrap:anywhere}
/* closing + contact */
.closing-title{font-size:clamp(32px,6vw,72px)}
.closing-creds{margin:28px 0}.closing-line{font-size:clamp(22px,3vw,36px);margin-top:24px}
.contact{align-items:start}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form{display:grid;gap:14px}
.field{display:grid;gap:6px}.field__label{font:500 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#51637A}
.field input,.field textarea{font:inherit;padding:12px 14px;border:1px solid #C9D5E3;border-radius:10px;background:#fff;color:var(--ink);width:100%}
.field input:focus,.field textarea:focus{outline:2px solid var(--signal);outline-offset:1px}
.contact-form .btn{justify-self:start;border:0;cursor:pointer}
.contact-form .btn:disabled{opacity:.6;cursor:wait}
.msg{margin:0;padding:12px;border-radius:10px;background:#FFF3E0;color:#6B3E00}.msg--ok{background:#E6F4EA;color:#0B5A26}
.contact-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;margin:24px 0}.contact-dl dt{font:500 12px var(--f-mono);text-transform:uppercase;color:#51637A;padding-top:3px}.contact-dl dd{margin:0}
.contact-final{font-size:clamp(28px,4vw,48px);margin-top:32px;color:var(--ink)}
.industry--main{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.industry--main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.contact-dl dd{overflow-wrap:anywhere}
@media(max-width:560px){.contact-dl{grid-template-columns:minmax(0,1fr);gap:2px}.contact-dl dd{margin-bottom:12px}}
.page-404{min-height:60vh}
.block--ice a{color:#1A5FB4}
.ops-photo:empty{display:none}
/* sin JS: menú de anclas siempre visible en móvil */
@media(max-width:899px){
  .no-js .nav{flex-wrap:wrap;height:auto;padding:12px 0;row-gap:8px}
  .no-js .nav-toggle{display:none}
  .no-js .lang-switch{margin-left:auto}
  .no-js .nav-menu{display:flex;position:static;order:3;width:100%;flex-direction:row;flex-wrap:wrap;gap:4px 16px;padding:0;background:none;border:0}
  .no-js .nav-menu a{padding:4px 0;border:0;font-size:14px}
}
/* marca ASENTI Technologies */
:root{--amber:#E0283F;--brand-navy:#0B1F4B;--brand-red:#A0102A}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand__mark{height:34px;width:auto}.brand__word{height:15px;width:auto}
.video-grid{align-items:center}
.video-frame{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(59,158,255,.25);box-shadow:0 30px 80px rgba(0,0,0,.45);background:#000}
.video-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.video-note{font:500 13px var(--f-mono);letter-spacing:.08em;color:var(--muted)}
.footer-logo{width:220px;height:auto}
@media(max-width:560px){.brand__word{height:13px}}
