:root {
  color-scheme: light;
  --background: #fffefa;
  --surface: #f7f3ec;
  --surface-deep: #eee6d9;
  --ink: #29251f;
  --muted: #756e64;
  --gold: #8b6a36;
  --gold-dark: #684b20;
  --line: #ded6ca;
  --danger: #9a3d35;
  --success: #476c4e;
  --shadow: 0 18px 45px rgb(60 45 25 / 9%);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --content: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--ink); font-family: var(--sans); line-height: 1.6; }
body, button, input, select, textarea { font: 400 1rem/1.5 var(--sans); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: not-allowed; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.12; }
h1 { font-size: clamp(2.35rem, 6vw, 5.6rem); letter-spacing: -.045em; }
h2 { font-size: clamp(1.75rem, 3.5vw, 3.3rem); letter-spacing: -.03em; }
h3 { font-size: 1.18rem; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
[hidden] { display: none !important; }

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