/* Altair V2 — design tokens.
   Overgenomen uit "01 Design Brief v2" (Het Atelier). Kleuren, typeschaal,
   spacing, vorm en motion staan hier één keer; verderop in de stylesheets
   staat geen enkele losse hex of losse clamp(). */

/* --- Lettertypes — lokaal, geen CDN ---------------------------------------
   Het brief noemt Fontshare- en Google-embeds. Bewust zelf gehost: dat
   scheelt twee externe verbindingen op het kritieke pad, houdt de site
   werkend zonder derden en maakt een strikte CSP mogelijk. Dezelfde snedes,
   dezelfde licentie (beide families zijn gratis).

   Fraunces is variabel (opsz 9-144, wght 300-900). font-optical-sizing staat
   standaard op auto, dus opsz volgt de font-size vanzelf. */
@font-face {
  font-family: "Fraunces";
  src: url("../assets/fonts/fraunces-upright.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fraunces";
  src: url("../assets/fonts/fraunces-italic.woff2") format("woff2");
  font-weight: 300 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../assets/fonts/general-sans-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../assets/fonts/general-sans-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../assets/fonts/general-sans-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../assets/fonts/general-sans-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* --- Kleur — merkpalet uit het brief, ongewijzigd ---------------------- */
  --pine: #0f2e28;
  --leaf: #1e4d42;
  --copper: #c8763b;
  --ivory: #f6f2ea;
  --white: #ffffff;
  --graygreen: #5f7069;
  --ink: #081512; /* diepste donker: scrims, footer, 3D-achtergrond */

  --border-hairline: rgb(15 46 40 / 0.12);
  --scrim: linear-gradient(180deg, rgb(8 21 18 / 0.35), rgb(8 21 18 / 0.85));

  /* Afgeleiden voor de donkere akten. Uit het palet gemengd, nooit als
     nieuwe hex ingevoerd, zodat het palet één bron blijft. */
  --hairline-dark: rgb(246 242 234 / 0.12);
  --hairline-dark-strong: rgb(246 242 234 / 0.22);
  --ivory-soft: rgb(246 242 234 / 0.72);
  --ivory-faint: rgb(246 242 234 / 0.48);
  --copper-glow: rgb(200 118 59 / 0.32);

  /* Gedempte tekst op donker. --graygreen (#5F7069) is de kleur uit het brief
     en haalt op ivoor ruim de AA-drempel, maar op --ink komt hij niet verder
     dan 3,55:1 — gemeten, niet geschat. Op donkere vlakken dus deze token,
     die op #081512 rond 7:1 uitkomt. Zelfde rol, zelfde palet, wél leesbaar. */
  --muted-on-dark: rgb(246 242 234 / 0.66);

  /* --- Type ------------------------------------------------------------- */
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "General Sans", "Inter", system-ui, -apple-system, sans-serif;

  --text-xs: clamp(0.7rem, 0.65rem + 0.2vw, 0.8125rem);
  --text-sm: clamp(0.875rem, 0.83rem + 0.2vw, 1rem);
  --text-base: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  --text-lg: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
  --text-xl: clamp(1.75rem, 1.5rem + 1.2vw, 2.5rem);
  --text-2xl: clamp(2.5rem, 2rem + 2.5vw, 4rem);
  --text-3xl: clamp(3.5rem, 2.5rem + 5vw, 6rem);
  --text-display: clamp(4.5rem, 2rem + 9vw, 9rem);
  --text-hero: clamp(3.5rem, 1rem + 11vw, 13rem);

  --tracking-tight: -0.03em;
  --tracking-snug: -0.015em;
  --tracking-wide: 0.08em;
  --leading-display: 0.95;
  --leading-tight: 1.05;
  --leading-snug: 1.2;
  --leading-body: 1.65;

  /* --- Spacing — editorial, witruimte is het budgetsignaal -------------- */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-6: 1.5rem;
  --s-8: 2rem;
  --s-12: 3rem;
  --s-16: 4rem;
  --s-24: 6rem;
  --s-32: 8rem;
  --s-48: 12rem;
  --section-y: clamp(6rem, 5rem + 8vw, 14rem);
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --measure-narrow: 38ch;
  --measure-body: 62ch;
  --container: 1320px;

  /* --- Vorm ------------------------------------------------------------- */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-pill: 999px;
  --shadow-cta: 0 8px 24px rgb(200 118 59 / 0.25);
  --shadow-lift: 0 20px 40px rgb(15 46 40 / 0.12);

  /* --- Motion ----------------------------------------------------------- */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.18, 1);
  --ease-overshoot: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 200ms;
  --dur-base: 600ms;
  --dur-slow: 1200ms;
  --dur-cinematic: 2400ms;

  /* --- Diepte ----------------------------------------------------------- */
  --z-stage: 0;
  --z-grain: 1;
  --z-content: 2;
  --z-nav: 40;
  --z-sticky: 45;
  --z-cursor: 90;
  --z-curtain: 100;
}
