.announcement { display: flex; min-height: 31px; align-items: center; justify-content: center; gap: 1rem; padding: .35rem 1rem; background: var(--ink); color: #fff; font-size: .68rem; letter-spacing: .18em; text-align: center; }
.announcement span { color: #d6c4a3; }
.site-header { position: relative; z-index: 20; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: min(100% - 3rem, var(--content)); min-height: 92px; margin: auto; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; flex-direction: column; width: max-content; font: 400 1.55rem/1 var(--serif); letter-spacing: .18em; }
.brand span { margin-top: .35rem; font: 400 .57rem/1 var(--sans); letter-spacing: .55em; }
.desktop-nav, .header-actions { display: flex; align-items: center; gap: clamp(1.15rem, 2.4vw, 2.25rem); }
.desktop-nav { justify-content: center; font-size: .83rem; letter-spacing: .08em; }
.desktop-nav a { border-bottom: 1px solid transparent; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { border-color: var(--gold); color: var(--gold-dark); }
.header-actions { justify-content: flex-end; }
.menu-toggle { display: none; padding: .45rem .1rem; border: 0; background: transparent; }
.mobile-nav { width: min(100% - 2rem, var(--content)); margin: 0 auto; padding: .65rem 0 1rem; border-bottom: 1px solid var(--line); }
.mobile-nav a { display: block; padding: .7rem 0; font-size: .9rem; letter-spacing: .06em; }
.mobile-nav a + a { border-top: 1px solid var(--line); }
.page-shell, .section, .story { width: min(100% - 3rem, var(--content)); margin-inline: auto; }
.page-shell { min-height: 55vh; padding-block: 2.5rem 6rem; }
.page-intro { max-width: 720px; margin: 2.5rem 0 3.5rem; }
.page-intro h1 { margin-bottom: 1.2rem; }
.page-intro p:last-child { max-width: 620px; color: var(--muted); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .6rem; color: var(--muted); font-size: .76rem; letter-spacing: .07em; }
.breadcrumbs a:hover { color: var(--gold-dark); }
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > a { flex: none; padding-bottom: .2rem; border-bottom: 1px solid var(--gold); font-size: .8rem; letter-spacing: .06em; }
.eyebrow { margin-bottom: 1rem; color: var(--gold-dark); font-size: .68rem; font-weight: 700; letter-spacing: .2em; }
.site-footer { padding: clamp(3.5rem, 7vw, 5.5rem) max(1.5rem, calc((100vw - var(--content)) / 2)) 1.75rem; border-top: 1px solid #433c32; background: #29251F; color: #f5f1e8; }
.site-footer__grid { display: grid; grid-template-columns: minmax(190px, 1.25fr) repeat(3, minmax(140px, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.site-footer .brand { color: #fffaf0; }
.site-footer__brand p { max-width: 230px; margin: 1.2rem 0 0; color: #c8c0b3; font-size: .86rem; }
.site-footer__heading { margin-bottom: 1rem; color: #c8c0b3; font: 700 .7rem/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.site-footer__list { display: grid; gap: .28rem; margin: 0; padding: 0; list-style: none; }
.site-footer__list a, .site-footer__list span, .site-footer__list li, .footer-cookie-button { display: flex; min-height: 38px; align-items: center; width: fit-content; color: #e2dbcf; font-size: .82rem; }
.site-footer__list a { border-bottom: 1px solid transparent; }
.footer-cookie-button { padding: 0; border: 0; border-bottom: 1px solid transparent; background: transparent; }
.site-footer__list a:hover, .site-footer__list a:focus-visible, .footer-cookie-button:hover, .footer-cookie-button:focus-visible { border-color: #d6c4a3; color: #fffaf0; }
.site-footer__list .footer-link--upcoming { color: #a89f92; cursor: default; }
.footer-link--upcoming small { margin-left: .45rem; padding: .12rem .35rem; border: 1px solid #746a5d; border-radius: 999px; color: #b9afa1; font-size: .52rem; letter-spacing: .06em; text-transform: uppercase; }
.site-footer__bottom { margin: clamp(2.5rem, 5vw, 4rem) 0 0; padding-top: 1.25rem; border-top: 1px solid #433c32; color: #b9afa1; font-size: .75rem; }

@media (max-width: 960px) {
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .announcement span { display: none; }
  .site-header { grid-template-columns: 1fr auto; width: min(100% - 2rem, var(--content)); min-height: 78px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: inline-block; }
  .header-actions { gap: 1rem; }
  .page-shell, .section, .story { width: min(100% - 2rem, var(--content)); }
  .page-shell { padding-block: 1.5rem 4rem; }
  .page-intro { margin: 2rem 0 2.5rem; }
  .section-heading { align-items: start; }
  .site-footer { padding-inline: 1rem; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 2.25rem; }
}

@media (max-width: 420px) {
  .brand { font-size: 1.25rem; }
  .cart-link { font-size: .8rem; }
  .section-heading { display: block; }
  .section-heading > a { display: inline-block; margin-top: 1rem; }
  .site-footer__list a, .site-footer__list span { min-height: 42px; }
}
