/* ============================================================
   bituser-theme.css — global foundation + chrome
   Derived from the canonical index.html. Link from every page:
     <link rel="stylesheet" href="/bituser-theme.css">
   Page-specific component styles stay in each page's own <style>.
   Paired with bituser-chrome.js (header + mobile nav + footer).
   ============================================================ */

:root{
  --brand-50:#ECF3FD; --brand-100:#D2E2FA; --brand-200:#A8C8F4; --brand-400:#5491E6;
  --brand-600:#2E63B4; --brand-700:#214A87; --brand-800:#18345F; --brand-900:#0F2241;
  --ink:#1B1B17; --ink-soft:#3A3A34; --muted:#6B6A62; --faint:#9C9B90;
  --line:rgba(27,27,23,0.13); --line-soft:rgba(27,27,23,0.07);
  --paper:#FAF9F4; --card:#FFFFFF; --panel:#F3F2EB;
  --ok:#2E8B57; --warn:#C8841E; --err:#C2403B;
  --font-sans:'Manrope',system-ui,-apple-system,sans-serif;
  --font-display:'Sora','Manrope',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;
  --font-word:'Lexend','Manrope',sans-serif;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-600);}
.mono{font-family:var(--font-mono);}

/* reveal */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);}
  .rv.in{opacity:1;transform:none;}
}

/* shared section heading */
section{padding:92px 0;}
.shead{max-width:60ch;}
.shead h2{font-family:var(--font-display);font-size:clamp(28px,3.6vw,42px);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:14px 0 0;}
.shead h2 em{display:block;font-style:normal;color:var(--brand-600);}
.shead p{font-size:17px;color:var(--ink-soft);margin-top:16px;max-width:58ch;}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(250,249,244,.82);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line-soft);}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{font-family:var(--font-word);display:flex;align-items:center;gap:11px;font-weight:700;font-size:22px;letter-spacing:-.02em;}
.brand .mk{width:30px;height:30px;border-radius:0;background:var(--brand-400);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;}
.navlinks{display:flex;align-items:stretch;align-self:stretch;gap:2px;}
.navitem{position:static;display:flex;}
.navtrigger{position:relative;display:flex;align-items:center;justify-content:center;height:100%;font-size:14.5px;font-weight:500;color:var(--ink-soft);padding:0 16px;border:none;background:none;font-family:inherit;cursor:pointer;transition:color .15s;}
.navtrigger .chev{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:11px;height:11px;color:var(--brand-600);opacity:0;transition:opacity .18s;}
.navitem:hover .navtrigger,.navitem:focus-within .navtrigger{color:var(--ink);}
.navitem:hover .navtrigger .chev,.navitem:focus-within .navtrigger .chev{opacity:1;}
.navtrigger.is-active{color:var(--ink);font-weight:600;}
.mega{position:absolute;top:100%;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 26px 38px -30px rgba(15,34,65,.35);opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s;z-index:90;}
.navitem:hover .mega,.navitem:focus-within .mega{opacity:1;visibility:visible;}
.mega-inner{max-width:1180px;margin:0 auto;padding:32px;}
.mega-inner .mh-t{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-600);margin-bottom:18px;}
.mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:2px 40px;justify-content:start;}
.mega a{display:block;padding:11px 14px;border-radius:10px;transition:background .14s;}
.mega a:hover{background:var(--brand-50);}
.mega a .mt{display:block;font-size:14.5px;font-weight:500;color:var(--ink);}
.mega a .md{font-size:12.5px;color:var(--muted);margin-top:2px;}
.navcta{display:flex;align-items:center;gap:10px;}
.btn{font-family:inherit;font-size:14px;font-weight:500;padding:10px 18px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:.18s;display:inline-flex;align-items:center;gap:8px;}
.btn-primary{background:var(--brand-600);color:#fff;}
.btn-primary:hover{background:var(--brand-700);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--brand-400);color:var(--brand-700);}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;transition:.25s;}

/* ---------- footer ---------- */
footer{background:var(--brand-900);color:var(--brand-100);padding:68px 0 34px;}
.ftop{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:38px;}
.fbrand .brand{color:#fff;}
.fbrand p{font-size:13.5px;color:var(--brand-200);max-width:32ch;margin:16px 0 20px;line-height:1.6;}
.socials{display:flex;gap:10px;}
.socials a{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:var(--brand-100);transition:.18s;}
.socials a:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3);}
.fcol h5{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-400);margin-bottom:18px;}
.fcol a{display:block;font-size:14px;line-height:1.45;color:#9AA6BA;padding:7px 0;font-weight:400;transition:color .16s;}
.fcol a:hover{color:#fff;}
.fpill{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(168,200,244,.3);padding:6px 12px;border-radius:999px;margin:18px 0 0;}
.fpill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);}
.fnews{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:48px;padding:24px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
.fnews .fn-t{font-size:16px;font-weight:600;color:#fff;}
.fnews .fn-d{font-size:13px;color:var(--brand-200);margin-top:3px;}
.fnews form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.fnews input{font-family:inherit;font-size:14px;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:11px 14px;min-width:240px;}
.fnews input::placeholder{color:var(--brand-200);}
.fnews input:focus{outline:none;border-color:var(--brand-400);background:rgba(255,255,255,.1);}
.fnews .fn-ok{font-size:13px;color:#fff;font-family:var(--font-mono);}
.fbar{display:flex;justify-content:space-between;align-items:center;margin-top:26px;font-size:13px;color:var(--brand-200);flex-wrap:wrap;gap:12px;}
.fbar .fbar-links{display:flex;gap:18px;flex-wrap:wrap;}
.fbar a:hover{color:#fff;}

/* ---------- mobile chrome ---------- */
.mobnav{display:none;}
@media(max-width:920px){
  .navlinks,.navcta .btn-ghost{display:none;}
  .burger{display:block;}
  .ftop{grid-template-columns:1fr 1fr;gap:32px;}
  .fnews{flex-direction:column;align-items:flex-start;}
  .mobnav{position:fixed;inset:68px 0 0;background:var(--paper);z-index:99;padding:0;transform:translateX(100%);transition:.3s;overflow:hidden;}
  .mobnav.open{transform:none;}
  .mpane{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--paper);transition:transform .3s cubic-bezier(.4,0,.2,1);}
  .mchild{transform:translateX(100%);}
  .mrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 26px;font-size:17px;font-weight:600;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line-soft);text-align:left;font-family:inherit;cursor:pointer;text-decoration:none;}
  .mrow .mr-c{width:18px;height:18px;color:var(--brand-600);flex:none;}
  .mback{display:flex;align-items:center;gap:9px;width:100%;padding:16px 26px;background:none;border:0;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-600);text-align:left;cursor:pointer;}
  .mback svg{width:15px;height:15px;}
  .mchead{padding:22px 26px 8px;font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--ink);}
  .msub{display:block;padding:14px 26px;border-bottom:1px solid var(--line-soft);}
  .msub .ms-t{font-size:15.5px;font-weight:600;color:var(--ink);}
  .msub .ms-d{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;font-weight:400;}
  .mcta{padding:24px 26px;display:flex;flex-direction:column;gap:11px;}
  .mcta .btn{justify-content:center;width:100%;}
  .burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger.x span:nth-child(2){opacity:0;}
  .burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
@media(max-width:560px){.ftop{grid-template-columns:1fr;}}
