: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+.section:not(.section--alt){padding-top:0}.hero p:last-child{margin-bottom:0}.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}.grid--4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tier{text-align:center}.tier-points{font-family:var(--font-display);color:var(--accent);margin-bottom:.35em;font-size:2.6rem;font-weight:700;line-height:1}.tier-points span{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-top:.4em;font-size:.8rem;font-weight:600;display:block}.tier p{margin:0;font-weight:500}.prose{max-width:760px}.prose ul{margin:0 0 1em;padding-left:1.2em}.bands{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 24px;list-style:none;display:grid;padding:0!important}.bands li{border-bottom:1px solid var(--line);padding:8px 0;font-weight:500}html{scroll-behavior:smooth}a,button{-webkit-tap-highlight-color:#1b34591f;touch-action:manipulation}.btn{justify-content:center;align-items:center;min-height:48px;display:inline-flex}a[href^=tel\:],a[href^=mailto\:],.tap{padding:10px 0;display:inline-block}.footer-links{flex-direction:column;display:flex}.footer-links a{padding:8px 0;text-decoration:none}.footer-links a:hover{text-decoration:underline}.today-short,.action-bar{display:none}@media (width<=760px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom));font-size:1rem}.section{padding:40px 0}.hero{padding:28px 0 36px}.hero .wrap{gap:18px}.hero-logo{max-width:120px}.logo.hero-logo img{height:auto}.hero .btn-row .btn,.shop-placeholder .btn-row .btn{flex:auto}.today-banner{padding:8px 16px;font-size:.9rem}.today-label{display:none}.today-short{display:inline}.site-header .wrap{min-height:64px}.logo img{height:48px}.nav{top:64px;box-shadow:0 12px 24px #16243a1f}.nav a{padding:16px;font-size:1.1rem}.nav-toggle{min-width:72px;min-height:44px}.special{flex-direction:column;gap:2px;padding:12px 0}.special strong{min-width:0}.card{padding:18px}.grid{gap:14px}.tier-points{font-size:2.2rem}.site-footer{padding:36px 0 24px}.site-footer .grid{gap:18px}.footer-links{flex-flow:wrap;column-gap:20px}.action-bar{z-index:20;background:var(--card);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #16243a14}.action-bar a{min-height:52px;color:var(--accent);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.action-bar a.primary{background:var(--accent);color:var(--accent-ink)}.action-bar svg{fill:currentColor;width:22px;height:22px}html:not(.age-ok) .action-bar{display:none}}@media (width<=360px){h1{font-size:1.85rem}.wordmark{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.photo{background:var(--line);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo--wide{aspect-ratio:3/2}.photo--square{aspect-ratio:1}.photo--empty{background:linear-gradient(135deg, var(--accent), var(--feather))}.photo--placeholder{background:repeating-linear-gradient(135deg, var(--paper) 0 12px, #eceee6 12px 24px);outline:2px dashed var(--muted);outline-offset:-8px;color:var(--ink);align-items:flex-start;padding:14px;font-size:.85rem;line-height:1.4;display:flex;overflow:auto}.photo--placeholder>div{padding:4px}.photo--placeholder strong{color:var(--feather);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;display:block}.photo--placeholder code{color:var(--muted);word-break:break-all;margin-top:6px;font-size:.75rem;display:block}.photo--square.photo--placeholder{padding:10px;font-size:.75rem}.carousel-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--radius);grid-auto-columns:100%;grid-auto-flow:column;gap:16px;display:grid;position:relative;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline:3px solid var(--feather);outline-offset:3px}.slide{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:3fr 2fr;margin:0;display:grid;overflow:hidden}.slide figcaption{flex-direction:column;justify-content:center;padding:28px;display:flex}.slide figcaption p{color:var(--muted)}.slide figcaption .btn{align-self:flex-start}.carousel-controls{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.carousel-btn{border:1px solid var(--line);background:var(--card);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:inline-flex}.carousel-dots{display:flex}.carousel-dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:44px;padding:0;display:grid}.carousel-dots button:before{content:"";background:var(--line);border-radius:999px;width:9px;height:9px;transition:width .2s}.carousel-dots button[aria-current=true]:before{background:var(--accent);width:22px}.tiles{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:8px;display:grid}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;display:block;overflow:hidden}.tile span{padding:10px 12px;font-weight:600;display:block}.tile:hover span{color:var(--feather)}@media (width<=760px){.carousel-track{grid-auto-columns:88%;gap:12px}.slide{grid-template-columns:1fr}.slide figcaption{padding:16px 18px 20px}.slide figcaption .btn{align-self:stretch}.tiles{grid-template-columns:repeat(2,1fr);gap:12px}}@media (prefers-reduced-motion:reduce){.carousel-dots button:before{transition:none}}
