html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--dark-bg);
  background: var(--white);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  line-height: var(--lh-tight);
  font-weight: 800;
  letter-spacing: -0.025em;
}
h1 { font-weight: 800; }
h2 { font-weight: 800; }

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--sp-6);
}

.container-narrow {
  width: 100%;
  max-width: var(--container-narrow);
  margin-inline: auto;
  padding-inline: var(--sp-6);
}

.section {
  padding-block: var(--section-py);
}

.section-dark {
  background: var(--dark-bg);
  color: var(--off-white);
}

.section-darker {
  background: var(--darker-bg);
  color: var(--off-white);
}

.section-light {
  background: var(--white);
  color: var(--dark-bg);
}

.section-cream {
  background: var(--off-white);
  color: var(--dark-bg);
}

.label {
  font-size: var(--fs-label);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--burgundy);
}

.eyebrow {
  font-size: var(--fs-small);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--grey-500);
  margin-bottom: var(--sp-4);
}

.text-burgundy { color: var(--burgundy); }
.text-white { color: var(--white); }
.text-gold { color: var(--gold); }

a:hover { opacity: 0.85; }

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