/* DCS Sprint — colour themes. Same silver + graphite family as DCS Agentic and DCS Reach:
   light by default, grey dark mode. Loaded last on every page. */

:root{
  --s0:#E3E4E6; --s1:#EEEFF0; --s1b:#E9EAEC; --s2:#FAFAFA; --s3:#F3F4F5;
  --ln:#D5D7DA; --ln2:#C3C6CA;
  --t1:#2A2D32; --t2:#464A50; --t3:#7A7F86; --t4:#A4A8AD;
  --acc:#2A2D32; --acc-hi:#5A5F66; --acc-lo:#16181B; --acc-t:#2A2D32; --on-acc:#F4F4F5;
  --acc-rgb:42,45,50; --hi-rgb:42,45,50; --bg-rgb:238,239,240; --s2-rgb:250,250,250; --sh-rgb:30,32,36; --sha:.38;
  color-scheme:light;
}
:root[data-theme=dark]{
  --s0:#1A1C1F; --s1:#1F2124; --s1b:#232528; --s2:#282B2F; --s3:#2E3136;
  --ln:#33373C; --ln2:#43484E;
  --t1:#ECEDEF; --t2:#C3C7CC; --t3:#8F959C; --t4:#6C7279;
  --acc:#E4E6E9; --acc-hi:#FFFFFF; --acc-lo:#A9AEB4; --acc-t:#ECEDEF; --on-acc:#1F2124;
  --acc-rgb:228,230,233; --hi-rgb:255,255,255; --bg-rgb:31,33,36; --s2-rgb:40,43,47; --sh-rgb:0,0,0; --sha:.8;
  color-scheme:dark;
}
/* the old names every page still uses */
:root,:root[data-theme]{
  --ink:var(--t1); --bg:var(--s1); --bg-soft:var(--s1b); --bg-tint:var(--s3); --card:var(--s2); --deep:var(--s0);
  --line:var(--ln); --muted:var(--t3); --txt:var(--t2);
  --gold:var(--acc); --gold-deep:var(--acc-lo); --gold-hi:var(--acc-hi); --gold-soft:rgba(var(--acc-rgb),.08);
  --blue:var(--acc-t); --blue-deep:var(--acc); --blue-soft:rgba(var(--acc-rgb),.07); --champ:var(--acc-hi);
  --glow:rgba(var(--acc-rgb),.16);
}
html,body{background:var(--s1) !important}
body{color:var(--t2)}
::selection{background:var(--acc);color:var(--on-acc)}

/* pieces that were white-on-dark by construction */
.burger span{background:var(--t1) !important}
.brand .lock b{color:var(--t1) !important}
.foot-brand .brand b,.foot-brand .brand .sub{color:var(--t1) !important}
.chk24 .ci .cb{color:var(--acc)}
.brand .mark{filter:drop-shadow(0 4px 12px rgba(var(--sh-rgb),.18))}
nav.scrolled{background:rgba(var(--bg-rgb),.82) !important}
.mobnav{background:rgba(var(--bg-rgb),.98) !important}
.btn-pri,.navlinks .cta,.fab-quote,.mobnav a.cta{box-shadow:0 10px 26px -12px rgba(var(--sh-rgb),.55) !important}
.kicker .dot{background:#2FA36B}

/* theme switch + services menu in the nav */
.theme{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--ln2);border-radius:12px;background:rgba(var(--hi-rgb),.04);color:var(--t2);cursor:pointer;transition:background .2s,transform .3s}
.theme:hover{background:var(--s2);transform:rotate(-12deg)}
.theme svg{width:17px;height:17px}
.theme .moon,[data-theme=dark] .theme .sun{display:none}
[data-theme=dark] .theme .moon{display:block}
.navlinks{gap:26px !important}
.nav-dd{position:relative}
.nav-dd>button{font:600 14.5px 'Plus Jakarta Sans',sans-serif;color:var(--txt);background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:6px;padding:0}
.nav-dd>button:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.nav-dd:hover>button:after,.nav-dd.open>button:after{transform:rotate(225deg) translateY(-1px)}
.nav-dd .menu{position:absolute;top:calc(100% + 16px);left:50%;width:330px;padding:10px;border-radius:18px;background:var(--s2);border:1px solid var(--ln);
  box-shadow:0 30px 60px -24px rgba(var(--sh-rgb),.6);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .25s,transform .25s var(--ease),visibility .25s}
