/* Hallmark · genre: atmospheric · macrostructure: Marquee Hero (hero) → tech carousel → typographic index (services) → bands (COMPANY / CAREERS / CONTACT)
 * theme: custom — Lumen structure on Cobalt light palette · enrichment: apparatus (data globe, canvas + d3-geo, self-hosted in vendor/globe)
 * nav: N1a-style (wordmark · 3 in-page anchors · VI/JA switch · CTA; burger below 64rem) · footer: Ft1 (address + email + copyright)
 * bands studied (structure only) from voyager-hcm.com; palette stays Cobalt (+ navy-deep for pills/contact band, marker yellow in hero only)
 * languages: vi / ja via lang/{vi,ja}/site.php, remembered in the "locale" cookie, default ja
 * palette: paper oklch(98.5% 0.004 250) · ink oklch(24% 0.02 258) · accent oklch(58% 0.20 256)
 * pre-emit critique: P4 H4 E4 S4 R3 V4 · self-checked, not tool-verified
 */

/* ---------- Tokens (Cobalt light palette on Lumen structure) — lift into tokens.css if shared ---------- */
:root {
  color-scheme: light;
  --color-paper:      oklch(98.5% 0.004 250);
  --color-paper-2:    oklch(96.5% 0.005 252);
  --color-paper-3:    oklch(94%   0.006 254);
  --color-rule:       oklch(91%   0.008 255);
  --color-rule-2:     oklch(83%   0.011 255);
  --color-muted:      oklch(56%   0.013 255);
  --color-neutral:    oklch(46%   0.015 255);
  --color-ink-2:      oklch(34%   0.018 257);
  --color-ink:        oklch(24%   0.020 258);
  --color-accent:     oklch(58%   0.20  256);
  --color-accent-hover: oklch(52% 0.20  256);
  --color-accent-2:   oklch(58%   0.20  256);   /* accent as text / underline */
  --color-accent-ink: oklch(99%   0.004 256);
  --color-focus:      oklch(58%   0.20  256);
  --color-glow:       oklch(58%   0.20  256 / 0.28);
  --color-glow-2:     oklch(58%   0.20  256 / 0.10);
  --color-paper-emit: oklch(58%   0.20  256 / 0.05);
  --color-card-emit:  oklch(58%   0.20  256 / 0.05);
  --rule-blueprint:   oklch(24%   0.020 258 / 0.05);
  --color-graphite:   oklch(24%   0.018 260);
  --color-error:      oklch(52%   0.19  25);
  --color-navy-deep:  oklch(30%   0.08  262);   /* pills + contact band */
  --color-navy-text:  oklch(30%   0.08  262);   /* labels on panels */

  --font-display: "Newsreader", "Tiempos Headline", ui-serif, Georgia, serif;
  --font-body:    "Geist", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --text-display:   clamp(2.5rem, 4.5vw + 0.75rem, 5rem);
  --text-display-s: clamp(2rem, 3vw + 0.75rem, 3.25rem);
  --text-lg: 1.125rem;
  --text-sm: 0.875rem;
  --text-xs: 0.75rem;
  --tracking-display: -0.025em;
  --tracking-label: 0.10em;
  --tracking-micro: 0.16em;

  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 5rem;
  --section-gap: clamp(5rem, 10vw, 9rem);
  --gutter: clamp(1.25rem, 4vw, 2.5rem);
  --measure: 60ch;
  --page-max: 76rem;

  --radius-control: 8px;
  --radius-card: 1.25rem;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px oklch(24% 0.02 258 / 0.05);
  --shadow-float: 0 24px 48px -24px oklch(58% 0.20 256 / 0.22);

  --ease-out: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-short: 150ms;
  --dur-mid: 240ms;
  --dur-long: 600ms;
  --dur-pulse: 4s;

  --z-menu: 90;
  --z-nav: 100;
  --z-modal: 700;
}
