:root {
  --color-navy: #13593a;
  --color-navy-surface: #16834b;
  --color-blue: #16834b;
  --color-red: #a41420;
  --color-white: #ffffff;
  --color-cool-gray: #f7fbf7;
  --color-mint: #e6f3e9;
  --color-text: #173c2b;
  --color-muted: #607168;
  --color-border: #d6e3da;
  --radius-sm: 4px;
  --radius-md: 8px;
  --container: 1200px;
  --gutter: clamp(20px, 3vw, 32px);
  --font-heading: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-text); background: var(--color-white); font-family: var(--font-body, Arial, sans-serif); line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--color-blue); outline-offset: 3px; }
.container { width: min(100% - (2 * var(--gutter)), var(--container)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; z-index: 1000; top: 1rem; left: 1rem; width: auto; height: auto; padding: .75rem 1rem; margin: 0; overflow: visible; clip: auto; white-space: normal; background: var(--color-white); color: var(--color-navy); }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; } }
