:root{--ink:#16243a;--paper:#f5f6f1;--card:#fff;--muted:#5b6573;--line:#dfe3d8;--accent:#1b3459;--accent-ink:#fff;--feather:#2e6f8e;--sage:#5f7a32;--sage-light:#8ca25a;--radius:14px;--max:1120px;--font-display:"Noto Serif", Georgia, serif;--font-body:"Noto Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--font-body);margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.5rem,3.5vw,2.1rem)}h3{font-size:1.2rem}p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}.section{padding:56px 0}.section--alt{background:var(--card);border-block:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--sage);font-size:.8rem;font-weight:600}.muted{color:var(--muted)}.btn{background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);border-radius:999px;padding:.8em 1.4em;font-weight:600;text-decoration:none;display:inline-block}.btn--ghost{color:var(--ink);border-color:var(--ink);background:0 0}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.card h3{margin-bottom:.3em}.tag{background:var(--paper);border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-bottom:.6em;padding:.2em .7em;font-size:.75rem;display:inline-block}.site-header{background:var(--card);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.nav{flex-wrap:wrap;gap:22px;display:flex}.nav a{color:var(--ink);font-weight:500;text-decoration:none}.nav a[aria-current=page]{color:var(--feather);box-shadow:inset 0 -2px 0 var(--sage-light)}.nav-toggle{border:1px solid var(--line);font:inherit;background:0 0;border-radius:8px;padding:8px 12px;display:none}@media (width<=760px){.nav-toggle{display:block}.nav{background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;gap:0;display:none;position:absolute;top:72px;left:0;right:0}.nav a{border-top:1px solid var(--line);padding:14px 16px}.site-header.open .nav{display:flex}}.logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.logo img{width:auto;height:56px}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.wordmark small{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:6px;font-size:.8rem;font-weight:500}.hero{padding:72px 0 56px}.hero .wrap{grid-template-columns:1.3fr 1fr;align-items:center;gap:32px;display:grid}.hero-logo{justify-self:center;width:100%;max-width:340px}.hero-logo img{width:100%;height:auto}@media (width<=760px){.hero .wrap{grid-template-columns:1fr}.hero-logo{order:-1;max-width:180px}}.hours{border-collapse:collapse;width:100%}.hours td{border-bottom:1px solid var(--line);padding:8px 0}.hours td:last-child{text-align:right}.hours tr.today td{color:var(--feather);font-weight:700}.special{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.special strong{min-width:110px}.special.today{color:var(--feather);font-weight:600}.today-banner{background:var(--sage);color:var(--accent-ink);text-align:center;padding:10px 16px;font-weight:600}.today-banner:empty{display:none}.map{aspect-ratio:4/3;border-radius:var(--radius);border:0;width:100%}.site-footer{background:var(--ink);color:#cfd6e0;padding:48px 0 32px;font-size:.95rem}.site-footer a{color:#fff}.site-footer .grid{margin-bottom:28px}.warning{color:#9aa6b6;border-top:1px solid #2c3d57;padding-top:18px;font-size:.8rem}.age-gate{z-index:100;background:#16243af0;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}html:not(.age-ok) .age-gate{display:flex}html:not(.age-ok) body{overflow:hidden}.age-gate .card{text-align:center;max-width:420px}.age-gate img{max-width:160px;margin:0 auto 16px}.age-gate .btn-row{justify-content:center;margin-top:18px}.age-gate .denied{color:var(--accent);margin-top:14px;display:none}.age-gate.is-denied .denied{display:block}.shop-placeholder{text-align:center;padding:64px 22px}
