*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header-h); }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--text);
  font-family: var(--font-text);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
p { margin: 0 0 1em; }
h1, h2, h3 {
  font-family: var(--font-display); font-weight: var(--display-weight); font-stretch: var(--display-stretch);
  font-weight: var(--display-weight);
  font-stretch: var(--display-stretch);
  text-transform: uppercase;
  line-height: .9;
  letter-spacing: -.005em;
  margin: 0;
}
h1 em, h2 em, h3 em {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 500;
  text-transform: none;
  font-size: .8em;
  letter-spacing: 0;
}
.wrap { width: min(100% - 64px, 1380px); margin-inline: auto; }
.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;
}
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
[hidden] { display: none !important; }

@media (max-width: 760px) {
  .wrap { width: min(100% - 32px, 1380px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}