/* ============================================================
   DURGASTRA INNOVATIONS — TACTICAL WEB INTERFACE  v2
   Deep navy obsidian / steel / radar-azure / ice CTAs
   (single warm amber note reserved for the indigenous banner)
   ============================================================ */

:root{
  --ink-0:#04070c;          /* page base */
  --ink-1:#060b13;          /* alt section */
  --ink-2:#0b1320;          /* panel base */
  --ink-3:#101a2b;          /* panel raised */
  --steel:#192639;
  --line:rgba(141,170,201,.13);
  --line-strong:rgba(141,170,201,.26);

  --acc:#3e9de0;            /* radar azure */
  --acc-bright:#7cc4f5;
  --acc-deep:#1c5e96;
  --acc-glow:rgba(62,157,224,.30);

  --ice:#e9f1f8;            /* primary CTA / key numerals */
  --amber:#e09246;          /* indigenous banner only */

  --green:#4ad18c;

  --text:#c9d6e2;
  --text-dim:#7f93a8;
  --text-faint:#56697e;

  --font-display:"Rajdhani",sans-serif;
  --font-body:"Titillium Web",sans-serif;
  --font-mono:"Share Tech Mono",monospace;

  --wrap:1280px;
  --ease:cubic-bezier(.22,.9,.28,1);
  --notch:10px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:72px}
html,body{overflow-x:clip}
body{
  background:var(--ink-0);
  color:var(--text);
  font-family:var(--font-body);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
/* grain + atmosphere */
body::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  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='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1100px 600px at 78% -10%, rgba(62,157,224,.07), transparent 60%),
    radial-gradient(900px 700px at -10% 40%, rgba(28,94,150,.06), transparent 60%),
    radial-gradient(1200px 800px at 50% 115%, rgba(62,157,224,.05), transparent 60%);
}

main,section,header,footer,.ticker{position:relative;z-index:2}
::selection{background:var(--acc);color:#04121f}
img,svg{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}

/* scrollbar */
::-webkit-scrollbar{width:10px;height:8px}
::-webkit-scrollbar-track{background:var(--ink-0)}
::-webkit-scrollbar-thumb{background:#1d2c44;border:2px solid var(--ink-0);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--acc-deep)}

.mono{font-family:var(--font-mono);letter-spacing:.08em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:1px}
.dot-acc{background:var(--acc);box-shadow:0 0 8px var(--acc)}
.dot-green{background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* scroll progress */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0%;z-index:200;
  background:linear-gradient(90deg,var(--acc-deep),var(--acc) 60%,var(--acc-bright));
  box-shadow:0 0 12px var(--acc-glow);
}

/* ============ CURSOR ============ */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;display:none}
@media (hover:hover) and (pointer:fine){
  .cursor-dot,.cursor-ring{display:block}
  body{cursor:none}
  a,button,input,select,textarea,label,[tabindex]{cursor:none}
}
.cursor-dot{width:5px;height:5px;border-radius:50%;background:var(--acc-bright);transform:translate(-50%,-50%)}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(62,157,224,.55);border-radius:50%;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s,background .25s}
.cursor-ring i{position:absolute;background:var(--acc);transition:opacity .2s}
.cursor-ring i:nth-child(1){top:-3px;left:50%;width:1px;height:6px;transform:translateX(-50%)}
.cursor-ring i:nth-child(2){bottom:-3px;left:50%;width:1px;height:6px;transform:translateX(-50%)}
.cursor-ring i:nth-child(3){left:-3px;top:50%;height:1px;width:6px;transform:translateY(-50%)}
.cursor-ring i:nth-child(4){right:-3px;top:50%;height:1px;width:6px;transform:translateY(-50%)}
.cursor-ring.hot{width:52px;height:52px;border-color:var(--acc-bright);background:rgba(62,157,224,.08)}

/* ============ BOOT ============ */
#boot{
  position:fixed;inset:0;z-index:10000;background:var(--ink-0);
  display:flex;align-items:center;justify-content:center;
  transition:transform .7s var(--ease),opacity .5s;
}
#boot.done{transform:translateY(-100%);opacity:0;pointer-events:none}
.boot-inner{width:min(420px,86vw);text-align:left}
.boot-logo{width:54px;height:54px;color:var(--acc);margin-bottom:22px;filter:drop-shadow(0 0 14px var(--acc-glow))}
.boot-lines{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--text-dim);min-height:96px;margin-bottom:18px}
.boot-lines div{opacity:0;animation:bootline .25s forwards}
.boot-lines b{color:var(--green);font-weight:400}
@keyframes bootline{to{opacity:1}}
.boot-bar{height:3px;background:var(--steel);overflow:hidden}
.boot-bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--acc-deep),var(--acc-bright));box-shadow:0 0 12px var(--acc-glow)}
.boot-pct{margin-top:8px;font-size:11px;color:var(--acc);text-align:right}

/* ============ STATUS BAR ============ */
.statusbar{
  position:relative;z-index:60;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:7px 20px;font-size:10.5px;color:var(--text-faint);
  border-bottom:1px solid var(--line);background:var(--ink-1);
  letter-spacing:.14em;
}
.sb-mid{color:var(--amber);opacity:.9}
.sb-right{display:flex;align-items:center;gap:10px}
.sb-right .dot{margin:0 4px 0 10px}

