:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  --color-bg: #f6f6f3;
  --color-surface: #ffffff;
  --color-text: #181816;
  --color-muted: #6f706b;
  --color-faint: #9a9b96;
  --color-border: #dadbd5;
  --color-border-strong: #bfc0ba;
  --color-accent: #365e52;
  --color-accent-dark: #25463d;
  --max-width: 1160px;
  --wide-width: 1320px;
  --narrow-width: 920px;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4.5rem;
  --space-8: 7rem;
  --shadow-lift: 0 18px 45px rgb(25 25 21 / 0.08);
}

html {
  scroll-behavior: smooth;
  background: var(--color-bg);
}

body {
  min-width: 320px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3 {
  font-weight: 590;
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

a {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent) 55%, white);
  outline-offset: 4px;
  border-radius: 4px;
}

::selection {
  background: #cbdad3;
  color: #11231d;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.7rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--color-text);
  color: white;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  color: var(--color-muted);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.external-mark {
  display: inline-block;
  margin-left: 0.22rem;
  color: var(--color-faint);
  font-size: 0.82em;
  transform: translateY(-0.06em);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
