@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Roboto";src:url("assets/fonts/roboto-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Roboto";src:url("assets/fonts/roboto-medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Roboto";src:url("assets/fonts/roboto-bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}

:root {
  /* OD TOKEN_SCHEMA contract. Evidence lives in source/token-contract.report.json. */
  --bg: #f0f5f5;
  --surface: #ffffff;
  --surface-warm: #5ab45a;
  --fg: #05323c;
  --fg-2: var(--fg);
  --muted: #829ba0;
  --meta: var(--muted);
  --border: #cbd9da;
  --border-soft: var(--border);
  --accent: #325a5f;
  --accent-on: #ffffff;
  --accent-hover: #05323c;
  --accent-active: #01181d;
  --success: #1d8b6a;
  --warn: #f4a100;
  --danger: #bc194a;
  --font-display: "Montserrat", system-ui, sans-serif;
  --font-body: "Roboto", system-ui, sans-serif;
  --font-mono: ui-monospace, "Roboto Mono", monospace;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 21px;
  --text-2xl: 25px;
  --text-3xl: 30px;
  --text-4xl: var(--text-3xl);
  --leading-body: 1.5;
  --leading-tight: 1.3;
  --tracking-display: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --section-y-desktop: 96px;
  --section-y-tablet: 68px;
  --section-y-phone: 48px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 20px;
  --radius-pill: 9999px;
  --elev-flat: none;
  --elev-ring: 0 0 0 1px var(--border);
  --elev-raised: 0 2px 15px 0 #313c5405;
  --focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);
  --motion-fast: 140ms;
  --motion-base: 200ms;
  --ease-standard: cubic-bezier(0.23, 1, 0.32, 1);
  --container-max: 1800px;
  --container-gutter-desktop: 32px;
  --container-gutter-tablet: 24px;
  --container-gutter-phone: 16px;
}
