 
:root {
  --palette-main: #002266;
  --palette-text: #05132e;
  --palette-auxiliary: #38a8ff;
  --palette-figure-primary: #123c91;
  --palette-figure-context: #2b59b6;
  --palette-figure-accent: #70c1ff;
  --palette-page-background: #f7f8fa;
  --palette-panel-background: #f7f8fa;
  --palette-card-background: #ffffff;
  --palette-hero-start: #001a4d;
  --palette-hero-end: #264480;
  --palette-series-primary: #002266;
  --palette-series-secondary: #2858b8;
  --palette-series-baseline: #6f7d9b;
  --palette-series-human: #123c91;
  --palette-series-human-fill: rgba(56, 102, 194, 0.55);
  --palette-series-slate: #8193b6;
  --palette-matrix-cool1: #c6d2ec;
  --palette-matrix-cool2: #8fa8dc;
  --palette-matrix-cool3: #3d6ed1;
  --palette-matrix-cool4: #13409a;
  --palette-figure-warm: #e57e3b;
  --palette-figure-teal: #139a9a;
  --palette-figure-gold: #d9a52b;
  --palette-matrix-warm1: #f5d0b5;
  --palette-matrix-warm2: #eb9f68;
  --palette-matrix-warm3: #d96b27;
  --palette-figure-yeast: #258b80;
  --palette-figure-ecoli: #997354;
  --palette-chart-ecoli: #982f39;
  --palette-chart-yeast: #1d6039;
  --palette-chart-ecoli-fill: rgba(204, 68, 68, 0.55);
  --palette-chart-yeast-fill: rgba(68, 170, 102, 0.55);
  --palette-cover-human: #e7edf9;
  --palette-cover-yeast: #abc1ed;
  --palette-cover-ecoli: #749ae7;
  --palette-cover-molecule: #acbfe5;
  --palette-hcp-primary: #123c91;
  --palette-hcp-baseline: #7989a9;
  --palette-hcp-slate: #6279a7;
  --palette-hcp-steel: #4f6082;
  --palette-hcp-ms1: #6c7689;
  --palette-hcp-orange: #b34d36;
  --palette-hcp-teal: #217f83;
  --palette-hcp-violet: #7959a2;
  --palette-hcp-gold: #a47b22;
  --palette-hcp-coral: #da7462;
  --palette-hcp-green: #397a52;
  --palette-hcp-magenta: #9c477d;
  --palette-hcp-olive: #657b28;
  --palette-hcp-brown: #9a6b46;
  --palette-paper: #ffffff;
  --palette-card: #ffffff;
  --palette-card-shade: #f4f5f8;
  --palette-anchor-light: #1f3d78;
  --palette-anchor-shade: #001c54;
  --palette-ink: #05132e;
  --palette-muted: #2d394f;
  --palette-accent: #38a8ff;
  --palette-accent-ink: #123c91;
  --palette-on-accent: #000000;
  --palette-hcp-coverage: #c8d2e6;
  --palette-figure-ink: #123c91;
  --palette-on-figure: #ffffff;
  --palette-accent-hover: #0f347d;
  --palette-accent-tint: rgba(56, 168, 255, 0.08);
  --palette-page: #f7f8fa;
  --palette-panel: #f7f8fa;
  --palette-inset: #dee2eb;
  --palette-selected: #ebedf3;
  --palette-border: #c4ccdc;
  --palette-rule: #99a7c2;
  --palette-edge: rgba(0, 34, 102, 0.11);
  --palette-shadow: rgba(0, 34, 102, 0.06);
  --palette-news-shadow: rgba(0, 34, 102, 0.09);
  --palette-brand-start: #001a4d;
  --palette-brand: #002266;
  --palette-brand-middle: #16326b;
  --palette-brand-end: #264480;
  --palette-on-brand: #ffffff;
  --palette-on-brand-muted: #dadee7;
  --palette-on-brand-line: rgba(255, 255, 255, 0.18);
  --palette-on-brand-fill: rgba(255, 255, 255, 0.1);
  --palette-on-brand-control: rgba(255, 255, 255, 0.45);
  --palette-on-brand-hover: rgba(255, 255, 255, 0.15);
  --palette-on-button: #ffffff;
  --palette-anchor-muted: #d6dce7;
  --palette-anchor-accent-ink: #a6d9ff;
  --palette-anchor-rule: rgba(255, 255, 255, 0.18);
  --palette-anchor-edge: rgba(255, 255, 255, 0.45);
  --palette-light-accent: #bde3ff;
  --palette-glow: #38a8ff;
  --palette-glow-soft: #308bda;
  --palette-ribbon-peak: #b9e1ff;
  --palette-button-hover: #001a4d;
}

 
:root {
  color-scheme: light;
  --color-white: var(--palette-paper);
  --color-ink: var(--palette-ink);
  --color-text: var(--palette-ink);
  --color-text-muted: var(--palette-muted);
  --color-accent: var(--palette-accent);
  --color-link: var(--palette-accent-ink);
  --color-link-hover: var(--palette-accent-hover);
  --color-button: var(--palette-brand);
  --color-button-hover: var(--palette-button-hover);
  --color-on-button: var(--palette-on-button);
  --color-selection: var(--palette-selected);
  --color-on-selection: var(--palette-ink);
  --color-navy: var(--palette-ink);
  --color-navy-light: var(--color-accent);
  --color-midnight: var(--palette-brand);
  --color-blue: var(--palette-accent-ink);
  --color-blue-light: var(--color-accent);
  --color-blue-tint: var(--palette-accent-tint);
  --color-image-edge: var(--palette-edge);
  --color-off-white: var(--palette-inset);
  --color-pale-blue: var(--palette-inset);
  --color-gray-100: var(--palette-inset);
  --color-gray-200: var(--palette-border);
  --color-gray-300: var(--palette-rule);
  --color-gray-500: var(--palette-muted);
  --color-gray-700: var(--palette-ink);
  --color-gray-900: var(--palette-ink);

  --surface-page: var(--palette-page);
  --surface-header: var(--surface-page);
  --surface-card: var(--palette-card);
  --surface-raised: var(--surface-card);
  --surface-art: var(--palette-panel);
  --surface-timeline: var(--palette-page);
  --surface-inset: var(--palette-inset);
   
  --gradient-button: linear-gradient(135deg, var(--palette-anchor-light), var(--color-button) 55%, var(--palette-anchor-shade));
  --home-background: var(--surface-page);
  --home-divider: var(--color-gray-200);
  --gradient-opening: linear-gradient(115deg, var(--palette-panel), var(--palette-page) 58%, var(--palette-inset));

  --color-on-dark: var(--palette-on-brand);
  --color-on-dark-muted: var(--palette-on-brand-muted);
  --color-on-dark-subtle: var(--palette-on-brand-muted);
  --color-on-dark-line: var(--palette-on-brand-line);
  --color-on-dark-fill: var(--palette-on-brand-fill);
  --color-on-dark-glow: var(--palette-on-brand-fill);
  --card-shadow: 0 1px 3px var(--palette-shadow), 0 6px 18px var(--palette-shadow);
  --card-shadow-hover: 0 4px 10px var(--palette-shadow), 0 14px 32px var(--palette-shadow);
  --news-card-shadow: 0 1px 3px var(--palette-news-shadow), 0 6px 18px var(--palette-news-shadow);
  --news-card-shadow-hover: 0 4px 10px var(--palette-news-shadow), 0 14px 32px var(--palette-news-shadow);
  --header-shadow: 0 1px 8px var(--palette-shadow);

  --brand-start: var(--palette-brand-start);
  --brand-middle: var(--palette-brand-middle);
  --brand-end: var(--palette-brand-end);
  --gradient-brand: linear-gradient(115deg, var(--brand-start), var(--brand-middle) 58%, var(--brand-end));
  --brand-control-line: var(--palette-on-brand-control);
  --brand-control-hover: var(--palette-on-brand-hover);
  --brand-accent: var(--palette-light-accent);
  --brand-copy: var(--palette-on-brand-muted);
  --brand-glow: var(--palette-glow);
  --brand-glow-soft: var(--palette-glow-soft);
  --brand-ribbon-edge: var(--palette-accent);
  --brand-ribbon-start: var(--palette-accent);
  --brand-ribbon-peak: var(--palette-ribbon-peak);
  --brand-ribbon-end: var(--palette-accent);
  --brand-ribbon-secondary: var(--palette-accent);

   
  --figure-ink: var(--color-ink);
  --figure-muted: var(--color-text-muted);
  --figure-quiet: var(--color-text-muted);
  --figure-context: var(--palette-figure-context);
  --figure-blue: var(--palette-figure-primary);
  --figure-accent-ink: var(--palette-figure-ink);
  --figure-on-accent: var(--palette-on-figure);
  --figure-rule: var(--color-gray-300);
  --figure-surface: var(--palette-page);
  --figure-card: var(--surface-card);
  --figure-card-shade: var(--palette-card-shade);
  --figure-card-border: var(--palette-edge);
  --figure-well: var(--surface-inset);
  --figure-groove: var(--surface-inset);
  --figure-selected: var(--palette-selected);
  --figure-highlight: var(--palette-selected);
  --figure-shadow: var(--palette-ink);
  --figure-anchor: var(--color-button);
  --figure-anchor-light: var(--palette-anchor-light);
  --figure-anchor-shade: var(--palette-anchor-shade);
  --figure-anchor-edge: var(--palette-anchor-edge);
  --figure-anchor-ink: var(--color-on-button);
  --figure-anchor-muted: var(--palette-anchor-muted);
  --figure-anchor-accent: var(--palette-figure-accent);
  --figure-anchor-accent-ink: var(--palette-anchor-accent-ink);
  --figure-anchor-rule: var(--palette-anchor-rule);
   
  --figure-field-ink: var(--palette-ink);
  --figure-field-muted: var(--palette-muted);
  --figure-field-accent: var(--palette-accent-ink);
  --figure-field-rule: var(--palette-rule);

   
  --series-blue: var(--palette-figure-primary);
  --figure-bright: var(--palette-series-secondary);
  --figure-warm: var(--palette-figure-warm);
  --figure-teal: var(--palette-figure-teal);
  --figure-gold: var(--palette-figure-gold);
  --figure-slate: var(--palette-series-slate);
  --matrix-cool-1: var(--palette-matrix-cool1);
  --matrix-cool-2: var(--palette-matrix-cool2);
  --matrix-cool-3: var(--palette-matrix-cool3);
  --matrix-cool-4: var(--palette-matrix-cool4);
  --matrix-warm-1: var(--palette-matrix-warm1);
  --matrix-warm-2: var(--palette-matrix-warm2);
  --matrix-warm-3: var(--palette-matrix-warm3);
  --figure-human: var(--palette-series-human);
  --figure-yeast: var(--palette-figure-yeast);
  --figure-ecoli: var(--palette-figure-ecoli);
  --cover-human: var(--palette-cover-human);
  --cover-yeast: var(--palette-cover-yeast);
  --cover-ecoli: var(--palette-cover-ecoli);
  --chart-primary: var(--palette-series-primary);
  --chart-secondary: var(--palette-series-secondary);
  --chart-baseline: var(--palette-series-baseline);
  --chart-human: var(--palette-series-human);
  --chart-ecoli: var(--palette-chart-ecoli);
  --chart-yeast: var(--palette-chart-yeast);
  --chart-human-fill: var(--palette-series-human-fill);
  --chart-ecoli-fill: var(--palette-chart-ecoli-fill);
  --chart-yeast-fill: var(--palette-chart-yeast-fill);
  --chart-hcp-primary: var(--palette-hcp-primary);
  --chart-hcp-coverage: var(--palette-hcp-coverage);
  --chart-hcp-baseline: var(--palette-hcp-baseline);
  --chart-hcp-slate: var(--palette-hcp-slate);
  --chart-hcp-steel: var(--palette-hcp-steel);
  --chart-hcp-ms1: var(--palette-hcp-ms1);
  --chart-hcp-orange: var(--palette-hcp-orange);
  --chart-hcp-teal: var(--palette-hcp-teal);
  --chart-hcp-violet: var(--palette-hcp-violet);
  --chart-hcp-gold: var(--palette-hcp-gold);
  --chart-hcp-coral: var(--palette-hcp-coral);
  --chart-hcp-green: var(--palette-hcp-green);
  --chart-hcp-magenta: var(--palette-hcp-magenta);
  --chart-hcp-olive: var(--palette-hcp-olive);
  --chart-hcp-brown: var(--palette-hcp-brown);

   
  --chart-rule: var(--color-gray-200);
  --chart-ink: var(--color-ink);
  --chart-text: var(--color-text);
  --chart-muted: var(--color-text-muted);
  --chart-subtle: var(--color-text-muted);
  --chart-surface: var(--surface-card);
  --chart-callout: var(--surface-art);
}

 
[data-theme] :is(.page-company, .page-science, .page-blog, .page-post, .page-default) {
  --surface-page: var(--palette-panel);
  --surface-header: var(--palette-panel);
  --surface-art: var(--palette-page);
}
[data-theme] .milestone-art {
  --surface-art: var(--surface-timeline);
  --figure-surface: var(--surface-inset);
}

 
[data-theme="dark"] .page-home {
  --home-background: transparent;
  --home-divider: transparent;
  --figure-field-ink: var(--color-on-dark);
  --figure-field-muted: var(--brand-copy);
  --figure-field-accent: var(--brand-accent);
  --figure-field-rule: var(--color-on-dark-line);
}
[data-theme="dark"] .page-home :is(.section-heading, .feature-content, .feature-figure figcaption, .record-link, .news-copy, .contact-inner) {
  --color-ink: var(--color-on-dark);
  --color-text: var(--brand-copy);
  --color-text-muted: var(--brand-copy);
  --color-gray-500: var(--color-on-dark-muted);
  --color-gray-300: var(--color-on-dark-line);
  --color-gray-200: var(--color-on-dark-line);
  --color-accent: var(--brand-accent);
  --color-blue: var(--brand-accent);
  --color-link: var(--brand-copy);
  --color-link-hover: var(--color-on-dark);
  color: var(--color-text);
}