.nav-dd .menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-dd:hover .menu,.nav-dd.open .menu,.nav-dd:focus-within .menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-dd .menu a{display:flex !important;gap:14px;align-items:center;padding:12px;border-radius:12px;color:var(--t1) !important}
.nav-dd .menu a:after{display:none}
.nav-dd .menu a:hover{background:var(--s3)}
.nav-dd .menu i{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--s3);border:1px solid var(--ln);font:700 11px 'JetBrains Mono',monospace;font-style:normal;color:var(--t2)}
.nav-dd .menu b{display:block;font-size:14.5px;font-weight:700}
.nav-dd .menu small{display:block;font-size:12.5px;font-weight:500;color:var(--t3)}
.nav-dd.cur>button{color:var(--t1)}
@media(max-width:1180px){.navlinks>a:not(.cta),.navlinks>.nav-dd{display:none !important}.burger{display:flex !important}}
.mobnav .nav-dd>button{display:none}
.mobnav .nav-dd .menu{position:static;opacity:1;visibility:visible;transform:none;width:auto;background:none;border:0;box-shadow:none;padding:0;display:flex;flex-direction:column;align-items:center}
.mobnav .nav-dd .menu a{font-size:26px;padding:12px 24px;display:block !important}
.mobnav .nav-dd .menu i,.mobnav .nav-dd .menu small{display:none}
.mobnav .nav-dd .menu b{font-weight:800}
.mobnav .theme{margin-top:10px}

/* light: soften the depth layers that were tuned for black */
:root:not([data-theme=dark]) body:after{opacity:.025}
:root:not([data-theme=dark]) .hx-floor:before,:root:not([data-theme=dark]) .ps-floor:before{
  background:radial-gradient(rgba(var(--acc-rgb),.16) 1px,transparent 1.6px) 0 0/22px 22px,linear-gradient(135deg,#FFFFFF 0%,#F3F4F5 100%) !important;
  border-color:#DADCDF !important;box-shadow:0 14px 0 -4px #D6D8DB,0 70px 90px -40px rgba(30,32,36,.3) !important}
:root:not([data-theme=dark]) .hx-tile,:root:not([data-theme=dark]) .ps-base .stack i{box-shadow:0 5px 0 -1px #B9BCC1,0 14px 18px -10px rgba(30,32,36,.4)}
:root:not([data-theme=dark]) .hx-in,:root:not([data-theme=dark]) .ps-pad,:root:not([data-theme=dark]) .ps-tray,:root:not([data-theme=dark]) .ps-belt,:root:not([data-theme=dark]) .ps-msg{box-shadow:0 7px 0 -1px #B9BCC1,0 22px 28px -16px rgba(30,32,36,.35)}
:root:not([data-theme=dark]) .ps-belt{background:repeating-linear-gradient(90deg,#ECEDEF 0 1.5px,#FFFFFF 1.5px 22px) !important}
@media(max-width:480px){.navlinks>.cta{display:none !important}.navlinks{gap:10px !important}.brand .lock .sub{white-space:nowrap}}
.navlinks .cta,.btn{white-space:nowrap}
/* emoji icons follow the grey palette too */
.clock,.clk,.ic,.reflabel,.sblk span[style*="FREE"]{filter:grayscale(1)}
.mobnav .nav-dd .menu b{font-size:26px;letter-spacing:-.02em}
.mobnav{z-index:99 !important}
.mobnav{justify-content:flex-start !important;padding:96px 0 40px;overflow-y:auto}
.mobnav .theme{display:none}
