/* =================================================================
   IRON SHIELD SYSTEMS — core stylesheet
   Futuristic LIGHT + emerald design system (v15) + v16 modern elevation
   ================================================================= */
:root{
  /* FUTURISTIC LIGHT theme (v15) — white surfaces, near-black ink, emerald signal, cool hairlines */
  --bg:#ffffff; --bg-2:#f4f7f5; --bg-3:#eaf1ed;
  --ink:#0a1310;
  --ink-2:#0e1a15;
  --panel:#ffffff; --panel-2:#f6faf8;
  --line:#e3eae6; --line-2:#ccd8d2; --line-ink:#1b2620;
  --text:#3f4d47; --heading:#0b1512; --muted:#6a7a72; --muted-2:#93a29a;
  --accent:#0e9f55;
  --accent-hover:#0b8748;
  --accent-bright:#12b866;
  --accent-soft:rgba(14,159,85,.08);
  --accent-ink:#ffffff;
  --danger:#e5484d;
  --radius:6px; --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 1px 2px rgba(12,35,24,.05),0 14px 34px -16px rgba(12,35,24,.16);
  --shadow-lg:0 40px 80px -30px rgba(12,35,24,.24);
  --f-display:'Oswald','Arial Narrow',sans-serif;
  --f-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:var(--f-display);font-weight:600;letter-spacing:.01em;line-height:1.06;margin:0;color:var(--heading)}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
img{max-width:100%;display:block}
.mono{font-family:var(--f-mono)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
.muted{color:var(--muted)}
.accent{color:var(--accent)}
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;display:flex;align-items:center;gap:12px;font-weight:500}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent-bright);display:inline-block;flex:none}
.center{text-align:center}
.center .eyebrow{justify-content:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;padding:14px 28px;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;position:relative}
.btn svg{width:15px;height:15px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(14,143,69,.7)}
.btn-ghost{background:transparent;color:var(--heading);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.btn-onink{background:var(--accent-bright);color:#05231a}
.btn-onink:hover{background:#57e595;transform:translateY(-2px)}

/* ---------- Header / nav ---------- */
header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
header.scrolled{box-shadow:0 8px 30px -22px rgba(15,25,34,.5)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:13px;cursor:pointer}
.brand .logo-mark{height:46px;width:auto;flex:none;display:block}
.brand .logo-word{height:38px;width:auto;flex:none;display:block}
.navlinks{display:flex;align-items:center;gap:2px}
.navlinks a.nl{font-family:var(--f-display);font-weight:500;font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 11px;position:relative;transition:color .2s}
.navlinks a.nl::after{content:"";position:absolute;left:11px;right:11px;bottom:6px;height:2px;background:var(--accent-bright);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
.navlinks a.nl{border-radius:6px;cursor:pointer}
.navlinks a.nl:hover{color:var(--heading);background:var(--accent-soft)}
.navlinks a.nl:hover::after{transform:scaleX(1)}
.navlinks a.nl.active{color:var(--accent)}
.navlinks a.nl.active::after{transform:scaleX(1);background:var(--accent)}
.nav-cta{margin-left:12px}
.navlinks a.btn{color:#fff}
.navlinks a.btn:hover{color:#fff}

/* Products dropdown (normal hover menu) */
.nl-item{position:relative;display:flex;align-items:center}
.nl-item .nl{display:inline-flex;align-items:center;gap:6px}
.nl-item .caret{width:9px;height:9px;transition:transform .2s}
.nl-item:hover .caret{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% - 2px);left:6px;min-width:236px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:130}
.nl-item:hover .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:11px 14px;border-radius:5px;color:var(--muted);transition:.15s;cursor:pointer}
.dropdown a:hover{background:var(--accent-soft)}
.dropdown a b{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;color:var(--heading);display:block}
.dropdown a span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.08em;color:var(--muted-2);text-transform:uppercase;display:block;margin-top:3px}
.dropdown a:hover b{color:var(--accent)}

/* embedded live platform (Informative Platform page) */
.platform-embed-wrap{background:#06100c;border-top:1px solid var(--line-ink)}
.platform-embed{width:100%;height:82vh;min-height:520px;border:0;display:block;background:#06100c}
@media (max-width:720px){ .platform-embed{height:74vh;min-height:440px} }

/* product render gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0}
.shot{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.shot img{width:100%;height:230px;object-fit:contain;display:block;background:linear-gradient(160deg,#fff,#eef3f0)}
.shot .ph{height:230px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--muted-2);background:linear-gradient(160deg,#fff,#eef3f0)}
.shot .ph svg{width:60px;height:60px;color:var(--accent-bright);opacity:.7}
.shot .ph em{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-style:normal}
.shot .cap{padding:14px 16px;border-top:1px solid var(--line)}
.shot .cap b{font-family:var(--f-display);text-transform:uppercase;font-size:1.02rem;color:var(--heading);display:block}
.shot .cap span{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media (max-width:720px){
  .nl-item{display:block}
  .nl-item .caret{float:right;margin-top:6px}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 6px 14px;min-width:0;display:none}
  .nl-item.open .dropdown{display:block}
  .gallery{grid-template-columns:1fr}
}
.burger{display:none;background:none;border:1px solid var(--line-2);border-radius:var(--radius);width:46px;height:42px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.burger span{width:20px;height:2px;background:var(--heading);transition:.25s}

/* ---------- Section rhythm ---------- */
section{padding:104px 0;position:relative}
.tight{padding:74px 0}
.lead{font-size:1.18rem;color:var(--muted);max-width:64ch}
.section-head{max-width:74ch;margin-bottom:58px}
.section-head.center{margin-left:auto;margin-right:auto}
.section-head h2{font-size:clamp(2rem,4.2vw,3.1rem);text-transform:uppercase}
.section-head p{margin-top:18px}

/* blueprint grid bg utility */
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.5;pointer-events:none;z-index:0}
.grid-bg.fade{mask-image:linear-gradient(180deg,#000,transparent);-webkit-mask-image:linear-gradient(180deg,#000,transparent)}

/* HUD corner-bracket frame */
.hud{position:relative}
.hud::before,.hud::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--accent-bright);opacity:.8}
.hud::before{top:-6px;left:-6px;border-right:0;border-bottom:0}
.hud::after{bottom:-6px;right:-6px;border-left:0;border-top:0}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,#f5fbf8 100%)}
.hero canvas#fx{position:absolute;inset:0;z-index:1;width:100%;height:100%}
.hero .hero-glow{position:absolute;top:-14%;right:-8%;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(46,207,106,.16),transparent 62%);z-index:0;filter:blur(4px)}
.hero-inner{position:relative;z-index:3;padding:118px 0 88px}
.hero-tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-2);background:rgba(255,255,255,.6);padding:8px 15px;border-radius:40px;margin-bottom:26px}
.hero-tag .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 0 0 rgba(46,207,106,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,207,106,.55)}70%{box-shadow:0 0 0 12px rgba(46,207,106,0)}100%{box-shadow:0 0 0 0 rgba(46,207,106,0)}}
.hero h1{font-size:clamp(2.7rem,6.2vw,5.4rem);font-weight:700;max-width:15ch;text-transform:uppercase;color:var(--heading)}
.hero h1 em{color:var(--accent);font-style:normal;position:relative}
.hero .lead{margin:26px 0 36px;font-size:1.24rem;max-width:56ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);position:relative;z-index:3}
.metric{padding:26px 26px;border-right:1px solid var(--line)}
.metric:last-child{border-right:none}
.metric .k{font-family:var(--f-display);font-size:2rem;font-weight:700;color:var(--accent);line-height:1}
.metric .l{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:9px}

