:root {
  color-scheme: light;
  --ink: #16241d;
  --ink-soft: #35463d;
  --forest: #173f2b;
  --forest-deep: #0f2d20;
  --moss: #6f8064;
  --sage: #b9c4ae;
  --cream: #f5f1e8;
  --cream-deep: #e8e0d2;
  --paper: #fdfbf6;
  --white: #fffef9;
  --clay: #b86845;
  --clay-dark: #944b2f;
  --line: rgb(22 36 29 / 14%);
  --shadow-sm: 0 1px 2px rgb(15 45 32 / 6%), 0 8px 26px rgb(15 45 32 / 7%);
  --shadow-lg: 0 28px 80px rgb(15 45 32 / 16%);
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --step--1: clamp(.78rem, .75rem + .12vw, .84rem);
  --step-0: clamp(.98rem, .93rem + .2vw, 1.08rem);
  --step-1: clamp(1.18rem, 1.05rem + .5vw, 1.48rem);
  --step-2: clamp(1.48rem, 1.24rem + .92vw, 2.06rem);
  --step-3: clamp(1.9rem, 1.48rem + 1.6vw, 2.9rem);
  --step-4: clamp(2.55rem, 1.78rem + 3vw, 4.65rem);
  --step-5: clamp(3.2rem, 2.05rem + 4.4vw, 6.7rem);
  --space-1: .5rem;
  --space-2: .8rem;
  --space-3: 1.2rem;
  --space-4: 1.8rem;
  --space-5: 2.8rem;
  --space-6: 4.5rem;
  --space-7: clamp(5.5rem, 9vw, 9rem);
  --radius-sm: .7rem;
  --radius-md: 1.25rem;
  --radius-lg: 2rem;
  --radius-pill: 999px;
  --container: 78rem;
  --measure: 65ch;
  --ease: cubic-bezier(.2, .75, .25, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 20rem; overflow-x: clip; }
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
p, h1, h2, h3 { overflow-wrap: break-word; }

:focus-visible {
  outline: 3px solid var(--clay);
  outline-offset: 4px;
  border-radius: .15rem;
}

.container {
  width: min(calc(100% - 2rem), var(--container));
  margin-inline: auto;
}

.flow > * + * { margin-block-start: var(--flow-space, 1rem); }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

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