/* ============================================================
   Hormetrix — shared stylesheet
   Palette: graphite + emerald. Type: Instrument Serif / Sans / JetBrains Mono
   ============================================================ */

:root{
  --paper:#FBFBF9;
  --paper-2:#F2F4F2;
  --card:#FFFFFF;
  --ink:#0C1411;
  --ink-2:#16211D;
  --text:#101917;
  --muted:#5E6B66;
  --edge:#E2E7E4;
  --edge-2:#CFD6D2;
  --brand:#0B7A5C;
  --brand-bright:#2FBF8F;
  --brand-wash:#E9F3EF;
  --amber:#B4801F;
  --on-dark:#EAF1EE;
  --on-dark-muted:#93A49E;
  --radius:14px;
  --radius-lg:22px;
  --shadow:0 1px 2px rgba(12,20,17,.04), 0 8px 28px rgba(12,20,17,.06);
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0C1411;
    --paper-2:#111A16;
    --card:#141E1A;
    --ink:#060B09;
    --ink-2:#0F1815;
    --text:#E9EFEC;
    --muted:#94A29C;
    --edge:#243029;
    --edge-2:#2E3B34;
    --brand:#35C795;
    --brand-bright:#4FE0AC;
    --brand-wash:#14261F;
    --amber:#D6A44A;
    --on-dark:#EAF1EE;
    --on-dark-muted:#93A49E;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 28px rgba(0,0,0,.28);
  }
}
:root[data-theme="dark"]{
  --paper:#0C1411;
  --paper-2:#111A16;
  --card:#141E1A;
  --ink:#060B09;
  --ink-2:#0F1815;
  --text:#E9EFEC;
  --muted:#94A29C;
  --edge:#243029;
  --edge-2:#2E3B34;
  --brand:#35C795;
  --brand-bright:#4FE0AC;
  --brand-wash:#14261F;
  --amber:#D6A44A;
  --on-dark:#EAF1EE;
  --on-dark-muted:#93A49E;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 28px rgba(0,0,0,.28);
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%; display:block;}
svg{max-width:100%; height:auto;}

a{color:var(--brand); text-decoration:none;}
a:hover{text-decoration:underline;}

:focus-visible{outline:2px solid var(--brand-bright); outline-offset:3px; border-radius:4px;}

/* ---------- layout ---------- */
.wrap{max-width:1160px; margin-inline:auto; padding-inline:22px;}
@media (max-width:600px){ .wrap{padding-inline:16px;} }

section{padding-block:clamp(56px,7vw,104px);}
.band-dark{background:var(--ink); color:var(--on-dark);}
.band-soft{background:var(--paper-2);}
.band-line{border-top:1px solid var(--edge);}

/* ---------- typography ---------- */
h1,h2,h3,h4{margin:0; letter-spacing:-0.015em; text-wrap:balance;}

.display{
  font-family:"Instrument Serif",Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-0.01em;
  line-height:1.04;
}

h1.display{font-size:clamp(2.5rem,6.2vw,4.4rem);}
h2.display{font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.1;}
h3{font-size:1.06rem; font-weight:600; letter-spacing:-0.005em;}

.eyebrow{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--brand);
  margin:0 0 18px;
}
.band-dark .eyebrow{color:var(--brand-bright);}

.lede{font-size:clamp(1.05rem,1.6vw,1.2rem); line-height:1.6; max-width:34em; color:var(--muted);}
.band-dark .lede{color:var(--on-dark-muted);}

p{margin:0 0 1.05em;}
p:last-child{margin-bottom:0;}
.prose{max-width:36em;}
.prose p + p{margin-top:0;}

.mono{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-variant-numeric:tabular-nums;
}

/* ---------- header ---------- */
.site-header{
  position:sticky;
  top:env(safe-area-inset-top, 0px);
  z-index:50;
  backdrop-filter:saturate(1.6) blur(14px);
  -webkit-backdrop-filter:saturate(1.6) blur(14px);
  background:color-mix(in srgb, var(--paper) 82%, transparent);
  border-bottom:1px solid var(--edge);
}
.site-header.on-dark{
  background:color-mix(in srgb, var(--ink) 78%, transparent);
  border-bottom-color:rgba(255,255,255,.09);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  min-height:66px;
}
.brandmark{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:700; font-size:1.06rem; letter-spacing:-0.02em;
  color:var(--text); text-decoration:none; flex:none;
}
.on-dark .brandmark{color:var(--on-dark);}
.brandmark:hover{text-decoration:none;}
.brandmark .glyph{
  width:26px; height:26px; border-radius:7px; flex:none;
  background:linear-gradient(140deg,var(--brand),var(--brand-bright));
  display:grid; place-items:center;
}
.brandmark .glyph svg{width:15px; height:15px; display:block;}
.brandmark em{font-style:normal; color:var(--brand);}
.on-dark .brandmark em{color:var(--brand-bright);}

