/* Locally hosted variable fonts; no third-party requests at page load. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('assets/fonts/inter-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('assets/fonts/manrope-latin.woff2') format('woff2');
}
:root {
  --paper: #f7f9fc;
  --white: #fff;
  --ink: #152337;
  --muted: #526176;
  --green: #075e69;
  --blue: #315dcc;
  --navy: #152337;
  --rust: #bf481b;
  --accent: #c74c1e;
  --line: #dbe3eb;
  --soft: #eaf1f6;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --display: 'Manrope', var(--sans);
  /* Existing page components use this token for their display type. */
  --serif: var(--display);
}
body { font-family: var(--sans); font-weight: 450; line-height: 1.65; }
h1,h2 { font-family: var(--display); font-weight: 750; letter-spacing: -.04em; }
h3,h4,h5 { font-weight: 650; }
a { color: var(--green); }
.site-header { background: #fff; border-bottom-color: var(--line); }
.nav-shell { min-height: 80px; }
#site-navigation a { font-size: .85rem; font-weight: 550; color: var(--muted); }
#site-navigation a:hover,#site-navigation a[aria-current=page] { color: var(--ink); }
#site-navigation a[aria-current=page]::after { height: 3px; background: var(--accent); }
.nav-paper { font-weight: 600; font-size: .82rem; }
.nav-paper span { color: var(--accent); }
.button { border-radius: 8px; font-weight: 600; padding: 12px 20px; }
.button.primary { background: var(--ink); border-color: var(--ink); box-shadow: 0 4px 12px #15233714; }
.button.primary span { color: #ffb489; }
.button.primary:hover { background: #263c56; border-color: #263c56; }
.text-link { font-weight: 550; }
.text-link > span { color: var(--accent); }
.site-footer { border-top-color: var(--line); }
.site-footer p,.site-footer > div { font-size: .78rem; }
.page-heading h1 { font-weight: 750; }
.publication-note { background: #edf2f7; padding-inline: 15px; border: 1px solid var(--line); border-radius: 8px; }
.results-board { background: #fff; border-radius: 12px; border: 1px solid var(--line); overflow: hidden; }
.results-top,.results-toolbar { padding-inline: 20px; }
.results-top { padding-top: 20px; }
.table-notes { padding-inline: 20px; }
.model-name { font-weight: 600; }
.completion-value { font-variant-numeric: tabular-nums; font-weight: 650; }
.completion-track > span { background: var(--blue); }
@media (max-width: 860px) {
  .nav-shell { min-height: 68px; }
}
@media (max-width: 600px) {
  .results-top,.results-toolbar,.table-notes { padding-inline: 12px; }
  .site-footer p,.site-footer > div { font-size: .72rem; }
}
