/* ELVAR design tokens v4 — Final Build Prompt (2026-09-30).
   Visual identity preserved: Instrument Serif display, Inter body,
   IBM Plex Mono labels; warm paper, deep ink, deep-green accent, hairlines.
   No shadows. No gradients. No stock imagery. */
:root {
  --paper: #F2EFE7;
  --paper-2: #E9E5DA;
  --ink: #14161A;
  --ink-2: #1E2126;
  --muted: #5B5F66;          /* 5.58:1 on paper — body secondary */
  --accent: #1F4D3A;         /* 8.38:1 on paper — the only accent */
  --accent-ink: #F2EFE7;     /* text on accent */
  --hairline: #D8D3C4;      /* 1px rules on paper */
  --hairline-ink: #2E3238;  /* 1px rules on ink */

  /* Designed dark surfaces (explicit classes, not inversion) */
  --on-ink: #F2EFE7;
  --on-ink-mute: #B9B3A6;    /* 8.7:1 on ink — dark-section secondary */
  --on-ink-faint: #8F8A7D;

  --focus: #1F4D3A;
  --focus-on-dark: #A8CBB6;  /* 10.3:1 on ink — visible focus on dark */

  --header-h: 72px;
  --radius: 2px;

  --font-display: "Instrument Serif", Georgia, serif;
  --font-sans: "Inter", -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  /* 8px spacing scale */
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px;
  --s5: 40px; --s6: 48px; --s7: 56px; --s8: 64px;

  --sec-pad: 64px;
  --wrap: 1200px;
}

@media (min-width: 768px) {
  :root { --sec-pad: 96px; }
}
@media (min-width: 1024px) {
  :root { --sec-pad: 128px; }
}

/* ── Motion system: one house language across ELVAR ──
   Primary expo-out for entrances and reveals; secondary for micro
   interactions; press curve for physical button feedback. */
:root {
  --ease-primary: cubic-bezier(.16,1,.3,1);
  --ease-secondary: cubic-bezier(.4,0,.1,1);
  --ease-press: cubic-bezier(0.165,0.84,0.44,1);
  --dur-micro: 200ms;
  --dur-sm: 300ms;
  --dur-md: 500ms;
  --dur-lg: 600ms;
  --dur-xl: 1000ms;
  --dur-theatrical: 1200ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