/* telemetry ticker strip */
.ticker{background:var(--ink);color:#cfe9dc;overflow:hidden;border-bottom:1px solid var(--line-ink)}
.ticker .run{display:flex;gap:56px;white-space:nowrap;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 0;animation:scrollx 42s linear infinite;will-change:transform}
.ticker .run span{display:inline-flex;align-items:center;gap:10px;color:#9fd8bd}
.ticker .run b{color:var(--accent-bright);font-weight:500}
.ticker .run i{width:6px;height:6px;background:var(--accent-bright);border-radius:50%;font-style:normal;flex:none}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- Cards / domains ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-bright),transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.card:hover::before{transform:scaleX(1)}
.card .idx{font-family:var(--f-mono);font-size:.7rem;color:var(--accent);letter-spacing:.16em;font-weight:500}
.card h3{font-size:1.34rem;margin:14px 0 12px;text-transform:uppercase}
.card p{color:var(--muted);font-size:.96rem;margin:0}
.card .ic{width:44px;height:44px;color:var(--accent);margin-bottom:20px}
.card .arrow{margin-top:20px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:8px;align-items:center}
.card .arrow svg{width:14px;height:14px;transition:transform .25s}
.card:hover .arrow svg{transform:translateX(5px)}

/* ---------- Kill-chain scroll story ---------- */
.chain{position:relative}
.chain .track{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.stage{padding:40px 34px;border-right:1px solid var(--line);position:relative}
.stage:last-child{border-right:none}
.stage .n{font-family:var(--f-mono);font-size:.72rem;color:var(--accent);letter-spacing:.2em}
.stage h4{font-size:1.5rem;text-transform:uppercase;margin:12px 0 10px}
.stage p{color:var(--muted);font-size:.94rem;margin:0}
.stage .bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--line)}
.stage .bar::after{content:"";position:absolute;inset:0;background:var(--accent-bright);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.stage.in .bar::after{transform:scaleX(1)}

/* ---------- Product / platform blocks ---------- */
.platform{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:26px;background:var(--panel);box-shadow:var(--shadow);scroll-margin-top:96px}
.platform:nth-child(even) .p-visual{order:-1}
.p-body{padding:48px 46px}
.p-visual{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 40% 30%,rgba(46,207,106,.10),transparent 60%),linear-gradient(140deg,#f3f8f5,#e7f1ec);border-left:1px solid var(--line)}
.platform:nth-child(even) .p-visual{border-left:none;border-right:1px solid var(--line)}
.p-visual .pg{position:absolute;inset:0;background-image:linear-gradient(rgba(14,143,69,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(14,143,69,.09) 1px,transparent 1px);background-size:34px 34px}
.p-visual img{position:relative;z-index:2;max-height:78%;max-width:80%;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(10,40,26,.28))}
.p-visual .scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-bright),transparent);z-index:3;opacity:.7;animation:scanY 4.5s var(--ease) infinite}
@keyframes scanY{0%{top:12%}50%{top:86%}100%{top:12%}}
.p-tag{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.16em;color:var(--muted-2);text-transform:uppercase}
.p-body h3{font-size:2.1rem;margin:10px 0 4px;text-transform:uppercase}
.p-series{font-family:var(--f-mono);color:var(--accent);font-size:.8rem;letter-spacing:.12em;margin-bottom:18px}
.p-body p.desc{color:var(--muted)}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:22px 0}
.specs .s{background:var(--panel);padding:13px 16px}
.specs .s .sk{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.specs .s .sv{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--heading)}
.specs .s .sv small{font-weight:400;color:var(--muted);font-size:.72rem;font-family:var(--f-body)}
.feature-list{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.feature-list li{position:relative;padding-left:22px;font-size:.9rem;color:var(--muted)}
.feature-list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;background:var(--accent-bright);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.p-status{margin-top:24px;display:inline-flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);padding:7px 13px;border-radius:3px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 0 3px var(--accent-soft)}

/* variant chips */
.variants{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.chip{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);border:1px solid var(--line-2);background:var(--panel-2);padding:8px 13px;border-radius:40px}
.chip b{color:var(--accent);font-weight:600}

