/*
 * Design tokens for the holding page.
 *
 * Every value is lifted from the application's own src/app/globals.css (the brand-*, accent-*,
 * ink-* and surface tokens, Fraunces for display, Inter for text), so this page and the site that
 * replaces it are the same brand rather than a lookalike.
 *
 * A custom property used without a definition does NOT fall back: the declaration is dropped at computed-value
 * time. scripts/comingsoon-check.mjs fails if any token used in styles.css is not defined here.
 */

@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter-latin-wght-normal.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Fraunces';
  src: url('/fonts/fraunces-latin-wght-normal.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light dark;

  /* brand: deep clinical teal */
  --brand-50: #eff9f8;
  --brand-100: #d6f0ee;
  --brand-200: #aee1de;
  --brand-300: #78cbc8;
  --brand-400: #43adab;
  --brand-600: #1f7475;
  --brand-700: #1c5c5e;
  --brand-800: #1b4a4c;
  --brand-950: #0a2326;

  /* accent: warm orange, used sparingly for the offer */
  --accent-100: #ffedd5;
  --accent-500: #f97316;
  --accent-700: #c2410c;

  /* semantic, with a separate ink for text (a fill is not a text colour) */
  --neg-ink: #a32020;
  --pos-ink: #12704a;

  /* surfaces and text, light */
  --surface: #ffffff;
  --surface-wash: #eff9f8;
  --surface-sunken: #f1f4f4;
  --border: #e3e8e9;
  --border-strong: #cbd3d5;
  --text: #1a2123;
  --text-muted: #516164;
  --heading: #0a2326;
  --link: #1c5c5e;
  --accent-ink: #c2410c;
  --btn-bg: #1f7475;
  --btn-bg-hover: #1c5c5e;
  --btn-ink: #ffffff;
  --focus: #1f7475;
  --field-bg: #ffffff;
  --ticket-bg: #ffffff;

  /* type */
  --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Fraunces', ui-serif, Georgia, serif;

  /* 4pt spacing scale */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 5rem;

  --radius: 0.75rem;
  --radius-sm: 0.5rem;
  --measure: 62ch;
  --page: 72rem;

  /* motion: transform and opacity only */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 600ms;
}

@media (prefers-color-scheme: dark) {
  :root {
    --surface: #0e1315;
    --surface-wash: #0f1c1e;
    --surface-sunken: #080c0d;
    --border: #2a3437;
    --border-strong: #3e4b4e;
    --text: #f1f4f4;
    --text-muted: #a9b5b8;
    --heading: #f1f4f4;
    --link: #78cbc8;
    --accent-ink: #fdba74;
    --neg-ink: #ff8f8f;
    --pos-ink: #5fd39b;
    --btn-bg: #43adab;
    --btn-bg-hover: #78cbc8;
    --btn-ink: #0a2326;
    --focus: #78cbc8;
    --field-bg: #1a2123;
    --ticket-bg: #1a2123;
  }
}
