:root{
  --ink:#131824; --ink-2:#3f4859; --ink-3:#6b7486;
  --paper:#fbfcfe; --paper-2:#eff2f7; --line:#dbe0ea;
  --brand:#16223F; --brand-2:#24365E; --brand-ink:#B9C3DA;
  --accent:#F46A1B; --accent-ink:#1A0A02; --accent-text:#A33F08;
  --radius:10px;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#e9ecf2; --ink-2:#aeb7c8; --ink-3:#858ea2;
    --paper:#0a0f1a; --paper-2:#111826; --line:#232c3d; --brand:#0c1428; --brand-2:#1d2d50; --brand-ink:#B9C3DA;
    --accent:#FF8440; --accent-ink:#1A0A02; --accent-text:#FF8440;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;line-height:1.15;margin:0;letter-spacing:-0.01em}
p{margin:0;text-wrap:pretty}
a{color:var(--brand-2);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-text)}
@media (prefers-color-scheme: dark){a{color:#9ab4e8}}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
@media print{[data-reveal]{opacity:1 !important;transform:none !important}header,[data-wa-float]{position:static !important}}
@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1 !important;transform:none !important;transition:none !important}}
input,textarea,select,button{font:inherit;color:inherit}

/* Header: mobile first, desktop layout from 900px */
.site-nav{display:flex;align-items:center;flex:1 0 100%;order:3;margin-left:0;flex-wrap:nowrap;gap:18px;font-size:14px;border-top:1px solid var(--line);padding-top:10px;overflow-x:auto}
.site-nav a{white-space:nowrap}
.logo-caption{display:none}
.wa-header{margin-left:auto;padding:9px 14px}
.wa-long{display:none}
@media (min-width:900px){
  .site-nav{flex:0 1 auto;order:0;margin-left:auto;flex-wrap:wrap;gap:14px 22px;font-size:14.5px;border-top:0;padding-top:0;overflow-x:visible}
  .logo-caption{display:block}
  .wa-header{margin-left:0;padding:10px 16px}
  .wa-short{display:none}
  .wa-long{display:inline}
}

/* Hover and focus states */
.fc1:focus{left:8px !important;top:8px !important}
.hv2:hover{color:var(--accent-text) !important}
.hv3:hover{filter:brightness(1.08) !important}
.hv4:hover{background:rgba(255,255,255,0.1) !important}
.hv5:hover{color:#FFB081 !important}
.hv6:hover{border-color:var(--accent) !important}
