/* ═══════════════════════════════════════════════════════════════════════
   Baseltech — shared chrome (header, mobile menu, footer) · v2.1
   Loaded by EVERY page, including legal/privacy, which carry their own page CSS — so nothing
   here uses a bare element selector or a global reset: every rule hangs off header.site,
   .mobmenu, footer.site-footer or a utility class.
   Header/footer MARKUP lives in templates/chrome.html (single source of truth) and is copied
   into every page by scripts/sync-nav.js.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --navy:#01184A; --deep:#020F30; --blue:#004CD3; --bright:#0176FD; --rail:#1160BF;
  --surface:#EEF0F3; --muted:#5B6371; --ink:#1A1A1A; --line:#D9DFE8; --glow:#5FA0FF;
}

.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--navy);
  padding:10px 16px;border-radius:6px;font:600 14px Manrope,system-ui,sans-serif;text-decoration:none}
.skip:focus{left:8px}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}

/* ── header ─────────────────────────────────────────────────────────── */
header.site,header.site *,.mobmenu,.mobmenu *,footer.site-footer,footer.site-footer *{box-sizing:border-box}
header.site{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);
  font-family:Manrope,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.55;
  border-bottom:1px solid transparent;transition:background .3s,box-shadow .3s,border-color .3s}
header.site.solid,body[data-header="solid"] header.site{background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line);
  box-shadow:0 1px 12px rgba(0,0,0,.05)}
header.site .bar{display:flex;align-items:center;justify-content:space-between;height:74px}

/* logo — the real wordmark SVG from the live site; only its colours adapt to the header state */
header.site .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;transition:color .3s}
header.site .brand svg{width:36px;height:36px;flex:none;display:block}
header.site .brand .logo-edge{stroke:var(--glow);transition:stroke .3s}
header.site .brand .nav-logo-txt{display:block;line-height:1}
header.site .brand .nav-logo-txt b{display:block;font-weight:800;font-size:1.25rem;letter-spacing:-.5px}
header.site .brand .nav-logo-txt b i{font-style:normal;color:var(--glow);transition:color .3s}
header.site .brand .nav-logo-txt em{display:block;font-style:normal;font-weight:500;font-size:.46rem;
  letter-spacing:1.9px;color:rgba(255,255,255,.62);margin-top:3px;white-space:nowrap;transition:color .3s}
header.site.solid .brand,body[data-header="solid"] header.site .brand{color:var(--navy)}
header.site.solid .brand .logo-edge,body[data-header="solid"] header.site .brand .logo-edge{stroke:var(--blue)}
header.site.solid .brand .nav-logo-txt b i,body[data-header="solid"] header.site .brand .nav-logo-txt b i{color:var(--blue)}
header.site.solid .brand .nav-logo-txt em,body[data-header="solid"] header.site .brand .nav-logo-txt em{color:var(--muted)}

/* primary navigation */
header.site .mainnav{display:flex;gap:2px;list-style:none;margin:0;padding:0}
header.site .mainnav>li{position:relative;display:flex;align-items:center}
header.site .mainnav a.top{display:flex;align-items:center;padding:10px 15px;font-size:14px;font-weight:600;
  color:rgba(255,255,255,.86);text-decoration:none;border-radius:6px;transition:color .2s,background .2s}
