@font-face {
  font-family: Onest;
  src: url("assets/fonts/onest-variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  /* Official brandbook colors; dark blue provides accessible text contrast. */
  --brand-blue: #2176ff;
  --brand-green: #c9f184;
  --ink: #333333;
  --muted: #666666;
  --link: #155cc4;
  --border: #e5e5e5;
  --surface: #f6f6f5;
  --blue-tint: #edf4ff;
  --error: #c1292e;
  --radius: 10px;
  --theme-color: var(--link);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Onest, Arial, sans-serif; color: var(--ink); background: #fff; }
button, input { font: inherit; }
a { color: var(--link); text-underline-offset: 4px; }
button, a, input { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--link); outline-offset: 4px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 44px; padding: 12px 19px; border: 1px solid transparent; border-radius: var(--radius); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }
.button-primary { background: var(--brand-green); color: var(--ink); }
.button-primary:hover { background: #bce371; color: var(--ink); }
.button-secondary { border-color: var(--border); background: white; color: var(--ink); }
.button-secondary:hover { background: var(--surface); }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; background: white; color: var(--ink); }
.skip-link:focus { top: 12px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
