/* Direction A: Stone and cobalt. Modern, engineered, no newspaper cues. */
@font-face { font-family: "Bricolage Grotesque"; src: url(fonts/bricolage-grotesque-latin-400-normal.woff2) format("woff2"); font-weight: 400; }
@font-face { font-family: "Bricolage Grotesque"; src: url(fonts/bricolage-grotesque-latin-500-normal.woff2) format("woff2"); font-weight: 500; }
@font-face { font-family: "Bricolage Grotesque"; src: url(fonts/bricolage-grotesque-latin-600-normal.woff2) format("woff2"); font-weight: 600; }
@font-face { font-family: "Instrument Sans"; src: url(fonts/instrument-sans-latin-400-normal.woff2) format("woff2"); font-weight: 400; }
@font-face { font-family: "Instrument Sans"; src: url(fonts/instrument-sans-latin-500-normal.woff2) format("woff2"); font-weight: 500; }
@font-face { font-family: "Instrument Sans"; src: url(fonts/instrument-sans-latin-600-normal.woff2) format("woff2"); font-weight: 600; }
:root {
  --paper: #E6E4DE; --panel: #F1EFEA; --ink: #14161B; --ink-2: #41444B; --graphite: #6A6C72;
  --rule: #CDC9BF; --rule-soft: #D9D5CC;
  --green: #2E44C4; --green-2: #6F7FD6; --green-wash: #D7DAEA;
  --mast: #2E44C4; --watch: #6F7FD6; --fair: #8A8B8E; --rich: #B0AEA8;
  --band-mast: #D9DCEB; --band-watch: transparent;
  --f-display: "Bricolage Grotesque", "Instrument Sans", sans-serif;
  --f-serif: "Instrument Sans", sans-serif;
  --f-sans: "Instrument Sans", sans-serif;
  --f-num: "Instrument Sans", sans-serif;
}
body { font-size: 15.5px; }
.masthead { border-bottom: 0; }
.mh-inner { height: 72px; }
.wordmark { font: 600 24px/1 var(--f-display); letter-spacing: -0.02em; text-transform: lowercase; padding: 0; display: inline-flex; align-items: center; gap: 10px; }
.mh-nav a { padding: 8px 14px; border: 1px solid transparent; border-radius: 999px; }
.mh-nav a[aria-current="page"] { border-color: var(--ink); }
.mh-nav { gap: 6px; }
.search input { background: var(--panel); border: 1px solid var(--rule); border-radius: 999px; padding-left: 36px; height: 38px; }
.search-icon { left: 13px; top: 11px; }
.field-hero { background: var(--panel); border-radius: 18px; padding: 26px 28px 24px; margin-top: 6px; }
.fh-title { font: 600 34px/1.05 var(--f-display); letter-spacing: -0.025em; }
.top-strip { border: 0; margin-top: 14px; }
.ts { background: var(--ink); color: var(--paper); border-radius: 18px; padding: 18px 26px; }
.ts .ts-label, .ts .ts-figs em { color: #9EA2AA; }
.ts .ts-one { color: #C9CCD2; }
.ts .ts-figs b, .ts:hover .ts-name { color: #9DAAF5; }
.ts .sc, .ts .band { color: #fff !important; }
.sc { font: 600 22px/1 var(--f-display); letter-spacing: -0.02em; }
.vl-name, .ts-name, .box-title, .panel-title, .h-section, .co-head h1, .display, .page-head .display { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.02em; }
.band { font-style: normal; font: 500 12px/1 var(--f-sans); border: 1px solid currentColor; border-radius: 999px; padding: 4px 9px; display: inline-block; }
.vl-score .band { margin-top: 8px; }
.latest, .field-sec, .principles { border-top: 0 !important; }
.vlist { gap: 12px; }
.vlist li { background: var(--panel); border-radius: 14px; }
.vlist a { padding: 18px 20px; border-bottom: 0; }
.box { border: 0; border-radius: 18px; }
.box-num { font-weight: 600; letter-spacing: -0.03em; }
.principles .pr-grid > div { border-top: 2px solid var(--ink); padding-top: 12px; }
.pr-grid h3 { font: 600 17px/1.3 var(--f-display); }
.pr-grid p, .vl-one, .box-cap, .summary .one, .prose, .lede, .nl-deck { font-family: var(--f-sans); }
.score-num { font: 600 96px/0.9 var(--f-display) !important; letter-spacing: -0.05em; color: var(--green); }
.score-band { font: 500 13px/1 var(--f-sans); font-style: normal; border: 1px solid currentColor; border-radius: 999px; padding: 5px 11px; }
.summary { background: var(--panel); border-radius: 18px; padding: 30px 32px; margin-top: 8px; border: 0; }
.pc { background: var(--panel); border-radius: 18px; padding: 28px 32px 30px; margin-top: 16px; border: 0; }
.co-head { border-bottom: 0; }
.figures dd { font: 600 24px/1 var(--f-display); letter-spacing: -0.02em; }
.site-foot { border-top: 0; background: var(--ink); color: var(--paper); margin-top: 40px; }
.site-foot .wordmark { color: var(--paper); }
.foot-nav { color: #C9CCD2; }
.foot-legal { color: #9EA2AA; border-top-color: #33363D; }
.c-axis, .c-axis-num { font-family: var(--f-sans); }