.site-nav{display:flex; align-items:center; gap:4px; overflow-x:auto; scrollbar-width:none;}
.site-nav::-webkit-scrollbar{display:none;}
.site-nav a{
  font-size:.9rem; font-weight:500; color:var(--muted);
  padding:7px 11px; border-radius:8px; white-space:nowrap; text-decoration:none;
}
.on-dark .site-nav a{color:var(--on-dark-muted);}
.site-nav a:hover{color:var(--text); background:var(--paper-2); text-decoration:none;}
.on-dark .site-nav a:hover{color:var(--on-dark); background:rgba(255,255,255,.07);}
.site-nav a.active{color:var(--brand); font-weight:600;}
.on-dark .site-nav a.active{color:var(--brand-bright);}
.nav-cta{margin-left:6px;}
@media (max-width:860px){
  .header-inner{flex-wrap:wrap; padding-block:10px; gap:8px;}
  .site-nav{width:100%; order:3; padding-bottom:2px;}
  .nav-cta{display:none;}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.92rem; font-weight:600; letter-spacing:-0.005em;
  padding:11px 20px; border-radius:10px; text-decoration:none;
  border:1px solid transparent; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{text-decoration:none; transform:translateY(-1px);}
.btn-primary{background:var(--brand); color:#fff; box-shadow:0 4px 16px color-mix(in srgb, var(--brand) 30%, transparent);}
.btn-primary:hover{background:color-mix(in srgb, var(--brand) 88%, #000);}
:root[data-theme="dark"] .btn-primary, .band-dark .btn-primary{color:#05110C;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .btn-primary{color:#05110C;} }
.btn-line{border-color:var(--edge-2); color:var(--text); background:transparent;}
.btn-line:hover{border-color:var(--brand); color:var(--brand);}
.band-dark .btn-line{border-color:rgba(255,255,255,.22); color:var(--on-dark);}
.band-dark .btn-line:hover{border-color:var(--brand-bright); color:var(--brand-bright);}
.btn-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}

.textlink{
  font-weight:600; font-size:.93rem; color:var(--brand);
  display:inline-flex; align-items:center; gap:6px;
}
.textlink::after{content:"\2192"; transition:transform .15s ease;}
.textlink:hover{text-decoration:none;}
.textlink:hover::after{transform:translateX(3px);}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(900px 480px at 78% 12%, color-mix(in srgb, var(--brand) 20%, transparent), transparent 62%),
    var(--ink);
  color:var(--on-dark);
  padding-block:clamp(52px,7vw,92px) clamp(52px,7vw,96px);
  overflow:hidden;
}
.hero-grid{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,4vw,56px); align-items:center;
}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
.hero h1{color:var(--on-dark); margin-bottom:22px;}
.hero .lede{color:var(--on-dark-muted); max-width:30em;}
.hero-art{position:relative;}

.page-head{padding-block:clamp(44px,5.5vw,72px) clamp(30px,4vw,44px);}
.page-head h1{font-size:clamp(2.1rem,4.6vw,3.3rem);}
.page-head .lede{margin-top:18px;}

/* ---------- credential strip ---------- */
.strip{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--edge); border-block:1px solid var(--edge);
}
@media (max-width:760px){ .strip{grid-template-columns:1fr;} }
.strip-item{background:var(--paper); padding:26px 24px;}
.strip-item .k{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--brand); display:block; margin-bottom:9px;
}
.strip-item .v{font-size:1.02rem; font-weight:600; line-height:1.4; letter-spacing:-0.01em;}
.strip-item p{font-size:.9rem; color:var(--muted); margin:6px 0 0;}

/* ---------- section head ---------- */
.sec-head{max-width:44em; margin-bottom:clamp(30px,4vw,48px);}
.sec-head .lede{margin-top:16px;}

