:root {
  --color-cream: #f6f1e8;
  --color-paper: #fbf8f3;
  --color-mist: #e4ece4;
  --color-sage: #3e5744;
  --color-sage-deep: #2f4335;
  --color-ink: #1c211c;
  --color-ink-soft: #4f574c;
  --color-line: #d5cec2;
  --font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif;
  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --shadow-quiet: 0 0 0 1px rgb(28 33 28 / 0.06), 0 1px 2px -1px rgb(28 33 28 / 0.06), 0 8px 24px -12px rgb(28 33 28 / 0.12);
}
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background: var(--color-cream); color: var(--color-ink); }
body { margin: 0; font-family: var(--font-sans); background: var(--color-cream); color: var(--color-ink); min-height: 100dvh; line-height: 1.55; }
h1,h2,h3,h4 { font-family: var(--font-display); text-wrap: balance; letter-spacing: -0.02em; font-weight: 500; }
p { text-wrap: pretty; }
img { outline: none; max-width: 100%; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.lockup { height: 3rem; width: auto; max-width: 10.5rem; object-fit: contain; object-position: left; background: transparent; border: 0; }
@media (min-width: 640px) { .lockup { max-width: 13.5rem; } }
.shadow-quiet { box-shadow: var(--shadow-quiet); }
