/* ============ Fonts ============ */
@font-face{font-family:"Arimo";font-style:normal;font-weight:400;font-display:swap;src:url("https://cdn.jsdelivr.net/fontsource/fonts/arimo@latest/latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Arimo";font-style:normal;font-weight:500;font-display:swap;src:url("https://cdn.jsdelivr.net/fontsource/fonts/arimo@latest/latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Arimo";font-style:normal;font-weight:700;font-display:swap;src:url("https://cdn.jsdelivr.net/fontsource/fonts/arimo@latest/latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@latest/latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@latest/latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@latest/latin-600-normal.woff2") format("woff2");}

/* ============ Theme tokens ============ */
:root,[data-theme="light"]{
  --bg:#ffffff;--bg-soft:#f7f6f2;--bg-mist:#eef0ec;
  --surface:#ffffff;--surface-2:#ece9e0;--surface-3:#f3f1ea;
  --text-primary:#16110f;--text-body:#55606a;--text-muted:#8b929a;--text-faint:#a7acb1;
  --border:#e2e0da;--border-soft:#ece9e2;--border-strong:#cfccc4;
  --accent:#c4dae7;--accent-soft:#dcebf2;--teal:#58a9be;
  --track:#f3f1ea;--chart-track:#e7e6e2;
  --tone-tan:#b4ae98;--tone-gray:#c3c5c2;--tone-blue:#8ea6b8;
  --btn-bg:#1c2521;--btn-fg:#f4f4f2;--btn-border:rgba(255,255,255,.10);
  --card-sage:#dde4d6;--card-ice:#d3e2f0;--card-peri:#ccd5f6;--sage-solid:#8f9a7d;--sage-ink:#0d100e;
  --icon:#3d4a44;--chip-bg:#f7f6f2;
  --hero-bg:#0d100e;--hero-text:#f4f4f2;--hero-sub:#cfd3ce;--hero-eyebrow:#a9b0ac;
  --band-sky:#dcebf2;--band-ink:#1c2521;
  --nav-bg:rgba(255,255,255,.82);--nav-shadow:0 1px 0 rgba(0,0,0,.06);
  --nav-logo:#16110f;--nav-link:#3d4a44;--nav-pill:rgba(0,0,0,.04);
  --tb-head:#f7f6f2;--tb-col1:#eef0f8;--tb-col1row:#f7f8fd;--tb-rowline:#f0eee8;
  /* semantic status */
  --ok:#2f9a63;--warn:#b39235;--risk:#c25664;
  --warn-bar:#e6c95a;--risk-soft:#f3ccd0;
  /* generated visuals */
  --cell-headroom:#dde4d6;--cell-nominal:#c4dae7;--cell-near:#f0e7b0;
  --hall-mid:#a9bda0;--hall-deep:#6f7d64;
  --check:#5c6ef0;
}
[data-theme="dark"]{
  --bg:#0b0e0c;--bg-soft:#111512;--bg-mist:#0f1310;
  --surface:#161b17;--surface-2:#1b201c;--surface-3:#1f241f;
  --text-primary:#f1f2ef;--text-body:#a7aeaa;--text-muted:#828a85;--text-faint:#697069;
  --border:rgba(255,255,255,.10);--border-soft:rgba(255,255,255,.06);--border-strong:rgba(255,255,255,.16);
  --accent:#c4dae7;--accent-soft:rgba(196,218,231,.13);--teal:#67b9cd;
  --track:#262b27;--chart-track:#2a302c;
  --tone-tan:#9a9581;--tone-gray:#525b54;--tone-blue:#8ea6b8;
  --btn-bg:#232a26;--btn-fg:#f4f4f2;--btn-border:rgba(255,255,255,.12);
  --card-sage:#1a231c;--card-ice:#152232;--card-peri:#1e2448;--sage-solid:#313c33;--sage-ink:#eef0ec;
  --icon:#b8c0ba;--chip-bg:#171c18;
  --hero-bg:#0b0e0c;--hero-text:#f4f4f2;--hero-sub:#c2c6c1;--hero-eyebrow:#8f968f;
  --band-sky:#16303c;--band-ink:#1b211d;
  --nav-bg:rgba(13,16,14,.72);--nav-shadow:0 1px 0 rgba(255,255,255,.06);
  --nav-logo:#f1f2ef;--nav-link:#cfd3ce;--nav-pill:rgba(255,255,255,.08);
  --tb-head:#171c18;--tb-col1:#182231;--tb-col1row:#131a24;--tb-rowline:rgba(255,255,255,.05);
  --ok:#55b380;--warn:#c9a94b;--risk:#d4707d;
  --warn-bar:#b3973f;--risk-soft:rgba(212,112,125,.35);
  --cell-headroom:#39463a;--cell-nominal:#5b7484;--cell-near:#8a7c42;
  --hall-mid:#43503e;--hall-deep:#5d7052;
  --check:#7583f2;
}
/* Art-directed constants — identical in both themes by design
   (dark hero panel, dark ink bands, sunset footer, pastel treemap) */
:root{
  --ink-fixed:#16110f;--paper-fixed:#f4f4f2;
  --accent-fixed:#c4dae7;--blue-fixed:#8ea6b8;
  --btn-dark-fixed:#1c2521;--status-dot:#64c37a;
  --band-teal:#58a9be;--band-teal-ink:#0d100e;
  --tree-a:#f2a09a;--tree-b:#c3a9e8;--tree-c:#a9c9e8;
  --tree-ink:#16110f;--tree-sub:rgba(0,0,0,.6);
}

/* ============ Base ============ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Arimo","Helvetica Neue",Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#hm-root.hm-theming,#hm-root.hm-theming *{transition:background-color .4s ease,border-color .4s ease,color .35s ease,box-shadow .35s ease}
@keyframes hmRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes hmGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ============ Hero variants ============ */
#hm-root .hm-hero>*{min-width:0}
#hm-root #hm-hero-sim>div{max-width:100%;overflow:hidden}
#hm-root header#top{container-type:normal}
#hm-root[data-hero="sunset"] header#top{background:radial-gradient(120% 90% at 80% 18%,rgba(231,219,199,.16),transparent 55%),radial-gradient(90% 120% at 6% 112%,rgba(217,138,78,.22),transparent 62%),linear-gradient(152deg,#4c150c 0%,#7a2318 40%,#a2451f 78%,#c06a35 108%)!important}
#hm-root[data-hero="sunset"] header#top .hm-heroaccent{color:#e7cba8!important}

/* ============ Responsive ============ */
@media(max-width:900px){
  #hm-root .hm-stack{grid-template-columns:1fr!important;gap:32px!important}
  #hm-root .hm-stack .hm-media{order:2!important}
  #hm-root .hm-eng{grid-template-columns:1fr 1fr!important}
  #hm-root .hm-foot{grid-template-columns:1fr 1fr!important;gap:32px!important}
  #hm-root .hm-research{grid-template-columns:1fr!important}
  #hm-root .hm-hero{grid-template-columns:1fr!important;gap:36px!important}
  #hm-root section,#hm-root .hm-pad{padding-left:24px!important;padding-right:24px!important}
  #hm-root .hm-navpill{display:none!important}
  #hm-root header#top{padding-left:26px!important;padding-right:26px!important}
}
@media(max-width:600px){
  #hm-root h1{font-size:clamp(34px,9.5vw,46px)!important}
  #hm-root .hm-eng{grid-template-columns:1fr!important}
  #hm-root .hm-foot{grid-template-columns:1fr!important}
  #hm-root .hm-opp-strip{grid-template-columns:1fr!important}
  #hm-root .hm-plangrid{grid-template-columns:1fr!important}
  #hm-root section,#hm-root .hm-pad{padding-left:18px!important;padding-right:18px!important}
  #hm-root nav#hm-nav{padding-left:18px!important;padding-right:18px!important}
  #hm-root header#top{padding-top:118px!important}
  #hm-root .hm-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  #hm-root #hm-table{min-width:640px}
  #hm-root .hm-hero-actions,#hm-root .hm-opp-actions{flex-wrap:wrap}
}

/* ============ Article page ============ */
.hm-article-page{background:var(--bg);color:var(--text-primary)}
@media(max-width:700px){.hm-art{padding-left:20px!important;padding-right:20px!important}}
