:root{
  --bg:#FFFFFF; --bg-soft:#F7F7F7; --surface:#FFFFFF; --surface-2:#F6F6F6;
  --ink:#0A0A0A; --ink-2:#2A2A2A; --ink-3:#6A6A6A; --ink-4:#9A9A98;
  --line:#E5E5E5; --line-2:#D4D4D4;
  --abyss:#00214D; --abyss-2:#00142E; --deep:#4A3218;
  --panel-dark:#0A3157; --panel-dark-2:#071F3D; --dark-soft:#0A3A6B;
  --immersion:#D8AE5E; --immersion-deep:#B88D42; --mist:#A79B86;
  --white:#FFFFFF; --red:#C0281B; --green:#2B8F52; --orange:#C97A1E;
  --card:var(--surface); --card-2:var(--surface-2);
  --radius:18px; --radius-lg:28px; --radius-sm:10px;
  --sans:'Montserrat',-apple-system,'Segoe UI',sans-serif;
  --nav-font:'Montserrat',-apple-system,'Segoe UI',sans-serif;
  --mono:'Montserrat',-apple-system,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.5;min-height:100svh;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}
::selection{background:rgba(216,174,94,.35)}
a{color:inherit}
img,video,canvas,iframe{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--immersion-deep);outline-offset:3px}

/* ---------- nav logo ---------- */
.logo{min-height:44px;display:flex;align-items:center;text-decoration:none;flex-shrink:0;transition:opacity .25s}
.logo:hover{opacity:.75}
.logo img{display:block;height:34px;width:auto;object-fit:contain}

/* ---------- navigation ---------- */
nav.navrail{position:sticky;top:max(16px,env(safe-area-inset-top));margin:16px;z-index:50;padding:.55rem .7rem .55rem 1.35rem;display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,auto) minmax(max-content,1fr);align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);background:rgba(255,255,255,.96);border:1px solid rgba(10,10,10,.1);border-radius:999px;transition:background .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);box-shadow:0 6px 24px rgba(0,0,0,.06)}
nav.navrail.scrolled{background:rgba(255,255,255,.88);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);box-shadow:0 12px 36px rgba(0,0,0,.1);transform:translateY(-4px)}
.navrail-scroll{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}
.navrail-scroll::-webkit-scrollbar{display:none}
.navrail-track{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2vw,2rem);width:max-content;min-width:100%;padding:0 4px}
.navrail-link{min-height:44px;display:flex;align-items:center;font-family:var(--nav-font);font-size:.76rem;font-weight:550;letter-spacing:.015em;color:var(--ink-3);text-decoration:none;position:relative;white-space:nowrap;padding:8px 0;transition:color .25s cubic-bezier(.16,1,.3,1)}
.navrail-link i{display:none}
.navrail-link::after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:2px;border-radius:1px;background:var(--immersion-deep);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.navrail-link:hover{color:var(--ink)}
.navrail-link:hover::after{transform:scaleX(1)}
.navrail-link.active{font-weight:600;color:var(--ink)}
.navrail-link.active::after{transform:scaleX(1)}
.navrail-cta{min-height:44px;justify-self:end;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--nav-font);font-size:.76rem;font-weight:600;letter-spacing:.01em;color:#fff;background:var(--abyss);border:1px solid transparent;border-radius:999px;padding:.65rem 1rem;text-decoration:none;white-space:nowrap;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),background .3s}
.navrail-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,33,77,.3);background:var(--dark-soft)}
.navrail-cta:active{transform:translateY(0) scale(.97)}
.navrail-cta svg{width:12px;height:12px;flex:none;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.navrail-cta:hover svg{transform:translateX(2px)}
.navrail-cta.current{color:var(--immersion-deep);background:rgba(216,174,94,.1);border:1px solid rgba(216,174,94,.5);box-shadow:none;cursor:default}
.navrail-cta.current:hover{transform:none;box-shadow:none;background:rgba(216,174,94,.1)}
.navrail-actions{justify-self:end;display:flex;align-items:center;gap:.45rem}
.navrail-calc-cta{min-height:44px;display:inline-flex;align-items:center;padding:.65rem .9rem;border:1px solid rgba(184,141,66,.5);border-radius:999px;background:var(--immersion);color:var(--abyss);font-family:var(--nav-font);font-size:.72rem;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .25s,box-shadow .25s,transform .25s}
.navrail-calc-cta:hover{background:var(--immersion-deep);color:#fff;box-shadow:0 8px 22px rgba(184,141,66,.25);transform:translateY(-1px)}
.calc-label-short{display:none}
.navrail-menu-toggle,.navrail-mobile-utility{display:none}
.navrail-menu-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--abyss);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.navrail-menu-toggle span{display:block;width:17px;height:1.5px;border-radius:999px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
.navrail-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(5.5px) rotate(45deg)}
.navrail-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navrail-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5.5px) rotate(-45deg)}
.section{scroll-margin-top:104px}
@media(max-width:1120px){
  nav.navrail,nav.navrail.scrolled{top:max(8px,env(safe-area-inset-top));margin:clamp(8px,2vw,16px);padding:.55rem .65rem .55rem 1rem;grid-template-columns:minmax(0,1fr) auto;gap:.5rem .8rem;border-radius:22px;transform:none}
  .logo{padding-left:.35rem}
  .logo img{height:30px}
  .navrail-menu-toggle{display:flex;grid-column:2;grid-row:1}
  .navrail-actions,nav.navrail>.navrail-cta{display:none}
  .navrail-scroll{display:none;grid-column:1 / -1;width:100%;max-height:calc(100svh - 6.5rem);overflow-x:visible;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);padding-top:.35rem}
  nav.navrail.menu-open .navrail-scroll{display:block}
  .navrail-track{width:100%;min-width:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:.25rem 0 .35rem}
  .navrail-link{width:100%;min-height:44px;font-size:.86rem;white-space:normal;padding:.7rem .55rem}
  .navrail-link::after{bottom:4px;left:.55rem;width:calc(100% - 1.1rem);transform-origin:left}
  .navrail-mobile-utility{display:flex;flex:0 0 44px;color:var(--abyss);font-weight:650}
  .section{scroll-margin-top:88px}
}
@media(max-width:480px){
  nav.navrail,nav.navrail.scrolled{margin:8px}
}

.wrap{width:100%;padding:28px 0 60px}
@media(max-width:900px){.wrap{padding-top:16px;padding-bottom:40px}}

