/* L2S "defence corporate" theme (9 Nov 2026).
   Applied after each page's own styles. The cinematic hero and the instrument
   displays stay dark; everything else reads as a calm, conventional defence supplier:
   paper background, navy and olive, IBM Plex type, square corners, no glow. */

:root{
  --paper:#F3F1EA; --paper-2:#FFFFFF; --paper-3:#E9E6DC;
  --ink:#16222E; --ink-2:#4A5866; --ink-3:#6B7783;
  --rule:#D6D2C6; --rule-2:#BDB8AA;
  --navy:#1D3550; --navy-2:#142740; --olive:#59693A; --sand:#B39A6B;
  --panel-dark:#13202B; --panel-dark-2:#0E1922; --panel-line:#2B3E4E; --screen:#7FB0BE; --screen-dim:#4E7884;
  --plex:'IBM Plex Sans',Arial,sans-serif; --plexmono:'IBM Plex Mono','Courier New',monospace;
}

/* ---------- top bar: solid, quiet ---------- */
body.theme-defence .nav,body.theme-defence .nav.solid{background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:none;-webkit-backdrop-filter:none}
body.theme-defence .nav ul a{font-family:var(--plex);font-weight:500;letter-spacing:.01em;opacity:.86}
body.theme-defence .nav .btn{background:#E8E3D6;color:var(--navy-2);border-radius:3px;font-family:var(--plex)}
body.theme-defence .nav .btn::after{display:none}

/* ---------- remove the "AI product" atmosphere ---------- */
body.theme-defence .env,body.theme-defence .grain,body.theme-defence .grid-bg,
body.theme-defence .linkline,body.theme-defence .node{display:none!important}

/* ---------- light sections (everything in main except the full-bleed image statement) ---------- */
body.theme-defence main{background:var(--paper)}
body.theme-defence main .sec:not(.problem){background:var(--paper);color:var(--ink);font-family:var(--plex)}
body.theme-defence main .sec:not(.problem):nth-of-type(even){background:var(--paper-2)}
body.theme-defence main .sec:not(.problem){padding-top:clamp(72px,9vw,120px)!important;padding-bottom:clamp(72px,9vw,120px);border-top:1px solid var(--rule)}
body.theme-defence main .sec:not(.problem) h2{font-family:var(--plex);font-weight:600;letter-spacing:-.015em;line-height:1.12;color:var(--ink);font-size:clamp(28px,3.2vw,44px);max-width:24ch}
body.theme-defence main .sec:not(.problem) h3{font-family:var(--plex);font-weight:600;color:var(--ink)}
body.theme-defence main .sec:not(.problem) .lede,body.theme-defence main .sec:not(.problem) p{color:var(--ink-2)}
body.theme-defence main .sec:not(.problem) b{color:var(--ink)}
body.theme-defence main .sec:not(.problem) .label{font-family:var(--plexmono);font-size:12px;letter-spacing:.14em;color:var(--olive);font-weight:500}
body.theme-defence main .sec:not(.problem) .label::before{content:"";display:inline-block;width:18px;height:2px;background:var(--olive);vertical-align:4px;margin-right:10px}
body.theme-defence main .sec:not(.problem) a{color:var(--navy)}
body.theme-defence main .sec:not(.problem) .src,body.theme-defence main .sec:not(.problem) .contact-line{font-family:var(--plex);color:var(--ink-3);letter-spacing:0}
body.theme-defence main .sec:not(.problem) .rv{transition-duration:.6s}

/* buttons */
body.theme-defence main .btn,body.theme-defence .cap .btn{border-radius:3px;font-family:var(--plex);font-weight:600;letter-spacing:.01em}
body.theme-defence main .btn::after,body.theme-defence .cap .btn::after{display:none}
body.theme-defence main .sec:not(.problem) .btn{background:var(--navy);color:#fff}
body.theme-defence main .sec:not(.problem) .btn:hover{background:var(--navy-2);transform:none}
body.theme-defence main .sec:not(.problem) .btn.ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
body.theme-defence main .sec:not(.problem) .btn.ghost:hover{background:rgba(29,53,80,.06)}
body.theme-defence .cap .btn:not(.ghost){background:#E8E3D6;color:var(--navy-2)}
body.theme-defence .cap .btn.ghost{color:#E8E3D6;box-shadow:inset 0 0 0 1.5px rgba(232,227,214,.7)}

/* cards, lists, chips */
body.theme-defence main .card,body.theme-defence main .cat-tile,body.theme-defence main .cat-main,
body.theme-defence main .kitlist li,body.theme-defence main .facts li,body.theme-defence main .dlcard,
body.theme-defence main .partner,body.theme-defence main .proofband,body.theme-defence main .prod,
body.theme-defence main .netside,body.theme-defence main form{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;box-shadow:none;color:var(--ink)}
body.theme-defence main .sec:nth-of-type(even) .card,body.theme-defence main .sec:nth-of-type(even) .cat-tile,body.theme-defence main .sec:nth-of-type(even) form{background:var(--paper)}
body.theme-defence main .card:hover,body.theme-defence main .cat-tile:hover{transform:none;border-color:var(--rule-2)}
body.theme-defence main .card svg{stroke:var(--navy)}
body.theme-defence main .card p,body.theme-defence main .cat-tile span,body.theme-defence main .cat-main span{color:var(--ink-2)}
body.theme-defence main .ix,body.theme-defence main .card .ix{font-family:var(--plexmono);color:var(--olive);letter-spacing:.12em}
body.theme-defence main .facts li{font-family:var(--plexmono);color:var(--ink);letter-spacing:.08em}
body.theme-defence main .facts li::before{background:var(--olive);box-shadow:none}
body.theme-defence main .proof{color:var(--ink)}
body.theme-defence main .chips span,body.theme-defence main .chipline span{font-family:var(--plexmono);border-radius:3px;border-color:var(--rule-2);color:var(--navy);background:transparent}
body.theme-defence main .points li,body.theme-defence main .steps li,body.theme-defence main details{border-color:var(--rule)!important}
body.theme-defence main .points li::before,body.theme-defence main .steps li::before{font-family:var(--plexmono);color:var(--olive)}
body.theme-defence main summary{font-family:var(--plex);color:var(--ink);font-weight:600}
body.theme-defence main summary::after{background:linear-gradient(var(--navy),var(--navy)) center/14px 2px no-repeat,linear-gradient(var(--navy),var(--navy)) center/2px 14px no-repeat}
body.theme-defence main details p{color:var(--ink-2)}
body.theme-defence main .big{font-family:var(--plex);font-weight:600;color:var(--navy)}
body.theme-defence main .big small{font-family:var(--plexmono);color:var(--ink-3)}
body.theme-defence main .stat b{font-family:var(--plex);font-weight:600;color:#fff}
body.theme-defence main .stat span{font-family:var(--plexmono)}

/* product catalogue: products on a light studio sweep */
body.theme-defence main .cat-main,body.theme-defence main .cat-tile{background:linear-gradient(180deg,#FFFFFF 0%,#ECE9E0 100%)}
body.theme-defence main .cat-main img,body.theme-defence main .cat-tile img{filter:drop-shadow(0 18px 22px rgba(22,34,46,.22))}

/* images: crisp frames, no glow */
body.theme-defence main .why-img,body.theme-defence main .fire-img,body.theme-defence main .fig,body.theme-defence main .kit-img{border-radius:4px;border:1px solid var(--rule)}
body.theme-defence main .fig figcaption b{font-family:var(--plexmono);color:#E8E3D6}

/* forms */
body.theme-defence main .field label{font-family:var(--plexmono);color:var(--ink-2);letter-spacing:.1em}
body.theme-defence main .field input,body.theme-defence main .field textarea,body.theme-defence main .field select{background:#fff;color:var(--ink);border:1px solid var(--rule-2);border-radius:3px;font-family:var(--plex)}
body.theme-defence main .field input:focus,body.theme-defence main .field textarea:focus,body.theme-defence main .field select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(29,53,80,.15)}
body.theme-defence main .form-foot small{color:var(--ink-3)}
body.theme-defence main .success{background:#EEF2EA;border-color:var(--olive);color:var(--ink)}
body.theme-defence main .cta{background:var(--paper-3)!important}

/* partnership band */
body.theme-defence main .partner{background:var(--paper-2)}
body.theme-defence main .partner .logos{background:var(--navy-2);padding:22px 26px;border-radius:3px}

/* ---------- instrument displays stay dark, but flat and sober ---------- */
body.theme-defence main .map,body.theme-defence main .instrument,body.theme-defence main .netmap,
body.theme-defence main .aa,body.theme-defence main .tile,body.theme-defence main .console{background:var(--panel-dark)!important;border:1px solid var(--panel-line);border-radius:4px;box-shadow:none;color:#DCE4E8}
body.theme-defence main .tile p{color:#AEBBC3}
body.theme-defence main .tile b{color:#fff}
body.theme-defence main .tile .k{font-family:var(--plexmono);color:var(--screen);letter-spacing:.12em}
body.theme-defence main .tile .big{color:var(--screen)}
body.theme-defence main .tile .big small{color:#AEBBC3}
body.theme-defence main .aa .legend{font-family:var(--plexmono);color:#AEBBC3}
body.theme-defence main .aa .src{color:#8996A0}
body.theme-defence main .netside{color:var(--ink)}
body.theme-defence main .netside .k{font-family:var(--plexmono);color:var(--olive);letter-spacing:.12em}
body.theme-defence main .netside p{color:var(--ink-2)}
body.theme-defence main .netside .hint{font-family:var(--plexmono);color:var(--ink-3)}
body.theme-defence main .mapinfo .k{font-family:var(--plexmono);color:var(--screen)}
body.theme-defence main .mapinfo p,body.theme-defence main .maphint{color:#AEBBC3}
body.theme-defence main .instrument .head,body.theme-defence main .axis,body.theme-defence main .meter,body.theme-defence main .instrument .note{font-family:var(--plexmono);color:#AEBBC3}
body.theme-defence main .instrument .head b{color:var(--screen)}
body.theme-defence main .spectrum i{background:var(--screen-dim);border-radius:1px}
body.theme-defence main .spectrum i.lim{background:var(--sand)}
body.theme-defence main .meter .bar i{background:var(--screen)}
body.theme-defence main .map .lk{stroke:var(--screen)}
body.theme-defence main .map .nd.on circle.core,body.theme-defence main .map .nd circle.halo{stroke:var(--screen)}
body.theme-defence main .map .nd.on circle.dot{fill:var(--screen)}
body.theme-defence main .netmap .pk{fill:var(--screen);filter:none}
body.theme-defence main .netmap .lnk.hot{stroke:var(--screen)}
body.theme-defence main .nodebtn{font-family:var(--plexmono)}

/* ---------- footer ---------- */
body.theme-defence footer{background:var(--navy-2);border-top:0;font-family:var(--plex)}
body.theme-defence footer p,body.theme-defence footer .disclose{color:#B9C3CC}
body.theme-defence footer a{color:#E8E3D6}
body.theme-defence footer .foot-tag{font-family:var(--plexmono);color:#C9B98F;letter-spacing:.14em}
body.theme-defence footer .disclose{border-top-color:rgba(255,255,255,.12)}

/* ---------- phone menu panel (added 5 Nov) follows the theme ---------- */
body.theme-defence .mnav,body.theme-defence .mobile-menu,body.theme-defence .menu-panel{font-family:var(--plex)}

/* ---------- contrast fixes ---------- */
body.theme-defence main .sec:not(.problem) .steps li,body.theme-defence main .sec:not(.problem) .points li{color:var(--ink-2)}
/* text inside dark instrument panels must stay light */
body.theme-defence main .sec .tile p,body.theme-defence main .sec .aa p,body.theme-defence main .sec .map p,
body.theme-defence main .sec .instrument p,body.theme-defence main .sec .console p,body.theme-defence main .sec .mapinfo p{color:#AEBBC3!important}
body.theme-defence main .sec .tile b,body.theme-defence main .sec .console b,body.theme-defence main .sec .instrument b{color:#fff!important}
body.theme-defence main .sec .tile .k,body.theme-defence main .sec .mapinfo .k,body.theme-defence main .sec .instrument .head b{color:var(--screen)!important}
body.theme-defence main .sec .console .c-note{color:#8996A0!important}

/* ---------- phone menu (5 Nov) in the new look ---------- */
body.theme-defence .menu-btn{background:#E8E3D6!important;color:var(--navy-2)!important;border:0;border-radius:3px;font-family:var(--plex)}
body.theme-defence .site-menu{background:var(--navy-2);font-family:var(--plex)}
body.theme-defence .site-menu li{border-bottom-color:rgba(255,255,255,.12)}
body.theme-defence .site-menu ul a{font-family:var(--plex);color:#F3F1EA}
body.theme-defence .site-menu ul a:hover{color:#C9B98F}
body.theme-defence .site-menu .btn{background:#E8E3D6;color:var(--navy-2);border-radius:3px}
body.theme-defence .site-menu .btn::after{display:none}
body.theme-defence .menu-close{border-radius:3px}
