/* Layout concept: an engineering drawing set — navy "blueprint" bands carry the 3D and the story,
   cool paper bands carry the detail; mono system codes (BIS-IT, BIS-AV…) work like drawing references. */
:root{
  --navy-950:#071327; --navy-900:#0b1a33; --navy-800:#11264a; --navy-700:#1a3866; --navy-600:#25508c;
  --sky:#8cc0f2; --sky-strong:#5fa3e8; --ice:#e8f1fb;
  --paper:#f4f7fb; --white:#ffffff; --ink:#0d1b31; --ink-2:#3c4d66; --ink-3:#66778f;
  --line:#d8e1ec; --line-dark:rgba(140,192,242,.18);
  --wa:#25d366;
  --sys-it:#4f8cff; --sys-av:#a879ff; --sys-pa:#ffb547; --sys-park:#3ccf91; --sys-smart:#2fd3d3; --sys-sec:#ff6b6b; --sys-tscm:#5fe0b5; --sys-uav:#9db8da;
  --f-display:"Montserrat","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-body:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --r-sm:8px; --r-md:14px; --r-lg:22px;
  --wrap:1200px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--navy-950)}
img,svg,canvas{max-width:100%}
a{color:var(--navy-600)}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
:focus-visible{outline:2px solid var(--sky-strong);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* type */
.eyebrow{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-600);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.dark .eyebrow{color:var(--sky)}
.h1{font-size:clamp(36px,5.6vw,68px);font-weight:800;letter-spacing:-.025em}
.h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;letter-spacing:-.02em}
.h3{font-size:22px;font-weight:700}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:62ch}
.dark .lead{color:#b9cbe4}
.muted{color:var(--ink-3)}
.mono{font-family:var(--f-mono)}
em.hl{font-style:normal;color:var(--sky)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:15px;padding:14px 22px;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:transform .2s,background .2s,border-color .2s,color .2s;cursor:pointer;line-height:1.1}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--sky);color:var(--navy-950)}
.btn-primary:hover{background:#a9d2fa}
.btn-ghost{border-color:rgba(140,192,242,.5);color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--sky);background:rgba(140,192,242,.08)}
.btn-ink{background:var(--navy-900);color:#fff}
.btn-ink:hover{background:var(--navy-700)}
.btn-line{border-color:var(--line);color:var(--ink);background:var(--white)}
.btn-line:hover{border-color:var(--navy-600)}
.btn svg{width:18px;height:18px}

/* utility bar + header */
.util{background:var(--navy-950);color:#c8d8ee;font-size:14px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:8px;flex-wrap:wrap}
.util a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.util a:hover{color:#fff}
.util svg{width:15px;height:15px}
.util-links{display:flex;gap:22px;flex-wrap:wrap}
.util .wa-link{color:var(--wa)}
@media (max-width:700px){.util .note{display:none}.util-links{gap:16px}.util .wa-link span{display:none}.util .wrap{padding-block:7px}}
.util .note{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:#8fa8c8}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy-900);flex-shrink:0}
.brand-mark{height:50px;width:auto;flex-shrink:0;display:block}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt b{font-family:var(--f-display);font-weight:800;font-size:21px;letter-spacing:.14em}
.brand-txt span{font-family:var(--f-body);font-size:12.5px;letter-spacing:.06em;color:var(--ink-3);margin-top:4px}
.menu{display:flex;list-style:none;margin:0 0 0 auto;padding:0;gap:2px;align-items:center}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:flex;align-items:center;gap:6px;padding:10px 13px;font-family:var(--f-display);font-weight:600;font-size:14.5px;color:var(--ink);text-decoration:none;border-radius:8px;background:none;border:0;cursor:pointer}
.menu>li>a:hover,.menu>li>button:hover,.menu>li.open>button{background:var(--ice)}
.menu a[aria-current="page"]{color:var(--navy-600)}
.menu .chev{width:10px;height:10px;transition:transform .2s}
.menu li.open .chev{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 24px 60px -20px rgba(11,26,51,.35);padding:10px;min-width:260px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s}
.menu li.open .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:15px;line-height:1.25}
.drop a:hover{background:var(--paper)}
.drop a small{display:block;color:var(--ink-3);font-size:13px;margin-top:2px}
.drop.mega{display:grid;grid-template-columns:1fr 1fr;width:640px;gap:4px}
.drop .code{font-family:var(--f-mono);font-size:11px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-radius:6px;padding:3px 6px;flex-shrink:0;min-width:58px;text-align:center}
.drop .all{grid-column:1/-1;border-top:1px solid var(--line);margin-top:4px;padding-top:12px;font-weight:600;color:var(--navy-600)}
.nav-cta{flex-shrink:0;padding:12px 18px}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--white);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{display:none;border-top:1px solid var(--line);max-height:calc(100vh - 120px);overflow:auto;padding-block:10px 20px}
.mnav.open{display:block}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav a{display:block;padding:12px 4px;text-decoration:none;color:var(--ink);font-family:var(--f-display);font-weight:600;border-bottom:1px solid var(--line)}
.mnav .sub a{font-family:var(--f-body);font-weight:400;padding-left:18px;font-size:16px}
.mnav .grp{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:16px 4px 4px}
@media (max-width:1400px){.nav-cta{display:none}}
@media (max-width:1200px){.menu{display:none}.burger{display:flex}}

/* sections */
.blk{padding-block:clamp(64px,8vw,112px)}
.blk.tight{padding-block:clamp(48px,6vw,80px)}
.dark{background:var(--navy-900);color:#e9f1fb}
.dark .h2,.dark h3{color:#fff}
.white{background:var(--white)}
.blueprint{background-color:var(--navy-900);background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:48px}
.sec-head .eyebrow{margin-bottom:16px}
@media (max-width:860px){.sec-head{grid-template-columns:1fr}}

/* hero */
.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center;padding-block:56px 64px}
.hero-copy{display:flex;flex-direction:column;gap:22px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.stage{position:relative;aspect-ratio:1/0.86;max-width:100%;border-radius:var(--r-lg);background:radial-gradient(60% 55% at 55% 55%,rgba(95,163,232,.16),transparent 70%)}
.stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.stage canvas.grabbing{cursor:grabbing}
.stage canvas.no-gl{display:none}
.stage .hint{position:absolute;right:14px;bottom:12px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#8fb2da;display:flex;gap:8px;align-items:center;pointer-events:none}
.stage .hint i{width:14px;height:14px;border:1.5px solid currentColor;border-radius:50%;border-right-color:transparent}
.stage .legend{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:6px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:#b8cde8;pointer-events:none}
.stage .legend span{display:flex;align-items:center;gap:7px}
.stage .legend i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.hero-sub{padding-block:44px 56px}
.crumbs{font-family:var(--f-mono);font-size:12.5px;color:#8fa8c8;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:#b7cbe5;text-decoration:none}
.crumbs a:hover{color:#fff}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr;padding-block:36px 48px}.stage{aspect-ratio:1/0.8}}

.hero-ar{font-family:"Noto Kufi Arabic",var(--f-body);direction:rtl;color:#8fb2da;font-size:15px}

/* proof strip */
.strip{background:var(--navy-950);color:#d6e3f3;border-top:1px solid var(--line-dark)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.strip .item{padding:26px 22px;border-left:1px solid var(--line-dark);display:flex;flex-direction:column;gap:4px}
.strip .item:first-child{border-left:0;padding-left:0}
.strip b{font-family:var(--f-display);font-size:28px;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1}
.strip .item>span{font-size:14.5px;color:#9fb6d3}
@media (max-width:860px){.strip .wrap{grid-template-columns:1fr 1fr}.strip .item{border-left:0;padding-left:0;border-top:1px solid var(--line-dark)}}

/* system cards */
.sys-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:980px){.sys-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.sys-grid{grid-template-columns:1fr}}
.sys-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}
.sys-card:hover{transform:translateY(-4px);box-shadow:0 28px 60px -30px rgba(11,26,51,.45);border-color:color-mix(in srgb,var(--c) 55%,var(--line))}
.sys-card .top{display:flex;justify-content:space-between;align-items:center}
.sys-card .ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,white);color:color-mix(in srgb,var(--c) 75%,black)}
.sys-card .ico svg{width:26px;height:26px}
.sys-card .code{font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.sys-card h3{font-size:21px}
.sys-card p{color:var(--ink-2);font-size:16px}
.sys-card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.sys-card .tags span{font-size:13px;padding:4px 10px;border-radius:999px;background:var(--paper);color:var(--ink-2)}
.sys-card .more{font-family:var(--f-display);font-weight:700;font-size:14px;color:var(--navy-600);display:flex;gap:8px;align-items:center}
.sys-card .more b{transition:transform .2s}
.sys-card:hover .more b{transform:translateX(4px)}
.sys-card::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.sys-card:hover::after{transform:scaleX(1)}

/* explorer */
.explorer{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
.ex-list{display:flex;flex-direction:column;gap:6px}
.ex-btn{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;width:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--line-dark);background:rgba(255,255,255,.02);color:#dce8f7;cursor:pointer;font:inherit;transition:background .2s,border-color .2s}
.ex-btn i{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.ex-btn b{font-family:var(--f-display);font-size:16px;color:#fff;display:block}
.ex-btn small{display:block;color:#9fb6d3;font-size:14px;line-height:1.4;margin-top:2px}
.ex-btn .k{font-family:var(--f-mono);font-size:11.5px;color:#8fa8c8}
.ex-btn[aria-pressed="true"],.ex-btn:hover{background:rgba(140,192,242,.08);border-color:color-mix(in srgb,var(--c) 60%,transparent)}
.ex-btn small{display:none}
.ex-btn[aria-pressed="true"] small{display:block}
@media (max-width:960px){.explorer{grid-template-columns:1fr}.explorer .stage{order:-1}}

/* split + prose */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:28px}}
.prose{display:flex;flex-direction:column;gap:18px;color:var(--ink-2);max-width:64ch}
.prose strong{color:var(--ink)}
.dark .prose{color:#b9cbe4}.dark .prose strong{color:#fff}

/* scenario cards (integration examples) */
.scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.scen{grid-template-columns:1fr}}
.scen .card{background:var(--navy-800);border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px}
.scen .chain{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-family:var(--f-mono);font-size:12px}
.scen .chain span{padding:4px 9px;border-radius:6px;background:color-mix(in srgb,var(--c) 18%,transparent);color:color-mix(in srgb,var(--c) 70%,white);border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}
.scen .chain em{font-style:normal;color:#6f8db3}
.scen h3{font-size:19px}
.scen p{color:#b4c7e0;font-size:16px}

/* process */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:s;border-top:1px solid var(--line-dark)}
.step{padding:26px 22px 0 0;position:relative;display:flex;flex-direction:column;gap:10px}
.step::before{counter-increment:s;content:"STAGE 0" counter(s);font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--sky)}
.step::after{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 4px rgba(140,192,242,.18)}
.step h3{font-size:18px}
.step p{color:#a9bed9;font-size:15.5px}
.white .steps,.paper .steps{border-top-color:var(--line)}
.white .step p{color:var(--ink-2)}
.white .step::before{color:var(--navy-600)}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr;gap:12px 24px}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* dashboard */
.ops{background:#06101f;border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:16px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;font-family:var(--f-mono);color:#cfe0f5;box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.ops .bar{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#7f9cc2;padding:2px 4px 6px;border-bottom:1px solid var(--line-dark)}
.ops .bar b{color:#e9f1fb;font-weight:500}
.ops .live{color:var(--sys-park)}
.ops .live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.tile{background:#0b1a33;border:1px solid var(--line-dark);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.tile .lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7f9cc2;display:flex;justify-content:space-between;gap:8px}
.tile .lbl i{width:8px;height:8px;border-radius:50%;background:var(--c);align-self:center}
.tile .val{font-family:var(--f-display);font-size:28px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.tile .val small{font-size:14px;color:#8fa8c8;font-weight:500}
.tile .sub{font-size:11.5px;color:#7f9cc2}
.t3{grid-column:span 3}.t4{grid-column:span 4}.t5{grid-column:span 5}.t6{grid-column:span 6}.t7{grid-column:span 7}.t8{grid-column:span 8}
@media (max-width:860px){.t3,.t4{grid-column:span 6}.t5,.t6,.t7,.t8{grid-column:span 12}}
@media (max-width:480px){.t3,.t4{grid-column:span 12}}
.bars{display:flex;gap:6px;align-items:flex-end;height:70px}
.bars div{flex:1;background:linear-gradient(to top,var(--sys-park),color-mix(in srgb,var(--sys-park) 40%,transparent));border-radius:4px 4px 0 0;transition:height .9s ease;min-height:4px}
.bars.lbls{height:auto;font-size:10.5px;color:#6f8db3}
.bars.lbls div{background:none;text-align:center}
.spark{width:100%;height:70px;display:block}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12px;min-height:150px}
.feed li{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;padding:7px 9px;border-radius:8px;background:rgba(140,192,242,.05);animation:feedIn .5s ease}
.feed time{color:#6f8db3}
.feed .tag{padding:2px 7px;border-radius:5px;font-size:10.5px;background:color-mix(in srgb,var(--c) 22%,transparent);color:color-mix(in srgb,var(--c) 75%,white)}
.feed span:last-child{color:#d6e3f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes feedIn{from{transform:translateY(-6px);opacity:.3}}
.cams{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.cams div{aspect-ratio:16/10;border-radius:5px;background:linear-gradient(135deg,#132b4f,#0a1a33);position:relative;overflow:hidden}
.cams div::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(140,192,242,.07) 50%);background-size:100% 4px}
.cams div.alert{outline:1.5px solid var(--sys-sec)}
.cams div b{position:absolute;left:5px;bottom:3px;font-size:9px;color:#8fa8c8;font-weight:400}
.ops-note{font-family:var(--f-mono);font-size:12px;color:#7f9cc2;margin-top:12px}

/* catalogue */
.cat-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:36px;align-items:start}
@media (max-width:900px){.cat-wrap{grid-template-columns:1fr}}
.cat-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:4px}
.cat-nav button{display:flex;justify-content:space-between;gap:10px;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid transparent;background:none;font:inherit;font-size:15.5px;color:var(--ink-2);cursor:pointer;line-height:1.3}
.cat-nav button span{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);padding-top:2px}
.cat-nav button:hover{background:var(--white)}
.cat-nav button[aria-selected="true"]{background:var(--white);border-color:var(--line);color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--c)}
.cat-search{position:relative;margin-bottom:10px}
.cat-search input{width:100%;padding:12px 14px 12px 40px;border-radius:12px;border:1px solid var(--line);background:var(--white);font:inherit;font-size:15.5px;color:var(--ink)}
.cat-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--ink-3)}
@media (max-width:900px){.cat-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.cat-nav button{white-space:nowrap;flex-shrink:0;border-color:var(--line);background:var(--white)}.cat-search{min-width:220px;flex-shrink:0;margin:0}}
.cat-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px)}
.cat-panel header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.cat-panel header .mono{font-size:12.5px;color:var(--ink-3)}
.items{list-style:none;margin:0;padding:0;columns:2 280px;column-gap:36px}
.items li{break-inside:avoid;padding:9px 0 9px 22px;position:relative;border-bottom:1px dashed var(--line);font-size:16px;color:var(--ink-2)}
.items li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;border-radius:2px;border:1.5px solid var(--c);transform:rotate(45deg)}
.items mark{background:color-mix(in srgb,var(--c) 25%,white);color:var(--ink);border-radius:3px;padding:0 2px}
.cat-empty{color:var(--ink-3);padding:20px 0}
.search-results h4{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 4px;font-weight:500}
.search-results h4:first-child{margin-top:0}

/* chips, value grid, capability */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-family:var(--f-mono);font-size:13px;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:var(--white);color:var(--ink-2)}
.dark .chips span{background:rgba(140,192,242,.06);border-color:var(--line-dark);color:#cfe0f5}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.values>div{padding:26px 24px 8px 0;display:flex;flex-direction:column;gap:10px}
.values b{font-family:var(--f-display);font-size:18px}
.values p{color:var(--ink-2);font-size:16px}
.values .n{font-family:var(--f-mono);font-size:12px;color:var(--c,var(--navy-600));letter-spacing:.1em}
@media (max-width:900px){.values{grid-template-columns:1fr 1fr;gap:0 24px}}
@media (max-width:540px){.values{grid-template-columns:1fr}}
.dark .values{border-top-color:var(--line-dark)}.dark .values p{color:#a9bed9}

.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.apps a,.apps div{display:flex;gap:12px;align-items:center;padding:16px 18px;border-radius:14px;background:var(--white);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-size:15.5px;line-height:1.3}
.apps a:hover{border-color:var(--navy-600)}
.apps svg{width:22px;height:22px;color:var(--navy-600);flex-shrink:0}

.links3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:860px){.links3{grid-template-columns:1fr}}
.links3 a{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r-md);border:1px solid var(--line-dark);background:rgba(140,192,242,.04);text-decoration:none;color:#e9f1fb;transition:border-color .2s,background .2s}
.links3 a:hover{border-color:var(--c);background:rgba(140,192,242,.08)}
.links3 .k{font-family:var(--f-mono);font-size:12px;color:var(--c)}
.links3 b{font-family:var(--f-display);font-size:17px}
.links3 p{color:#a9bed9;font-size:15.5px}

/* FAQ */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--f-display);font-weight:700;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);font-weight:400;font-size:22px;line-height:1;color:var(--navy-600);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--ink-2);max-width:72ch}

/* note */
.note-box{display:flex;gap:14px;padding:18px 20px;border-radius:var(--r-md);background:#fff8ec;border:1px solid #f3dfb8;color:#5b4a28;font-size:15.5px}
.note-box svg{width:22px;height:22px;flex-shrink:0;color:#c48a1d;margin-top:2px}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--navy-800),var(--navy-950));color:#fff;border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:28px;align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);pointer-events:none}
.cta-band>*{position:relative}
.cta-band p{color:#b9cbe4;margin-top:12px;max-width:56ch}
.cta-band .acts{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}}

/* generic cards */
.cards{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:18px}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:12px}
.card h3{font-size:20px}
.card p{color:var(--ink-2);font-size:16px}
.card ul{margin:0;padding-left:18px;color:var(--ink-2);font-size:15.5px;display:flex;flex-direction:column;gap:5px}
.card .k{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);letter-spacing:.06em}
.card .dots{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.card .dots a,.card .dots span{font-family:var(--f-mono);font-size:11.5px;padding:4px 8px;border-radius:6px;text-decoration:none;color:color-mix(in srgb,var(--c) 70%,black);background:color-mix(in srgb,var(--c) 13%,white)}
.dark .card{background:var(--navy-800);border-color:var(--line-dark)}
.dark .card p,.dark .card ul{color:#a9bed9}

/* industries */
.ind{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:860px){.ind{grid-template-columns:1fr}}
.ind .card{gap:14px}
.ind .card .row{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:15.5px}
.ind .card .row b{font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.ind .card .row span{color:var(--ink-2)}
@media (max-width:480px){.ind .card .row{grid-template-columns:1fr;gap:2px}}

/* placeholder slot */
.slot{border:1.5px dashed #b9c8da;border-radius:var(--r-lg);padding:28px;background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(37,80,140,.03) 14px 28px);display:flex;flex-direction:column;gap:10px}
.slot .k{font-family:var(--f-mono);font-size:12px;color:var(--navy-600);letter-spacing:.1em;text-transform:uppercase}
.slot h3{font-size:19px}
.slot p{color:var(--ink-2);font-size:15.5px}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
@media (max-width:620px){.form{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.field legend{font-family:var(--f-display);font-weight:600;font-size:14px;color:var(--ink)}
.field input,.field select,.field textarea{font:inherit;font-size:16px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--white);color:var(--ink);width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--sky-strong);outline-offset:0;border-color:transparent}
fieldset.field{border:0;padding:0;margin:0}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--white);cursor:pointer;font-family:var(--f-body);font-weight:400;font-size:15px}
.checks input{accent-color:var(--navy-600);width:16px;height:16px}
.form-out{grid-column:1/-1;background:var(--ice);border:1px solid #c9dcf2;border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:12px}
.form-out pre{white-space:pre-wrap;font-family:var(--f-mono);font-size:13px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px;margin:0;max-height:260px;overflow:auto}
.contact-list{display:flex;flex-direction:column;gap:12px}
.contact-list .c{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:16px;border-radius:14px;background:var(--navy-800);border:1px solid var(--line-dark)}
.contact-list .c svg{width:22px;height:22px;color:var(--sky)}
.contact-list .c .i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(140,192,242,.08)}
.contact-list .c b{display:block;font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#8fa8c8}
.contact-list .c a,.contact-list .c span{color:#fff;text-decoration:none;font-size:17px;user-select:all;overflow-wrap:anywhere}
.copy{font-family:var(--f-mono);font-size:12px;padding:7px 10px;border-radius:8px;border:1px solid var(--line-dark);background:transparent;color:#cfe0f5;cursor:pointer}
.copy:hover{border-color:var(--sky)}

/* careers roles */
.roles{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.roles .r{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.roles b{font-family:var(--f-display);font-size:18px}
.roles span{color:var(--ink-2);font-size:15.5px}
@media (max-width:700px){.roles .r{grid-template-columns:1fr}}

/* footer */
footer.foot{background:var(--navy-950);color:#a9bed9;font-size:15px}
.foot .wrap{padding-block:64px 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:36px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot h4{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7f9cc2;font-weight:500;margin-bottom:14px}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.foot a{color:#d6e3f3;text-decoration:none}
.foot a:hover{color:#fff}
.foot .brand{color:#fff}
.foot .brand-txt span{color:#8fa8c8}
.foot .about{margin-top:16px;max-width:42ch}
.titleblock{margin-top:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-dark);font-family:var(--f-mono);font-size:11.5px}
.titleblock div{padding:10px 12px;border-left:1px solid var(--line-dark);display:flex;flex-direction:column;gap:3px;min-width:0}
.titleblock div:first-child{border-left:0}
.titleblock b{font-weight:500;color:#6f8db3;letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}
.titleblock span{color:#cfe0f5;overflow-wrap:anywhere}
@media (max-width:700px){.titleblock{grid-template-columns:1fr 1fr}.titleblock div:nth-child(3){border-left:0}.titleblock div:nth-child(n+3){border-top:1px solid var(--line-dark)}}

/* floating WhatsApp */
.wa-float{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.45);transition:transform .2s}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:30px;height:30px}

/* reveal (resting state is visible; JS only animates items below the fold) */
.rv.pre{opacity:0;transform:translateY(22px)}
.rv{transition:opacity .7s ease,transform .7s ease}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.rv.pre{opacity:1;transform:none}}

.stack{display:flex;flex-direction:column;gap:var(--g,24px)}
.row-between{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.mt-l{margin-top:48px}
.center-note{font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3)}

/* defence divisions */
.instrument{background:#06101f;border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 40px 90px -40px rgba(0,0,0,.7);min-width:0}
.instrument .bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11.5px;color:#7f9cc2}
.instrument .bar b{color:#e9f1fb;font-weight:500}
.instrument .bar .warn{color:var(--sky)}
.instrument canvas{width:100%;aspect-ratio:1/0.78;display:block}
.instrument .readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-family:var(--f-mono);font-size:11px;color:#7f9cc2}
.instrument .readouts div{border:1px solid var(--line-dark);border-radius:8px;padding:7px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}
.instrument .readouts b{color:#e9f1fb;font-weight:500;font-size:12.5px;overflow-wrap:anywhere}
@media (max-width:520px){.instrument .readouts{grid-template-columns:1fr 1fr}}
.div-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:860px){.div-grid{grid-template-columns:1fr}}
.div-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3vw,34px);border-radius:var(--r-lg);border:1px solid var(--line-dark);background:linear-gradient(160deg,var(--navy-800),var(--navy-950));color:#e9f1fb;text-decoration:none;overflow:hidden;transition:border-color .25s,transform .25s}
.div-card:hover{border-color:var(--c);transform:translateY(-3px)}
.div-card .k{font-family:var(--f-mono);font-size:12px;color:var(--c);letter-spacing:.08em}
.div-card h3{font-size:clamp(22px,2.4vw,28px);color:#fff}
.div-card p{color:#a9bed9}
.div-card .kick{font-family:var(--f-mono);font-size:12px;color:#8fa8c8;line-height:1.7}
.div-card .more{font-family:var(--f-display);font-weight:700;font-size:14px;color:var(--c);margin-top:auto}
.div-card::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 30%,transparent),transparent 70%);pointer-events:none}
.restricted{display:flex;gap:14px;padding:18px 20px;border-radius:var(--r-md);background:rgba(140,192,242,.07);border:1px solid rgba(140,192,242,.32);color:#d6e3f3;font-size:15.5px}
.restricted svg{width:22px;height:22px;flex-shrink:0;color:var(--sky);margin-top:2px}

/* project reference card */
.ref-card{padding:0;overflow:hidden;gap:0}
.ref-media{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--navy-900)}
.ref-media .ref-art,.ref-media img{width:100%;height:100%;display:block;object-fit:cover}
.ref-badge{position:absolute;left:14px;top:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:rgba(7,19,39,.75);color:var(--sky);border:1px solid rgba(140,192,242,.45)}
.ref-photo{position:absolute;right:14px;bottom:12px;font-family:var(--f-mono);font-size:11px;color:#cfe0f5;opacity:.75}
.ref-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.ref-place{display:flex;gap:7px;align-items:center;color:var(--ink-2);font-size:15.5px}
.ref-place svg{width:16px;height:16px;color:var(--navy-600);flex-shrink:0}

.drop .code-dot{width:10px;height:10px;border-radius:50%;background:var(--c);flex-shrink:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent)}

/* ---------- split landing (original style) ---------- */
.intro-a{padding-block:clamp(36px,5vw,64px) 28px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px 48px;align-items:end}
.intro-a p{color:#b9cbe4}
.intro-a .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.intro-a .meta span{font-family:var(--f-mono);font-size:12px;padding:7px 11px;border-radius:999px;border:1px solid var(--line-dark);color:#b9cbe4}
.intro-a .meta b{color:#fff;font-weight:500}
@media (max-width:860px){.intro-a{grid-template-columns:1fr}}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:clamp(44px,6vw,80px)}
@media (max-width:900px){.doors{grid-template-columns:1fr}}
.door{position:relative;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line-dark);min-height:600px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:border-color .3s,transform .3s}
.door:hover{border-color:var(--dc)}
.door canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;cursor:grab;touch-action:pan-y}
.door .shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 34%,rgba(7,19,39,.82) 63%,#071327)}
.door .tag{position:absolute;left:22px;top:20px;z-index:2;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1px solid var(--dc);color:var(--dc);background:rgba(7,19,39,.6)}
.door .body{position:relative;z-index:2;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:16px;pointer-events:none}
.door .body a{pointer-events:auto}
.door h2{font-family:var(--f-display);font-weight:800;font-size:clamp(24px,2.6vw,34px);line-height:1.1;color:#fff}
.door p{color:#b9cbe4}
.door ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.door li{font-size:14px;padding:6px 11px;border-radius:999px;background:rgba(140,192,242,.08);border:1px solid var(--line-dark);color:#e9f1fb}
.door .acts{display:flex;gap:10px;flex-wrap:wrap}
.door-def{--dc:#9db8da;background:radial-gradient(70% 60% at 60% 35%,rgba(157,184,218,.18),transparent 70%),#0a1730}
.door-com{--dc:var(--sky);background:radial-gradient(70% 60% at 50% 40%,rgba(95,163,232,.22),transparent 70%),#0b1a33}
.btn-steel{background:#c9d8ea;color:var(--navy-950)}
.btn-steel:hover{background:#dce7f3}
@media (max-width:600px){.door{min-height:580px}}
.zone-head{display:flex;align-items:center;gap:16px;margin-bottom:28px;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--zc)}
.zone-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--zc),transparent)}
.zone-def{--zc:#9db8da}.zone-com{--zc:var(--navy-600)}
.dark .zone-com{--zc:var(--sky)}
.def-infra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:860px){.def-infra{grid-template-columns:1fr}}
.dualcta{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dualcta>div{border-radius:var(--r-lg);padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:16px;align-items:flex-start;color:#fff}
.dualcta h2{font-family:var(--f-display);font-weight:800;font-size:clamp(22px,2.4vw,32px);line-height:1.1}
.dualcta p{color:#b9cbe4}
.dualcta .d{background:radial-gradient(500px 240px at 100% 0%,rgba(157,184,218,.2),transparent 70%),#0a1730}
.dualcta .d .eyebrow{color:#9db8da}
.dualcta .c{background:radial-gradient(500px 240px at 100% 0%,rgba(95,163,232,.25),transparent 70%),var(--navy-800)}
@media (max-width:860px){.dualcta{grid-template-columns:1fr}}

/* ---------- blog ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font:inherit;font-size:15px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink-2);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:980px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.posts{grid-template-columns:1fr}}
.post{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.post:hover{transform:translateY(-4px);box-shadow:0 28px 60px -30px rgba(11,26,51,.45)}
.post .cover{aspect-ratio:16/8;max-width:100%;position:relative;background:radial-gradient(80% 90% at 80% 20%,color-mix(in srgb,var(--c) 55%,transparent),transparent 70%),var(--navy-900);display:grid;place-items:center;overflow:hidden}
.post .cover svg{width:64px;height:64px;color:#fff;opacity:.9}
.post .cover::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:28px 28px}
.post .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .cat{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 70%,black)}
.post h3{font-size:20px;line-height:1.25}
.post p{color:var(--ink-2);font-size:15.5px}
.post .meta{margin-top:auto;font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.article{max-width:760px;margin:0 auto}
.article p,.article li{font-size:18.5px;line-height:1.75;color:var(--ink-2)}
.article h2{font-size:clamp(22px,2.4vw,28px);margin:44px 0 14px;color:var(--ink)}
.article p+p{margin-top:16px}
.article ul{padding-left:22px;margin:14px 0;display:flex;flex-direction:column;gap:8px}
.article .lede{font-size:21px;color:var(--ink);line-height:1.6}
.article .byline{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--f-mono);font-size:12.5px;color:#8fa8c8}
.article-cta{margin-top:48px;padding:28px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.article-cta b{font-family:var(--f-display);font-size:19px}

/* ---------- downloads ---------- */
.dl{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:860px){.dl{grid-template-columns:1fr}}
.dl-card{border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--line);display:grid;grid-template-columns:200px 1fr}
@media (max-width:560px){.dl-card{grid-template-columns:1fr}}
.dl-cover{background:var(--navy-900);padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:260px;color:#fff;position:relative}
.dl-cover img{width:74px;height:auto}
.dl-cover b{font-family:var(--f-display);font-size:18px;line-height:1.2}
.dl-cover span{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--dc)}
.dl-body{padding:26px;display:flex;flex-direction:column;gap:12px}
.dl-body h3{font-size:22px}
.dl-body p{color:var(--ink-2);font-size:16px}
.dl-body ul{margin:0;padding-left:18px;color:var(--ink-2);font-size:15.5px;display:flex;flex-direction:column;gap:4px}
.dl-meta{font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.pill-soon{align-self:flex-start;font-family:var(--f-mono);font-size:12px;padding:6px 10px;border-radius:999px;background:var(--ice);color:var(--navy-600)}

/* ---------- utility switch link ---------- */
.util-switch{display:flex;gap:18px;align-items:center;font-size:13.5px}
.util-switch a{color:#8fa8c8;text-decoration:none}
.util-switch a.sw{color:#fff;font-weight:600}
.util-switch a:hover{color:#fff}
@media (max-width:700px){.util-switch a:not(.sw){display:none}}

/* ---------- defence world: dark steel ---------- */
body:has(.world-def){background:#071327}
.world-def{
  --paper:#071327; --white:#0f2242; --ink:#e9f1fb; --ink-2:#b9cbe4; --ink-3:#8fa8c8; --line:rgba(140,192,242,.16); --ice:rgba(157,184,218,.1);
  --navy-600:#9db8da; --sky:#9db8da; --sky-strong:#9db8da;
  background:#071327;color:var(--ink);color-scheme:dark}
.world-def a{color:#c9d8ea}
.world-def .util{background:#050d1c}
.world-def header.top{background:rgba(7,19,39,.92);border-bottom-color:var(--line)}
.world-def .brand{color:#fff}
.world-def .brand-txt span{color:#8fa8c8}
.world-def .menu>li>a{color:#d6e3f3}
.world-def .menu>li>a:hover{background:rgba(157,184,218,.1)}
.world-def .menu a[aria-current="page"]{color:#fff;background:rgba(157,184,218,.14)}
.world-def .burger{background:var(--white);border-color:var(--line)}
.world-def .burger span{background:#fff}
.world-def .mnav a{color:#fff}
.world-def .white{background:#0a1730}
.world-def .blk:not(.dark):not(.blueprint) .h2,.world-def .blk h3{color:#fff}
.world-def .eyebrow{color:#9db8da}
.world-def .dark .eyebrow{color:#9db8da}
.world-def em.hl{color:#c9d8ea}
.world-def .card,.world-def .cat-panel{background:var(--white);border-color:var(--line)}
.world-def .card p,.world-def .card ul{color:var(--ink-2)}
.world-def .items li{color:var(--ink-2)}
.world-def .chips span{background:rgba(157,184,218,.08);border-color:var(--line);color:var(--ink-2)}
.world-def .cat-nav button[aria-selected="true"],.world-def .cat-nav button:hover{background:var(--white)}
.world-def .cat-search input,.world-def .field input,.world-def .field select,.world-def .field textarea{background:#0a1730;border-color:var(--line);color:#fff}
.world-def .field label{color:#fff}
.world-def .btn-line{color:#fff;border-color:var(--line)}
.world-def .btn-ink{background:#c9d8ea;color:#071327}
.world-def .values{border-top-color:var(--line)}
.world-def .values p{color:var(--ink-2)}
.world-def .apps a,.world-def .apps div{background:var(--white);border-color:var(--line);color:#fff}
.world-def .faq details{border-color:var(--line)}
.world-def .faq summary{color:#fff}
.world-def .form-out{background:rgba(157,184,218,.08);border-color:var(--line)}
.world-def .form-out pre{background:#0a1730;border-color:var(--line);color:#e9f1fb}
.world-def .dl-card{background:var(--white);border-color:var(--line)}
.world-def .dl-body ul{color:var(--ink-2)}
.world-def .muted{color:var(--ink-3)}
.world-def .note-box{background:rgba(157,184,218,.08);border-color:var(--line);color:var(--ink-2)}
.world-def .note-box svg{color:#9db8da}
.world-def .strip{background:#050d1c}
.world-def footer.foot{background:#050d1c}
.world-def .div-card{background:linear-gradient(160deg,#0f2242,#081429)}
.world-def .steps .step::before,.world-def .step::before{color:#9db8da}
.world-def .step::after{background:#9db8da;box-shadow:0 0 0 4px rgba(157,184,218,.18)}
.world-def .white .step p{color:var(--ink-2)}
.opts{grid-template-columns:1fr 1fr}
.opts .div-card{min-height:320px}
.opts .div-card h3{font-size:clamp(26px,3vw,38px)}
@media (max-width:860px){.opts{grid-template-columns:1fr}}
.world-def .div-card[style*="grid-template-columns"]{display:grid}
@media (max-width:860px){.world-def .div-card[style*="grid-template-columns"]{grid-template-columns:1fr!important}}
.world-def .btn-steel,.world-def .btn-primary,.world-def .btn-ink{color:#071327}
.world-def .btn-ghost{color:#fff}
.world-def .brand{min-width:0}
.world-def .brand-txt span{max-width:190px;line-height:1.25}
@media (max-width:440px){.world-def .brand-txt span{font-size:11px;max-width:150px}}

/* ---------- gateway (diagonal split) ---------- */
html:has(.world-gate),body:has(.world-gate){height:100%}
body:has(.world-gate){background:#05080f}
.world-gate{color:#fff}
.gsplit{position:relative;min-height:100svh;min-height:100vh;overflow:hidden;background:#05080f}
.half{position:absolute;inset:0;overflow:hidden;display:flex;text-decoration:none;color:#fff}
.half canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;transition:opacity .5s ease,transform .6s ease}
.half .tint{position:absolute;inset:0;z-index:1;pointer-events:none;transition:opacity .5s ease}
.half .content{position:relative;z-index:2;align-self:flex-end;display:flex;flex-direction:column;gap:16px;padding:clamp(28px,5vw,72px) clamp(26px,4vw,60px) clamp(70px,9vw,120px);max-width:560px;transition:transform .45s ease}
.half .eye{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ac);display:flex;align-items:center;gap:10px}
.half .eye::before{content:"";width:30px;height:2px;background:var(--ac)}
.half h2{font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.7vw,54px);line-height:1.0;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.half p{color:#d2dae4;font-size:clamp(15px,1.4vw,18px);line-height:1.55;max-width:40ch}
.half .enter{margin-top:8px;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;font-family:var(--f-display);font-weight:700;font-size:15px;padding:15px 26px;border-radius:999px;background:var(--ac);color:var(--ink-on);box-shadow:0 16px 44px -14px var(--ac);transition:gap .25s ease,transform .25s ease}
.half .enter svg{width:17px;height:17px}
/* diagonal clip */
.half-def{--ac:#cdd7e4;--ink-on:#10151d;clip-path:polygon(0 0, 53% 0, 47% 100%, 0 100%);background:radial-gradient(75% 70% at 38% 30%,#1c2733,#0a0e14 72%)}
.half-def .content{align-items:flex-start}
.half-def .tint{background:radial-gradient(55% 55% at 40% 32%,rgba(130,160,200,.22),transparent 72%),linear-gradient(0deg,rgba(8,10,14,.92) 4%,rgba(8,10,14,.28) 42%,transparent 70%)}
.half-com{--ac:#49c6ff;--ink-on:#04131f;clip-path:polygon(53% 0, 100% 0, 100% 100%, 47% 100%);background:radial-gradient(75% 70% at 64% 30%,#123358,#060f22 74%)}
.half-com .content{margin-left:auto;align-items:flex-end;text-align:right}
.half-com .eye{flex-direction:row-reverse}
.half-com .p,.half-com p{margin-left:auto}
.half-com .tint{background:radial-gradient(55% 55% at 62% 32%,rgba(73,198,255,.3),transparent 72%),linear-gradient(0deg,rgba(5,12,26,.92) 4%,rgba(5,12,26,.3) 42%,transparent 70%)}
.gseam{position:absolute;inset:0;z-index:3;pointer-events:none;clip-path:polygon(52.6% 0, 53.4% 0, 47.4% 100%, 46.6% 100%);background:linear-gradient(180deg,rgba(150,195,245,0),rgba(205,222,245,.65) 45%,rgba(150,195,245,0))}
.gbrand{position:absolute;top:clamp(20px,3.2vw,38px);left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;pointer-events:none;width:100%;padding:0 16px}
.gbrand img{width:clamp(62px,6.5vw,86px);height:auto;filter:drop-shadow(0 6px 24px rgba(0,0,0,.6))}
.gbrand .name{font-family:var(--f-display);font-weight:800;font-size:clamp(21px,2.8vw,32px);letter-spacing:.34em;line-height:1;color:#fff;padding-left:.34em;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.gbrand .sub{font-family:var(--f-mono);font-size:clamp(9.5px,1vw,12px);letter-spacing:.3em;text-transform:uppercase;color:#b0bac8}
.gcontact{position:absolute;bottom:clamp(14px,2vw,22px);left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:20px;font-size:13px;color:#8995a5;pointer-events:auto}
.gcontact a{color:inherit;text-decoration:none}.gcontact a:hover{color:#fff}
@media (hover:hover) and (min-width:861px){
  .gsplit:hover .half:not(:hover){filter:saturate(.7) brightness(.72)}
  .gsplit:hover .half:not(:hover) .tint{opacity:.9}
  .half:hover canvas{transform:scale(1.03)}
  .half:hover .enter{gap:16px;transform:translateY(-2px)}
  .half,.half .tint{transition:filter .5s ease,opacity .5s ease}
}
@media (max-width:860px){
  .world-gate{display:flex;flex-direction:column}
  .gsplit{display:flex;flex-direction:column;min-height:auto}
  .half{position:relative;inset:auto;clip-path:none!important;min-height:58svh;min-height:58vh}
  .half-com .content{margin-left:0;align-items:flex-start;text-align:left}
  .half-com .eye{flex-direction:row}
  .gseam{display:none}
  .gbrand{position:static;transform:none;order:-1;padding-block:26px 6px}
  .gcontact{position:static;transform:none;justify-content:center;padding-block:18px 26px}
}

/* =======================================================================
   DEFENCE = DARK STEEL GREY (darker)  · commercial light · gateway unchanged
   ======================================================================= */
body:has(.world-def){background:#171d24}
.world-def{
  --paper:#171d24; --white:#242c35; --ink:#eef2f6; --ink-2:#bcc6d0; --ink-3:#8d99a6;
  --line:rgba(175,195,215,.15); --line-dark:rgba(175,195,215,.12); --ice:rgba(175,195,215,.08);
  --navy-600:#aebccb; --navy-700:#323c47; --navy-800:#242c35; --navy-900:#1e252d; --navy-950:#10151b;
  --sky:#aebccb; --sky-strong:#c9d8ea;
  background:#171d24;color:var(--ink);color-scheme:dark}
.world-def .util{background:#10151b}
.world-def .white{background:#242c35}
.world-def header.top{background:rgba(16,21,27,.93)}
.world-def .cat-search input,.world-def .field input,.world-def .field select,.world-def .field textarea{background:#1e252d;border-color:var(--line);color:#fff}
.world-def .form-out pre{background:#1e252d;color:#eef2f6}
.world-def .btn-ink{background:#c9d8ea;color:#10151b}
.world-def .btn-steel,.world-def .btn-primary,.world-def .btn-ink{color:#10151b}

.skip{position:absolute;left:-9999px;top:0;z-index:100000;background:#084870;color:#fff;padding:10px 16px;border-radius:0 0 8px 0;text-decoration:none;font:600 14px/1 system-ui,-apple-system,Segoe UI,sans-serif}.skip:focus{left:0}
