.mobile-menu{display:none}
@media(max-width:800px){
.header{gap:16px}
.header .brand{flex-shrink:0}
.header>.book-link{margin-left:auto;white-space:nowrap}
.header .mobile-menu{display:block;order:3;margin-left:0;color:#fff}
.mobile-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:70px;padding:8px 10px;border:1px solid #dc9e2970;font:500 12px/1.2 "DM Sans",sans-serif;letter-spacing:.04em}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary::marker{content:""}
.mobile-menu summary span{color:var(--gold);font-size:17px}
.mobile-menu summary:focus-visible,.header .mobile-menu nav a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.header .mobile-menu nav{display:flex;position:absolute;top:100%;left:0;right:0;z-index:20;flex-direction:column;gap:0;background:#080808;border-top:1px solid #dc9e2955;border-bottom:1px solid #dc9e2955;padding:12px 20px 20px;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 24px #0005}
.header .mobile-menu:not([open]) nav{display:none}
.header .mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:12px 10px;border-bottom:1px solid #ffffff20;color:#fff;opacity:1;font-size:14px;line-height:1.5;letter-spacing:.04em;overflow-wrap:anywhere}
.header .mobile-menu nav a:hover{color:var(--gold)}
.header .mobile-menu nav .mobile-book-link{justify-content:space-between;background:var(--gold);color:#000;margin-top:14px;border-bottom:0;font-weight:500}
}
@media(max-width:380px){.header>.book-link{display:none}.header .mobile-menu{margin-left:auto}}

@media(max-width:800px){.intro>*{min-width:0}.intro .stats{flex-wrap:wrap}}

/* Let long contact addresses fit the narrow two-column footer. */
@media(max-width:800px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div{min-width:0}.footer-grid a,.footer-grid p{overflow-wrap:anywhere}}