/* ---------- Inverted (dark) feature ---------- */
.ink{background:var(--ink);color:#dfeee7;position:relative;overflow:hidden;border-top:1px solid var(--line-ink);border-bottom:1px solid var(--line-ink)}
.ink h2,.ink h3,.ink h4{color:#fff}
.ink .muted{color:#96b3a6}
.ink .eyebrow{color:var(--accent-bright)}
.ink .grid-ink{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;opacity:.7}
.ink .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(46,207,106,.20),transparent 60%);filter:blur(10px)}
.sim-wrap{position:relative;z-index:2;border:1px solid var(--line-ink);border-radius:var(--radius);background:rgba(6,16,12,.6);overflow:hidden}
.sim-wrap canvas{display:block;width:100%;height:420px}
.sim-hud{position:absolute;top:14px;left:16px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;color:var(--accent-bright);text-transform:uppercase;z-index:3}
.sim-hud .row{color:#8fbfa9;margin-top:4px}

/* ---------- Stats / rings ---------- */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;background:var(--panel);text-align:center;box-shadow:var(--shadow)}
.stat .k{font-family:var(--f-display);font-weight:700;font-size:2.6rem;color:var(--heading);line-height:1}
.stat .k .u{color:var(--accent);font-size:1.4rem}
.stat .l{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* ---------- Tech stack rows ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.stack{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.stack .row{background:var(--panel);padding:24px 26px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;transition:background .2s}
.stack .row:hover{background:var(--panel-2)}
.stack .row .n{font-family:var(--f-mono);color:var(--accent);font-size:.78rem;padding-top:3px;font-weight:500}
.stack .row h4{font-size:1.1rem;text-transform:uppercase;margin-bottom:6px}
.stack .row p{color:var(--muted);font-size:.92rem;margin:0}

/* ---------- Band ---------- */
.band{background:var(--bg-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.band-cell{background:var(--bg-2);padding:40px 30px;text-align:center}
.band-cell .k{font-family:var(--f-display);font-size:2.2rem;font-weight:700;color:var(--accent)}
.band-cell .l{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* ---------- Compliance / about reuse ---------- */
.comp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.comp{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px 32px;box-shadow:var(--shadow)}
.comp .ic{width:34px;height:34px;color:var(--accent);margin-bottom:18px}
.comp h4{font-size:1.16rem;text-transform:uppercase;margin-bottom:10px}
.comp p{color:var(--muted);font-size:.93rem;margin:0}
.badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.badge{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);background:var(--panel);padding:9px 15px;border-radius:3px;display:flex;align-items:center;gap:9px}
.badge::before{content:"";width:7px;height:7px;background:var(--accent-bright);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.value-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:14px}
.value h4{font-size:1.1rem;text-transform:uppercase;margin-bottom:8px;color:var(--accent)}
.value p{color:var(--muted);font-size:.93rem;margin:0}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.member{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.member .av{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#eaf3ee,#dcebe3);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;color:var(--accent);font-size:1.2rem;margin-bottom:16px}
.member h4{font-size:1.02rem;margin-bottom:3px}
.member .role{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}

/* ---------- CTA ---------- */
.cta-strip{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 85% 30%,rgba(46,207,106,.14),transparent 55%),#f1f8f4;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;box-shadow:var(--shadow)}
.cta-strip h3{font-size:2rem;text-transform:uppercase;max-width:22ch}

/* ---------- Forms ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
form .field{margin-bottom:20px}
label{display:block;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
input,select,textarea{width:100%;background:var(--bg-2);border:1px solid var(--line-2);color:var(--text);padding:13px 15px;border-radius:var(--radius);font-family:inherit;font-size:.95rem;transition:border .18s,box-shadow .18s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
textarea{resize:vertical;min-height:130px}
.contact-info .ci{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:24px 26px;margin-bottom:16px;box-shadow:var(--shadow)}
.contact-info .ci h4{font-size:.95rem;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.contact-info .ci p{margin:0;color:var(--muted);font-size:.93rem}
.form-note{font-size:.8rem;color:var(--muted-2);margin-top:6px}
.form-success{display:none;border:1px solid var(--accent);background:var(--accent-soft);padding:16px 18px;border-radius:var(--radius);color:var(--accent);font-size:.92rem;margin-bottom:20px}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);background:var(--bg-2);padding:66px 0 32px}
.foot-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.foot-brand .brand{margin-bottom:16px}
.foot-col h5{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin:0 0 18px}
.foot-col a{display:block;color:var(--muted);font-size:.92rem;margin-bottom:11px;transition:color .16s}
.foot-col a:hover{color:var(--accent)}
.foot-brand p{color:var(--muted);font-size:.92rem;max-width:40ch}
.foot-bottom{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot-bottom p{margin:0;font-size:.8rem;color:var(--muted-2)}
.foot-legal{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.03em;color:var(--muted-2);max-width:92ch;margin-top:12px !important;line-height:1.7}

/* ---------- Reveal + reticle ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reticle{position:fixed;width:38px;height:38px;pointer-events:none;z-index:999;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s}
.reticle::before,.reticle::after{content:"";position:absolute;inset:0;border:1px solid var(--accent);border-radius:50%}
.reticle::after{inset:12px;border-radius:0;border-color:var(--accent-bright)}
body.reticle-on .reticle.show{opacity:.9}

/* draw-on svg */
.draw path,.draw line,.draw circle,.draw rect,.draw polygon,.draw polyline{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 1.8s var(--ease)}
.draw.in path,.draw.in line,.draw.in circle,.draw.in rect,.draw.in polygon,.draw.in polyline{stroke-dashoffset:0}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .cards,.stat-row,.band-grid,.team{grid-template-columns:repeat(2,1fr)}
  .comp-grid{grid-template-columns:1fr}
  .platform,.platform:nth-child(even){grid-template-columns:1fr}
  .platform:nth-child(even) .p-visual{order:0}
  .p-visual{border-left:none;border-top:1px solid var(--line);min-height:280px}
  .platform:nth-child(even) .p-visual{border-right:none}
  .split,.contact-grid{grid-template-columns:1fr;gap:36px}
  .value-list{grid-template-columns:1fr}
  .chain .track{grid-template-columns:1fr}
  .stage{border-right:none;border-bottom:1px solid var(--line)}
  .hero-metrics{grid-template-columns:repeat(2,1fr)}
  .metric:nth-child(2){border-right:none}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .navlinks{position:fixed;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 22px;transform:translateY(-140%);transition:transform .3s var(--ease);z-index:150}
  .navlinks.open{transform:none}
  .navlinks a.nl{padding:15px 8px;border-bottom:1px solid var(--line)}
  .navlinks a.nl::after{display:none}
  .nav-cta{margin:14px 8px 0}
  .burger{display:flex}
  section{padding:70px 0}
  .hero-inner{padding:74px 0 60px}
  .cards,.stat-row,.band-grid,.team,.hero-metrics{grid-template-columns:1fr}
  .metric{border-right:none;border-bottom:1px solid var(--line)}
  .p-body{padding:32px 26px}
  .specs,.feature-list{grid-template-columns:1fr}
  .cta-strip{padding:38px 28px}
  .foot-top{grid-template-columns:1fr}
  .wrap{padding:0 20px}
  .brand .logo-word{height:32px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .draw path,.draw line,.draw circle,.draw rect,.draw polygon,.draw polyline{stroke-dashoffset:0}
}

/* ---- product configuration galleries (real imagery) ---- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gallery.g4{grid-template-columns:repeat(4,1fr)}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;display:flex;flex-direction:column}
.gcard::before{content:"";position:absolute}
.gcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.gimg{position:relative;height:212px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(160deg,#fff,#eef3f0);border-bottom:1px solid var(--line)}
.gimg img{width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .55s var(--ease)}
.gcard:hover .gimg img{transform:scale(1.05)}
.gimg.dark{background:radial-gradient(circle at 50% 34%,#1d2b25,#0a1310);border-bottom:1px solid var(--line-ink)}
.gimg .gtag{position:absolute;top:12px;left:12px;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(255,255,255,.92);border:1px solid var(--line);padding:5px 10px;border-radius:20px;z-index:2}
.gimg.dark .gtag{background:rgba(8,16,12,.66);color:var(--accent-bright);border-color:rgba(46,207,106,.32)}
.gbody{padding:20px 20px 22px;flex:1;display:flex;flex-direction:column}
.gbody .idx{font-family:var(--f-mono);font-size:.66rem;color:var(--accent);letter-spacing:.16em;font-weight:500}
.gbody h3{font-size:1.1rem;margin:9px 0 8px;text-transform:uppercase;line-height:1.15}
.gbody p{color:var(--muted);font-size:.9rem;margin:0 0 14px;line-height:1.55}
.gspec{margin-top:auto;display:flex;flex-wrap:wrap;gap:7px}
.gspec span{font-family:var(--f-mono);font-size:.63rem;letter-spacing:.03em;color:var(--heading);border:1px solid var(--line-2);background:var(--panel-2);padding:5px 9px;border-radius:30px}
.gspec span b{color:var(--accent);font-weight:600}
.p-visual.dark{background:radial-gradient(circle at 42% 28%,rgba(46,207,106,.12),transparent 55%),radial-gradient(circle at 52% 62%,#18231e,#091210)}
.p-visual.dark .pg{opacity:.45}
.p-visual.dark img{filter:drop-shadow(0 24px 40px rgba(0,0,0,.55))}
.units{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:940px;margin:0 auto}
.unit-chip{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--heading);border:1px solid var(--line-2);background:var(--panel);padding:9px 15px;border-radius:40px;box-shadow:var(--shadow);transition:transform .2s var(--ease),border-color .2s}
.unit-chip:hover{transform:translateY(-2px);border-color:var(--accent)}
.unit-chip b{color:var(--accent);font-weight:600}

/* ---- unified product signature: HUD corner-bracket frames + cross-nav ---- */
.p-visual::after{content:"";position:absolute;inset:15px;pointer-events:none;z-index:4;opacity:.6;
  background:
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/18px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/2px 18px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 0/18px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 0/2px 18px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 100%/18px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 100%/2px 18px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/18px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/2px 18px no-repeat;}
.p-visual::before{content:"◢ VISUAL FEED";position:absolute;top:17px;left:20px;z-index:4;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.22em;color:var(--accent);opacity:.62}
.p-visual.dark::before{color:var(--accent-bright)}
.gimg::after{content:"";position:absolute;inset:9px;pointer-events:none;z-index:3;opacity:.34;
  background:
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/11px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/2px 11px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 0/11px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 0/2px 11px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 100%/11px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 100%/2px 11px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/11px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/2px 11px no-repeat;}
.gcard:hover .gimg::after{opacity:.7}
.prodnav-band{border-top:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.prodnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:30px 0}
.pn{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-decoration:none;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;box-shadow:var(--shadow);overflow:hidden}
.pn::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--accent-bright);transform:scaleY(0);transition:transform .3s var(--ease)}
.pn.next::before{left:auto;right:0}
.pn:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--shadow-lg)}
.pn:hover::before{transform:scaleY(1)}
.pn.next{text-align:right;align-items:flex-end}
.pn-k{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px}
.pn-n{font-family:var(--f-display);font-size:1.16rem;text-transform:uppercase;color:var(--heading);line-height:1.1}
.pn-s{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;color:var(--muted)}
@media(max-width:560px){.prodnav{grid-template-columns:1fr}}

/* ================= BOLD cinematic product hero (v13) ================= */
.phero{position:relative;overflow:hidden;background:#07110d;color:#eaf3ee;padding:clamp(80px,12vh,132px) 0 46px;border-bottom:1px solid var(--line-ink)}
.phero-fx{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
   radial-gradient(1100px 640px at 80% 26%, rgba(46,207,106,.17), transparent 60%),
   radial-gradient(760px 520px at 6% 96%, rgba(14,143,69,.16), transparent 60%),
   linear-gradient(rgba(46,207,106,.055) 1px, transparent 1px),
   linear-gradient(90deg, rgba(46,207,106,.055) 1px, transparent 1px),
   #07110d;
  background-size:auto,auto,42px 42px,42px 42px,auto;
  animation:pheroGrid 24s linear infinite}
@keyframes pheroGrid{to{background-position:0 0,0 0,0 420px,420px 0,0 0}}
.phero-fx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(transparent,#07110d)}
.phero-scan{position:absolute;left:0;right:0;top:0;height:2px;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(46,207,106,.65),transparent);animation:pheroScan 6.5s var(--ease) infinite}
@keyframes pheroScan{0%{top:6%;opacity:0}18%{opacity:1}82%{opacity:1}100%{top:94%;opacity:0}}
.phero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.08fr;gap:44px;align-items:center;min-height:auto}
.phero-copy .eyebrow{color:var(--accent-bright)}
.phero-title{font-family:var(--f-display);font-weight:700;font-size:clamp(2.7rem,6.4vw,4.8rem);line-height:.96;text-transform:uppercase;margin:0 0 12px;color:#fff}
.phero-series{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.24em;color:var(--accent-bright);text-transform:uppercase;margin-bottom:22px}
.phero-lead{color:#b6cabf;font-size:1.07rem;line-height:1.6;max-width:46ch;margin:0 0 30px}
.phero-cta{display:flex;gap:14px;flex-wrap:wrap}
.phero .btn-onink{background:transparent;color:#eaf3ee;border-color:rgba(255,255,255,.22)}
.phero .btn-onink:hover{border-color:var(--accent-bright);color:var(--accent-bright);background:rgba(46,207,106,.06)}
.phero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}
.phero-visual img{position:relative;z-index:2;max-height:84%;max-width:94%;object-fit:contain}
.phero-visual.float img{filter:drop-shadow(0 34px 66px rgba(0,0,0,.62))}
.phero-visual.panel{background:linear-gradient(158deg,#ffffff,#e7edef);border-radius:10px;box-shadow:0 44px 90px -34px rgba(0,0,0,.7);overflow:hidden}
.phero-visual.panel img{filter:drop-shadow(0 18px 26px rgba(10,40,26,.22));max-height:80%}
.phero-visual .pg{position:absolute;inset:0;background-image:linear-gradient(rgba(46,207,106,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(46,207,106,.09) 1px,transparent 1px);background-size:32px 32px;opacity:.55}
.phero-visual.panel .pg{background-image:linear-gradient(rgba(14,143,69,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(14,143,69,.08) 1px,transparent 1px)}
.phero-visual .scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-bright),transparent);z-index:3;opacity:.7;animation:scanY 4.5s var(--ease) infinite}
.phero-visual::before{content:"◢ LIVE FEED";position:absolute;top:12px;left:14px;z-index:4;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.22em;color:var(--accent-bright);opacity:.72}
.phero-visual.panel::before{color:var(--accent)}
.phero-visual::after{content:"";position:absolute;inset:8px;pointer-events:none;z-index:4;opacity:.62;
  background:
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/22px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/2px 22px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 0/22px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 0/2px 22px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 100%/22px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 0 100%/2px 22px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/22px 2px no-repeat,
    linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/2px 22px no-repeat}
.phero-metrics{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid rgba(255,255,255,.12)}
.pm{padding:24px 10px 6px;border-right:1px solid rgba(255,255,255,.07)}
.pm:last-child{border-right:none}
.pm .k{font-family:var(--f-display);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff;line-height:1}
.pm .k small{font-size:.86rem;color:var(--accent-bright);font-weight:500}
.pm .l{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#89ad9d;margin-top:9px}
.datasheet{background:var(--panel-2)}
.ds-split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start;margin-top:8px}
/* sticky in-page product sub-nav */
.psub{position:sticky;top:64px;z-index:90;background:rgba(255,255,255,.9);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}
.psub-in{display:flex;align-items:center;gap:6px;height:52px;overflow-x:auto}
.psub .cur{font-family:var(--f-display);font-size:.92rem;text-transform:uppercase;color:var(--heading);margin-right:18px;white-space:nowrap}
.psub a{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:8px 13px;border-radius:30px;white-space:nowrap;transition:color .2s,background .2s}
.psub a:hover{color:var(--accent);background:var(--accent-soft)}
/* bolder staggered reveals */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.gcard.reveal,.card.reveal{transition-delay:.04s}
@media(max-width:860px){.phero-inner{grid-template-columns:1fr;gap:26px;min-height:auto}.phero-metrics{grid-template-columns:repeat(2,1fr)}.pm:nth-child(2){border-right:none}.ds-split{grid-template-columns:1fr;gap:26px}.psub{top:58px}}
@media(max-width:900px){.gallery,.gallery.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gallery,.gallery.g4{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1 !important;transform:none !important} .phero-fx,.phero-scan,.phero-visual .scan{animation:none !important} }

/* ================= v15 FUTURISTIC LIGHT theme + full-viewport hero ================= */
.btn-primary,.navlinks a.btn,.navlinks a.btn:hover{color:#fff}
.btn-onink{background:var(--accent);color:#fff}
.btn-onink:hover{background:var(--accent-hover);color:#fff;transform:translateY(-2px)}
header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
header.scrolled{box-shadow:0 10px 34px -24px rgba(12,35,24,.4)}
.logo-word{filter:none}
.dropdown{background:rgba(255,255,255,.94);border-color:var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero{background:
   radial-gradient(1200px 600px at 82% 4%, rgba(18,184,102,.10), transparent 58%),
   radial-gradient(900px 560px at 0% 100%, rgba(56,120,200,.055), transparent 60%),
   linear-gradient(180deg,#ffffff 0%,#f2f7f4 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
   background-image:linear-gradient(rgba(11,21,18,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,21,18,.05) 1px,transparent 1px);
   background-size:48px 48px;
   -webkit-mask-image:radial-gradient(126% 92% at 72% 16%,#000 38%,transparent 78%);
   mask-image:radial-gradient(126% 92% at 72% 16%,#000 38%,transparent 78%)}
.hero-tag{background:rgba(255,255,255,.72);border-color:var(--line-2)}
.psub{background:rgba(255,255,255,.8);backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
.cta-strip{background:radial-gradient(circle at 88% 18%,rgba(18,184,102,.12),transparent 55%),linear-gradient(160deg,#ffffff,#edf5f0);border-color:var(--line)}
.p-visual{background:radial-gradient(circle at 42% 24%,rgba(18,184,102,.09),transparent 55%),linear-gradient(150deg,#ffffff,#e8f0ec)}
.ticker{background:linear-gradient(180deg,#f2f7f4,#ecf3ef);color:var(--heading);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ticker .run span{color:var(--muted)}
.ticker .run b{color:var(--accent)}
.ticker .run i{background:var(--accent-bright)}
.ink{background:
   radial-gradient(900px 520px at 10% 0%, rgba(18,184,102,.07), transparent 60%),
   linear-gradient(180deg,#f4f9f6,#edf3ef);
   color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ink h2,.ink h3,.ink h4{color:var(--heading)}
.ink .muted{color:var(--muted)}
.ink .eyebrow{color:var(--accent)}
.ink .grid-ink{background-image:linear-gradient(rgba(11,21,18,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,21,18,.045) 1px,transparent 1px);opacity:1}
.ink .glow{background:radial-gradient(circle,rgba(18,184,102,.10),transparent 60%)}
.sim-wrap{border:1px solid var(--line-ink);background:#0a1310;box-shadow:var(--shadow-lg)}
.sim-hud{color:var(--accent-bright)}
.sim-hud .row{color:#8fbfa9}
.card,.comp,.stat,.member,.gcard,.contact-info .ci{background:linear-gradient(180deg,#ffffff,#fafcfb)}
.phero{min-height:auto;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,4.5vh,58px) 0 32px;
   background:linear-gradient(180deg,#ffffff 0%,#f2f7f4 100%);color:var(--heading);border-bottom:1px solid var(--line)}
.phero-fx{
   background:
    radial-gradient(1100px 640px at 80% 20%, rgba(18,184,102,.11), transparent 60%),
    radial-gradient(760px 520px at 3% 98%, rgba(56,120,200,.06), transparent 60%),
    linear-gradient(rgba(11,21,18,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,21,18,.05) 1px, transparent 1px),
    #ffffff;
   background-size:auto,auto,46px 46px,46px 46px,auto}
.phero-fx::after{background:linear-gradient(transparent,#ffffff)}
.phero-scan{background:linear-gradient(90deg,transparent,rgba(18,184,102,.45),transparent)}
.phero-copy .eyebrow{color:var(--accent)}
.phero-title{font-size:clamp(3rem,8vw,6.4rem);color:var(--heading)}
.phero-series{color:var(--accent)}
.phero-lead{color:var(--muted)}
.phero .btn-onink{background:var(--accent);color:#fff;border-color:transparent}
.phero .btn-onink:hover{background:var(--accent-hover);color:#fff}
.phero-metrics{border-top:1px solid var(--line)}
.pm{border-right:1px solid var(--line)}
.pm:last-child{border-right:none}
.pm .k{color:var(--heading)}
.pm .k small{color:var(--accent)}
.pm .l{color:var(--muted)}
.phero-visual{min-height:clamp(300px,36vh,430px)}
.phero-visual img{max-height:88%;max-width:98%}
.phero-visual.float img{max-height:96%;max-width:100%;filter:drop-shadow(0 30px 52px rgba(12,35,24,.26))}
.phero-visual::before{color:var(--accent)}
.phero-ghost{position:absolute;z-index:0;bottom:-3%;right:-1%;font-family:var(--f-display);font-weight:700;font-size:clamp(9rem,30vw,26rem);line-height:.72;color:rgba(11,21,18,.036);text-transform:uppercase;letter-spacing:-.02em;pointer-events:none;white-space:nowrap;user-select:none}

/* =====================================================================
   v16 — MODERN "WOW" ELEVATION  (light, emerald, cinematic)
   Layered on top of the v15 futuristic-light system.
   ===================================================================== */

/* larger radius system + premium motion tokens */
:root{
  --r-lg:20px; --r-md:14px; --r-sm:10px;
  --wow-ease:cubic-bezier(.16,1,.3,1);
  --mesh-1:rgba(18,184,102,.16); --mesh-2:rgba(58,132,224,.10); --mesh-3:rgba(120,90,230,.07);
}

/* premium base + fluid rhythm */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
section{padding:clamp(46px,5.5vw,78px) 0}
.tight{padding:clamp(34px,4vw,58px) 0}

/* film-grain texture (fixed, ultra-subtle) */
body::after{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.03;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px}

/* cursor-follow glow (JS sets --mx/--my) */
#cursor-glow{position:fixed;width:600px;height:600px;left:var(--mx,-800px);top:var(--my,-800px);transform:translate(-50%,-50%);
  border-radius:50%;pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:0;transition:opacity .5s var(--wow-ease);
  background:radial-gradient(circle,rgba(18,184,102,.10),rgba(18,184,102,0) 60%)}
body.glow-on #cursor-glow{opacity:1}
@media (hover:none){#cursor-glow{display:none}}

/* ---------- kinetic display type ---------- */
.hero h1{font-size:clamp(3.1rem,8.6vw,7.6rem);line-height:.92;letter-spacing:-.015em}
.section-head h2{font-size:clamp(2.1rem,4.8vw,3.6rem);letter-spacing:-.015em;line-height:1.02}
.kin-line{display:block;overflow:hidden}
.kin-line > span{display:inline-block;transform:translateY(115%);opacity:.001;transition:transform 1s var(--wow-ease),opacity 1s var(--wow-ease)}
.kin-line.in > span{transform:none;opacity:1}
.kin-line:nth-child(2) > span{transition-delay:.09s}
.kin-line:nth-child(3) > span{transition-delay:.18s}
.kin-line:nth-child(4) > span{transition-delay:.27s}

/* ---------- pill + sheen buttons, magnetic ---------- */
.btn{border-radius:999px;padding:15px 30px;will-change:transform;transition:transform .3s var(--wow-ease),box-shadow .3s,background .25s,color .25s,border-color .25s}
.btn-primary{background:linear-gradient(120deg,var(--accent),var(--accent-bright));color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 26px -12px rgba(14,159,85,.6)}
.btn-primary::after{content:"";position:absolute;top:0;left:0;height:100%;width:60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-180%) skewX(-16deg);transition:transform .7s var(--wow-ease)}
.btn-primary:hover{box-shadow:0 18px 40px -14px rgba(14,159,85,.7)}
.btn-primary:hover::after{transform:translateX(320%) skewX(-16deg)}
.btn-ghost{border-radius:999px;border-color:var(--line-2);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--accent);background:var(--accent-soft)}
.mag{display:inline-block}

/* ---------- animated aurora mesh (hero / feature) ---------- */
.aurora{position:absolute;inset:-20% -10% auto -10%;height:150%;z-index:0;pointer-events:none;filter:blur(30px);opacity:.9;
  background:
    radial-gradient(42% 46% at 78% 18%,var(--mesh-1),transparent 60%),
    radial-gradient(38% 42% at 12% 8%,var(--mesh-2),transparent 60%),
    radial-gradient(44% 50% at 60% 92%,var(--mesh-3),transparent 62%);
  animation:auroraDrift 20s ease-in-out infinite alternate}
@keyframes auroraDrift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-3%,2%,0) scale(1.08)}100%{transform:translate3d(3%,-2%,0) scale(1.04)}}

/* ---------- larger radii + glass on surfaces ---------- */
.card,.gcard,.comp,.stat,.member,.sim-wrap,.cta-strip,.shot,.contact-info .ci,.stack,.specs,.chain .track,.platform,.badge,.chip,.unit-chip,.hero-tag{border-radius:var(--r-md)}
.card,.gcard,.comp,.stat,.member{border-radius:var(--r-lg)}
.p-visual{border-radius:0}

/* refined card hover */
.card{transition:transform .45s var(--wow-ease),box-shadow .45s,border-color .3s}
.card:hover{transform:translateY(-8px)}

/* ---------- BENTO grid (product lines) ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,1fr);gap:16px;margin-top:8px}
.bento .b{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(160deg,#fff,#f4f8f6);padding:26px 26px 24px;display:flex;flex-direction:column;justify-content:flex-end;min-height:210px;
  text-decoration:none;color:inherit;isolation:isolate;transition:transform .5s var(--wow-ease),box-shadow .5s,border-color .35s}
.bento .b::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 90% at 90% 8%,var(--accent-soft),transparent 60%);opacity:.9}
.bento .b .bimg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:0;transition:opacity .6s,transform 1.2s var(--wow-ease);transform:scale(1.06)}
.bento .b:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.bento .b.lg{grid-column:span 2;grid-row:span 2;justify-content:space-between}
.bento .b.wide{grid-column:span 2}
.bento .b.full{grid-column:span 4;min-height:150px;flex-direction:row;align-items:center;justify-content:space-between;gap:24px}
.bento .b .bic{width:40px;height:40px;color:var(--accent);margin-bottom:auto}
.bento .b.lg .bic{width:52px;height:52px}
.bento .b .bidx{position:absolute;top:24px;right:26px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em;color:var(--muted-2);z-index:2}
.bento .b h3{font-size:1.3rem;text-transform:uppercase;margin:16px 0 8px;letter-spacing:-.01em}
.bento .b.lg h3{font-size:clamp(1.8rem,2.6vw,2.5rem)}
.bento .b p{color:var(--muted);font-size:.93rem;margin:0;max-width:44ch}
.bento .b .barrow{margin-top:16px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:8px;align-items:center}
.bento .b .barrow svg{width:14px;height:14px;transition:transform .3s var(--wow-ease)}
.bento .b:hover .barrow svg{transform:translateX(6px)}
/* image cells: darken + reveal image on the large + wide featured cells */
.bento .b.media{color:#fff;border-color:transparent}
.bento .b.media::before{background:linear-gradient(180deg,rgba(6,16,12,.15),rgba(6,16,12,.82));opacity:1;z-index:-1}
.bento .b.media .bimg{opacity:1}
.bento .b.media:hover .bimg{transform:scale(1.12)}
.bento .b.media h3{color:#fff}
.bento .b.media p{color:rgba(230,244,237,.86)}
.bento .b.media .bidx{color:rgba(210,240,225,.8)}
.bento .b.media .bic{color:var(--accent-bright)}
.bento .b.media .barrow{color:var(--accent-bright)}
@media(max-width:900px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento .b.lg{grid-column:span 2;grid-row:span 1}
  .bento .b.wide,.bento .b.full{grid-column:span 2;flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){ .bento{grid-template-columns:1fr} .bento .b,.bento .b.lg,.bento .b.wide,.bento .b.full{grid-column:span 1} }

/* ---------- marquee (trust / capability strip) ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f6faf8);padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .mtrack{display:flex;gap:56px;white-space:nowrap;width:max-content;animation:mq 38s linear infinite}
.marquee:hover .mtrack{animation-play-state:paused}
.marquee .mi{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;color:var(--heading);opacity:.72}
.marquee .mi::before{content:"";width:7px;height:7px;background:var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- scroll cue ---------- */
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:9px;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);opacity:.8}
.scroll-cue .rail{width:1px;height:46px;background:linear-gradient(var(--accent),transparent);position:relative;overflow:hidden}
.scroll-cue .rail::after{content:"";position:absolute;top:-40%;left:0;width:100%;height:40%;background:var(--accent);animation:cueRun 1.8s var(--wow-ease) infinite}
@keyframes cueRun{to{top:110%}}

/* ---------- reveal easing polish + parallax ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--wow-ease),transform .9s var(--wow-ease)}
.reveal.in{opacity:1;transform:none}
[data-parallax]{will-change:transform}

/* ---------- big kinetic stat band ---------- */
.stat .k{font-size:clamp(2.6rem,4vw,3.6rem);letter-spacing:-.02em}
.metric .k{font-size:clamp(1.9rem,2.6vw,2.4rem)}

/* section-heads a touch more dramatic */
.eyebrow{font-size:.7rem;letter-spacing:.3em}

/* nav pill CTA already inherits pill; make wordmark crisper */
.nav-cta{box-shadow:0 8px 22px -12px rgba(14,159,85,.55)}

@media (prefers-reduced-motion:reduce){
  .kin-line > span{transform:none;opacity:1}
  .aurora,.scroll-cue .rail::after,.marquee .mtrack{animation:none !important}
  #cursor-glow{display:none}
  .btn-primary::after{display:none}
}

/* ---- v16 fix: bento large-cell image legibility (light scrim + dark text) ---- */
.bento .b.lg{color:inherit}
.bento .b.lg .bimg{opacity:1;transform:scale(1.02);background-position:center 42%}
.bento .b.lg:hover .bimg{transform:scale(1.07)}
.bento .b.lg::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(246,250,248,.04) 0%,rgba(246,250,248,.40) 44%,rgba(246,250,248,.88) 73%,rgba(246,250,248,.98) 100%)}
.bento .b.lg .bic,.bento .b.lg > div{position:relative;z-index:2}
.bento .b.lg .bidx{z-index:2;color:var(--muted-2)}
.bento .b.lg h3{text-shadow:0 1px 12px rgba(246,250,248,.7)}

/* ---- v16 fix 2: flagship bento cell = bold typographic tile (no photo) ---- */
.bento .b.lg .bimg{display:none}
.bento .b.lg::after{display:none}
.bento .b.lg{background:
   radial-gradient(88% 78% at 100% 0%, rgba(18,184,102,.16), transparent 58%),
   linear-gradient(155deg,#ffffff 0%,#eef6f1 100%);
   justify-content:space-between;overflow:hidden}
.bento .b.lg .bwm{position:absolute;right:-11%;top:4%;width:64%;height:auto;color:var(--accent);opacity:.07;z-index:0;pointer-events:none}
.bento .b.lg .bic,.bento .b.lg .bidx,.bento .b.lg > div{position:relative;z-index:2}
.bento .b.lg h3{font-size:clamp(1.9rem,2.7vw,2.6rem);text-shadow:none}
.bento .b.lg p{max-width:42ch}

/* ================= v17 — radar-dome hero + live counters + product bento ================= */
.hero-inner{position:relative;z-index:3;display:block;padding:clamp(78px,12vh,140px) 0 26px}
.hero-copy{max-width:600px;position:relative;z-index:3}
#herodome{position:absolute;right:-3%;top:0;height:100%;width:60%;z-index:1;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 26%);mask-image:linear-gradient(90deg,transparent,#000 26%)}
@media(max-width:900px){#herodome{opacity:.3;width:100%;right:0}}
.hero-live{position:absolute;right:2px;bottom:158px;z-index:4;background:rgba(255,255,255,.76);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:18px 22px;box-shadow:var(--shadow-lg);min-width:290px}
.hl-head{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.hl-head .lv{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(14,159,85,.15)}
.hl-row{display:flex;justify-content:space-between;align-items:baseline;gap:26px;padding:7px 0;border-top:1px solid var(--line)}
.hl-k{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hl-v{font-family:var(--f-display);font-weight:700;font-size:1.5rem;color:var(--heading);line-height:1}
.hl-v.g{color:var(--accent)}
.hl-v small{font-size:.9rem;color:var(--muted)}
@media(max-width:900px){.hero-live{position:static;margin-top:28px;min-width:0;max-width:340px}}

/* --- bento reset → product image cards --- */
.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:16px}
.bento .b{padding:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;min-height:296px;grid-column:span 1;grid-row:span 1;background:linear-gradient(180deg,#ffffff,#fbfdfc)}
.bento .b.w2{grid-column:span 2}
.bento .b::before,.bento .b .bwm{display:none}
.bento .b .bframe{position:relative;flex:1;min-height:140px;background:linear-gradient(160deg,#ffffff,#e8f1eb);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.bento .b .bframe img{width:100%;height:100%;object-fit:contain;padding:16px;transition:transform 1s var(--wow-ease)}
.bento .b:hover .bframe img{transform:scale(1.05)}
.bento .b .bframe::after{content:"";position:absolute;inset:11px;pointer-events:none;opacity:.45;background:
  linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/14px 2px no-repeat,
  linear-gradient(var(--accent-bright),var(--accent-bright)) 0 0/2px 14px no-repeat,
  linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/14px 2px no-repeat,
  linear-gradient(var(--accent-bright),var(--accent-bright)) 100% 100%/2px 14px no-repeat}
.bento .b .bframe .bfeed{position:absolute;top:12px;left:14px;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:.7;z-index:2}
.bento .b .bbody{padding:20px 24px 24px;position:relative;z-index:2}
.bento .b .bidx{position:static;color:var(--muted-2);margin:0 0 8px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em}
.bento .b h3{font-size:1.18rem;text-transform:uppercase;margin:0 0 7px;letter-spacing:-.01em}
.bento .b p{color:var(--muted);font-size:.89rem;margin:0}
.bento .b .barrow{margin-top:13px}
.bento .b.noimg{justify-content:center;background:radial-gradient(90% 80% at 92% 8%,var(--accent-soft),transparent 60%),linear-gradient(160deg,#ffffff,#eef6f1)}
.bento .b.noimg .bbody{padding:30px 30px}
.bento .b.noimg h3{font-size:1.5rem}
@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}.bento .b.w2{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bento .b,.bento .b.w2{grid-column:span 1}}

/* ================= v17 fix — radar-dome hero sizing ================= */
.hero{padding:0;min-height:88vh;display:flex;flex-direction:column;justify-content:center}
.hero-inner{padding:clamp(18px,4vh,40px) 0 20px;min-height:auto}
.hero h1{font-size:clamp(2.4rem,4.7vw,4.4rem);line-height:.96}
.hero-copy{max-width:558px}
.hero .lead{font-size:1.08rem;max-width:48ch}
#herodome{width:56%;right:-2%}
.hero-live{right:8px;bottom:60px;top:auto}
@media(max-width:900px){.hero-live{position:static;margin-top:26px}}

/* ================= v17 fix2 — hero column alignment ================= */
.hero-inner{display:flex !important;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;min-height:84vh}
.hero-copy{max-width:560px;width:100%;text-align:left}
.hero h1{font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.0;letter-spacing:-.01em}
.hero .hero-tag{margin-bottom:22px}
.hero .lead{max-width:46ch;font-size:1.05rem}
#herodome{width:54%;right:-3%;top:0}
.hero-live{right:12px;bottom:34px;top:auto;min-width:272px}
@media(max-width:900px){.hero-live{position:static;margin-top:24px}.hero-inner{align-items:stretch}}

/* ================= A · home — live interception theater hero ================= */
.ahero{position:relative;min-height:clamp(560px,72vh,780px);overflow:hidden;display:block;padding:0;
  background:radial-gradient(120% 92% at 80% 16%,rgba(18,184,102,.10),transparent 60%),linear-gradient(180deg,#ffffff,#eef4f0)}
.ahero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(11,21,18,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,21,18,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(120% 100% at 70% 34%,#000 42%,transparent 82%);mask-image:radial-gradient(120% 100% at 70% 34%,#000 42%,transparent 82%)}
.ahero #homefx{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.ahero > .wrap{position:relative;height:clamp(560px,72vh,780px);z-index:4}
.ahero-copy{position:absolute;left:30px;top:50%;transform:translateY(-50%);max-width:558px}
.ahero-copy h1{font-size:clamp(2.3rem,4.4vw,4rem);line-height:.98;letter-spacing:-.01em}
.ahero-copy .lead{max-width:46ch;font-size:1.06rem;margin:22px 0 30px}
.ahero-top{position:absolute;top:96px;right:40px;z-index:5;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;gap:22px}
.ahero-top b{color:var(--accent)}
.ahero-live{position:absolute;right:40px;bottom:44px;z-index:5;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:18px 22px;box-shadow:var(--shadow-lg);min-width:290px}
.ahero-live .hl-v.r{color:var(--danger)}
@media(max-width:900px){.ahero{min-height:0}.ahero > .wrap{height:auto;padding-top:120px;padding-bottom:36px}.ahero-copy{position:static;transform:none;max-width:none}.ahero-top{display:none}.ahero-live{position:static;margin:24px 30px 40px;min-width:0;max-width:340px}.ahero #homefx{opacity:.5}}

/* ---- A/B hero shared polish + tech chips ---- */
.ahero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.ahero-copy h1{text-transform:uppercase}
.ahero-copy h1 em{color:var(--accent);font-style:normal}
.ahero-chips{position:absolute;left:30px;bottom:42px;z-index:5;display:flex;gap:10px;flex-wrap:wrap;max-width:620px}
.ahero-chip{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--heading);border:1px solid var(--line);background:rgba(255,255,255,.74);padding:9px 14px;border-radius:999px}
.ahero-chip b{color:var(--accent)}
@media(max-width:900px){.ahero-chips{position:static;margin:24px 30px 36px}}

/* ================= C · about — threat / shield split ================= */
.chero{position:relative;min-height:clamp(430px,54vh,580px);overflow:hidden;background:linear-gradient(180deg,#ffffff,#eef4f0)}
.chero .threat{position:absolute;inset:0;z-index:1;background:radial-gradient(60% 60% at 82% 18%,rgba(229,72,77,.16),transparent 60%),linear-gradient(135deg,#0c1512,#060d0b);clip-path:polygon(100% 0,100% 100%,36% 0)}
.chero .threat .g{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;clip-path:polygon(100% 0,100% 100%,36% 0)}
.chero .divide{position:absolute;top:-10%;left:36%;width:2px;height:150%;transform:rotate(33deg);transform-origin:top;background:linear-gradient(var(--accent-bright),transparent);box-shadow:0 0 22px rgba(22,194,100,.6);z-index:2;pointer-events:none}
.chero .cdome{position:absolute;left:2%;bottom:2%;width:46%;height:54%;border-radius:50% 50% 0 0/100% 100% 0 0;border:2px solid rgba(14,159,85,.42);border-bottom:none;z-index:1;background:radial-gradient(120% 80% at 50% 100%,rgba(14,159,85,.08),transparent 62%)}
.chero .drone{position:absolute;right:9%;top:18%;width:290px;z-index:3;color:#e7edea;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}
.chero .retic{position:absolute;right:9%;top:16%;width:330px;height:240px;z-index:4;border:1px solid rgba(229,72,77,.7)}
.chero .retic::before,.chero .retic::after{content:"";position:absolute;background:rgba(229,72,77,.85)}
.chero .retic::before{left:50%;top:-10px;width:1px;height:20px}
.chero .retic::after{left:-10px;top:50%;height:1px;width:20px}
.chero .tlabel{position:absolute;right:9%;top:11%;z-index:5;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;color:#ff8f92;text-transform:uppercase}
.chero > .wrap{position:relative;height:clamp(430px,54vh,580px);z-index:6}
.chero-copy{position:absolute;left:30px;top:43%;transform:translateY(-50%);max-width:540px}
.chero-copy h1{text-transform:uppercase;font-size:clamp(2.3rem,4.4vw,3.9rem);line-height:.96;color:var(--heading)}
.chero-copy h1 em{color:var(--accent);font-style:normal}
.chero-copy .eyebrow{color:var(--accent)}
.chero-copy .lead{max-width:38ch}
@media(max-width:900px){.chero{min-height:0}.chero .threat,.chero .threat .g{clip-path:polygon(100% 0,100% 42%,0 42%,0 0)}.chero .divide{display:none}.chero .drone,.chero .retic,.chero .tlabel{right:6%;width:190px}.chero .retic{width:210px;height:150px}.chero > .wrap{height:auto;padding-bottom:40px}.chero-copy{position:static;transform:none;padding-top:44vh;max-width:none}}

/* v18 — home headline fit (Iron Shield) */
.ahero-copy{max-width:600px}
.ahero-copy h1{font-size:clamp(2rem,3.55vw,3.35rem);line-height:1.0}

/* ================= v18 bento — ghosted product image per tile ================= */
.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:16px}
.bento .b{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 24px 20px;min-height:224px;grid-column:span 1;border:1px solid var(--line);border-radius:var(--r-lg);
  background:radial-gradient(94% 84% at 90% 4%,var(--accent-soft),transparent 56%),linear-gradient(180deg,#ffffff,#f1f6f3)}
.bento .b.w2{grid-column:span 2}
.bento .b .bframe{display:none}
.bento .b .bimg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 24%;opacity:.5;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 30%,rgba(0,0,0,.22) 64%,transparent 88%);
  mask-image:linear-gradient(180deg,#000 0%,#000 30%,rgba(0,0,0,.22) 64%,transparent 88%);
  transition:opacity .55s var(--wow-ease),transform 1.1s var(--wow-ease)}
.bento .b:hover .bimg{opacity:.62;transform:scale(1.045)}
.bento .b::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(241,246,243,.28) 6%,rgba(241,246,243,.42) 34%,rgba(241,246,243,.9) 66%,#f1f6f3 100%)}
.bento .b .bbody{position:relative;z-index:2}
.bento .b .bidx{position:static;color:var(--muted-2);margin:0 0 8px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em}
.bento .b h3{font-size:1.18rem;text-transform:uppercase;margin:0 0 7px;letter-spacing:-.01em}
.bento .b p{color:var(--muted);font-size:.89rem;margin:0}
.bento .b .barrow{margin-top:13px;display:inline-flex;gap:8px;align-items:center;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.bento .b .bfeed2{position:absolute;top:15px;left:20px;z-index:2;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:.75}
.bento .b .blurk{position:absolute;right:-2%;top:50%;transform:translateY(-52%);width:42%;z-index:0;color:var(--accent);opacity:.15;pointer-events:none}
.bento .b.noimg{justify-content:center}
.bento .b.noimg::after{display:none}
@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}.bento .b.w2{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bento .b,.bento .b.w2{grid-column:span 1}}

/* ===== v18 legal pages (privacy / terms) ===== */
.legal{max-width:78ch}
.legal p{color:var(--muted);line-height:1.75;margin:0 0 15px;font-size:1rem}
.legal>p:first-child{font-size:1.1rem;color:var(--heading);line-height:1.7;margin-bottom:24px}
.legal h3{margin:34px 0 10px;font-size:1.05rem;letter-spacing:.005em;color:var(--heading);font-weight:700}
.legal a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(14,159,85,.35)}
.legal a:hover{border-bottom-color:var(--accent)}

/* ===== v19 — About hero live tracking + tighter footer disclaimer ===== */
@media (prefers-reduced-motion:no-preference){
  @keyframes cTrack{0%,100%{transform:translate(0,0)}50%{transform:translate(-22px,16px)}}
  @keyframes cBlink{50%{opacity:.28}}
  @keyframes cPing{0%{box-shadow:0 0 0 0 rgba(229,72,77,.40)}70%,100%{box-shadow:0 0 0 26px rgba(229,72,77,0)}}
  @keyframes cSweep{to{transform:rotate(360deg)}}
  @keyframes cScan{0%{top:2%;opacity:0}12%{opacity:.9}88%{opacity:.9}100%{top:96%;opacity:0}}
  .chero .drone{animation:cTrack 8s ease-in-out infinite}
  .chero .retic{animation:cTrack 8s ease-in-out infinite, cPing 2.8s ease-out infinite}
  .chero .tlabel{animation:cTrack 8s ease-in-out infinite, cBlink 1.5s steps(1) infinite}
  .chero .retic::before,.chero .retic::after{animation:cBlink 1.5s steps(1) infinite}
  .chero .threat::after{content:"";position:absolute;top:3%;right:3%;width:56%;height:70%;pointer-events:none;z-index:1;
     background:conic-gradient(from 210deg,rgba(46,207,106,.16),transparent 24%);animation:cSweep 5s linear infinite;transform-origin:66% 42%;opacity:.6}
  .chero .cdome{animation:cGlow 4.5s ease-in-out infinite}
  @keyframes cGlow{0%,100%{opacity:.85}50%{opacity:1;box-shadow:0 0 40px rgba(14,159,85,.18)}}
}
.foot-disclaimer{margin-top:14px;font-family:var(--f-mono);font-size:.62rem;line-height:1.7;letter-spacing:.01em;color:var(--muted-2);max-width:none}
.foot-disclaimer b{color:var(--muted);font-weight:600;letter-spacing:.08em}
/* ===== v20 — stat descriptions ===== */
.stat .ld{margin-top:9px;font-size:.82rem;line-height:1.55;color:var(--muted);max-width:34ch;margin-left:auto;margin-right:auto}
/* ===== v20 — dark-background product photos blend onto the card (no black box) ===== */
.gimg.dark{background:radial-gradient(circle at 50% 34%,#15241d,#0a1310 62%)}
.gimg.dark img{mix-blend-mode:screen;padding:12px}
.gimg.dark::after{opacity:.2}
.phero-visual.float{background:radial-gradient(120% 92% at 52% 38%,#14241d,#0a1310);border:1px solid var(--line-ink);border-radius:16px;overflow:hidden}
.phero-visual.float img{mix-blend-mode:screen;filter:none;max-height:96%;max-width:98%}
.phero-visual.float::after{opacity:.4}

/* ===================== v22 — BIG showcase galleries (large product visuals, not little boxes) ===================== */
.gallery.big{grid-template-columns:repeat(2,1fr);gap:26px}
.gallery.big .gimg{height:380px}
.gallery.big .gimg img{padding:22px}
.gallery.big .gbody{padding:24px 26px 28px}
.gallery.big .gbody .idx{font-size:.66rem}
.gallery.big .gbody h3{font-size:1.32rem;margin-bottom:8px}
.gallery.big .gbody p{font-size:.98rem;line-height:1.6}
.gallery.big .gimg .gtag{top:16px;left:16px;font-size:.64rem;padding:6px 12px}
.gallery.big .gspec{margin-top:14px}
/* Big-gallery dark renders: the screen blend-mode washes these dark-background renders out
   at large size. Show them full-bleed (cover) so the product fills the card at true brightness,
   regardless of whether the render's own background is pure-black (ISR) or warm-dark (UGV). */
.gallery.big .gimg.dark{background:#0b0f0d}
.gallery.big .gimg.dark img{mix-blend-mode:normal;padding:0;object-fit:cover;object-position:center}
/* UGV = flagship — biggest treatment */
.gallery.big.flagship .gimg{height:440px;background:linear-gradient(160deg,#f6faf8,#e7f1ec)}
.gallery.big.flagship .gimg.dark{background:#0b0f0d}
.gallery.big.flagship .gbody h3{font-size:1.4rem}
@media(max-width:900px){.gallery.big,.gallery.big.flagship{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){
  .gallery.big,.gallery.big.flagship{grid-template-columns:1fr}
  .gallery.big .gimg,.gallery.big.flagship .gimg{height:320px}
}

/* Fire-control system full-bleed shot (interceptor) */
.fcs-shot{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.fcs-shot img{width:100%;display:block}

/* Logo / insignia wall — brigade + unit logos pulled from the brochures */
.logowall{max-width:1060px;margin:0 auto;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#8f8f8a;line-height:0}
.logowall img{width:100%;display:block}
.logowall.dark{border-color:var(--line-ink);background:#26281f}

/* Credential badges (UGV — AFU / NATO Stock Number / codification) */
.creds{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cred{display:flex;align-items:center;gap:9px;background:linear-gradient(180deg,#ffffff,#fafcfb);border:1px solid var(--line-2);border-radius:40px;padding:11px 20px;font-size:.92rem;color:var(--heading);box-shadow:var(--shadow);font-weight:500}
.cred .ck{color:var(--accent);font-weight:700}
.cred.hot{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 10px 24px -12px rgba(14,159,85,.55)}
.cred.hot b{color:var(--heading)}
@media(max-width:560px){.creds{flex-direction:column}.cred{justify-content:center}}

/* Newsroom */
.news-list{display:flex;flex-direction:column;gap:16px;max-width:940px;margin:0 auto}
.news-item{display:flex;gap:26px;align-items:flex-start;background:linear-gradient(180deg,#ffffff,#fafcfb);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px;box-shadow:var(--shadow);transition:transform .25s var(--ease),border-color .25s}
.news-item:hover{transform:translateY(-3px);border-color:var(--line-2)}
.news-date{flex:0 0 auto;width:64px;text-align:center;border-right:1px solid var(--line);padding-right:22px}
.news-date .nm{display:block;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.14em;color:var(--accent);font-weight:600}
.news-date .ny{display:block;font-family:var(--f-display);font-size:1.45rem;font-weight:700;color:var(--heading);margin-top:2px}
.news-b{flex:1}
.news-cat{display:inline-block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-2);border-radius:20px;padding:4px 11px;margin-bottom:11px}
.news-b h3{font-size:1.2rem;margin-bottom:8px;line-height:1.32}
.news-b p{color:var(--muted);font-size:.98rem;line-height:1.62;margin:0}
@media(max-width:560px){.news-item{flex-direction:column;gap:14px}.news-date{width:auto;display:flex;gap:10px;align-items:baseline;border-right:none;border-bottom:1px solid var(--line);padding:0 0 12px}}

/* ===================== v23 — home product film reel ===================== */
.reel-sec{padding:clamp(44px,6vw,80px) 0;overflow:hidden}
.reel{position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.reel-track{display:flex;gap:18px;width:max-content;animation:reelscroll 54s linear infinite}
.reel:hover .reel-track{animation-play-state:paused}
.reel-frame{position:relative;flex:0 0 auto;width:340px;height:232px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0b0f0d;box-shadow:var(--shadow);display:block}
.reel-frame img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.reel-frame:hover img{transform:scale(1.06)}
.reel-frame .reel-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 13px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(0deg,rgba(6,16,12,.92),transparent);z-index:2}
.reel-frame::after{content:"";position:absolute;inset:0;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);z-index:1;pointer-events:none}
@keyframes reelscroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
@media(max-width:640px){.reel-frame{width:266px;height:184px}}
@media(prefers-reduced-motion:reduce){.reel-track{animation:none}.reel{overflow-x:auto}}

/* ===================== v23 — product cards with image header ===================== */
.card.has-img{padding:0;overflow:hidden;display:flex;flex-direction:column}
.card.has-img .card-img{height:196px;background-size:cover;background-position:center;border-bottom:1px solid var(--line);position:relative}
.card.has-img .card-img.dark{background-color:#0b0f0d}
.card.has-img .card-b{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.card.has-img .card-b .arrow{margin-top:auto;padding-top:14px}
/* platform motif cards (graphic, no photo) */
.card-img.motif{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#13241c,#0a1310);border-bottom:1px solid var(--line-ink);height:220px}
.card-img.motif svg{width:150px;opacity:.92}
.card-img.motif.dev svg{width:104px;opacity:.66}
.card-img .motif-tag{position:absolute;top:14px;left:16px;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;color:var(--accent-bright);background:rgba(8,16,12,.6);border:1px solid rgba(46,207,106,.3);padding:5px 11px;border-radius:20px}
.card-img .motif-tag.dev{color:#9fb3a8;border-color:rgba(140,170,150,.32)}
.arrow.soon{opacity:.55}
.plat-cards{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.plat-cards{grid-template-columns:1fr}}

/* Section background imagery — gives thin split sections visual weight */
.sec-bg{position:relative;overflow:hidden}
.sec-bg .sec-bg-img{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:.13;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 6%,#000 72%);mask-image:linear-gradient(90deg,transparent 6%,#000 72%)}
@media(max-width:820px){.sec-bg .sec-bg-img{opacity:.08}}
