/* Hallmark · tokens · theme: custom (Medirad brand-locked)
 * vibe: "clinical authority, football ground, Slovak congress"
 * paper oklch(97.3% 0.007 268.5) light · accent oklch(71% 0.122 192) cool-teal
 * display + body: Montserrat (brand lock — single face by mandate, varied by weight)
 * axes: paper-band = light · display-style = geometric-sans · accent-hue = cool
 */

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Light.woff2") format("woff2");
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  /* paper — tinted toward the anchor hue, never pure white */
  --color-paper:        oklch(98.6% 0.004 268.5);
  --color-paper-2:      oklch(96.4% 0.009 268.5);
  --color-paper-3:      oklch(93.7% 0.014 268.5);

  /* ink — the brand royal blue is the ink anchor, #233C83 */
  --color-ink:          oklch(38.0% 0.123 266.0);
  --color-ink-2:        oklch(32.0% 0.102 266.0);
  --color-ink-deep:     oklch(23.3% 0.067 266.6);
  --color-ink-body:     oklch(30.0% 0.030 266.0);

  /* rules */
  --color-rule:         oklch(88.0% 0.016 268.5);
  --color-rule-2:       oklch(72.0% 0.030 268.5);

  /* support */
  --color-muted:        oklch(55.0% 0.025 266.0);
  --color-neutral:      oklch(44.0% 0.030 266.0);

  /* accent — brand teal #00B9B5, used under 5% of any viewport */
  --color-accent:       oklch(71.0% 0.122 192.0);
  --color-accent-deep:  oklch(60.0% 0.105 192.0);
  --color-accent-ink:   oklch(20.0% 0.040 192.0);
  --color-focus:        oklch(66.0% 0.150 192.0);

  /* on-dark */
  --color-on-ink:       oklch(99.0% 0.002 268.5);
  --color-on-ink-2:     oklch(86.0% 0.020 268.5);
  --color-on-ink-3:     oklch(70.0% 0.028 268.5);

  /* flag colour — only for unconfirmed content in mock-ups, never ships */
  --color-flag:         oklch(62.0% 0.190 25.0);
  --color-flag-bg:      oklch(95.5% 0.030 40.0);

  /* type */
  --font-display: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --font-body:    "Montserrat", "Segoe UI", system-ui, sans-serif;

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

  /* 1.25 major-third scale */
  --text-xs:  0.72rem;  --text-sm:  0.82rem;  --text-base: 0.95rem;
  --text-md:  1.1rem;   --text-lg:  1.35rem;  --text-xl:   1.7rem;
  --text-2xl: 2.1rem;   --text-3xl: 2.7rem;   --text-4xl:  3.4rem;
  --text-display-s: 4.4rem; --text-display: 6rem;

  /* motion */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;

  /* rules + radii */
  --rule-hair: 1px; --rule-fine: 2px; --rule-slab: 6px;
  --radius-card: 0px; --radius-pill: 999px; --radius-input: 2px;
}