.wrap>.hero{margin-left:1.5rem;margin-right:1.5rem}
.wrap>.section{width:100%;max-width:1592px;margin:0 auto;padding:clamp(4.75rem,7vw,7rem) clamp(1.5rem,5vw,6rem)}
.wrap>.hero+.section{padding-top:clamp(5.5rem,8vw,8rem)}
.wrap>.section+.section{border-top:1px solid var(--line)}
.wrap>#why-ai{padding-bottom:clamp(1.5rem,2.2vw,2.25rem)}
.wrap>#why-ai+#inference{padding-top:clamp(1.5rem,2.2vw,2.25rem);border-top:0}
.eyebrow{font-family:var(--mono);font-size:.67rem;font-weight:700;letter-spacing:.14em;color:var(--immersion-deep);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:1rem}
.eyebrow::before{content:"";width:20px;height:1px;background:var(--immersion-deep);flex:none}
h2.h{font-size:clamp(2.15rem,4.4vw,4rem);font-weight:500;letter-spacing:-.04em;color:var(--ink);line-height:1.02;margin-bottom:1.35rem;max-width:980px;text-wrap:balance}
h2.h span{color:var(--immersion-deep)}
.lede{font-size:clamp(1rem,1.4vw,1.1rem);color:var(--ink-3);line-height:1.65;max-width:800px}
@media(max-width:700px){
  .wrap>.section{padding-block:4rem}
  .wrap>.hero+.section{padding-top:4.5rem}
  h2.h{font-size:clamp(2rem,10vw,2.75rem);line-height:1.06;margin-bottom:1.15rem}
}
@media(max-width:768px){.wrap>.hero{margin-left:1rem;margin-right:1rem}}
@media(max-width:480px){
  .wrap>.hero{margin-left:.75rem;margin-right:.75rem}
  .wrap>.section{padding-left:1rem;padding-right:1rem}
}

/* ---------- buttons (reference-exact) ---------- */
.btn{padding:1rem 1.7rem;border-radius:999px;font-size:.92rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background .3s,color .3s;display:inline-flex;align-items:center;gap:.55rem;border:1px solid transparent;font-family:var(--sans);letter-spacing:-.005em}
.btn svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--immersion);color:var(--abyss)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(216,174,94,.35);background:var(--immersion-deep);color:#fff}
.btn-ghost-dark{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px)}
.btn-ghost-dark:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
.btn:active{transform:scale(.97)}

/* ---------- hero (reference hero-card, bottom-anchored) ---------- */
.hero{min-height:max(38rem,calc(100svh - 9rem));padding:clamp(3rem,5vw,5rem) clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(165deg,var(--abyss) 0%,var(--abyss-2) 100%);border-radius:var(--radius-lg);position:relative;overflow:hidden;isolation:isolate;color:#fff}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,20,46,.9) 0%,rgba(0,33,77,.72) 52%,rgba(0,33,77,.42) 100%),linear-gradient(0deg,rgba(0,20,46,.64),rgba(0,20,46,.08) 65%)}
.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero h1,.hero-bottom{position:relative;z-index:2}
.hero h1{font-weight:400;font-size:clamp(2.6rem,5.8vw,5.5rem);line-height:.98;letter-spacing:-.05em;max-width:1200px;margin-bottom:2.4rem;text-wrap:balance}
.hero h1 span{display:block;color:var(--immersion)}
.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}
.hero p.sub{font-size:1rem;color:rgba(255,255,255,.7);max-width:480px;line-height:1.6;font-weight:400}
.hero-cta-row{display:flex;gap:.7rem;flex-wrap:wrap}
@media(max-width:900px){.hero{padding:3rem 2rem;min-height:max(34rem,calc(100svh - 6.5rem))}.hero-bottom{gap:1.5rem}}
@media(max-width:480px){
  .hero{min-height:max(34rem,calc(100svh - 5.5rem));padding:2.5rem 1.25rem;border-radius:20px}
  .hero h1{font-size:clamp(2.25rem,12vw,3.1rem);margin-bottom:1.8rem}
  .hero-cta-row{width:100%;flex-direction:column}
  .hero-cta-row .btn{width:100%;min-height:48px;justify-content:center;text-align:center}
}
@media(max-height:560px) and (orientation:landscape){.hero{min-height:29rem;padding-block:2.25rem}}