/* ============ NAV ============ */
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 28px;height:74px;
  background:rgba(4,7,12,.55);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--line);
  transition:height .3s var(--ease),background .3s;
}
.nav.scrolled{height:62px;background:rgba(4,7,12,.88);box-shadow:0 12px 40px rgba(0,0,0,.45)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:38px;height:38px;color:var(--ice);filter:drop-shadow(0 0 10px rgba(62,157,224,.3));transition:transform .4s var(--ease),color .3s}
.brand:hover .brand-mark{transform:rotate(-6deg) scale(1.06);color:var(--acc-bright)}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.24em;color:#eaf1f8}
.brand-text em{font-style:normal;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.34em;color:var(--acc)}
.nav-links{display:flex;align-items:center;gap:28px}
.nl{
  font-family:var(--font-display);font-weight:600;font-size:14px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);
  position:relative;padding:6px 0;transition:color .25s;
}
.nl::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:linear-gradient(90deg,var(--acc),transparent);transition:width .3s var(--ease);
}
.nl:hover,.nl.active{color:#eef3f8}
.nl:hover::after,.nl.active::after{width:100%}
.nav-cta{margin-left:6px}
.burger{display:none;flex-direction:column;gap:5px;padding:8px}
.burger span{width:24px;height:2px;background:var(--acc);transition:.3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:14.5px;
  letter-spacing:.2em;text-transform:uppercase;
  padding:15px 34px;position:relative;white-space:nowrap;
  clip-path:polygon(var(--notch) 0,100% 0,100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,0 100%,0 var(--notch));
  transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s,border-color .25s;
  will-change:transform;
}
.btn-solid{background:linear-gradient(150deg,#ffffff,var(--ice) 45%,#bdd3e6);color:#081120}
.btn-solid:hover{box-shadow:0 12px 38px rgba(62,157,224,.35);background:linear-gradient(150deg,#ffffff,#f2f8fd 45%,#cfe2f2)}
.btn-ghost{border:1px solid var(--line-strong);color:var(--text);background:rgba(13,20,33,.4)}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc-bright);box-shadow:0 8px 28px rgba(62,157,224,.18)}
.btn-sm{padding:10px 20px;font-size:12.5px}

/* ============ HUD bits ============ */
.hud-corner{position:absolute;width:18px;height:18px;pointer-events:none;z-index:3}
.hud-corner::before,.hud-corner::after{content:"";position:absolute;background:var(--acc)}
.hud-corner::before{width:100%;height:1.5px}
.hud-corner::after{width:1.5px;height:100%}
.hud-corner.tl{top:-1px;left:-1px}
.hud-corner.tr{top:-1px;right:-1px;transform:scaleX(-1)}
.hud-corner.bl{bottom:-1px;left:-1px;transform:scaleY(-1)}
.hud-corner.br{bottom:-1px;right:-1px;transform:scale(-1)}

/* ============ HERO ============ */
.hero{
  min-height:calc(100vh - 102px);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:clip;
  background:
    radial-gradient(900px 500px at 70% 20%, rgba(62,157,224,.10), transparent 60%),
    radial-gradient(700px 500px at 20% 85%, rgba(28,94,150,.08), transparent 60%),
    linear-gradient(180deg,#060b13 0%,#04070c 100%);
}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero-grid-overlay{
  position:absolute;inset:0;z-index:1;opacity:.5;
  background-image:
    linear-gradient(rgba(141,170,201,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,170,201,.05) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 90% 80% at 50% 45%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 45%,#000 30%,transparent 80%);
}
.hero-terrain{position:absolute;left:0;right:0;bottom:-12px;height:38%;width:100%;z-index:1;color:#41709e;opacity:.55}
.hero-terrain path{stroke:currentColor;stroke-width:1.1;opacity:.5}

/* radar */
.hero-radar{position:absolute;right:-160px;top:48%;transform:translateY(-50%);z-index:1;opacity:.85}
.radar{
  --rs:560px;width:var(--rs);height:var(--rs);border-radius:50%;position:relative;
  border:1px solid rgba(141,170,201,.26);
  background:
    repeating-radial-gradient(circle at 50% 50%, transparent 0 69px, rgba(141,170,201,.13) 69px 70px),
    radial-gradient(circle at 50% 50%, rgba(62,157,224,.06), transparent 70%);
}
.radar::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:
    linear-gradient(rgba(141,170,201,.16),rgba(141,170,201,.16)) 50% 0/1px 100% no-repeat,
    linear-gradient(rgba(141,170,201,.16),rgba(141,170,201,.16)) 0 50%/100% 1px no-repeat;
}
.radar::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,
    transparent 0deg, transparent 322deg,
    rgba(62,157,224,.03) 334deg, rgba(62,157,224,.10) 348deg,
    rgba(124,196,245,.30) 358deg, rgba(186,226,252,.55) 359.4deg, transparent 360deg);
  animation:sweep 5.5s linear infinite;
}
@keyframes sweep{to{transform:rotate(360deg)}}
.blip{
  position:absolute;left:var(--bx);top:var(--by);width:7px;height:7px;border-radius:50%;
  background:var(--acc-bright);box-shadow:0 0 10px var(--acc);
  animation:blip 5.5s infinite;animation-delay:var(--bd);opacity:0;
}
@keyframes blip{0%{opacity:0;transform:scale(.4)}6%{opacity:1;transform:scale(1.25)}30%{opacity:.55;transform:scale(1)}60%{opacity:0}100%{opacity:0}}

/* drone formation */
.formation{position:absolute;z-index:2;right:6%;top:12%;width:560px;height:340px;pointer-events:none;animation:formDrift 26s ease-in-out infinite alternate}
@keyframes formDrift{from{transform:translate(0,0)}to{transform:translate(-72px,26px)}}
.fdrone{position:absolute;color:rgba(141,170,201,.5);animation:bob 6s ease-in-out infinite}
.fdrone use{stroke-width:1.2}
.fd1{width:120px;right:36%;top:6%;color:rgba(124,196,245,.6);animation-delay:0s}
.fd2{width:88px;right:14%;top:30%;animation-delay:1.2s}
.fd3{width:88px;right:58%;top:32%;animation-delay:2.1s}
.fd4{width:62px;right:4%;top:60%;opacity:.6;animation-delay:.7s}
.fd5{width:62px;right:70%;top:62%;opacity:.6;animation-delay:2.8s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* HUD frame */
.hud{position:absolute;inset:22px;z-index:3;border:1px solid rgba(141,170,201,.10);pointer-events:none}
.hud .hud-corner{width:26px;height:26px}
.hud-top,.hud-bottom{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-end;font-size:10.5px;letter-spacing:.18em;color:var(--text-faint)}
.hud-top{top:16px;align-items:flex-start}
.hud-bottom{bottom:16px}
.hud-top b,.hud-bottom b{color:var(--text-dim);font-weight:400}
.hud-top u{text-decoration:none;color:var(--acc-bright)}
.hud-spec{display:flex;flex-direction:column;gap:6px}
.hud-spec em{font-style:normal}
#fxSpectrum{width:300px;height:54px;opacity:.9}
.hud-coords{display:flex;align-items:center;gap:4px}

/* hero content */
.hero-content{position:relative;z-index:4;text-align:center;max-width:1120px;padding:0 30px 64px;margin-top:-16px}
.kicker{font-size:12px;letter-spacing:.42em;color:var(--acc);margin-bottom:26px;display:flex;justify-content:center;gap:.6em;flex-wrap:wrap}
.rot-wrap{display:inline-grid;text-align:left;min-width:23ch}
.rot-wrap span{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease);color:var(--acc-bright);white-space:nowrap}
.rot-wrap span.on{opacity:1;transform:none}
.hero h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(42px,6.4vw,84px);line-height:.98;letter-spacing:.015em;
  text-transform:uppercase;color:#eef3f8;
  text-shadow:0 0 60px rgba(62,157,224,.28);
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(110deg,#bfe2fb 5%,var(--acc-bright) 35%,var(--acc) 70%,var(--acc-deep) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 28px rgba(62,157,224,.30));
}
.hero-sub{max-width:680px;margin:28px auto 40px;color:var(--text-dim);font-size:17.5px;font-weight:300}
.hero-cta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.hero-badges{display:flex;gap:18px;justify-content:center;align-items:center;margin-top:46px;font-size:11.5px;letter-spacing:.34em;color:var(--text-dim)}
.hero-badges i{color:var(--acc);font-size:8px;font-style:normal}

/* hero entrance */
.rise{opacity:0;transform:translateY(28px);animation:rise .9s var(--ease) forwards}
.r1{animation-delay:.15s}.r2{animation-delay:.3s}.r3{animation-delay:.45s}.r4{animation-delay:.6s}.r5{animation-delay:.78s}
@keyframes rise{to{opacity:1;transform:none}}
body.booting .rise{animation-play-state:paused}

.scroll-cue{
  position:absolute;bottom:54px;left:50%;transform:translateX(-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:9.5px;letter-spacing:.4em;color:var(--text-faint);
}
@media (max-height:780px){.scroll-cue{display:none}}
.scroll-cue i{width:1px;height:42px;background:linear-gradient(var(--acc),transparent);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;top:-12px;left:0;width:1px;height:12px;background:var(--acc-bright);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{to{transform:translateY(56px)}}

/* ============ TICKER ============ */
.ticker{border-block:1px solid var(--line);background:var(--ink-1);overflow:clip;padding:13px 0}
.ticker-track{display:flex;gap:34px;width:max-content;white-space:nowrap;font-size:11.5px;letter-spacing:.26em;color:var(--text-dim);animation:tick 46s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track i{color:var(--acc);font-style:normal}
@keyframes tick{to{transform:translateX(-50%)}}

/* ============ SECTIONS ============ */
.sec{padding:130px 0;position:relative;overflow:clip}
.sec-wm{
  position:absolute;top:90px;right:2vw;z-index:0;
  font-size:clamp(120px,17vw,260px);line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(141,170,201,.07);letter-spacing:0;
  user-select:none;pointer-events:none;
}
.sec-tag{font-size:11.5px;letter-spacing:.3em;color:var(--acc);margin-bottom:18px}
.sec h2{
  font-family:var(--font-display);font-weight:700;font-size:clamp(34px,4.4vw,58px);
  line-height:1.04;letter-spacing:.02em;text-transform:uppercase;color:#e9eff5;
}
.sec h2 em{
  font-style:normal;
  background:linear-gradient(110deg,#b7ddfa,var(--acc-bright) 40%,var(--acc) 85%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.sec-head{max-width:820px;margin-bottom:64px}
.sec-sub{margin-top:18px;color:var(--text-dim);font-size:16.5px;max-width:640px}
.sec-head.split{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;max-width:none}
.lead{font-size:18px;color:var(--text);margin-top:24px}
.body-dim{margin-top:16px;color:var(--text-dim)}
.body-dim strong{color:var(--acc-bright);font-weight:600}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}.d5{transition-delay:.6s}

/* word-mask reveal for section headings */
h2 .wm{display:inline-block;overflow:hidden;vertical-align:bottom}
h2 .wm i{display:inline-block;font-style:inherit;transform:translateY(115%);transition:transform .85s var(--ease);transition-delay:calc(var(--wi,0)*70ms)}
h2.reveal.in .wm i{transform:none}
/* once split, gradient must clip per-word (nested inline-block breaks parent clip) */
.sec h2 em .wm i{
  background:linear-gradient(110deg,#b7ddfa,var(--acc-bright) 40%,var(--acc) 85%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ============ ABOUT ============ */
.about{background:linear-gradient(180deg,var(--ink-0),var(--ink-1) 60%,var(--ink-0))}
.cols{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}

.panel{
  position:relative;background:linear-gradient(165deg,rgba(16,26,43,.75),rgba(7,11,18,.85));
  border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.hud-panel{padding:0}
.panel-head,.panel-foot{
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:13px 18px;font-size:10px;letter-spacing:.2em;color:var(--text-faint);
}
.panel-head{border-bottom:1px solid var(--line)}
.panel-foot{border-top:1px solid var(--line)}
.panel-head span:first-child{color:var(--text-dim)}
.panel-foot b{color:var(--acc-bright);font-weight:400}

.globe-wrap{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
#fxGlobe{width:100%;height:100%}
.globe-ring{
  position:absolute;width:78%;height:78%;border-radius:50%;
  border:1px dashed rgba(62,157,224,.30);
  animation:ringspin 40s linear infinite;
}
.globe-ring::before,.globe-ring::after{
  content:"";position:absolute;width:7px;height:7px;border-radius:50%;
  background:var(--acc);box-shadow:0 0 10px var(--acc);
}
.globe-ring::before{top:-4px;left:50%}
.globe-ring::after{bottom:-4px;left:20%}
@keyframes ringspin{to{transform:rotate(360deg)}}

.quote{
  margin:30px 0 0;padding:18px 24px;border-left:2px solid var(--acc);
  background:linear-gradient(90deg,rgba(62,157,224,.08),transparent 70%);
  font-style:italic;font-size:17px;color:#dfe7ee;
}
.quote cite{display:block;margin-top:10px;font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--acc)}

.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:38px}
.metric{background:var(--ink-1);padding:24px 26px;transition:background .3s,box-shadow .3s;position:relative}
.metric::before{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--acc);transition:height .4s var(--ease)}
.metric:hover{background:var(--ink-2)}
.metric:hover::before{height:100%}
.metric b{
  display:block;font-family:var(--font-display);font-weight:700;font-size:42px;line-height:1;
  color:var(--ice);letter-spacing:.02em;
}
.metric b sup{font-size:17px;color:var(--acc-bright);letter-spacing:.05em;margin-left:2px}
.metric span{display:block;margin-top:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-weight:600}

/* ============ PRODUCTS ============ */
.products{background:var(--ink-0)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{
  position:relative;padding:28px 28px 22px;overflow:hidden;
  background:linear-gradient(170deg,rgba(16,26,43,.6),rgba(6,10,16,.9));
  border:1px solid var(--line);
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;
  outline:none;
}
.pcard .hud-corner{opacity:0;transition:opacity .4s}
.pcard:hover,.pcard:focus-visible{
  transform:translateY(-7px);
  border-color:rgba(62,157,224,.5);
  box-shadow:0 26px 60px rgba(0,0,0,.5),0 0 0 1px rgba(62,157,224,.18),0 0 50px -12px var(--acc-glow);
}
.pcard:hover .hud-corner,.pcard:focus-visible .hud-corner{opacity:1}
/* light sweep */
.pcard::after,.wcard::after{
  content:"";position:absolute;top:-60%;bottom:-60%;left:-30%;width:34%;
  background:linear-gradient(100deg,transparent,rgba(233,241,248,.05) 45%,rgba(233,241,248,.10) 50%,rgba(233,241,248,.05) 55%,transparent);
  transform:translateX(-220%) rotate(8deg);pointer-events:none;
}
.pcard:hover::after,.wcard:hover::after{transition:transform .9s var(--ease);transform:translateX(560%) rotate(8deg)}
.pcard-bg{
  position:absolute;inset:0;pointer-events:none;opacity:.45;
  background-image:
    linear-gradient(rgba(141,170,201,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,170,201,.05) 1px,transparent 1px);
  background-size:30px 30px;
  mask-image:linear-gradient(160deg,#000,transparent 60%);
  -webkit-mask-image:linear-gradient(160deg,#000,transparent 60%);
}
.featured{grid-column:span 2;grid-row:span 1}
.pcard-top{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;letter-spacing:.2em;color:var(--text-faint);margin-bottom:18px;position:relative;z-index:2}
.ptag{color:var(--acc-bright);border:1px solid rgba(62,157,224,.35);padding:4px 9px;background:rgba(62,157,224,.07)}
.pref{padding:4px 0}
.pcard-art{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;position:relative}
.pcard-art svg{height:100%;max-width:80%;color:#6f9cc4;opacity:.8;transition:transform .6s var(--ease),color .45s,opacity .45s;filter:drop-shadow(0 6px 22px rgba(0,0,0,.5))}
.pcard:hover .pcard-art svg{transform:translateY(-7px) scale(1.05);color:#cfe7fa;opacity:1}
.featured .pcard-art{height:210px}
.pcard h3{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:.04em;text-transform:uppercase;color:#ebf1f7;margin-bottom:10px}
.pcard p{font-size:14.5px;color:var(--text-dim);margin-bottom:16px}
.specs{list-style:none;display:grid;gap:9px;font-size:11px;letter-spacing:.12em;color:var(--text-dim);overflow:hidden;max-height:0;opacity:0;transition:max-height .6s var(--ease),opacity .5s .05s,margin .5s}
.pcard:hover .specs,.pcard:focus-visible .specs,.specs.always,.featured .specs{max-height:200px;opacity:1;margin-bottom:16px}
.specs li{display:flex;align-items:center;gap:10px}
.specs b{color:var(--text-faint);font-weight:400;min-width:84px}
.specs .sline{flex:1;height:1px;background:var(--line)}
.specs em{font-style:normal;color:var(--acc-bright)}
.pcard-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:10px;letter-spacing:.18em;color:var(--text-faint)}
.pcard-foot .more{color:var(--acc);opacity:0;transform:translateX(-6px);transition:.35s var(--ease)}
.pcard:hover .pcard-foot .more,.pcard:focus-visible .pcard-foot .more{opacity:1;transform:none}

/* wide simulator card */
.pcard.wide{grid-column:span 3}
.wide-inner{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:34px;align-items:center}
.wide-art{height:130px;margin:0}
.pcard.wide .specs{max-height:none;opacity:1;margin:0}
.pcard.wide h3{font-size:26px}
.pcard.wide p{margin-bottom:14px}
.fineprint{margin-top:34px;font-size:9.5px;letter-spacing:.22em;color:var(--text-faint);text-align:center}

/* ============ SIMULATION RAIL ============ */
.sims{background:linear-gradient(180deg,var(--ink-0),var(--ink-1) 35%,var(--ink-1) 70%,var(--ink-0));}
.rail-nav{display:flex;gap:10px}
.rail-btn{
  width:48px;height:48px;border:1px solid var(--line-strong);color:var(--acc-bright);
  font-size:13px;display:flex;align-items:center;justify-content:center;
  background:rgba(13,20,33,.5);transition:.3s var(--ease);
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.rail-btn:hover{background:var(--ice);color:#081120;border-color:var(--ice)}
.rail-wrap{position:relative}
.rail{
  display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:8px max(32px,calc((100vw - var(--wrap)) / 2 + 32px)) 26px;
  scrollbar-width:none;cursor:grab;
}
.rail::-webkit-scrollbar{display:none}
.rail.dragging{cursor:grabbing;scroll-snap-type:none}
.mod{
  flex:0 0 400px;scroll-snap-align:start;position:relative;
  background:linear-gradient(170deg,rgba(16,26,43,.65),rgba(6,10,16,.92));
  border:1px solid var(--line);padding:0 0 24px;
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;
}
.mod:hover{transform:translateY(-6px);border-color:rgba(62,157,224,.45);box-shadow:0 24px 56px rgba(0,0,0,.5)}
.mod-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.2em;color:var(--text-faint)}
.mod-no{font-size:26px;color:var(--acc);letter-spacing:.08em}
.mod-viz{
  position:relative;height:150px;border-bottom:1px solid var(--line);overflow:hidden;
  background:
    linear-gradient(rgba(141,170,201,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,170,201,.05) 1px,transparent 1px),
    radial-gradient(300px 120px at 50% 0%,rgba(62,157,224,.10),transparent);
  background-size:26px 26px,26px 26px,auto;
  display:flex;align-items:center;justify-content:center;
}
.viz-tag{position:absolute;bottom:8px;left:12px;font-size:8.5px;letter-spacing:.24em;color:var(--text-faint)}
.mod h3{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:.04em;text-transform:uppercase;color:#ebf1f7;padding:20px 22px 0}
.mod p{font-size:13.5px;color:var(--text-dim);padding:10px 22px 0}
.mod-list{list-style:none;padding:16px 22px 0;display:grid;gap:8px;font-size:10.5px;letter-spacing:.16em;color:var(--text-dim)}
.mod-list li{display:flex;align-items:center;gap:10px}
.mod-list li::before{content:"";width:5px;height:5px;background:var(--acc);transform:rotate(45deg);flex:none}
.mod-chips{display:flex;flex-wrap:wrap;gap:8px;padding:16px 22px 0}
.mod-chips span{font-size:9.5px;letter-spacing:.16em;color:var(--acc-bright);border:1px solid rgba(62,157,224,.4);padding:4px 9px;background:rgba(62,157,224,.07)}
.rail-progress{height:2px;background:var(--steel);margin:6px max(32px,calc((100vw - var(--wrap)) / 2 + 32px)) 0;position:relative}
.rail-progress i{position:absolute;left:0;top:0;height:100%;width:20%;background:linear-gradient(90deg,var(--acc-deep),var(--acc-bright));transition:width .2s,transform .2s;box-shadow:0 0 10px var(--acc-glow)}

/* module visuals */
.viz-wave{width:100%;height:100%}
.wavepath{stroke:var(--acc-bright);stroke-width:1.4;stroke-dasharray:640;stroke-dashoffset:640;animation:dash 4s linear infinite}
.w2{stroke:#dfeefb;opacity:.7;animation-delay:1.2s}
@keyframes dash{0%{stroke-dashoffset:640}60%{stroke-dashoffset:0}100%{stroke-dashoffset:-640}}
.terrainline{stroke:rgba(141,170,201,.5);stroke-width:1;stroke-dasharray:4 3}

.viz-target{position:relative;width:120px;height:120px}
.vt-ring{position:absolute;inset:0;border:1px solid rgba(62,157,224,.55);border-radius:50%;animation:vtping 3s var(--ease) infinite}
.vt-ring.r2{animation-delay:1.5s}
@keyframes vtping{0%{transform:scale(.45);opacity:1}100%{transform:scale(1.15);opacity:0}}
.vt-cross{position:absolute;inset:0}
.vt-cross::before,.vt-cross::after{content:"";position:absolute;background:rgba(141,170,201,.45)}
.vt-cross::before{left:50%;top:-8px;bottom:-8px;width:1px}
.vt-cross::after{top:50%;left:-8px;right:-8px;height:1px}
.vt-diamond{position:absolute;left:50%;top:50%;width:11px;height:11px;background:var(--ice);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 16px var(--acc-bright);animation:vtjitter 2.4s steps(2) infinite}
@keyframes vtjitter{0%,100%{margin-left:0;margin-top:0}25%{margin-left:5px;margin-top:-4px}50%{margin-left:-4px;margin-top:5px}75%{margin-left:3px;margin-top:3px}}
.vt-readout{position:absolute;top:6px;right:-78px;font-size:9px;color:var(--acc-bright);letter-spacing:.14em}

.viz-spectrum{width:100%;height:100%}

.viz-translate{display:flex;align-items:center;gap:22px;font-family:var(--font-display);font-weight:700;font-size:52px;color:var(--acc-bright)}
.viz-translate i{font-style:normal;font-size:30px;color:var(--ice);animation:swapPulse 2s ease-in-out infinite}
.viz-translate span:last-child{color:#eaf3fb}
@keyframes swapPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}

.viz-gcs{position:absolute;inset:0}
.viz-gcs svg{width:100%;height:100%}
.wp-path{stroke:rgba(62,157,224,.6);stroke-width:1.3;stroke-dasharray:5 5;animation:wpflow 1.6s linear infinite}
@keyframes wpflow{to{stroke-dashoffset:-20}}
.wp{fill:var(--ink-0);stroke:var(--acc-bright);stroke-width:1.4}
.gcs-drone{
  position:absolute;width:9px;height:9px;background:var(--ice);
  box-shadow:0 0 14px var(--acc-bright);transform:translate(-50%,-50%) rotate(45deg);
  offset-path:path("M20 96 L84 60 150 76 216 34 296 52");
  animation:fly 7s linear infinite;
}
@keyframes fly{from{offset-distance:0%}to{offset-distance:100%}}

/* ============ TECH GRID ============ */
.techs{background:var(--ink-0)}
.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tcard{
  position:relative;background:var(--ink-1);padding:30px 24px 26px;min-height:215px;
  transition:background .35s;overflow:hidden;
}
.tcard::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--acc),transparent);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.tcard:hover{background:#0c1422}
.tcard:hover::before{transform:scaleX(1)}
.ti{width:30px;height:30px;color:var(--acc);margin-bottom:18px;transition:transform .4s var(--ease),color .3s}
.tcard:hover .ti{transform:translateY(-3px) scale(1.1);color:var(--acc-bright)}
.tcard h4{font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:#e3eaf2;line-height:1.25;margin-bottom:8px}
.tcard p{font-size:12.5px;color:var(--text-dim);opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.tcard:hover p{opacity:1;transform:none}
.tno{position:absolute;right:14px;bottom:10px;font-size:9px;color:var(--text-faint);letter-spacing:.2em}

/* ============ WHY ============ */
.why{background:linear-gradient(180deg,var(--ink-0),var(--ink-1));padding-bottom:0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:110px}
.wcard{
  position:relative;padding:44px 34px 34px;overflow:hidden;
  background:linear-gradient(170deg,rgba(16,26,43,.6),rgba(6,10,16,.92));
  border:1px solid var(--line);border-top:2px solid var(--acc-deep);
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;
}
.wcard:hover{transform:translateY(-8px);border-top-color:var(--acc-bright);box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 46px -16px var(--acc-glow)}
.wnum{
  position:absolute;top:6px;right:18px;font-family:var(--font-display);font-weight:700;
  font-size:110px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(62,157,224,.18);
  user-select:none;
}
.wi{width:34px;height:34px;color:var(--acc);margin-bottom:22px}
.wcard h3{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:.05em;text-transform:uppercase;color:#ecf2f8;margin-bottom:12px}
.wcard p{font-size:14.5px;color:var(--text-dim)}
.wfoot{display:block;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:9.5px;letter-spacing:.24em;color:var(--acc)}

/* indigenous banner */
.indigenous-banner{
  border-block:1px solid rgba(224,146,70,.32);
  background:
    linear-gradient(90deg,rgba(224,146,70,.09),transparent 30%,transparent 70%,rgba(224,146,70,.09)),
    var(--ink-1);
  padding:46px 0;position:relative;overflow:hidden;
}
.indigenous-banner::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(141,170,201,.04) 1px,transparent 1px);
  background-size:56px 100%;
}
.ib-inner{display:flex;align-items:center;gap:34px;flex-wrap:wrap;justify-content:center;text-align:center;position:relative}
.ib-mark{width:56px;height:56px;color:var(--amber);filter:drop-shadow(0 0 16px rgba(224,146,70,.35))}
.ib-text{
  font-family:var(--font-display);font-weight:700;font-size:clamp(24px,3vw,38px);
  letter-spacing:.14em;color:#eef3f8;line-height:1.15;
}
.ib-text span{display:block;font-size:.52em;letter-spacing:.3em;color:var(--amber)}
.ib-sub{width:100%;font-size:10px;letter-spacing:.26em;color:var(--text-faint)}

/* ============ FIELD OPS GALLERY ============ */
.gallery{background:linear-gradient(180deg,var(--ink-1),var(--ink-0) 40%)}
.gal-nav{display:flex;align-items:center;gap:14px}
.gal-counter{font-size:12px;letter-spacing:.22em;color:var(--text-dim);min-width:74px;text-align:center}
.gal-counter b{color:var(--ice);font-weight:400}
.gal-stage{
  position:relative;overflow:hidden;padding:6px 0 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  outline:none;
}
.gal-track{
  display:flex;gap:26px;align-items:stretch;
  transition:transform .85s var(--ease);will-change:transform;
}
.gal-track.nosnap{transition:none}
.gal-slide{flex:0 0 min(840px,74%);position:relative;user-select:none}
.gal-img{
  position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);
  background:var(--ink-2);
}
.gal-img::before{ /* tactical tint + vignette */
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,7,12,.18),transparent 30%,transparent 70%,rgba(4,7,12,.5)),
    radial-gradient(120% 90% at 50% 45%,transparent 60%,rgba(4,7,12,.38));
}
.gal-img::after{ /* scanlines */
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(4,7,12,.12) 0 1px,transparent 1px 4px);
  mix-blend-mode:multiply;
}
.gal-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.02);filter:saturate(.92) contrast(1.04);
  transition:transform .9s var(--ease);
}
.gal-slide.active .gal-img img{animation:kenburns 9s var(--ease) forwards}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.11)}}
.gal-slide{opacity:.32;transform:scale(.965);filter:saturate(.55);transition:opacity .7s var(--ease),transform .85s var(--ease),filter .7s}
.gal-slide.active{opacity:1;transform:none;filter:none}
.gal-hud{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .6s .25s}
.gal-slide.active .gal-hud{opacity:1}
.gal-hud .hud-corner{width:22px;height:22px}
.gal-hud .rec{
  position:absolute;top:14px;right:16px;font-size:9px;letter-spacing:.26em;color:var(--ice);
  display:flex;align-items:center;gap:7px;font-family:var(--font-mono);
}
.gal-hud .rec::before{content:"";width:7px;height:7px;border-radius:50%;background:#e25b4a;box-shadow:0 0 9px #e25b4a;animation:pulse 1.6s infinite}
.gal-hud .geo{position:absolute;left:16px;bottom:12px;font-size:9px;letter-spacing:.2em;color:rgba(233,241,248,.75);font-family:var(--font-mono)}
.gal-cap{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding:16px 4px 0;opacity:0;transform:translateY(12px);transition:.6s var(--ease) .2s;
}
.gal-slide.active .gal-cap{opacity:1;transform:none}
.gal-cap span{font-size:9.5px;letter-spacing:.26em;color:var(--acc);font-family:var(--font-mono);white-space:nowrap;padding-top:4px}
.gal-cap h4{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:.05em;text-transform:uppercase;color:#e6edf4;text-align:right}
.gal-dots{display:flex;gap:10px;justify-content:center;margin-top:34px}
.gal-dot{width:34px;height:3px;background:var(--steel);position:relative;overflow:hidden;transition:background .3s;padding:0}
.gal-dot::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--acc),var(--acc-bright));transform:scaleX(0);transform-origin:left}
.gal-dot.on::after{animation:dotfill var(--gal-int,6.5s) linear forwards}
@keyframes dotfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.gal-dot:hover{background:#2a3c58}
.gal-note{margin-top:26px;text-align:center;font-size:9.5px;letter-spacing:.22em;color:var(--text-faint)}

/* ============ CONTACT ============ */
.contact{background:linear-gradient(180deg,var(--ink-1),var(--ink-0))}
.contact-cols{display:grid;grid-template-columns:1.25fr .85fr;gap:60px;align-items:start}
.cform{padding:34px 34px 30px}
.cform-head{font-size:10.5px;letter-spacing:.22em;color:var(--text-dim);margin-bottom:26px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.frow.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field span{font-size:9.5px;letter-spacing:.22em;color:var(--text-faint)}
.field input,.field select,.field textarea{
  background:rgba(5,9,15,.8);border:1px solid var(--line);color:#e6edf4;
  font-family:var(--font-body);font-size:15px;font-weight:300;padding:13px 15px;
  transition:border-color .3s,box-shadow .3s,background .3s;border-radius:0;appearance:none;
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%233e9de0'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
}
.field textarea{resize:vertical;min-height:110px}
.field input::placeholder,.field textarea::placeholder{color:#41536a}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--acc);background:rgba(8,13,21,.95);
  box-shadow:0 0 0 1px rgba(62,157,224,.35),0 0 24px -6px var(--acc-glow);
}
.submit-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}
.form-note{font-size:9.5px;letter-spacing:.2em;color:var(--text-faint)}

.cinfo{display:flex;flex-direction:column;gap:26px;padding-top:6px}
.cinfo-block{display:flex;gap:18px;align-items:flex-start}
.ci{width:22px;height:22px;color:var(--acc);flex:none;margin-top:3px}
.cinfo-block b{font-family:var(--font-display);font-weight:600;font-size:15.5px;letter-spacing:.12em;text-transform:uppercase;color:#e8eef5;display:block;margin-bottom:5px}
.cinfo-block p{font-size:14px;color:var(--text-dim);line-height:1.75}
.cinfo-block a{color:var(--text-dim);border-bottom:1px solid transparent;transition:.25s}
.cinfo-block a:hover{color:var(--acc-bright);border-bottom-color:var(--acc-deep)}
.csocial{display:flex;align-items:center;gap:14px;padding-top:8px;border-top:1px solid var(--line);margin-top:6px;padding-top:24px}
.csocial span{font-size:9.5px;letter-spacing:.22em;color:var(--text-faint);margin-right:6px}
.csocial a{
  width:40px;height:40px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);transition:.3s var(--ease);
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
}
.csocial a svg{width:17px;height:17px}
.csocial a:hover{color:#081120;background:var(--ice);border-color:var(--ice);transform:translateY(-3px)}

/* ============ FOOTER ============ */
.footer{border-top:1px solid var(--line);background:var(--ink-1);position:relative;z-index:2}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px;padding-top:64px;padding-bottom:54px}
.foot-brand p{font-size:13.5px;color:var(--text-dim);margin-top:18px;max-width:330px}
.foot-tag{font-size:10px;letter-spacing:.3em;color:var(--acc);margin-top:16px}
.foot-col{display:flex;flex-direction:column;gap:11px}
.foot-col b{font-size:10px;letter-spacing:.26em;color:var(--acc);margin-bottom:8px;font-weight:400}
.foot-col a{font-size:13.5px;color:var(--text-dim);width:fit-content;position:relative;transition:color .25s,transform .25s}
.foot-col a:hover{color:var(--acc-bright);transform:translateX(4px)}
.foot-clock{font-size:11px;color:var(--text-faint);margin-top:8px;letter-spacing:.18em}
.foot-bar{border-top:1px solid var(--line);background:var(--ink-0)}
.foot-bar-inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;font-size:9.5px;letter-spacing:.2em;color:var(--text-faint)}
.tric{display:inline-block;width:22px;height:11px;margin-left:8px;vertical-align:-1px;background:linear-gradient(180deg,#e8903a 33%,#e9eef3 33% 66%,#3f9a5f 66%)}

/* ============ TOAST ============ */
.toast{
  position:fixed;right:26px;bottom:26px;z-index:300;
  background:var(--ink-3);border:1px solid rgba(62,157,224,.45);
  padding:16px 22px;font-size:11px;letter-spacing:.14em;color:var(--acc-bright);
  box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 30px -8px var(--acc-glow);
  transform:translateY(140%);transition:transform .5s var(--ease);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.toast.show{transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1180px){
  .tech-grid{grid-template-columns:repeat(3,1fr)}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .featured,.pcard.wide{grid-column:span 2}
  .wide-inner{grid-template-columns:1fr 1fr;gap:24px}
  .wide-art{display:none}
  .hero-radar{right:-260px;opacity:.5}
  .formation{right:0;transform:scale(.85);transform-origin:top right}
}
@media (max-width:920px){
  .cols{grid-template-columns:1fr;gap:44px}
  .contact-cols{grid-template-columns:1fr;gap:44px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:34px}
  .sec{padding:96px 0}
  .sec-head.split{flex-direction:column;align-items:flex-start}
  .statusbar .sb-mid{display:none}
  .mod{flex-basis:330px}
  .gal-slide{flex-basis:84%}
}
@media (max-width:760px){
  .nav{padding:0 20px}
  .nav-links{
    position:fixed;inset:62px 0 auto 0;z-index:49;flex-direction:column;align-items:flex-start;
    gap:4px;padding:18px 26px 26px;background:rgba(4,7,12,.97);border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    transform:translateY(-130%);transition:transform .45s var(--ease);
  }
  .nav-links.open{transform:none}
  .nl{font-size:17px;padding:10px 0;width:100%}
  .nav-cta{margin:12px 0 0}
  .burger{display:flex}
  .hero h1{font-size:clamp(38px,11vw,58px)}
  .hero-sub{font-size:15.5px}
  .hud-top,.hud-bottom,.scroll-cue{display:none}
  .hero-content{padding-bottom:0}
  .hero-badges{font-size:10px;letter-spacing:.2em;gap:12px}
  .kicker{font-size:10.5px;letter-spacing:.3em}
  .rot-wrap{min-width:0}
  .formation{display:none}
  .hero-radar{right:-340px;opacity:.35}
  .tech-grid{grid-template-columns:1fr 1fr}
  .prod-grid{grid-template-columns:1fr}
  .featured,.pcard.wide{grid-column:span 1}
  .wide-inner{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .frow.two{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr 1fr}
  .metric b{font-size:32px}
  .sec-wm{font-size:110px;top:60px}
  .specs{max-height:200px;opacity:1;margin-bottom:16px}
  .pcard-foot .more{opacity:1;transform:none}
  .tcard p{opacity:1;transform:none}
  .tcard{min-height:0}
  .foot-bar-inner{justify-content:center;text-align:center}
  .foot-mid{display:none}
  .gal-slide{flex-basis:92%}
  .gal-cap{flex-direction:column;gap:6px}
  .gal-cap h4{text-align:left;font-size:15px}
}
@media (max-width:520px){
  .foot-grid{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr 1fr}
  .hero-cta .btn{width:100%}
  .mod{flex-basis:86vw}
  .sb-left{display:none}
  .statusbar{justify-content:flex-end;font-size:9.5px}
}

/* touch devices: always show expandable content */
@media (hover:none){
  .specs{max-height:220px;opacity:1;margin-bottom:16px}
  .tcard p{opacity:1;transform:none}
  .pcard-foot .more{opacity:1;transform:none}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.15s !important}
  html{scroll-behavior:auto}
  .rise{opacity:1;transform:none;animation:none}
  .reveal{opacity:1;transform:none}
  h2 .wm i{transform:none}
  #boot{display:none}
  .ticker-track{animation:none}
  .gal-slide .gal-img img{animation:none}
}
