/* tokens.css - gmbh-austria.com. Source of truth: DESIGN.md.
   Three layers: primitive (raw values, oklch) -> semantic (roles) -> component (used by styles.css).
   Palette and proportions measured from design variant A (the client's save of lawstrust.com,
   drafts/design-harvest/variant-a/tokens.md): navy ground, lime accent, Lato, square corners. */

:root {
  /* ---------- primitive ---------- */
  --navy-900: oklch(30.5% 0.060 264);      /* #232f4a footer base, overlay deep */
  --navy-700: oklch(42.4% 0.075 264.1);    /* #394d77 variant navy */
  --navy-600: oklch(44.9% 0.074 264.2);    /* #40547e variant navy, raised */
  --ink-900: oklch(23.5% 0.019 248.7);     /* #171f27 text */
  --slate-600: oklch(51.0% 0.029 246.5);   /* #596876 muted text */
  --mist-100: oklch(96.0% 0.005 247.9);    /* #eff2f5 surface */
  --mist-200: oklch(90.9% 0.010 261.8);    /* #dde1e8 hairline */
  --white: oklch(100% 0 0);
  --lime-500: oklch(83.2% 0.169 115.1);    /* #c5d43b variant accent */
  --lime-600: oklch(76.5% 0.160 115.1);    /* hover */
  --lime-100: oklch(96.5% 0.045 115);      /* tint */

  /* ---------- semantic ---------- */
  --c-bg: var(--white);
  --c-surface: var(--mist-100);
  --c-inverse: var(--navy-700);
  --c-inverse-2: var(--navy-600);
  --c-inverse-deep: var(--navy-900);
  --c-text: var(--ink-900);
  --c-muted: var(--slate-600);
  --c-line: var(--mist-200);
  --c-accent: var(--lime-500);
  --c-accent-hover: var(--lime-600);
  --c-accent-tint: var(--lime-100);
  --c-on-accent: var(--ink-900);
  --c-on-inverse: var(--white);
  --c-link: var(--navy-700);
  --c-focus: var(--lime-500);

  /* type: Lato is the only family (display 900, body 400/700), as on the variant */
  --f-sans: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fs-xs: 0.8125rem;   /* 13 */
  --fs-sm: 0.9375rem;   /* 15 */
  --fs-base: 1.0625rem; /* 17 */
  --fs-lg: 1.25rem;     /* 20 */
  --fs-h3: 1.3125rem;   /* 21 */
  --fs-h2: clamp(1.75rem, 1.2rem + 1.9vw, 2.375rem);   /* 28 -> 38, the variant's section heading */
  --fs-h1: clamp(2.125rem, 1.3rem + 3vw, 3.25rem);      /* 34 -> 52 */
  --fs-stat: clamp(2.5rem, 1.6rem + 3vw, 4.5rem);       /* 40 -> 72, the variant's stats band */
  --lh-body: 1.65;
  --lh-tight: 1.15;
  --track-caps: 0.06em;

  /* space: 8px base, the variant's scale 4 8 12 16 20 24 28 40 plus section rhythm */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px; --s-7: 28px;
  --s-8: 40px; --s-9: 56px; --s-10: 80px; --s-11: 104px;

  /* shape: square by default (buttons, bands), 4-8px only on small chips and cards' images */
  --r-0: 0; --r-1: 4px; --r-2: 8px;
  --shadow-1: 0 10px 30px rgba(23, 31, 39, 0.12);
  --shadow-2: 0 10px 30px rgba(0, 0, 0, 0.25);   /* the variant's one shadow */
  --border-accent: 2px solid var(--c-accent);

  /* layout */
  --wrap: 1220px;         /* the variant's main container */
  --wrap-narrow: 920px;   /* the variant's text column */
  --gutter: 24px;
  --header-h: 132px;      /* two-tier header over the hero, as on the variant */

  /* motion */
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --t-fast: 160ms;
}