/* ---------- split ---------- */
.split{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4.5vw,64px); align-items:center;
}
.split.narrow-left{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
@media (max-width:880px){
  .split, .split.narrow-left{grid-template-columns:1fr;}
  .split.flip > *:first-child{order:2;}
}

/* ---------- cards ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.grid-2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
@media (max-width:860px){ .grid-3{grid-template-columns:1fr;} }
@media (max-width:640px){ .grid-2{grid-template-columns:1fr;} }

.card{
  background:var(--card); border:1px solid var(--edge); border-radius:var(--radius);
  padding:26px 24px; box-shadow:var(--shadow);
  display:flex; flex-direction:column; gap:10px;
}
.card .icon{width:46px; height:46px; margin-bottom:6px;}
.card p{font-size:.95rem; color:var(--muted); margin:0;}
.card .step-no{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.68rem; letter-spacing:.16em; color:var(--brand);
}

.card-flat{background:transparent; border:none; box-shadow:none; padding:0;}

/* ---------- publications ---------- */
.pub{
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start;
  background:var(--card); border:1px solid var(--edge); border-left:3px solid var(--brand);
  border-radius:var(--radius); padding:22px 24px; box-shadow:var(--shadow);
}
@media (max-width:560px){ .pub{grid-template-columns:1fr;} }
.pub .badge{
  width:44px; height:44px; border-radius:11px; background:var(--brand-wash);
  display:grid; place-items:center; flex:none;
}
.pub .badge svg{width:22px; height:22px;}
.pub h3{margin-bottom:3px;}
.pub p{font-size:.94rem; color:var(--muted); margin:0;}
.pub .journal{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brand); margin-top:10px; display:block;
}
.stack{display:flex; flex-direction:column; gap:14px;}

/* ---------- figure ---------- */
.figure{
  background:var(--card); border:1px solid var(--edge); border-radius:var(--radius-lg);
  padding:clamp(20px,3vw,32px); box-shadow:var(--shadow);
}
.figure.plain{background:transparent; border:none; box-shadow:none; padding:0;}
.figcap{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.7rem; letter-spacing:.1em; color:var(--muted);
  margin-top:16px; text-transform:uppercase;
}

/* ---------- comparison table ---------- */
.table-scroll{overflow-x:auto; border:1px solid var(--edge); border-radius:var(--radius); background:var(--card);}
table{border-collapse:collapse; width:100%; min-width:520px; font-size:.95rem;}
th,td{padding:15px 18px; text-align:left; border-bottom:1px solid var(--edge);}
thead th{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); font-weight:500; background:var(--paper-2);
}
tbody tr:last-child td{border-bottom:none;}
td:first-child{font-weight:600;}
.cell-brand{color:var(--brand); font-weight:600;}

/* ---------- application blocks ---------- */
.app-block{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,56px); align-items:center;
  padding-block:clamp(34px,4.5vw,56px);
  border-top:1px solid var(--edge);
}
.app-block:first-of-type{border-top:none; padding-top:0;}
@media (max-width:880px){
  .app-block{grid-template-columns:1fr;}
  .app-block.flip > *:first-child{order:2;}
}
.tag-row{display:flex; gap:7px; flex-wrap:wrap; margin-top:16px;}
.tag{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
  background:var(--brand-wash); color:var(--brand);
  border-radius:999px; padding:5px 12px;
}

/* ---------- team ---------- */
.person{
  background:var(--card); border:1px solid var(--edge); border-radius:var(--radius-lg);
  padding:28px 26px; box-shadow:var(--shadow);
}
.avatar{
  width:64px; height:64px; border-radius:18px; margin-bottom:18px;
  background:linear-gradient(145deg,var(--brand),var(--brand-bright));
  display:grid; place-items:center;
  font-family:"Instrument Serif",Georgia,serif; font-size:1.55rem; color:#fff;
  letter-spacing:.02em;
}
.person h3{font-size:1.16rem; margin-bottom:3px;}
.person .role{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand);
}
.person p{font-size:.95rem; color:var(--muted); margin-top:14px;}

/* ---------- timeline / list ---------- */
.dl{display:grid; gap:0; border-top:1px solid var(--edge);}
.dl-row{
  display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr);
  gap:20px; padding-block:20px; border-bottom:1px solid var(--edge);
}
@media (max-width:640px){ .dl-row{grid-template-columns:1fr; gap:6px;} }
.dl-row dt{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand);
  padding-top:3px;
}
.dl-row dd{margin:0; color:var(--muted); font-size:.97rem;}
.dl-row dd strong{color:var(--text); font-weight:600; display:block; margin-bottom:3px;}

