:root {
  --background: oklch(1 0 0);
  --foreground: oklch(0.1450 0 0);
  --primary: oklch(0 0 0);
  --primary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.9500 0 0);
  --muted-foreground: oklch(0.5320 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --border: oklch(0.9000 0 0);
  --font-sans: "DM Sans", ui-sans-serif, sans-serif, system-ui;
  --font-mono: "Geist Mono", ui-monospace, monospace;
  --font-display: "Barlow Condensed", ui-sans-serif, sans-serif, system-ui;
  --radius: 0.5rem;
  --radius-pill: 999px;
  --btn-font-size: 0.9375rem;
  --btn-font-weight: 700;
  --accent: oklch(0.614 0.243 29.0);
  --accent-strong: oklch(0.492 0.193 28.9);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -0.005em;
  margin: 0;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

/* Visually hidden until focused — first tab stop on every page */
.skip-link {
  position: absolute;
  top: -3rem;
  left: 1rem;
  z-index: 100;
  padding: 0.75rem 1.25rem;
  background-color: var(--primary);
  color: var(--primary-foreground);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0.375rem;
  transition: top 0.15s ease;
}

.skip-link:focus {
  top: 1rem;
}

.eyebrow-rule {
  background-color: var(--accent) !important;
}

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