header.site .mainnav a.top:hover{color:#fff;background:rgba(255,255,255,.1)}
header.site .mainnav a.top[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px 0 var(--glow);border-radius:6px 6px 0 0}
header.site.solid .mainnav a.top,body[data-header="solid"] header.site .mainnav a.top{color:#33404f}
header.site.solid .mainnav a.top:hover,body[data-header="solid"] header.site .mainnav a.top:hover{color:var(--navy);background:var(--surface)}
header.site.solid .mainnav a.top[aria-current="page"],body[data-header="solid"] header.site .mainnav a.top[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--blue)}

/* dropdowns: hover + keyboard focus + an explicit toggle button for touch */
header.site .caretbtn{display:flex;align-items:center;justify-content:center;width:26px;height:36px;margin-left:-8px;
  border:0;background:none;cursor:pointer;color:rgba(255,255,255,.7);border-radius:6px}
header.site.solid .caretbtn,body[data-header="solid"] header.site .caretbtn{color:#5B6371}
header.site .caretbtn:hover{background:rgba(255,255,255,.1)}
header.site.solid .caretbtn:hover,body[data-header="solid"] header.site .caretbtn:hover{background:var(--surface)}
header.site .caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);margin-top:-3px;transition:transform .18s}
header.site .has-drop.open .caret{transform:rotate(-135deg);margin-top:3px}
header.site .drop{position:absolute;top:calc(100% + 4px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:0 12px 34px rgba(1,24,74,.14);padding:8px;opacity:0;visibility:hidden;
  transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
header.site .has-drop:hover .drop,header.site .has-drop:focus-within .drop,header.site .has-drop.open .drop{
  opacity:1;visibility:visible;transform:none}
header.site .drop a{display:block;padding:9px 12px;font-size:13.5px;font-weight:500;color:#33404f;text-decoration:none;border-radius:7px}
header.site .drop a:hover,header.site .drop a:focus-visible{background:var(--surface);color:var(--navy)}
header.site .drop a small{display:block;color:var(--muted);font-size:11.5px;font-weight:400;margin-top:1px}

/* right-hand actions: language switch + CTA + burger */
header.site .actions{display:flex;align-items:center;gap:14px}
header.site .lang{display:flex;gap:2px;font-size:12.5px;font-weight:600}
header.site .lang a{padding:6px 7px;border-radius:5px;color:rgba(255,255,255,.7);text-decoration:none}
header.site .lang a:hover{color:#fff}
header.site .lang a.active{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
header.site.solid .lang a,body[data-header="solid"] header.site .lang a{color:var(--muted)}
header.site.solid .lang a:hover,body[data-header="solid"] header.site .lang a:hover{color:var(--navy)}
header.site.solid .lang a.active,body[data-header="solid"] header.site .lang a.active{color:var(--navy)}
header.site .cta{background:var(--blue);color:#fff;padding:10px 18px;border-radius:7px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .2s}
header.site .cta:hover{background:var(--bright)}
header.site .hamb{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:10px;border:0;background:none;border-radius:6px}
header.site .hamb span{display:block;width:22px;height:2px;background:#fff;transition:background .3s,transform .3s,opacity .3s}
header.site.solid .hamb span,body[data-header="solid"] header.site .hamb span{background:var(--navy)}

/* focus ring for everything interactive in the chrome */
header.site a:focus-visible,header.site button:focus-visible,.mobmenu a:focus-visible,footer.site-footer a:focus-visible{
  outline:2px solid var(--bright);outline-offset:2px}

/* ── mobile menu ────────────────────────────────────────────────────── */
.mobov{position:fixed;inset:0;background:rgba(1,24,74,.4);z-index:55;opacity:0;visibility:hidden;transition:opacity .3s}
.mobov.open{opacity:1;visibility:visible}
.mobmenu{position:fixed;top:0;right:0;bottom:0;width:78%;max-width:320px;background:#fff;z-index:60;
  box-shadow:-8px 0 30px rgba(1,24,74,.18);padding:calc(80px + env(safe-area-inset-top,0px)) 28px 28px;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;overflow-y:auto;visibility:hidden;
  font-family:Manrope,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
.mobmenu.open{transform:none;visibility:visible}
.mobmenu a{display:block;padding:13px 0;font-size:16px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line)}
.mobmenu a.sub{font-size:14px;font-weight:500;color:var(--muted);padding-left:14px}
.mobmenu a[aria-current="page"]{color:var(--blue)}
.mobmenu .cta{margin-top:20px;background:var(--blue);color:#fff;text-align:center;border-radius:8px;border-bottom:0}
.mobmenu .mlang{display:flex;gap:6px;margin-top:22px}
.mobmenu .mlang a{flex:1;text-align:center;padding:10px 0;font-size:13px;border:1px solid var(--line);border-radius:8px;border-bottom:1px solid var(--line)}
.mobmenu .mlang a.active{background:var(--navy);border-color:var(--navy);color:#fff}
body.menu-open{overflow:hidden}

@media(max-width:920px){
  header.site .mainnav,header.site .lang{display:none}
  header.site .hamb{display:flex}
  header.site .bar{height:60px}
  header.site .brand svg{width:30px;height:30px}
  header.site .brand .nav-logo-txt b{font-size:1.1rem}
  .wrap{padding:0 22px}
}

/* ── footer ─────────────────────────────────────────────────────────── */
footer.site-footer{background:var(--deep);color:#8f9dbd;padding:44px 0 0;font-size:13px;
  font-family:Manrope,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.55;text-align:left}
footer.site-footer .fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
footer.site-footer .flogo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;width:fit-content}
footer.site-footer .flogo svg{width:28px;height:28px;flex:none;display:block}
footer.site-footer .flogo .logo-edge{stroke:var(--glow)}
footer.site-footer .flogo .nav-logo-txt{display:block;line-height:1}
footer.site-footer .flogo .nav-logo-txt b{display:block;font-weight:800;font-size:1.1rem;letter-spacing:-.4px}
footer.site-footer .flogo .nav-logo-txt b i{font-style:normal;color:var(--glow)}
footer.site-footer .flogo .nav-logo-txt em{display:block;font-style:normal;font-weight:500;font-size:.44rem;letter-spacing:1.9px;color:#8f9dbd;margin-top:3px}
footer.site-footer .ftag{font-size:12.5px;color:#8f9dbd;max-width:300px;line-height:1.6;margin:14px 0 0}
footer.site-footer h4{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}
footer.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
footer.site-footer a{color:#9fb0d6;text-decoration:none;transition:color .2s}
footer.site-footer ul a:hover{color:#fff}
footer.site-footer .fbottom{padding:20px 0 26px;font-size:12px;color:#8f9dbd;margin:0}
@media(max-width:760px){
  footer.site-footer .fgrid{grid-template-columns:1fr 1fr;gap:28px}
  footer.site-footer .fgrid>div:first-child{grid-column:1/-1}
}
@media(max-width:420px){footer.site-footer .fgrid{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){
  header.site,header.site *,.mobmenu,.mobov{transition:none!important}
}

@media(max-width:480px){.wrap{padding:0 20px}}
