/* Clearline design tokens. Colours are fixed by the brand (see design spec); contrast pairs are
   checked by tests/test_contrast.py. The site is always dark: it's the brand, not a theme. */

/* Brand faces are Euclid Circular (sans) and Tiempos (serif accents). Both are licensed fonts, so the
   site self-hosts free stand-ins: Figtree and Source Serif 4. If licensed Euclid/Tiempos woff2 files
   are added later, add @font-face rules for them here; the stacks below already list them first. */
@font-face {
  font-family: "Figtree";
  src: url("../fonts/Figtree-Variable.woff2") format("woff2");
  font-weight: 300 900;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("../fonts/SourceSerif4-Italic-Variable.woff2") format("woff2");
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Geist Mono";
  src: url("../fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: dark;

  /* Surfaces */
  --bg: #060C14;
  --surface-quiet: #09131F;   /* sunken: inputs, placeholders, row hover */
  --bg-raised: #0C1A29;       /* the slightly lighter navy band */
  --surface: #0E3A63;         /* logo navy. Raised brand blocks only: no faint or accent text on it */

  /* Lines */
  --line: #13202F;            /* decorative separators */
  --line-strong: #22364D;     /* hairline dividers */
  --border-control: #53687F;  /* form control edges: 3:1 against their fill (WCAG 1.4.11) */

  /* Text */
  --text: #EEF2F6;
  --text-muted: #C2D0DE;
  --text-faint: #8DA0B4;      /* small metadata only */

  /* Accent: the logo orange, used sparingly */
  --accent: #C9763A;
  --accent-hover: #D9803F;
  --accent-ink: #140A02;
  --accent-soft: #3A2414;
  --accent-text-hover: #E5A06A;
  --focus: #E5A06A;
  --danger: #F08A7E;

  /* Type: major third (1.25) from 16px, fluid at the display end */
  --font-sans: "Euclid Circular B", "Euclid Circular A", "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-serif: "Tiempos Headline", "Tiempos Text", "Source Serif 4", Georgia, serif;
  --font-mono: "Geist Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --step--2: 0.75rem;
  --step--1: 0.875rem;
  --step-0: 1rem;
  --step-1: 1.25rem;
  --step-2: 1.5625rem;
  --step-3: clamp(1.75rem, 1.4rem + 1.5vw, 2.4rem);
  --step-4: clamp(2.25rem, 1.55rem + 2.4vw, 3.25rem);
  --step-5: clamp(2.5rem, 1.6rem + 3vw, 3.5rem);   /* home hero only */

  /* Space */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 7rem;

  /* Layout: one shared asymmetric split, used by the hero and the work grid */
  --radius: 4px;
  --wrap: 72rem;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --split: minmax(0, 1.5fr) minmax(0, 1fr);
  --split-gap: var(--space-7);
  --line-x: calc(var(--gutter) * 0.5);   /* the clear line sits this far left of the text edge */

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-settle: cubic-bezier(0.34, 1.25, 0.64, 1);  /* fader cap: a motor fader settling, ~2px overshoot */
  --dur-fast: 260ms;
  --dur: 340ms;
  --dur-slow: 560ms;
}