/* ---------- CTA band ---------- */
.cta{
  background:
    radial-gradient(700px 380px at 20% 0%, color-mix(in srgb, var(--brand) 24%, transparent), transparent 60%),
    var(--ink);
  color:var(--on-dark);
  border-radius:var(--radius-lg);
  padding:clamp(34px,5vw,64px);
  text-align:center;
}
.cta h2{color:var(--on-dark);}
.cta .lede{color:var(--on-dark-muted); margin-inline:auto; margin-top:16px;}
.cta .btn-row{justify-content:center;}

.contact-card{
  background:var(--card); border:1px solid var(--edge); border-radius:var(--radius-lg);
  padding:clamp(26px,4vw,44px); box-shadow:var(--shadow);
}
.notice{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--brand-wash); border-radius:var(--radius);
  padding:18px 20px; margin-top:22px;
}
.notice svg{width:20px; height:20px; flex:none; margin-top:2px;}
.notice p{font-size:.94rem; margin:0; color:var(--text);}

/* ---------- footer ---------- */
.site-footer{
  background:var(--ink); color:var(--on-dark-muted);
  padding-block:clamp(42px,5vw,64px) 34px;
  padding-bottom:calc(34px + env(safe-area-inset-bottom, 0px));
}
.footer-grid{
  display:grid; grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));
  gap:34px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.1);
}
@media (max-width:760px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .footer-grid{grid-template-columns:1fr;} }
.site-footer .brandmark{color:var(--on-dark);}
.site-footer .tagline{font-size:.93rem; margin-top:14px; max-width:26em;}
.foot-col h4{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--on-dark); margin-bottom:14px; font-weight:500;
}
.foot-col a{display:block; color:var(--on-dark-muted); font-size:.93rem; padding-block:5px;}
.foot-col a:hover{color:var(--brand-bright); text-decoration:none;}
.foot-bottom{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding-top:24px; font-size:.78rem; letter-spacing:.04em;
  font-family:"JetBrains Mono",ui-monospace,monospace;
}

/* ---------- SVG theming helpers ---------- */
.s-edge{stroke:var(--edge-2); fill:none;}
.s-ink{fill:var(--text);}
.s-muted{fill:var(--muted);}
.s-brand{fill:var(--brand);}
.s-brand-s{stroke:var(--brand); fill:none;}
.s-bright{fill:var(--brand-bright);}
.s-wash{fill:var(--brand-wash);}
.s-card{fill:var(--card);}
.s-amber{fill:var(--amber);}
.s-amber-s{stroke:var(--amber); fill:none;}
.s-label{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:11px; letter-spacing:.08em; fill:var(--muted);
}
.s-label-sm{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.08em; fill:var(--muted);
}
.s-title{
  font-family:"Instrument Sans",system-ui,sans-serif;
  font-size:12.5px; font-weight:600; fill:var(--text);
}
/* on dark bands the SVG should read light */
.band-dark .s-ink, .hero .s-ink{fill:var(--on-dark);}
.band-dark .s-muted, .hero .s-muted{fill:var(--on-dark-muted);}
.band-dark .s-label, .hero .s-label,
.band-dark .s-label-sm, .hero .s-label-sm{fill:var(--on-dark-muted);}
.band-dark .s-title, .hero .s-title{fill:var(--on-dark);}
.band-dark .s-edge, .hero .s-edge{stroke:rgba(255,255,255,.2);}
.band-dark .s-card, .hero .s-card{fill:rgba(255,255,255,.05);}

/* flowing sample animation */
.flowline{
  stroke:var(--brand-bright);
  stroke-width:5;
  fill:none;
  stroke-linecap:round;
  stroke-dasharray:44 620;
  animation:flowmove 4.6s linear infinite;
  filter:drop-shadow(0 0 5px color-mix(in srgb, var(--brand-bright) 60%, transparent));
}
@keyframes flowmove{
  from{stroke-dashoffset:664;}
  to{stroke-dashoffset:0;}
}
.pulse{animation:pulsefade 3.4s ease-in-out infinite;}
@keyframes pulsefade{
  0%,100%{opacity:.35;}
  50%{opacity:1;}
}

.rise{animation:rise .7s cubic-bezier(.2,.7,.3,1) both;}
.rise-2{animation-delay:.09s;}
.rise-3{animation-delay:.18s;}
@keyframes rise{
  from{opacity:0; transform:translateY(14px);}
  to{opacity:1; transform:none;}
}

