@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600&display=swap');

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* ── Anchor scroll offset (accounts for fixed nav) ────── */
html {
  scroll-padding-top: 4.5rem;
  scroll-behavior: smooth;
}

/* ── Hero dot texture ──────────────────────────────────── */
.hero-texture {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23ffffff' fill-opacity='0.035'/%3E%3C/svg%3E");
}

/* ── Nav transitions ───────────────────────────────────── */
#nav {
  transition: background-color 220ms ease, box-shadow 220ms ease;
}

#nav.nav-scrolled {
  background-color: #F5F4F0;
  box-shadow: 0 1px 0 #DDE3EA;
}

#nav.nav-scrolled .nav-wordmark,
#nav.nav-scrolled .nav-link {
  color: #0D1B2A !important;
}

#nav.nav-scrolled .nav-link:hover {
  color: #1E3A5F !important;
}

#nav.nav-scrolled #hamburger {
  color: #0D1B2A;
}

/* ── Gold button ───────────────────────────────────────── */
.btn-gold {
  background-color: #B8960C;
  color: #0D1B2A;
  transition: background-color 150ms ease;
}

.btn-gold:hover {
  background-color: #a0820a;
}

/* ── Focus states (keyboard navigation) ───────────────── */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #B8960C;
  outline-offset: 3px;
  border-radius: 3px;
}

/* ── Pull quote ────────────────────────────────────────── */
.pull-quote {
  border-left: 2px solid #B8960C;
  padding-left: 1.375rem;
}

/* ── Mobile menu ───────────────────────────────────────── */
#mobile-menu {
  display: none;
}

#mobile-menu.open {
  display: flex;
}

/* ── Reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }

  html {
    scroll-behavior: auto;
  }
}