/* ---------- animated integrated system schematic ---------- */
.system-stage{margin:2.25rem 0 1.5rem;background:radial-gradient(900px 360px at 50% 42%,rgba(10,58,107,.82),transparent 72%),linear-gradient(165deg,var(--abyss) 0%,var(--abyss-2) 100%);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;color:#fff;box-shadow:0 28px 70px -46px rgba(0,33,77,.8)}
.system-viewport{overflow:hidden}
.system-schematic{display:block;width:100%;height:auto;transform-origin:center}
.system-schematic text{font-family:var(--sans)}
.system-container-side{filter:drop-shadow(10px 14px 18px rgba(0,0,0,.25))}
.system-label{fill:#fff;font-size:13px;font-weight:700;letter-spacing:.08em}
.system-copy{fill:rgba(255,255,255,.7);font-size:12px}
.system-micro{fill:rgba(255,255,255,.38);font-size:8px;font-weight:600;letter-spacing:.09em}
.system-kicker{fill:#D8AE5E;font-size:10px;font-weight:700;letter-spacing:.12em}
.system-rail{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.system-rail-power{stroke:rgba(216,174,94,.18)}
.system-rail-cooling{stroke:rgba(98,213,244,.18)}
.system-rail-hot{stroke:rgba(239,139,92,.2)}
.system-rail-data{stroke:rgba(255,255,255,.13)}
.system-flow{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:64 900;animation:system-flow 8s linear infinite;animation-play-state:paused;filter:drop-shadow(0 0 4px currentColor)}
.system-flow-power{stroke:#D8AE5E;stroke-dasharray:20 72;animation-name:system-flow-short;animation-duration:5.2s}
.system-flow-cooling{stroke:#62D5F4;animation-duration:9s}
.system-flow-hot{stroke:#EF8B5C;animation-duration:9s}
.system-flow-data{stroke:rgba(255,255,255,.82);animation-duration:7s}
.system-flow-data-return{stroke:#58CF88;animation-direction:reverse;animation-duration:3.1s}
.system-flow{opacity:.24;transition:opacity .6s ease}
.system-flow-branch{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16 140;opacity:.25;animation:system-flow-branch 7.5s linear infinite;animation-play-state:paused;transition:opacity .6s ease}
.system-flow-branch-cold{stroke:#62D5F4}
.system-flow-branch-hot{stroke:#EF8B5C}
.system-flow-branch-power{stroke:#D8AE5E;stroke-dasharray:10 72;animation-duration:5.2s}
.system-internal-rail{fill:none;stroke-width:1.5}
.system-internal-power{stroke:rgba(216,174,94,.2)}
.system-liquid{animation:system-liquid 6s ease-in-out infinite;animation-play-state:paused}
.system-liquid-surface{animation:system-liquid-wave 5.2s ease-in-out infinite;animation-play-state:paused}
.system-servers{transform:translateY(30px)}
.system-server{animation:system-server 4.8s ease-in-out infinite;animation-play-state:paused}
.system-server-2{animation-delay:.8s}
.system-server-3{animation-delay:1.6s}
.system-network-ports circle{fill:#58CF88;animation:system-network-port 2.4s ease-in-out infinite;animation-play-state:paused}
.system-network-ports circle:nth-child(2n){animation-delay:.45s}
.system-network-ports circle:nth-child(3n){animation-delay:.9s}
.system-cdu-lines{transform-box:fill-box;transform-origin:center;animation-play-state:paused}
.system-cdu-lines-horizontal{animation:system-cdu-vibrate-x .72s steps(2,end) infinite}
.system-cdu-lines-vertical{animation:system-cdu-vibrate-y .84s steps(2,end) infinite}
.system-chiller-rotor{transform-box:fill-box;transform-origin:center;animation:system-chiller-rotate 9s linear infinite;animation-play-state:paused}
.system-port-hot{fill:#EF8B5C;filter:drop-shadow(0 0 4px rgba(239,139,92,.7))}
.system-port-cold{fill:#62D5F4;filter:drop-shadow(0 0 4px rgba(98,213,244,.7))}
.system-port-power{fill:#D8AE5E;filter:drop-shadow(0 0 4px rgba(216,174,94,.7))}
.system-hot-label,.system-cold-label{font-family:var(--mono);font-size:7px;font-weight:700;letter-spacing:.1em}
.system-hot-label{fill:#EF8B5C}
.system-cold-label{fill:#62D5F4}
.system-led{animation:system-led 2.4s ease-in-out infinite;animation-play-state:paused}
.system-led-2{animation-delay:.45s}
.system-led-3{animation-delay:.9s}
.system-status-light{animation:system-status 2.6s ease-in-out infinite;animation-play-state:paused}
.system-heat{opacity:0;animation:system-heat 3s ease-out infinite;animation-play-state:paused}
.system-heat-2{animation-delay:1s}
.system-heat-3{animation-delay:2s}
.system-telemetry-line{stroke-dasharray:38;stroke-dashoffset:38;animation:system-telemetry 3s ease-in-out infinite;animation-play-state:paused}
.system-telemetry-node{animation:system-telemetry-node 3s ease-in-out infinite;animation-play-state:paused}
.system-telemetry-node-2{animation-delay:.25s}
.system-telemetry-node-3{animation-delay:.5s}
.system-telemetry-node-4{animation-delay:.75s}
.system-source,.system-output,.system-enclosure{opacity:.68;transition:opacity .8s ease}
.system-ups,.system-network,.system-cdu,.system-pod{transition:opacity .6s ease,filter .6s ease}
.system-stage.is-active .system-source,.system-stage.is-active .system-output{opacity:.74}
.system-stage.is-active .system-enclosure{opacity:1}
.system-stage.is-active .system-flow,.system-stage.is-active .system-flow-branch,.system-stage.is-active .system-liquid,.system-stage.is-active .system-liquid-surface,.system-stage.is-active .system-server,.system-stage.is-active .system-network-ports circle,.system-stage.is-active .system-cdu-lines,.system-stage.is-active .system-chiller-rotor,.system-stage.is-active .system-led,.system-stage.is-active .system-status-light,.system-stage.is-active .system-heat,.system-stage.is-active .system-telemetry-line,.system-stage.is-active .system-telemetry-node{animation-play-state:running}
.system-stage[data-system-phase="power"] .system-source-power,.system-stage[data-system-phase="power"] .system-ups,.system-stage[data-system-phase="thermal"] .system-source-cooling,.system-stage[data-system-phase="thermal"] .system-cdu,.system-stage[data-system-phase="compute"] .system-pod,.system-stage[data-system-phase="control"] .system-network,.system-stage[data-system-phase="control"] .system-output{opacity:1;filter:drop-shadow(0 12px 20px rgba(0,0,0,.16))}
.system-stage[data-system-phase="power"] .system-flow-power,.system-stage[data-system-phase="power"] .system-flow-branch-power,.system-stage[data-system-phase="thermal"] .system-flow-cooling,.system-stage[data-system-phase="thermal"] .system-flow-hot,.system-stage[data-system-phase="thermal"] .system-flow-branch-cold,.system-stage[data-system-phase="thermal"] .system-flow-branch-hot,.system-stage[data-system-phase="control"] .system-flow-data{opacity:1}
@keyframes system-flow{to{stroke-dashoffset:-964}}
@keyframes system-flow-short{to{stroke-dashoffset:-92}}
@keyframes system-flow-branch{to{stroke-dashoffset:-156}}
@keyframes system-liquid{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes system-liquid-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes system-chiller-rotate{to{transform:rotate(360deg)}}
@keyframes system-server{0%,100%{opacity:.58;filter:none}35%,52%{opacity:1;filter:drop-shadow(0 0 5px rgba(216,174,94,.55))}}
@keyframes system-network-port{0%,58%,100%{opacity:.25}18%,38%{opacity:1;filter:drop-shadow(0 0 4px #58CF88)}}
@keyframes system-cdu-vibrate-x{0%,100%{transform:translateX(-.6px)}50%{transform:translateX(.6px)}}
@keyframes system-cdu-vibrate-y{0%,100%{transform:translateY(-.55px)}50%{transform:translateY(.55px)}}
@keyframes system-led{0%,55%,100%{opacity:.28}15%,35%{opacity:1;filter:drop-shadow(0 0 5px #D8AE5E)}}
@keyframes system-status{0%,100%{opacity:.48}50%{opacity:1;filter:drop-shadow(0 0 7px #58CF88)}}
@keyframes system-heat{0%{opacity:0;transform:translateY(7px)}25%{opacity:.65}100%{opacity:0;transform:translateY(-18px)}}
@keyframes system-telemetry{0%,18%{stroke-dashoffset:38;opacity:.35}48%,82%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-38;opacity:.35}}
@keyframes system-telemetry-node{0%,24%,100%{opacity:.25}42%,72%{opacity:1;filter:drop-shadow(0 0 5px #58CF88)}}
@media(max-width:760px){
  .system-stage{margin-top:1.75rem}
  .system-viewport{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-color:rgba(216,174,94,.65) transparent}
  .system-schematic{width:720px;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .system-flow,.system-flow-branch,.system-liquid,.system-liquid-surface,.system-server,.system-network-ports circle,.system-cdu-lines,.system-chiller-rotor,.system-led,.system-status-light,.system-heat,.system-telemetry-line,.system-telemetry-node,.cycle-wheel{animation:none!important}
  .hero-video{display:none}
  .system-source,.system-output,.system-enclosure{opacity:1;transition:none}
  .faq-answer{transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- map (reference showcase, dark panel) ---------- */
.map-wrap{background:var(--abyss);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;min-height:460px;margin-top:1.5rem}
@media(max-width:960px){.map-wrap{grid-template-columns:1fr;min-height:0}}
.map-card{position:relative;overflow:hidden;background:linear-gradient(165deg,var(--abyss) 0%,var(--abyss-2) 100%);padding:2rem}
.world-map-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%;pointer-events:none}
.map-location-layer{position:absolute;inset:0;transform:translateY(-2%)}
.map-location{position:absolute;left:var(--map-x);top:var(--map-y);z-index:2;width:44px;height:44px;transform:translate(-50%,-50%);outline:none}
.map-location i{position:absolute;left:50%;top:50%;width:11px;height:11px;border:1.5px solid rgba(255,255,255,.9);border-radius:50% 50% 50% 0;background:var(--pin-color);box-shadow:0 3px 9px rgba(0,0,0,.34);transform:translate(-50%,-50%) rotate(-45deg)}
.map-location i::after{content:"";position:absolute;left:50%;top:50%;width:2.5px;height:2.5px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.map-location b{position:absolute;left:50%;bottom:calc(50% + 16px);padding:.35rem .5rem;border-radius:6px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(0,0,0,.22);color:var(--abyss);font-family:var(--sans);font-size:.55rem;font-weight:650;letter-spacing:.02em;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .2s ease,transform .2s ease}
.map-location:hover,.map-location:focus-visible{z-index:6}
.map-location:hover b,.map-location:focus-visible b{opacity:1;transform:translate(-50%,0)}
.map-location:focus-visible i{outline:2px solid #fff;outline-offset:3px}
.map-location-main{--pin-color:#D8AE5E;z-index:5}
.map-location-main i{width:15px;height:15px;border-width:2px}
.map-location-main i::after{width:4px;height:4px}
.map-location-secondary{--pin-color:#C0281B}
.map-location-tertiary{--pin-color:#FFFFFF}
.map-location-tertiary i{width:9px;height:9px}
.map-location-tertiary i::after{background:var(--abyss)}
/* bloop-blink indicator, used on the European pipeline map */
.bloop{transform-box:fill-box;transform-origin:center;animation:bloop 1.8s ease-in-out infinite}
.bloop2{transform-box:fill-box;transform-origin:center;animation:bloop 1.8s ease-in-out infinite;animation-delay:.45s}
.bloop3{transform-box:fill-box;transform-origin:center;animation:bloop 1.8s ease-in-out infinite;animation-delay:.9s}
@keyframes bloop{0%,100%{transform:scale(1);opacity:.30}50%{transform:scale(2.1);opacity:0}}

/* ---------- security grid (reference feat-card, 4-up) ---------- */
.sec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
@media(max-width:900px){.sec-grid{grid-template-columns:1fr 1fr}}
.sec-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.4rem 1.8rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .3s}
.sec-item:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(0,0,0,.14)}
.sec-item .ic{width:38px;height:38px;border-radius:10px;background:var(--bg-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.sec-item .ic svg{width:18px;height:18px;display:block}
.sec-item h4{font-size:1rem;color:var(--ink);font-weight:600;letter-spacing:-.01em;margin-top:.3rem}
.sec-item p{font-size:.85rem;color:var(--ink-3);line-height:1.5}

/* ---------- investor cards (reference pkg-card, 3-up) ---------- */
.inv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem}
@media(max-width:960px){.inv-grid{grid-template-columns:1fr}}
.inv-card{border-radius:var(--radius-lg);padding:2.2rem;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .3s;background:var(--surface);border:1px solid var(--line)}
.inv-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(0,0,0,.14);border-color:var(--line-2)}
.inv-card.dark{background:linear-gradient(165deg,var(--abyss) 0%,var(--abyss-2) 100%);color:#fff;border-color:var(--abyss)}
.inv-card.dark:hover{box-shadow:0 24px 48px -20px rgba(0,20,46,.5)}
.inv-card .rec{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(150,112,46,.35);background:rgba(216,174,94,.08);color:var(--immersion-deep);display:inline-block;margin-bottom:.8rem;align-self:flex-start}
.inv-card.dark .rec{color:var(--immersion);border-color:rgba(216,174,94,.3);background:rgba(216,174,94,.08)}
.inv-card h3{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:1rem;color:var(--ink);min-height:3.45rem}
.inv-card.dark h3{color:#fff}
.inv-card .tick{font-family:var(--mono);font-size:.72rem;color:var(--ink-4);letter-spacing:.02em;margin-bottom:1rem;min-height:1.2rem}
.inv-card.dark .tick{color:var(--immersion)}
.inv-card p{font-size:.88rem;line-height:1.55;margin-bottom:1.3rem;color:var(--ink-3);min-height:6.85rem}
.inv-card.dark p{color:rgba(255,255,255,.7)}
.inv-list{list-style:none;margin-bottom:1.4rem;flex:1}
.inv-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;line-height:1.5;padding:.4rem 0;color:var(--ink-2)}
.inv-card.dark .inv-list li{color:rgba(255,255,255,.85)}
.inv-list li::before{content:"";width:16px;height:16px;flex-shrink:0;margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12L10 17L19 8' stroke='%23B88D42' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.inv-card.dark .inv-list li::before{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12L10 17L19 8' stroke='%23D8AE5E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.inv-cta{min-height:48px;margin-top:auto;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.9rem;font-weight:600;color:var(--abyss);background:transparent;border:1px solid rgba(0,33,77,.28);border-radius:999px;padding:.9rem 1.5rem;text-decoration:none;transition:color .3s,background .3s,border-color .3s,transform .3s cubic-bezier(.16,1,.3,1)}
.inv-cta:hover{color:#fff;background:var(--abyss);border-color:var(--abyss);transform:translateY(-1px)}
.inv-cta:active{transform:scale(.97)}
.inv-card.dark .inv-cta{background:var(--immersion);color:var(--abyss);border-color:var(--immersion)}
.inv-card.dark .inv-cta:hover{background:#fff;color:var(--abyss);border-color:#fff}
@media(max-width:960px){.inv-card h3,.inv-card p{min-height:0}}

/* ---------- CTA (reference final-card) ---------- */
.cta-card{background:var(--abyss);border-radius:var(--radius-lg);padding:4.5rem 3rem;text-align:center;position:relative;overflow:hidden}
.cta-card::before{content:"";position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(216,174,94,.15),transparent 55%);filter:blur(60px)}
@media(max-width:700px){.cta-card{padding:2.5rem 1.5rem}.cta-t{font-size:1.5rem}}
.cta-t{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:500;letter-spacing:-.02em;color:#fff;line-height:1.1;position:relative;max-width:640px;margin:0 auto}
.cta-s{font-family:var(--mono);font-size:.85rem;letter-spacing:.02em;color:rgba(255,255,255,.6);text-transform:none;margin-top:.8rem;position:relative}
.cta-row{display:flex;justify-content:center;gap:.7rem;margin-top:1.8rem;flex-wrap:wrap;position:relative}
.cta-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:600;letter-spacing:normal;color:var(--abyss);background:var(--immersion);padding:1rem 1.7rem;border-radius:999px;border:none;cursor:pointer;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background .3s}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(216,174,94,.35);background:var(--immersion-deep);color:#fff}
.cta-btn:active{transform:scale(.97)}
.cta-btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15)}
.cta-btn.ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);box-shadow:none;color:#fff}

/* ---------- contact form ---------- */
.contact-card{background:radial-gradient(900px 440px at 82% -12%,rgba(216,174,94,.14),transparent 66%),linear-gradient(165deg,var(--abyss) 0%,var(--abyss-2) 100%);border-radius:var(--radius-lg);padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,6vw,5rem);color:#fff;position:relative;overflow:hidden}
.contact-form-header{text-align:center;max-width:760px;margin:0 auto 3rem}
.contact-eyebrow{justify-content:center;color:var(--immersion);margin-bottom:1.25rem}
.contact-eyebrow::before{background:var(--immersion)}
.contact-form-header h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:500;letter-spacing:-.04em;line-height:1.04;text-wrap:balance}
.contact-form-header h2 em{font-style:normal;color:var(--immersion)}
.contact-form-header p{font-size:1rem;line-height:1.65;color:rgba(255,255,255,.64);max-width:620px;margin:.9rem auto 0}
.contact-form{display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.cf-field{display:flex;flex-direction:column;gap:.55rem;min-width:0}
.cf-field--full{grid-column:1 / -1}
.cf-field label{font-family:var(--nav-font);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--immersion)}
.cf-optional{font-weight:400;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.42)}
.cf-field input,.cf-field textarea,.cf-select-wrap select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.24);border-radius:0;background:transparent;color:#fff;font:inherit;font-size:.95rem;padding:.7rem 0;outline:none;transition:border-color .25s ease,background .25s ease}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:rgba(255,255,255,.3)}
.cf-field input:focus,.cf-field textarea:focus,.cf-select-wrap select:focus{border-bottom-color:var(--immersion)}
.cf-field input:user-invalid,.cf-field textarea:user-invalid,.cf-select-wrap select:user-invalid{border-bottom-color:rgba(255,128,112,.7)}
.cf-field textarea{min-height:110px;resize:vertical;line-height:1.55}
.cf-select-wrap{position:relative}
.cf-select-wrap select{appearance:none;-webkit-appearance:none;padding-right:2rem;cursor:pointer}
.cf-select-wrap select:invalid{color:rgba(255,255,255,.3)}
.cf-select-wrap select option{background:var(--abyss-2);color:#fff}
.cf-select-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--immersion);pointer-events:none}
.cf-number-wrap{position:relative}
.cf-number-wrap input{padding-right:6rem;appearance:textfield;-moz-appearance:textfield}
.cf-number-wrap input::-webkit-inner-spin-button,.cf-number-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cf-number-controls{position:absolute;right:0;bottom:0;display:grid;grid-template-columns:44px 44px;width:88px;height:44px}
.cf-number-controls button{display:grid;place-items:center;border:0;background:transparent;color:var(--immersion);cursor:pointer}
.cf-number-controls button:hover{color:#fff}
.cf-number-controls button:focus-visible{outline:1px solid var(--immersion);outline-offset:1px}
.cf-number-controls svg{width:10px;height:7px}
.cf-conditional[hidden]{display:none}
.cf-conditional{display:flex;flex-direction:column;gap:2rem}
.cf-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:.5rem}
.cf-privacy{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;max-width:520px}
.cf-privacy input{width:16px;height:16px;min-width:16px;margin-top:3px;accent-color:var(--immersion);cursor:pointer}
.cf-privacy span{font-size:.82rem;line-height:1.6;color:rgba(255,255,255,.58)}
.cf-privacy-link{color:var(--immersion);text-underline-offset:3px}
.contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;flex:none;border:0;border-radius:999px;padding:1rem 1.7rem;background:var(--immersion);color:var(--abyss);font:600 .92rem var(--sans);cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s,color .3s,box-shadow .3s}
.contact-submit svg{width:13px;height:13px;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.contact-submit:hover{transform:translateY(-2px);background:var(--immersion-deep);color:#fff;box-shadow:0 8px 24px rgba(216,174,94,.25)}
.contact-submit:hover svg{transform:translateX(3px)}
.contact-submit:disabled{opacity:.55;cursor:wait;transform:none}
.cf-success[hidden]{display:none}
.cf-success{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(216,174,94,.45);border-radius:var(--radius-sm);padding:1rem 1.2rem;background:rgba(216,174,94,.08);color:var(--immersion);font-size:.9rem;line-height:1.5}
.cf-success svg{width:20px;height:20px;flex:none}
.cf-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cf-error[hidden]{display:none}
.cf-error{border:1px solid rgba(255,128,112,.55);border-radius:var(--radius-sm);padding:1rem 1.2rem;background:rgba(192,40,27,.12);color:#ffd4ce;font-size:.9rem;line-height:1.5}
@media(max-width:700px){
  .contact-form-header{margin-bottom:2.3rem}
  .cf-row{grid-template-columns:1fr;gap:1.6rem}
  .cf-footer{flex-direction:column;align-items:stretch}
  .contact-submit{width:100%}
}

/* ---------- disclaimer ---------- */
.disc{margin-top:2.5rem;background:rgba(192,40,27,.05);border:1px solid rgba(192,40,27,.25);border-radius:var(--radius);padding:1.1rem 1.4rem;font-size:.82rem;color:var(--ink-3);line-height:1.6}
.disc b{color:var(--red);font-weight:700;font-size:.78rem;letter-spacing:.02em}

/* ---------- footer (reference footer-card) ---------- */
footer{background:var(--bg);padding:1.5rem}
.footer-card{background:#fff;border:1px solid rgba(10,10,10,.08);border-radius:28px;max-width:1400px;margin:0 auto;padding:clamp(2.5rem,4vw,4rem) clamp(2rem,5vw,5rem) 0;overflow:hidden}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;align-items:start}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-logo{height:90px;width:auto;display:block;margin-left:-22px}
.footer-col{padding-top:0}
.footer-col h4{font-family:var(--nav-font);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(10,10,10,.35);margin:0 0 1rem;line-height:1}
.footer-col a,.footer-col span{display:block;font-family:var(--nav-font);color:var(--ink);text-decoration:none;font-size:.85rem;padding:.2rem 0;transition:color .3s;overflow-wrap:break-word;word-break:break-word}
.footer-col a:hover{color:var(--immersion-deep)}
.footer-col .cta-arrow-ext{width:12px;height:12px;display:inline-block;vertical-align:-1px;margin-left:2px}
.footer-bottom{border-top:1px solid rgba(10,10,10,.08);padding:1.25rem 0;display:flex;justify-content:space-between;align-items:baseline;gap:2rem;font-family:var(--nav-font);font-size:.75rem;color:rgba(10,10,10,.55)}
.footer-bottom>span{flex-shrink:0}
.footer-bottom .legal{color:rgba(10,10,10,.55);line-height:1.4;font-size:.72rem;text-align:right}
.footer-sdg-badges{display:flex;align-items:center;flex-wrap:wrap;gap:0}
.sdg-badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:4px solid var(--surface);border-radius:11px;background:var(--sdg-color);color:#fff;font-family:var(--nav-font);font-size:.7rem;font-weight:700;text-decoration:none;transition:opacity .2s,transform .2s}
.sdg-badge:hover{opacity:.78;transform:translateY(-1px)}
@media(max-width:1024px){
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:760px){
  .footer-bottom{display:grid;grid-template-columns:1fr;gap:.75rem}
  .footer-bottom>span,.footer-bottom .legal{grid-column:1}
  .footer-bottom .legal{text-align:left}
}
@media(max-width:640px){
  .footer-grid{grid-template-columns:1fr}
  .footer-card{padding:2rem 1.5rem}
  .footer-col a,.footer-col span{font-size:.95rem}
}
@media(max-width:480px){
  footer{padding:1rem}
  .footer-grid,.footer-bottom{text-align:center}
  .footer-brand{align-items:center}
  .footer-logo{margin-left:0}
  .footer-sdg-badges{justify-content:center}
}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ---------- card-level reveal: hover-ready transitions (stagger timing handled in JS) ---------- */
.sec-item.reveal,.inv-card.reveal,.partner-slot.reveal,.faq-item.reveal{transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .3s}

/* ---------- fast versus slow comparison ---------- */
.cycle-comparison{width:100%;max-width:560px}
.cycle-row{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:1.5rem;padding:1.5rem 0}
.cycle-row-fast,.cycle-row-slow{background:transparent;color:inherit}
.cycle-row-slow{border-top:1px solid rgba(0,33,77,.12)}
.cycle-wheel{display:block;width:52px;height:52px;margin-bottom:.65rem;color:#00214D;transform-origin:center;animation:cycle-spin-fast 2.2s linear infinite}
.cycle-time strong{display:block;color:var(--immersion-deep);font-size:1.35rem;font-weight:550;letter-spacing:-.03em}
.cycle-time span{display:block;margin-top:.25rem;color:var(--ink-4);font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}
.cycle-copy{padding-left:0}
.cycle-copy h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.cycle-copy p{margin-top:.4rem;color:var(--ink-3);font-family:var(--mono);font-size:.65rem}
.cycle-row-slow .cycle-time strong{color:var(--immersion-deep)}
.cycle-row-slow .cycle-wheel{color:#00214D}
.cycle-row-slow .cycle-wheel{animation-name:cycle-spin-slow;animation-duration:10s}
.cycle-row-slow .cycle-time span{color:var(--ink-4)}
.cycle-row-slow .cycle-copy p{color:var(--ink-3)}
.cycle-row-slow .cycle-copy h3{color:var(--ink)}
@keyframes cycle-spin-fast{to{transform:rotate(360deg)}}
@keyframes cycle-spin-slow{to{transform:rotate(360deg)}}
@media(max-width:520px){
  .cycle-row{grid-template-columns:1fr;gap:1rem;padding:1.5rem 0}
  .cycle-copy{padding:0}
}

/* ---------- training and inference flow ---------- */
.workload-flow{width:100%;max-width:600px;display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;margin:0 auto}
.workload-card{min-width:0;padding:0}
.workload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.workload-head span{display:block;margin-bottom:.3rem;color:var(--immersion-deep);font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.13em}
.workload-head h3{margin:0;font-size:1.15rem;font-weight:620;letter-spacing:-.02em}
.workload-steps{width:100%;max-width:500px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:.25rem;align-items:center;margin:0 auto}
.workload-node{min-width:0;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:.6rem .25rem;text-align:center}
.workload-node svg{width:39px;height:39px;flex:none;color:var(--ink-3);opacity:.82}
.workload-node span{color:var(--ink-2);font-size:.75rem;font-weight:600;line-height:1.3}
.workload-node-output svg,.workload-node-output span{color:var(--immersion-deep)}
.workload-arrow,.workload-plus{color:var(--ink-4);font-family:var(--mono);font-size:.9rem}
.workload-handoff{min-height:34px;display:flex;align-items:center;justify-content:center;color:var(--ink-4)}
.workload-handoff span{font-family:var(--mono);font-size:.58rem;font-weight:700;letter-spacing:.12em}
.workload-inference .workload-head span,.workload-inference .workload-node-output svg,.workload-inference .workload-node-output span,.workload-inference .workload-arrow,.workload-inference .workload-plus{color:var(--immersion-deep)}
@media(max-width:560px){
  .workload-head{display:block}
  .workload-steps{gap:.3rem}
  .workload-node{min-height:96px;padding:.7rem .3rem}
  .workload-node svg{width:40px;height:40px}
  .workload-node span{font-size:.58rem}
}

@media(max-width:700px){
  .overview-grid article{min-height:0;padding:2rem 1.5rem}
  .overview-icon{margin-bottom:1.75rem}
  .overview-grid p,.capacity-copy p,.network-principles p,.sec-item p,.inv-card p,.inv-list li,.faq-answer p{font-size:1rem}
  .inv-card{padding:1.5rem}
  .inv-card h3{font-size:1.35rem}
  .faq-question>span:first-child{font-size:1rem}
  .faq-contact{min-height:48px;align-items:center;justify-content:center;font-size:.9rem}
  .cf-field input,.cf-field textarea,.cf-select-wrap select{min-height:48px;font-size:1rem}
  .cf-privacy span{font-size:.9rem}
  .cf-privacy-link{position:relative}
  .cf-privacy-link::after{content:"";position:absolute;inset:-13px 0}
}

@media(max-width:480px){
  .sec-grid{grid-template-columns:1fr}
  .partner-row{grid-template-columns:1fr 1fr;gap:.75rem}
  .partner-slot{height:auto;min-height:96px;padding:1rem}
  .partner-slot img{height:40px}
  .contact-card{border-radius:20px;padding:2.25rem 1.25rem}
  .contact-form{gap:1.6rem}
  .network-map-card{height:clamp(220px,72vw,280px);aspect-ratio:auto}
}

@media(hover:none){
  .sec-item:hover,.inv-card:hover,.partner-slot:hover,.navrail-cta:hover,.navrail-calc-cta:hover,.btn:hover,.faq-contact:hover{transform:none}
}

/* ---------- layout modifiers ---------- */
.lede-space{margin-top:1rem}
.lede-space-tight{margin-top:.6rem}
.lede-space-large{margin-top:1.5rem}

/* ---------- overview and market context ---------- */
.overview-intro{display:block}
.overview-intro h2.h{margin-bottom:0}
.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:clamp(2.5rem,5vw,4rem);overflow:hidden;border:1px solid var(--line);border-radius:28px}
.overview-grid article{padding:clamp(2.5rem,5vw,4rem);display:flex;flex-direction:column}
.overview-icon{width:52px;height:52px;margin-bottom:2.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--abyss)}
.overview-icon svg{width:52px;height:52px;display:block}
.overview-grid h3{margin:0 0 1rem;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400;line-height:1.2;letter-spacing:-.02em}
.overview-grid p{max-width:610px;margin-top:0;padding-top:0;color:var(--ink-3);font-size:.9rem;line-height:1.7}
.overview-panel-dark{background:linear-gradient(165deg,var(--abyss),var(--abyss-2));color:#fff}
.overview-panel-dark .overview-icon{color:var(--immersion)}
.overview-panel-dark h3{color:#fff}
.overview-panel-dark p{color:rgba(255,255,255,.68)}
.overview-panel-light{background:#e9edeb}

.capacity-evidence{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(3.5rem,7vw,6rem);padding:clamp(2rem,5vw,4.5rem);border:1px solid var(--line);border-radius:28px;background:var(--bg-soft)}
.capacity-copy h3{max-width:560px;margin-bottom:1rem;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:550;letter-spacing:-.035em;line-height:1.08}
.capacity-copy p{max-width:620px;margin-top:.75rem;color:var(--ink-3);font-size:.86rem;line-height:1.7}
.vacancy-chart{padding:0;border:0;border-radius:0;background:transparent}
.vacancy-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.7rem}
.vacancy-chart-head span{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.vacancy-chart-head small{color:var(--ink-4);font-size:.58rem;text-align:right}
.vacancy-line-chart{display:block;width:100%;height:auto;max-height:220px}
.chart-grid-line{stroke:var(--line);stroke-dasharray:3 4}
.chart-base-line{stroke:var(--line-2)}
.chart-axis-label{fill:var(--ink-4);font-size:10px;font-family:Montserrat,sans-serif}
.vacancy-series{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.series-north-america{stroke:#00214d}
.series-asia-pacific{stroke:#6e8cac}
.series-europe{stroke:#d8ae5e}
.series-latin-america{stroke:#8c7a5a}
.vacancy-legend{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin-top:1rem}
.vacancy-legend span{display:flex;align-items:center;gap:.4rem;color:var(--ink-3);font-size:.62rem}
.vacancy-legend i{width:17px;height:2px;border-radius:2px}
.legend-north-america{background:#00214d}
.legend-asia-pacific{background:#6e8cac}
.legend-europe{background:#d8ae5e}
.legend-latin-america{background:#8c7a5a}
.chart-source-links{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .8rem;margin-top:1.4rem}
.chart-source-links .chart-source-link{margin-top:0}
.chart-source-links small{color:var(--ink-4);font-size:.55rem}
.chart-source-link{min-height:44px;display:inline-flex;align-items:center;margin-top:1.6rem;color:var(--ink-4);font-size:.58rem;text-underline-offset:3px}
.chart-source-link:hover{color:var(--immersion-deep)}
.network-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(2.5rem,5vw,4.5rem)}
.network-principles article{padding-top:1.4rem;border-top:1px solid var(--line)}
.network-principles article>span{display:block;margin-bottom:1rem;color:var(--immersion-deep);font-size:.61rem;font-weight:700;letter-spacing:.1em}
.network-principles h3{margin-bottom:.7rem;font-size:1.05rem;font-weight:650;letter-spacing:-.02em}
.network-principles p{max-width:660px;color:var(--ink-3);font-size:.82rem;line-height:1.75}

@media(max-width:900px){
  .capacity-evidence{grid-template-columns:1fr}
  .overview-grid{grid-template-columns:1fr}
  .overview-grid article{min-height:300px}
}
@media(max-width:620px){
  .capacity-evidence{padding:1.25rem;border-radius:20px}
  .network-principles{grid-template-columns:1fr;gap:2rem}
  .vacancy-chart{padding:0}
  .vacancy-chart-head{display:block}
  .vacancy-chart-head small{display:block;margin-top:.35rem;text-align:left}
}

/* ---------- alternating editorial layouts (reference-inspired) ---------- */
.editorial-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.editorial-copy,.editorial-visual{min-width:0}
.editorial-copy h2.h{max-width:650px}
.editorial-visual .cycle-comparison{width:100%;max-width:560px;margin:0 auto}
.editorial-visual .workload-flow{margin-top:0}
.editorial-split:not(.editorial-split-panel) .editorial-visual{min-height:420px;display:flex;align-items:center;padding:clamp(2rem,5vw,4rem);background:var(--bg-soft);border:1px solid var(--line);border-radius:2rem}
#why-ai .editorial-visual{min-height:0;padding:0;border:0;border-radius:0;background:transparent}
.editorial-split-reverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.editorial-split-reverse .editorial-copy{grid-column:2;grid-row:1}
.editorial-split-reverse .editorial-visual{grid-column:1;grid-row:1}
.editorial-split-panel{background:var(--bg-soft);border:1px solid var(--line);border-radius:2rem;padding:clamp(2rem,5vw,5rem)}
#inference .editorial-split-reverse{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,4vw,4rem)}
#inference .editorial-split-panel{padding:0;border:0;border-radius:0;background:transparent}
#inference .editorial-copy h2.h{font-size:clamp(2rem,3.5vw,3.4rem)}
#inference .editorial-copy .lede{max-width:520px}

/* ---------- sticky feature story (reference-inspired) ---------- */
.sticky-feature{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,7vw,7rem);align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:2rem;padding:clamp(2.5rem,6vw,6rem)}
.sticky-feature-copy{position:sticky;top:7rem;align-self:start}
.sticky-feature-copy h2.h{font-size:clamp(2.15rem,3.8vw,3.5rem)}
.sticky-feature-cards{grid-template-columns:1fr;margin-top:0;gap:1rem}
.sticky-feature-cards .sec-item{min-height:220px;justify-content:center;padding:clamp(1.8rem,3vw,2.8rem);border-radius:20px;position:relative;overflow:hidden}
.sticky-feature-cards .sec-item>*{position:relative;z-index:1}
.sticky-feature-cards .sec-item::after{position:absolute;right:.8rem;bottom:-.18em;font-family:var(--nav-font);font-size:clamp(5rem,9vw,8rem);font-weight:700;line-height:1;color:rgba(0,33,77,.055);pointer-events:none}
.sticky-feature-cards .sec-item:nth-child(1)::after{content:"01";color:rgba(255,255,255,.065)}
.sticky-feature-cards .sec-item:nth-child(2)::after{content:"02"}
.sticky-feature-cards .sec-item:nth-child(3)::after{content:"03"}
.sticky-feature-cards .sec-item:nth-child(4)::after{content:"04"}
.sticky-feature-cards .sec-item:nth-child(odd){margin-right:clamp(0rem,3vw,2.5rem)}
.sticky-feature-cards .sec-item:nth-child(even){margin-left:clamp(0rem,3vw,2.5rem)}
.sticky-feature-cards .sec-item:first-child{background:linear-gradient(160deg,var(--panel-dark) 0%,var(--abyss-2) 100%);border-color:var(--abyss);box-shadow:0 24px 54px -36px rgba(0,33,77,.7)}
.sticky-feature-cards .sec-item:first-child .ic{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--immersion)}
.sticky-feature-cards .sec-item:first-child h4{color:#fff}
.sticky-feature-cards .sec-item:first-child p{color:rgba(255,255,255,.64)}
.sticky-feature-cards .sec-item.is-current{border-color:rgba(184,141,66,.55);box-shadow:0 24px 50px -34px rgba(0,33,77,.45)}
.sticky-progress{display:flex;gap:.45rem;margin-top:2rem}
.sticky-progress span{width:30px;height:4px;border-radius:999px;background:var(--line-2);transition:width .35s cubic-bezier(.16,1,.3,1),background .35s}
.sticky-progress span.active{width:48px;background:var(--immersion-deep)}

.platform-grid{grid-template-columns:repeat(3,1fr);margin-top:2rem}
.network-map-wrap{grid-template-columns:1fr;min-height:0}
.network-map-card{aspect-ratio:2.15/1;padding:0}
/* ---------- FAQ (reference-inspired split accordion) ---------- */
.faq-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.faq-sidebar{position:sticky;top:7rem;align-self:start}
.faq-sidebar h2.h{max-width:600px;font-size:clamp(2.15rem,3.8vw,3.5rem)}
.faq-sidebar .lede{max-width:520px}
.faq-contact{display:inline-flex;margin-top:1.75rem;padding:.9rem 1.25rem;border-radius:999px;background:var(--abyss);color:#fff;font-size:.78rem;font-weight:650;text-decoration:none;transition:background .25s,box-shadow .25s,transform .25s}
.faq-contact:hover{background:var(--dark-soft);box-shadow:0 10px 26px -18px rgba(0,33,77,.65);transform:translateY(-1px)}
.faq-list{display:flex;flex-direction:column;gap:.75rem}
.faq-item{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--bg-soft)}
.faq-item.open{border-color:rgba(184,141,66,.55);background:var(--surface)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.3rem 1.4rem;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.faq-question>span:first-child{font-size:.92rem;font-weight:620;line-height:1.45;letter-spacing:-.01em}
.faq-question:focus-visible{outline:2px solid var(--immersion-deep);outline-offset:-3px}
.faq-toggle{position:relative;width:28px;height:28px;flex:none;border:1px solid var(--line-2);border-radius:8px;background:var(--surface)}
.faq-toggle i{position:absolute;left:7px;top:13px;width:12px;height:1.5px;border-radius:2px;background:var(--ink-3)}
.faq-toggle i:last-child{transform:rotate(90deg)}
.faq-item.open .faq-toggle i:last-child{opacity:0}
.faq-answer{display:grid;grid-template-rows:0fr;padding:0 1.4rem;opacity:0;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1),opacity .25s ease,padding-bottom .35s ease}
.faq-answer-inner{min-height:0;overflow:hidden}
.faq-item.open .faq-answer{grid-template-rows:1fr;padding-bottom:1.35rem;opacity:1}
.faq-answer p{max-width:760px;color:var(--ink-3);font-size:.85rem;line-height:1.7}

.final-section{margin-bottom:20px}
.cta-accent{color:var(--immersion)}
@media(max-width:900px){.platform-grid{grid-template-columns:1fr}}
@media(max-width:960px){
  .editorial-split,.editorial-split-reverse{grid-template-columns:1fr;gap:2.5rem}
  #inference .editorial-split-reverse{grid-template-columns:1fr;gap:2rem}
  .editorial-split-reverse .editorial-copy,.editorial-split-reverse .editorial-visual{grid-column:1;grid-row:auto}
  .editorial-split-panel{padding:2rem}
  .sticky-feature{grid-template-columns:1fr;gap:2.5rem;padding:clamp(2rem,5vw,3rem)}
  .sticky-feature-copy{position:static}
  .sticky-feature-cards .sec-item:nth-child(n){margin-left:0;margin-right:0}
  .sticky-progress{display:none}
  .faq-layout{grid-template-columns:1fr;gap:2.5rem}
  .faq-sidebar{position:static}
}
@media(max-width:560px){
  .editorial-split-panel{padding:1.5rem;border-radius:20px}
  #inference .editorial-split-panel{padding:0}
  .sticky-feature{padding:1.5rem;border-radius:20px}
  .sticky-feature-cards .sec-item{min-height:0}
  .faq-question{padding:1.1rem}
  .faq-question>span:first-child{font-size:.84rem}
  .faq-answer{padding-inline:1.1rem}
  .faq-item.open .faq-answer{padding-bottom:1.1rem}
}
.section#different.reveal.in{transform:none}

/* ---------- platform layer reveal (assemble from three directions) ---------- */
.platform-layer.reveal:nth-child(1){transform:translate(-30px,14px)}
.platform-layer.reveal:nth-child(2){transform:translate(0,34px)}
.platform-layer.reveal:nth-child(3){transform:translate(30px,14px)}
.platform-layer.reveal.in{transform:translate(0,0)}

/* ---------- media placeholder (large assets pending production) ---------- */
.media-placeholder{border:1.5px dashed var(--line-2);border-radius:var(--radius-lg);background:var(--bg-soft);display:flex;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;min-height:220px}
.media-placeholder-label{font-family:var(--mono);font-size:.74rem;color:var(--ink-4);max-width:520px;line-height:1.6;letter-spacing:.01em}
.media-placeholder-label b{color:var(--ink-3);display:block;margin-bottom:.4rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}

/* ---------- partner logo row (small, placeholder-ready) ---------- */
.partner-ecosystem{margin-top:clamp(3rem,6vw,5rem)}
.partner-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1.5rem}
@media(max-width:1000px){.partner-row{grid-template-columns:repeat(2,1fr)}}
.partner-slot{height:112px;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .3s,background .3s,transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.partner-slot:hover{border-color:rgba(184,141,66,.48);background:var(--bg-soft);transform:translateY(-2px);box-shadow:0 18px 36px -30px rgba(0,33,77,.4)}
.partner-slot:focus-visible{outline:2px solid var(--abyss);outline-offset:3px}
.partner-slot img{display:block;width:min(100%,180px);height:48px;object-fit:contain}
.partner-slot .partner-logo-invert{filter:brightness(0) saturate(100%)}
.partner-slot .partner-logo-black{filter:brightness(0) saturate(100%)}
.partner-slot .partner-logo-nvidia{object-fit:cover;object-position:center}