/* Readability, alignment and interaction refinements */
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 20px;background:var(--card);color:var(--text);border:2px solid var(--brand);border-radius:8px;}
.skip-link:focus{top:12px;}
main:focus{outline:none;}
.brandmark{font-size:1.2rem;gap:10px;}
.brandmark>span:last-child{display:inline;}
.brandmark .glyph{width:30px;height:30px;}
.header-inner{min-height:78px;}
.site-nav a{min-height:44px;display:inline-flex;align-items:center;}
.hero .eyebrow,.cta .eyebrow{color:var(--brand-bright);}
.hero .btn-line,.cta .btn-line{color:var(--on-dark);border-color:#71877d;}
.hero .btn-line:hover,.cta .btn-line:hover{color:var(--brand-bright);border-color:var(--brand-bright);}
.hero .btn-primary,.cta .btn-primary,.on-dark .btn-primary{background:var(--brand-bright);color:#051b12;}
.hero .btn-primary:hover,.cta .btn-primary:hover,.on-dark .btn-primary:hover{background:#55d5a9;}
.hero .page-head{max-width:1160px;margin-inline:auto;padding-block:8px;}
.page-head h1,.page-head .lede{max-width:820px;}
.hero-grid{align-items:center;}
.hero h1{max-width:660px;}
.hero-stage{font-size:.875rem;color:#c0d3ca;border-left:2px solid var(--brand-bright);padding-left:12px;margin:23px 0 0;}
.hero-art{border:1px solid #365347;border-radius:20px;padding:22px 14px;background:rgba(8,28,20,.34);}
.hero-art svg{display:block;width:100%;}
.figure-kicker,.chip-caption{font-family:"JetBrains Mono",monospace;font-size:.75rem;line-height:1.7;color:#b8cdc3;}
.figure-kicker{letter-spacing:.12em;margin:0 8px;}
.chip-caption{margin:6px 8px 0;}
.eyebrow,.strip-item .k,.person .role,.pub .journal,.dl-row dt,.foot-col h4,thead th{font-size:.875rem;letter-spacing:.09em;}
.card .step-no,.tag,.figcap{font-size:.8125rem;letter-spacing:.06em;}
.strip-item{padding:28px max(24px,calc((100vw - 1160px)/6));}
.foot-bottom{font-size:.8125rem;}
.development-note{font-size:.875rem;margin-top:26px;color:#afc0b7;max-width:720px;}
.external-mark{font-size:1rem;font-weight:400;}
.pub h3 a{color:var(--text);}
.pub h3 a:hover{color:var(--brand);}
.benchmark{padding:32px;}
.benchmark h3{font-size:1.3rem;}
.benchmark-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:24px 0;}
.benchmark-grid>div{padding:20px 14px 20px 0;border-top:1px solid var(--edge);}
.benchmark dt{font-size:.875rem;color:var(--muted);}
.benchmark dd{font-family:"Instrument Serif",Georgia,serif;font-size:2.2rem;line-height:1.3;margin:8px 0 0;color:var(--brand);}
.benchmark dd span{display:block;font-family:"Instrument Sans",Arial,sans-serif;font-size:.875rem;color:var(--muted);}
.benchmark-note{font-size:.875rem;color:var(--muted);margin-bottom:18px;}
.s-label{font-size:13px;}
.s-label-sm{font-size:12px;letter-spacing:.02em;}
.s-title{font-size:14px;}
.figure{overflow-x:auto;}
.figure>svg{display:block;min-width:460px;}
.figure.plain>svg{min-width:540px;}
.sec-head{max-width:800px;}
.brandmark,.btn{line-height:1.4;}
.table-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:4px;}
@media(max-width:860px){.header-inner{min-height:62px;}.site-nav{flex-wrap:wrap;gap:0;overflow:visible;}.site-nav a{padding:7px 10px;}.hero-art{max-width:600px;}.nav-cta{display:none;}}
@media(max-width:600px){.hero{padding-block:44px;}.hero h1{font-size:clamp(2.5rem,10vw,3.4rem);}.figure-kicker{font-size:.75rem;}.chip-caption{line-height:1.8;}.figure{padding:20px;}.benchmark{padding:24px;}.benchmark-grid{gap:0 12px;}.benchmark dd{font-size:2rem;}.figure>svg{max-width:none;width:560px;}.figure.plain>svg{width:720px;}.site-nav a{font-size:.875rem;padding-inline:8px;}.header-inner{gap:5px;}.pub{padding:24px;}.btn-row .btn{min-height:48px;}.hero-grid{gap:32px;}}
