@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&family=Instrument+Serif:ital@0;1&family=DM+Mono:wght@300;400&display=swap');

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --ink: #1a2e1a;
  --bark: #223320;
  --ember: #2e4a2a;
  --copper: #4a7c3f;
  --amber: #5d9e4f;
  --gold-dust: #8cc97a;
  --ivory: #f4f1e8;
  --sage: #4a7c3f;
  --moss-deep: #162414;
  --glow-amber: rgba(93,158,79,0.18);
  --glow-gold: rgba(140,201,122,0.1);

  --font-display: 'Fraunces', serif;
  --font-body: 'Instrument Serif', serif;
  --font-mono: 'DM Mono', monospace;

  --ease-out-expo: cubic-bezier(0.16,1,0.3,1);
  --ease-in-out-circ: cubic-bezier(0.85,0,0.15,1);
  --ease-bounce: cubic-bezier(0.34,1.56,0.64,1);

  --spacing-xs: clamp(0.5rem, 1vw, 0.75rem);
  --spacing-sm: clamp(1rem, 2vw, 1.5rem);
  --spacing-md: clamp(2rem, 4vw, 3rem);
  --spacing-lg: clamp(4rem, 8vw, 7rem);
  --spacing-xl: clamp(6rem, 12vw, 10rem);

  --container-width: min(90vw, 1400px);
  --container-narrow: min(85vw, 900px);

  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-stone: polygon(0 8%, 92% 0, 100% 92%, 8% 100%);
  --radius-leaf: polygon(0 15%, 85% 0, 100% 85%, 15% 100%);

  --zi-stars: 0;
  --zi-grain: 1;
  --zi-content: 2;
  --zi-nav: 100;
  --zi-cursor: 200;
  --zi-modal: 300;
  --zi-loader: 400;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  background-color: #f0ede0;
  color: #1a2e1a;
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
}

::selection {
  background: var(--amber);
  color: #f4f1e8;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

input, textarea, select {
  font-family: inherit;
}

:focus-visible {
  outline: 1px solid var(--amber);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
