:root{--paper:#1A1612;--surface:#241F1A;--ink:#F3EBE0;--smoke:#C4B5A0;--ember:#E86048;--rust:#C94B32;--rust-dark:#a83c28;--amber:#E0A84A;--gold:#E0A84A;--line:#3A3228;--soft:#241F1A;--forest:#241F1A;--white:#fff;--black:#000;--caption:#62695f;--amber-warm:#edb269;--mist:#e4e8de;--gray-mid:#666;--label-ink:#29352d;--menu-rule:#6b7a6c;--menu-link:#efd2a6;--tab-border:#69776b;--menu-notice:#c1cfc3;--dish-rule:#637364;--dish-body:#e0e5de;--dish-meta:#d4dfd4;--dish-summary:#efbf85;--review-note:#d7be9c;--pill-border:#b8aa94;--footer-mark:#e9b56f;--shadow-dialog:#0005;--backdrop-legacy:#16291ec7;--input-border:#babcae;--bar-paper:#f1e7d8;--hour-rule:#c8bda9;--hour-border:#b29c7c;--shadow-deep:#000a;--amber-active:#F0C56A;--near-black:#0d0b09;--serif:'Source Serif 4',Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.section-width{width:min(1240px,calc(100% - 88px));margin-inline:auto}.preview-bar{background:var(--forest);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:8px 44px;font-size:12px;letter-spacing:1.5px}.preview-bar button{color:var(--white);border:0;background:none;text-decoration:underline;font-size:13px;letter-spacing:0}header{display:flex;align-items:center;gap:34px;padding:24px 44px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.logo{font:58px/.8 var(--serif);letter-spacing:-4px;color:var(--ink);text-decoration:none;display:block}.logo span{display:block;font:9px/1.5 sans-serif;letter-spacing:2px;color:var(--ink);margin-top:12px}nav{display:flex;gap:30px;margin-left:auto;font-size:15px}nav a{text-decoration:none}nav a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rust);background:var(--rust);color:var(--white);padding:14px 24px;border-radius:3px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.4;transition:background .15s}.btn:hover{background:var(--rust-dark)}.btn.small{padding:12px 20px}.btn.full{width:100%}.text-btn,.inline-link{border:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:6px;padding:8px 0;font-size:15px;font-weight:600}.text-btn:hover,.inline-link:hover{color:var(--ink)}.mobile-toggle{display:none;background:none;border:0;font-size:24px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:52px;align-items:center;padding-block:52px 60px}.eyebrow{font-size:16px;letter-spacing:0.04em;font-weight:600;margin:0 0 18px;color:var(--ink);text-transform:none}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-1.8px;line-height:1.07;margin:0}h1{font-size:clamp(48px,4.8vw,72px)}h2{font-size:clamp(40px,3.8vw,56px)}h3{font-size:32px;letter-spacing:-.8px}em{font-weight:400;color:var(--ink)}p{margin:20px 0}.intro{font-size:21px;line-height:1.5;max-width:470px;margin-top:25px}.hero-detail{max-width:470px;font-size:16px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:26px 0}.quick-facts{display:flex;flex-wrap:wrap;gap:0;font-size:13px;border-top:1px solid var(--line);padding-top:23px;margin-top:28px}.quick-facts span+span{border-left:1px solid var(--line);padding-left:15px;margin-left:15px}.hero-image{margin:0;position:relative}.hero-image img{display:block;width:100%;height:520px;object-fit:cover;border-radius:140px 3px 3px 3px}.hero-image figcaption{font-size:11px;color:var(--gray-mid);margin-top:8px}.image-label{position:absolute;bottom:53px;left:-24px;background:var(--gold);color:var(--label-ink);transform:rotate(-4deg);padding:16px 20px;font-size:12px;letter-spacing:1.5px;line-height:1.5;font-weight:700}.image-label span{display:block}.welcome-strip{background:var(--soft);border-block:1px solid var(--line)}.welcome-strip>div{display:flex;justify-content:space-between;gap:20px}.welcome-strip p{font-size:15px;margin:21px 0}.welcome-strip span{color:var(--ink);font-size:12px;margin-right:15px}.group-section{padding-block:90px;display:grid;grid-template-columns:1.05fr .85fr;gap:100px;align-items:center}.group-copy>p:not(.eyebrow):not(.small-note){max-width:500px}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{padding:11px 0 11px 25px;position:relative;border-bottom:1px solid var(--line);font-size:16px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--ink)}.small-note{font-size:12px;line-height:1.65;color:var(--caption)}.menu-section{background:var(--forest);color:var(--paper);padding:78px 0}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:36px}.section-heading>p{max-width:320px;font-size:16px;margin-bottom:4px}.menu-section .eyebrow,.menu-section em{color:var(--amber-warm)}.menu-format{display:flex;gap:22px;align-items:center;padding:20px 0;border-block:1px solid var(--menu-rule);flex-wrap:wrap;font-size:15px}.menu-format strong{font-size:16px}.menu-format .inline-link{color:var(--menu-link);margin-left:auto}.menu-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:27px}.menu-toolbar [role=tablist]{display:flex;gap:9px}.menu-toolbar [role=tab]{background:none;border:1px solid var(--tab-border);color:var(--white);padding:10px 18px;border-radius:2px;font-size:15px}.menu-toolbar [aria-selected=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.menu-filter{font-size:12px;display:flex;flex-direction:column;gap:5px}.menu-filter select{background:var(--white);color:var(--ink);border:0;padding:10px;font-size:14px;max-width:250px}.menu-notice{font-size:12px;color:var(--menu-notice);margin:15px 0 5px}#dishes{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.dish{padding:25px 0;border-bottom:1px solid var(--dish-rule)}.dish-top{display:flex;gap:12px;justify-content:space-between;align-items:baseline}.dish h3{font-size:25px;line-height:1.2;letter-spacing:-.5px}.dish-price{color:var(--amber-warm);font-size:17px}.dish p{font-size:15px;margin:12px 0;color:var(--dish-body);line-height:1.6}.dish details{font-size:13px;color:var(--dish-meta)}.dish summary{cursor:pointer;color:var(--dish-summary)}.dish details p{font-size:13px}.dish .review-note{color:var(--review-note)}.menu-bottom{display:flex;gap:30px;justify-content:space-between;align-items:center;padding-top:25px}.menu-bottom p{max-width:610px;font-size:15px}.menu-bottom button{color:var(--amber-warm)}.ways-section{padding-block:85px}.ways-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:24px}.way-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.way-card h3{margin-top:30px;line-height:1.15}.way-card p{font-size:15px}.way-card .text-btn{align-self:start;margin-top:auto}.number{font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--ink)}.bar-card{background:var(--soft);border-color:var(--soft)}.pill{display:inline-block;border:1px solid var(--pill-border);padding:6px 9px;align-self:start;font-size:11px;letter-spacing:1px;margin:0 0 18px}.story-section{background:var(--soft);padding:60px 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-grid>img{width:100%;aspect-ratio:1.35;object-fit:cover}.story-grid p{font-size:16px}.visit-section{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-block:85px}.visit-section>div>p{font-size:16px}.faq .faq-heading{margin-bottom:24px}.faq-item{border-bottom:1px solid var(--line);padding:16px 0}.faq-item:last-child{border-bottom:0}.faq-q{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:600;letter-spacing:0;line-height:1.35;margin:0;cursor:default}.faq-item p{font-size:14px;margin:10px 0 4px;line-height:1.55}footer{background:var(--forest);padding:42px 0;color:var(--white)}footer>div{display:flex;justify-content:space-between;align-items:center;gap:30px}footer .logo{color:var(--footer-mark)}footer .logo span{color:var(--mist)}footer p{font-size:14px}dialog{border:0;border-radius:4px;padding:30px;width:min(600px,calc(100% - 30px));max-height:90vh;color:var(--ink);background:var(--paper);box-shadow:0 20px 100px var(--shadow-dialog)}dialog::backdrop{background:var(--backdrop-legacy)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0}.dialog-top button{border:0;background:none;font-size:34px;line-height:1}.dialog-top+h2,dialog h2{font-size:38px;margin:25px 0}dialog h3{font-size:24px;margin:18px 0}dialog p,dialog li{font-size:15px}dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}dialog label{display:block;font-size:14px;margin-bottom:15px}dialog input,dialog select,dialog textarea{display:block;width:100%;padding:11px;border:1px solid var(--input-border);background:var(--white);border-radius:2px;color:var(--ink);margin-top:5px}dialog textarea{resize:vertical;min-height:85px}dialog .demo-note{font-size:12px;background:var(--soft);padding:12px}dialog .result{border:1px solid var(--line);background:var(--white);padding:20px}dialog .result strong{color:var(--ink)}.skip{position:absolute;left:10px;top:-80px;z-index:100;background:var(--white);padding:10px}.skip:focus{top:10px}@media(max-width:1050px){header{gap:20px;padding-inline:28px}nav{gap:18px}.section-width{width:calc(100% - 56px)}.hero{gap:30px}.hero-image img{height:470px}.group-section{gap:45px}.ways-grid{gap:15px}.way-card{padding:22px}.story-grid,.visit-section{gap:45px}.preview-bar{padding-inline:28px}}@media(max-width:760px){html{scroll-padding-top:100px}.section-width{width:calc(100% - 36px)}.preview-bar{padding:7px 18px;font-size:10px;letter-spacing:.8px}.preview-bar button{font-size:11px}header{padding:18px;gap:15px;flex-wrap:wrap}.logo{font-size:46px}.logo span{font-size:7px;margin-top:10px}header>.btn-wrap,header>.btn-wrap,header>.btn{margin-left:auto}header>.btn-wrap .btn,header>.btn{padding:10px 13px;font-size:13px}.mobile-toggle{display:block}nav{display:none;order:4;width:100%;margin:0;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 22px}header.menu-open nav{display:flex}.hero{grid-template-columns:1fr;gap:27px;padding-block:32px 35px}h1{font-size:53px;letter-spacing:-2px}.hero-copy .eyebrow{font-size:12px}.intro{font-size:20px}.hero-detail{font-size:15px}.hero-image img{height:340px;border-radius:75px 2px 2px 2px;object-position:center}.image-label{left:12px;bottom:40px;padding:11px 15px}.quick-facts{font-size:12px}.quick-facts span+span{padding-left:10px;margin-left:10px}.welcome-strip>div{flex-direction:column;gap:0;padding:10px 0}.welcome-strip p{margin:4px 0;font-size:13px}.group-section{grid-template-columns:1fr;padding-block:48px;gap:28px}h2{font-size:42px}.menu-section{padding:48px 0}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}.menu-format{gap:8px;display:block}.menu-format>*{display:block}.menu-format span{margin-top:5px;font-size:13px}.menu-format .inline-link{margin:5px 0 0}.menu-toolbar{display:block}.menu-toolbar [role=tablist]{gap:6px}.menu-toolbar [role=tab]{padding:10px 12px;font-size:13px;flex:1}.menu-filter{margin-top:16px}.menu-filter select{max-width:none}#dishes{grid-template-columns:1fr}.dish h3{font-size:24px}.menu-bottom{display:block}.ways-section{padding-block:48px}.ways-grid{grid-template-columns:1fr}.way-card{padding:27px}.way-card h3{margin-top:16px}.story-section{padding-block:35px}.story-grid{grid-template-columns:1fr;gap:28px}.visit-section{grid-template-columns:1fr;padding-block:48px;gap:30px}footer>div{flex-direction:column;align-items:start;gap:20px}footer p{margin:0}dialog{padding:24px}dialog h2{font-size:33px}dialog .form-grid{grid-template-columns:1fr}body{font-size:16px}.hero .actions{gap:18px}.btn{padding:13px 19px}.small-note{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Diner-facing revision: clear destinations, concrete group spaces, editorial menu examples. */
header{gap:25px}nav{gap:22px;font-size:14px}.hero h1{font-size:clamp(46px,4.45vw,67px)}.hero-image img{border-radius:90px 3px 3px 3px;object-position:center}.gather-section{padding-block:55px 75px;border-top:1px solid var(--line)}.spaces-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px}.space-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}.space-card img{display:block;width:100%;height:230px;object-fit:cover}.space-body{padding:24px;display:flex;flex:1;flex-direction:column}.space-body .eyebrow{font-size:16px;letter-spacing:0.04em;font-weight:600;margin-bottom:13px;text-transform:none}.space-body h3{font-size:31px}.space-body p:not(.eyebrow){font-size:15px;line-height:1.65}.space-body button{margin-top:auto;align-self:start}.capacity-note{font-size:12px;color:var(--caption);margin:15px 0 0}.gather-section .group-section{width:100%;padding:60px 0 0;gap:70px;align-items:center}#our-chef,#euphoric-hour{scroll-margin-top:120px}@media(max-width:1050px){nav{gap:14px}header{gap:18px}.spaces-grid{gap:15px}.space-body{padding:20px}.space-card img{height:190px}.gather-section .group-section{gap:40px}}@media(max-width:760px){.hero h1{font-size:49px}.spaces-grid{grid-template-columns:1fr}.space-card img{height:auto;max-height:300px;aspect-ratio:3/2;object-fit:cover}.space-body{padding:25px}.gather-section{padding-block:40px 50px}.gather-section .group-section{padding-top:40px;gap:25px}.hero-image img{border-radius:65px 3px 3px 3px}}

.hero-image img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:45px 3px 3px 3px}.space-card:first-child img{object-position:50% 38%}@media(max-width:760px){.hero-image img{height:auto;aspect-ratio:3/2;border-radius:35px 3px 3px 3px}}

.bar-feature{background:var(--bar-paper);padding:65px 0;border-block:1px solid var(--line)}.bar-feature-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}.bar-feature figure{margin:0}.bar-feature img{width:100%;height:470px;object-fit:cover;display:block}.bar-feature-copy>p{font-size:16px}.hour-offer{border-block:1px solid var(--hour-rule);padding:19px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.hour-offer h3{font-size:29px}.hour-offer p{margin:8px 0 0;font-size:17px;color:var(--ink);font-weight:600}.hour-offer>span{font-size:10px;letter-spacing:1px;max-width:85px;line-height:1.6;border:1px solid var(--hour-border);padding:8px;text-align:center}.ways-grid{grid-template-columns:1fr 1fr}.way-card h3{font-size:34px}.bar-feature .small-note{font-size:12px}#bar{scroll-margin-top:115px}@media(max-width:1050px){.bar-feature-grid{gap:35px}.bar-feature img{height:440px}}@media(max-width:760px){.bar-feature{padding:40px 0}.bar-feature-grid{grid-template-columns:1fr;gap:26px}.bar-feature img{height:auto;max-height:320px;aspect-ratio:3/2;object-fit:cover}.bar-feature-copy h2{font-size:42px}.hour-offer{gap:12px}.hour-offer p{font-size:16px}.ways-grid{grid-template-columns:1fr}}

.gather-section .group-section{display:block;max-width:850px;margin-inline:0}

.story-grid>img.chef-portrait{aspect-ratio:auto;height:auto;max-width:526px;justify-self:center}

.chef-philosophy{border-left:2px solid var(--rust);padding-left:20px}

.bar-feature img.sam-bar-photo{width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}.bar-feature-copy>p.bar-introduction{font-size:19px;line-height:1.65}

.remember-word{white-space:nowrap}.remember-word>span{color:var(--ink);font:inherit;letter-spacing:inherit}.wine-section{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;padding-block:75px;border-bottom:1px solid var(--line)}.wine-section figure{margin:0}.wine-section img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.wine-section figcaption{font-size:12px;color:var(--caption);margin-top:10px}.wine-section p{font-size:16px}.wine-section .eyebrow{font-size:16px;letter-spacing:0.04em;font-weight:600}.concierge-role{font-size:12px;letter-spacing:0.04em}.concierge-role{color:var(--ink);font-weight:600}.group-copy .btn{margin-top:12px}@media(max-width:760px){.wine-section{grid-template-columns:1fr;gap:26px;padding-block:45px}}

.gather-section .section-heading{align-items:center}.group-intro{max-width:420px}.group-intro p{font-size:16px;line-height:1.65;margin:0 0 18px}.group-intro .btn{margin-top:0}#wine-with-bob{scroll-margin-top:120px}@media(max-width:760px){.group-intro{max-width:none;margin-top:22px}}

nav a{white-space:nowrap}@media(min-width:761px) and (max-width:960px){header{flex-wrap:wrap}header>.btn-wrap,header>.btn{margin-left:auto}.mobile-toggle{display:block}nav{display:none;order:4;width:100%;margin:0;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 22px}header.menu-open nav{display:flex}}

.logo,.remember-word>span{color:var(--rust)}.logo span{color:var(--ink)}footer .logo span{color:var(--mist)}.hero-memory{font:clamp(26px,2.45vw,36px)/1.25 var(--serif);letter-spacing:-.5px;margin:18px 0 25px}.hero-memory .remember-word{font:inherit}

.dining-room-preview{max-width:960px;margin:0 auto;padding:4px 0 40px}.dining-room-preview img{display:block;width:100%;height:auto;max-height:400px;aspect-ratio:2/1;object-fit:cover;object-position:center 55%}.dining-room-preview figcaption{text-align:center;margin-top:15px;font:24px/1.3 var(--serif);color:var(--ink)}@media(max-width:760px){.dining-room-preview{padding-bottom:30px}.dining-room-preview img{aspect-ratio:3/2;max-height:none}.dining-room-preview figcaption{font-size:22px}}
.hero-prices{font-size:.9rem;opacity:.8;align-self:center;white-space:nowrap}


/* ===== Warm Charcoal (dark) — site-wide ===== */
body{background:var(--paper);color:var(--ink)}
header{background:var(--paper);border-bottom-color:var(--line)}
.eyebrow,.small-note,.capacity-note,.hero-image figcaption,.wine-section figcaption,.hero-prices{color:var(--smoke)}
.header-contact a{color:var(--smoke);font-weight:400}
.header-contact a:hover{color:var(--ember)}

/* Brand ember red for word ember / rem+ember; CTA uses flame rust */
.logo,.remember-word>span{color:var(--ember)}
.logo span{color:var(--smoke)}
.btn{background:var(--rust);border-color:var(--rust);color:var(--white)}
.btn:hover{background:var(--rust-dark);border-color:var(--rust-dark)}
.text-btn,.inline-link{color:var(--ink)}
.text-btn:hover,.inline-link:hover{color:var(--amber)}
nav a{color:var(--ink)}
nav a:hover{color:var(--amber)}
.mobile-toggle{color:var(--ink)}

/* Preview concept bar */
.preview-bar{background:var(--rust);color:var(--white)}
.preview-bar button{color:var(--white)}

/* Menu: warm ash surface */
.menu-section{background:var(--surface);color:var(--ink);padding:78px 0;border-block:1px solid var(--line)}
.menu-section .eyebrow,.menu-section em{color:var(--amber)}
.menu-section h2,.menu-section .section-heading>p{color:var(--ink)}
.menu-format{border-block-color:var(--line);color:var(--ink)}
.menu-format .inline-link{color:var(--amber)}
.menu-toolbar [role=tab]{background:transparent;border:1px solid var(--line);color:var(--ink)}
.menu-toolbar [aria-selected=true]{background:var(--rust);color:var(--white);border-color:var(--rust)}
.menu-filter{color:var(--smoke)}
.menu-filter select{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.menu-notice{color:var(--smoke)}
.dish{border-bottom-color:var(--line)}
.dish h3{color:var(--ink);text-wrap:balance}
.dish-price{color:var(--amber)}
.dish p{color:var(--ink)}
.dish-ingredients{font-size:12.5px!important;line-height:1.5!important;margin:6px 0 0!important;color:var(--amber)!important;letter-spacing:.1px}
.menu-bottom p{color:var(--ink)}
.menu-bottom button,.menu-bottom .text-btn{color:var(--amber)}

/* Footer */
footer{background:var(--surface);color:var(--ink);border-top:1px solid var(--line)}
footer .logo{color:var(--ember)}
footer .logo span{color:var(--smoke)}
footer p{color:var(--smoke)}

/* Surfaces / panels */
.welcome-strip,.story-section,.bar-card{background:var(--surface)}
.bar-feature{background:var(--surface);border-block:1px solid var(--line)}
.space-card{background:var(--surface);border-color:var(--line)}
.hour-offer{border-block-color:var(--line)}
.hour-offer>span{border-color:var(--line);color:var(--smoke)}
.pill{border-color:var(--line);color:var(--smoke)}
.way-card{border-color:var(--line);background:var(--paper)}
.check-list li{border-bottom-color:var(--line)}
.faq-item{border-bottom-color:var(--line)}
.gather-section{border-top-color:var(--line)}
.wine-section{border-bottom-color:var(--line)}
.quick-facts{border-top-color:var(--line)}
.quick-facts span+span{border-left-color:var(--line)}
.dining-room-preview figcaption{color:var(--ink)}

/* Dialog — stay on charcoal */
dialog{background:var(--surface);color:var(--ink);box-shadow:0 20px 100px var(--shadow-deep)}
dialog::backdrop{background:rgba(10,8,6,.78)}
dialog .demo-note{background:var(--paper)}
dialog input,dialog select,dialog textarea{background:var(--paper);border-color:var(--line);color:var(--ink)}
dialog .result{background:var(--paper);border-color:var(--line)}
.skip{background:var(--surface);color:var(--ink)}

/* Image label */
.image-label{background:var(--gold);color:var(--paper)}

/* Soft amber glow under hero */
.hero{position:relative}
.hero::before{content:"";position:absolute;inset:auto -40px -40px -40px;height:200px;background:radial-gradient(ellipse at 70% 100%,rgba(224,168,74,.22),transparent 70%);pointer-events:none;z-index:0}
.hero>*{position:relative;z-index:1}

/* Warm photo grading on charcoal */
.hero-image img,
.dining-room-preview img,
.space-card img,
.bar-feature img,
.story-grid>img,
.wine-section img,
.sam-bar-photo{
  filter:sepia(.16) saturate(1.12) brightness(0.96) contrast(1.05);
}
.dining-room-preview img{filter:sepia(.2) saturate(1.15) brightness(0.98) contrast(1.06)}

/* Header contact block */
.brand{display:flex;flex-direction:column;gap:6px;flex-shrink:0;min-width:0}
.brand .logo{line-height:.8}
.header-contact{display:flex;flex-direction:column;gap:0;max-width:280px;margin-top:2px}
.header-contact a{font:11px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.2px;text-decoration:none;font-weight:400}
.header-contact a:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:760px){
  header{align-items:flex-start}
  .brand{flex:1;min-width:0;max-width:calc(100% - 120px)}
  .header-contact{max-width:100%;gap:0}
  .header-contact a{font-size:10px;line-height:1.3}
  .dish-ingredients{font-size:12px!important}
  .menu-section{padding:48px 0}
}

/* v48.15: reserve-spark / ember-spark CSS removed (audit #9) */
header,.actions,.hero-copy,.visit-section{overflow:visible}

/* ===== Hero headline (v21 · two lines, no mid-wrap) ===== */
/* v29-rev2 · Source Serif 4 is wider — tighten clamp/tracking so each .hero-line fits */
.hero h1{
  font-size:clamp(30px,9.35vw,64px);
  letter-spacing:-0.055em;
  line-height:1.08;
  max-width:100%;
}
.hero h1 .hero-line{
  display:block;
  white-space:nowrap;
}
.hero h1 em.hero-line{
  font-style:italic;
  color:var(--ink);
}
/* Beat earlier fixed mobile sizes that forced mid-line wraps */
@media(max-width:760px){
  .hero h1{
    font-size:clamp(30px,9.35vw,46px);
    letter-spacing:-0.06em;
  }
}

/* ===== v25 · Consistent section template (mobile-first) ===== */
.content-section{padding-block:56px;border-top:1px solid var(--line)}
.content-section.menu-section{border-block:1px solid var(--line)}
.content-section.bar-feature{border-block:1px solid var(--line);padding-block:56px}
.content-section.gather-section{padding-block:56px;border-top:1px solid var(--line)}
.content-section.wine-section{display:block;padding-block:56px;border-bottom:0;gap:0}
.content-section.story-section{padding-block:56px}
.content-section.visit-section{display:block;padding-block:56px;gap:0}

.section-template{display:flex;flex-direction:column;gap:28px}
.section-copy{max-width:640px}
.section-copy .eyebrow{
  font-size:16px;
  letter-spacing:0.04em;
  font-weight:600;
  margin:0 0 14px;
  color:var(--amber);
  text-transform:none;
}
.section-copy h2,
.content-section .section-copy h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(28px,7.2vw,48px);
  letter-spacing:-.04em;
  line-height:1.12;
  margin:0 0 16px;
  white-space:nowrap;
  max-width:100%;
}
/* v31: #visit h2 nowrap removed at all widths; desktop nowrap kept in min-width:761 block; mobile wraps like other h2s */
.section-body{
  font-size:16px;
  line-height:1.65;
  margin:0 0 8px;
  color:var(--ink);
  max-width:540px;
}
.section-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 28px;
  margin-top:20px;
}
.section-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 0;
  font-size:15px;
  font-weight:600;
  color:var(--amber);
  text-decoration:none;
  border-bottom:1px solid rgba(224,168,74,.45);
  text-underline-offset:6px;
}
.section-link:hover{color:var(--ember);border-bottom-color:var(--ember)}
.section-actions .btn{
  min-height:44px;
  min-width:44px;
  padding:12px 22px;
}

/* One consistent full-width photo after copy */
.section-photo{
  margin:0;
  width:100%;
}
.section-photo img,
figure.section-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:12px;
  filter:sepia(.16) saturate(1.12) brightness(0.96) contrast(1.05);
}
.section-photo figcaption,
.dining-room-preview figcaption{
  text-align:center;
  margin-top:12px;
  font:20px/1.3 var(--serif);
  color:var(--smoke);
}
.dining-room-preview{
  max-width:960px;
  margin:0 auto;
  padding:8px 0 8px;
}
.dining-room-preview.section-photo img{
  aspect-ratio:3/2;
  max-height:none;
  border-radius:12px;
  object-position:center 55%;
}

/* Hero: text-only opening; fireplace is the sole photo after */
.hero{
  display:block;
  grid-template-columns:unset;
  padding-block:40px 28px;
  max-width:720px;
}
.hero::before{inset:auto -20px -20px -20px;height:140px}
.hero-copy{max-width:640px}
.hero-image{display:none}

/* Bar hour offer stays inside copy */
.bar-feature .hour-offer{margin:18px 0 8px}
.bar-feature .small-note{margin:8px 0 0}

/* Chef philosophy note */
.chef-philosophy{
  border-left:2px solid var(--rust);
  padding-left:18px;
  font-size:15px;
  color:var(--smoke);
  margin:14px 0 0;
  max-width:540px;
}

/* Menu section keeps interactive blocks after template intro */
.menu-section .section-template > .menu-format{margin-top:4px}
/* v28 · Equal-price philosophy under menu-format */
.menu-philosophy{
  margin:14px 0 4px;
  font-size:15px;
  line-height:1.5;
  color:var(--ink);
  max-width:540px;
}
.menu-section .menu-philosophy{color:var(--ink)}
@media(max-width:760px){
  .menu-philosophy{font-size:14px;margin:12px 0 2px}
}

.menu-section .section-copy h2 em{color:var(--amber);font-style:italic}

/* Group spaces sit after the template photo */
.gather-section .spaces-grid{margin-top:8px}

/* Visit: FAQ after actions */
.visit-section .faq{margin-top:8px;max-width:640px}
.visit-section .faq-q{min-height:0;display:block}

/* Tap targets */
.btn,.text-btn,.inline-link,nav a,.menu-toolbar [role=tab],.mobile-toggle{
  min-height:44px;
}
.text-btn,.inline-link{display:inline-flex;align-items:center;padding:10px 0}
.menu-toolbar [role=tab]{min-height:44px;padding:12px 16px}
.header-contact a{
  display:block;
  min-height:0;
  padding:0;
  margin:0;
  line-height:1.3;
}
@media(max-width:760px){
  /* Tight visual stack — no empty gap lines; modest tap padding */
  .header-contact{display:flex;flex-direction:column;gap:1px;max-width:280px}
  .header-contact a{
    font-size:10px;
    line-height:1.25;
    padding:3px 0;
    margin:0;
    min-height:0;
  }
  header .btn,header .btn-wrap .btn{min-height:44px}
}

/* Sticky mobile Reserve bar removed in v27 */
@media(max-width:760px){
  /* mobile-reserve-bar removed v27: header Book always visible; not in pre-v25 */
  .content-section{padding-block:48px}
  .section-template{gap:22px}
  /* v28: lock all section H2s to menu mobile size — no per-title shrink */
  .section-copy h2,
  .content-section .section-copy h2{
    font-size:clamp(26px,7.4vw,36px);
    white-space:nowrap;
  }
  .dining-room-preview{padding:4px 0 12px}
  .hero{padding-block:28px 20px}
}

/* Desktop: still text-first; photo under copy at readable width */
@media(min-width:761px){
  .section-template{gap:32px}
  .section-photo{max-width:880px}
  .content-section{padding-block:72px}
  .hero{padding-block:56px 36px;max-width:760px}
  .section-copy h2,
  .content-section .section-copy h2{
    font-size:clamp(36px,3.6vw,48px);
    white-space:normal; /* desktop can soft-wrap if needed */
  }
  #bar .section-copy h2,
  #wine-with-bob .section-copy h2,
  #our-chef .section-copy h2,
  #visit .section-copy h2,
  #group-dining .section-copy h2,
  #menu .section-copy h2{
    white-space:nowrap;
  }
}

/* Override older bar/wine/story grids that put image first */
.bar-feature-grid,.story-grid,.wine-section.section-width{display:contents}
.content-section.wine-section.section-width,
.content-section.visit-section.section-width{width:auto;margin:0}
.content-section .section-width{width:min(1240px,calc(100% - 88px));margin-inline:auto}
@media(max-width:1050px){
  .content-section .section-width{width:calc(100% - 56px)}
}
@media(max-width:760px){
  .content-section .section-width{width:calc(100% - 36px)}
}

/* v28: removed max-width:400px per-id H2 shrinks — uniform clamp */


/* ===== v25 · Chef quote + wine pending placeholders ===== */
.scotty-quote-placeholder{
  margin:18px 0 0;
  padding:16px 18px;
  border:1px dashed var(--amber);
  background:rgba(224,168,74,.08);
  color:var(--amber);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-style:italic;
  border-radius:8px;
  max-width:540px;
}
mark.pending-name{
  background:rgba(224,168,74,.22);
  color:var(--amber);
  padding:1px 6px;
  border-radius:3px;
  border:1px dashed var(--amber);
  font-style:italic;
  font-weight:600;
}
/* v28: removed #our-chef / #wine-with-bob H2 size overrides */


/* v25 overflow fix */
html, body{overflow-x:clip;max-width:100%}


/* ===== v26 · Wine pairings + Bob photo placeholder ===== */
.dish-pairing{
  font-size:12.5px!important;
  line-height:1.5!important;
  margin:4px 0 0!important;
  color:var(--smoke)!important; /* muted cream/secondary; amber reserved for ingredients */
  letter-spacing:.1px;
}
.pairing-note{
  font-size:12.5px;
  color:var(--smoke);
  margin:0 0 14px;
  max-width:540px;
}
.photo-placeholder{
  margin:0;
  width:100%;
  aspect-ratio:3/2;
  border-radius:12px;
  border:1px dashed var(--amber);
  background:rgba(224,168,74,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.photo-placeholder-inner{
  padding:24px;
  text-align:center;
  color:var(--amber);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-style:italic;
  font-weight:600;
}
.photo-placeholder img{display:none}
/* v28: wine H2 uses shared clamp; keep pairing size tweak */
@media(max-width:400px){
  .dish-pairing{font-size:12px!important}
}
/* Nav Wine tap target already covered by nav a min-height:44px */

/* v26 estimated price mark — muted, don't shout */
.price-est-mark{
  color:var(--smoke);
  font-style:italic;
  font-weight:600;
  letter-spacing:.2px;
}
.wine-price-note{margin:0 0 12px}
.dish-pairing{color:var(--smoke)!important}


/* v45 · R54: land section headings just under the pinned top row */
#menu,#bar,#wine-with-bob,#group-dining,#our-chef,#visit,#euphoric-hour,.content-section{
  scroll-margin-top:var(--site-top-h, 56px);
}
.content-section .section-copy > .eyebrow,
.content-section .section-copy > h2{
  scroll-margin-top:var(--site-top-h, 56px);
}


/* v27 · Euphoric Hour as compact sub-element of Sam’s Bar (not a section) */
.euphoric-callout{
  margin:14px 0 6px;
  padding:0;
  border:0;
}
.euphoric-callout .euphoric-label{
  color:var(--amber);
  margin:0 0 4px;
  font-size:16px;
  letter-spacing:0.04em;
  font-weight:600;
  text-transform:none;
}
.euphoric-callout .euphoric-detail{
  margin:0;
  font-size:inherit;
  line-height:1.65;
  color:inherit;
  font-weight:400;
  font-family:inherit;
}
.euphoric-callout .euphoric-walkin{
  color:var(--smoke);
  font-weight:400;
}
/* Neutralize legacy hour-offer h3 sizing if any leftover */
.bar-feature .hour-offer h3{font-size:inherit;letter-spacing:0;font-family:inherit;font-weight:600}
.section-actions .section-link[data-open]{
  appearance:none;-webkit-appearance:none;
  background:none;border:0;padding:0;cursor:pointer;
  font:inherit;color:inherit;text-align:left;
}

.hero-image{overflow:hidden}


/* v27 · Bob photo restored in 3:2 section slot (AI stand-in; real photo still needed) */
.section-photo img,
.section-photo .bob-portrait,
.section-photo .sam-bar-photo,
.section-photo .chef-portrait{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:12px;
}

/* v28 · page overflow containment */
   box-shadow on the button paints outside the box without expanding scrollWidth;
   contain:paint / header overflow-x:clip previously clipped the soft halo. */
main{overflow-x:clip;max-width:100%}
header{overflow-x:visible;overflow-y:visible}
.hero,.hero-copy,.actions{overflow-x:clip}



/* v28 · shorter mobile header (R1 contact stack unchanged: same weight/color, under logo) */
@media(max-width:760px){
  header{padding:10px 14px;gap:10px;align-items:center}
  .logo{font-size:38px;letter-spacing:-3px}
  .brand{gap:2px}
  .header-contact{margin-top:0;gap:0}
  .header-contact a{
    font-size:10px;
    line-height:1.2;
    padding:1px 0;
    margin:0;
    min-height:0;
    font-weight:400;
  }
  header>.btn-wrap .btn,header>.btn{padding:8px 12px;font-size:12px;min-height:40px}
  .mobile-toggle{font-size:22px;padding:4px}
}

/* v29 · Source Serif 4 headings (self-hosted) + intro clarity for “Forks” */
@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(fonts/source-serif-4-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
.intro{font-family:var(--serif);letter-spacing:0.01em}
/* v29 rev: let section h2s wrap on mobile instead of overflowing (size unchanged) */
@media(max-width:760px){.section-copy h2,.content-section .section-copy h2,#our-chef .section-copy h2,#visit .section-copy h2{white-space:normal;text-wrap:balance;overflow-wrap:break-word}}

/* v30 · group-dining: two room photos side-by-side at every width (no full-bleed stack) */
#group-dining .spaces-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  max-width:none;
  width:100%;
}
#group-dining .space-card{
  min-width:0; /* prevent grid blowout / sideways scroll */
  overflow:hidden;
}
#group-dining .space-card img{
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  max-height:none;
}
#group-dining .space-body{
  padding:14px 12px 16px;
  min-width:0;
}
#group-dining .space-body h3{
  font-size:clamp(18px,4.6vw,28px);
  letter-spacing:-0.5px;
  line-height:1.15;
  overflow-wrap:break-word;
  word-wrap:break-word;
}
#group-dining .space-body p:not(.eyebrow){
  font-size:13px;
  line-height:1.5;
  margin:10px 0;
  overflow-wrap:break-word;
}
#group-dining .space-body .eyebrow{
  font-size:16px;
  letter-spacing:0.04em;
  font-weight:600;
  margin-bottom:8px;
  overflow-wrap:break-word;
  text-transform:none;
}
#group-dining .space-body .text-btn{
  font-size:13px;
  white-space:normal;
  text-align:left;
}
@media(min-width:761px){
  #group-dining .spaces-grid{gap:24px}
  #group-dining .space-body{padding:22px 20px 24px}
  #group-dining .space-body h3{font-size:28px}
  #group-dining .space-body p:not(.eyebrow){font-size:15px}
  #group-dining .space-card img{height:230px;aspect-ratio:auto}
}
@media(max-width:760px){
  /* beat earlier .spaces-grid{grid-template-columns:1fr} */
  #group-dining .spaces-grid{grid-template-columns:1fr 1fr !important;gap:10px}
  #group-dining .space-card img{height:auto;max-height:none;aspect-ratio:3/2}
  #group-dining .space-body{padding:12px 10px 14px}
}

/* v32 · header Book a table: label fits its box at every width (one line, no shrink) */
header

@media(max-width:760px){
  header > .btn-wrap .btn,
  header > .btn{
    padding:8px 14px; /* was 8px 12px */
    font-size:12px;
    min-height:40px;
  }
}

   Removed contain:paint + header overflow-x:clip that clipped button box-shadow.
   ::before stays inset:0 (no oversized blur/scale). Halo = button box-shadow. */

/* v43 · R52/C30 A: pinned top = logo+email, Menu, ☰ all widths;
   pinned bottom = Book/Call/Visit all widths; drawer has no Menu/Book; no duplicate logo */
html{
  scroll-padding-top:var(--site-top-h, 56px);
  scroll-padding-bottom:var(--site-bot-h, 72px);
}
body{
  padding-top:var(--site-top-h, 56px) !important;
  padding-bottom:var(--site-bot-h, 72px) !important;
}

/* Drawer: hamburger panel only — hidden when closed, no brand/logo row */
header.site-drawer,
header{
  position:fixed;
  left:0; right:0;
  top:var(--site-top-h, 56px);
  z-index:10040;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:0;
  margin:0;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
header.menu-open{
  display:flex !important;
  flex-wrap:nowrap;
}
header .brand,
header .header-contact,
header .header-mobile-toggle,
header .logo{
  display:none !important;
}
header > nav[aria-label="Main navigation"]{
  display:flex !important;
  flex-direction:column !important; /* R129: never row — short labels were <44px wide at 768 */
  width:100%;
  margin:0;
  padding:12px 16px 16px;
  gap:0;
  border:0;
  order:0;
}
header > nav[aria-label="Main navigation"] a{
  display:flex;
  align-items:center;
  box-sizing:border-box;
  width:100%;
  min-width:44px;   /* R129 */
  min-height:44px;  /* R129 */
  padding:12px 12px;
  font:600 16px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  text-decoration:none;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
header > nav[aria-label="Main navigation"] a:last-child{
  border-bottom:0;
}

.site-topbar{
  position:fixed;
  left:0; right:0; top:0;
  z-index:10050;
  display:grid !important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  column-gap:8px;
  padding:6px 10px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  margin:0;
  width:100%;
}
.site-topbar .site-top-menu{
  /* layout in the top grid */
  justify-self:start;
  width:auto;
  box-sizing:border-box;
  /* same values as .site-bottombar a.site-bot-link (Visit) */
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 4px;
  border-radius:3px;
  border:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  text-align:center;
  font:600 13px/1.25 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  white-space:nowrap;
  background:transparent;
}
.site-topbar .site-top-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  justify-self:center;
  grid-column:2;
  min-width:0;
  padding:0 2px;
  line-height:1.1;
  text-align:center;
}
.site-topbar .site-top-logo{
  font:700 18px/1 var(--serif);
  letter-spacing:-1.1px;
  color:var(--ember);
  text-decoration:none;
  padding:0;
  margin:0;
  white-space:nowrap;
  line-height:1;
  min-height:0 !important; /* beat legacy nav a{min-height:44px} */
  height:auto;
  display:block;
}
.site-topbar .site-top-email{
  font:10px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:.15px;
  color:var(--smoke);
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:min(180px,42vw);
  min-height:0 !important; /* beat legacy nav a{min-height:44px} */
  height:auto;
  display:block;
  padding:0;
  margin:0;
}
.site-topbar .site-top-email:hover{
  color:var(--ember);
  text-decoration:underline;
  text-underline-offset:2px;
}
.site-topbar .site-top-ham.mobile-toggle{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  justify-self:end;
  grid-column:3;
  width:36px;
  min-width:36px;
  min-height:44px;
  padding:0;
  margin:0;
  border:1px solid var(--line);
  border-radius:3px;
  background:transparent;
  color:var(--ink);
  font-size:18px;
  line-height:1;
}

/* Bottom bar at every width (C30 A) */
.site-bottombar{
  display:grid !important;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.35fr) minmax(0,0.85fr) minmax(0,0.85fr);
  gap:6px;
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:10050;
  align-items:stretch;
  padding:4px 10px calc(4px + env(safe-area-inset-bottom, 0px)); /* R119: tighter vertical pad so bar < v49.4 at all widths */
  background:var(--surface);
  border-top:1px solid var(--line);
  box-shadow:0 -8px 24px rgba(0,0,0,.28);
  margin:0;
  width:100%;
}
/* v48.8 — bottom buttons match unselected menu tabs; active = rust like selected tab */
.site-bottombar{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.site-bottombar .site-bot-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  margin:0;
  padding:10px 6px;
  border-radius:2px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  text-align:center;
  font:600 13px/1.25 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  white-space:nowrap;
  box-shadow:none;
  transition:background .15s, border-color .15s, color .15s;
  -webkit-tap-highlight-color:transparent;
}
.site-bottombar .site-bot-btn:hover{
  background:rgba(243,235,224,.06);
  border-color:var(--smoke);
  color:var(--ink);
}
/* v48.9: top nav current section (scrollspy) */
header.site-drawer nav a[aria-current="page"]{color:var(--amber)}
.site-bottombar .site-bot-btn[aria-current="page"],
.site-bottombar .site-bot-btn.is-pressed,
.site-bottombar .site-bot-btn:active{
  background:var(--rust) !important;
  border-color:var(--rust) !important;
  color:var(--white) !important;
  opacity:1 !important;
}
.site-bottombar .site-bot-btn[aria-current="page"]:hover{
  background:var(--rust-dark);
  border-color:var(--rust-dark);
  color:var(--white);
}
/* Kill Book glow/highlight leftovers inside bottom bar */
.site-bottombar .site-bot-book{
  box-shadow:none !important;
  text-shadow:none !important;
}

@media (max-width:767px){
  .site-topbar{
    column-gap:6px;
    padding:6px 8px;
  }
  .site-topbar .site-top-logo{ font-size:16px; letter-spacing:-1px; }
  .site-topbar .site-top-email{ font-size:9px; max-width:min(120px,32vw); }
  /* top/bot offsets driven by --site-top-h / --site-bot-h (app.js) */
}

@media (min-width:768px){
  .site-topbar{
    column-gap:12px;
    padding:8px 16px;
  }
  .site-topbar .site-top-logo{ font-size:20px; }
  .site-topbar .site-top-email{ font-size:11px; max-width:220px; }
  /* top/bot offsets driven by --site-top-h / --site-bot-h (app.js) */
  .site-bottombar{
    padding:4px 16px calc(4px + env(safe-area-inset-bottom, 0px)); /* R119 vertical pad */
    gap:8px;
    max-width:100%;
  }
  .site-bottombar .site-bot-btn{ font-size:14px; padding:10px 12px; }
  .site-topbar .site-top-menu{ font-size:14px; }
  header.site-drawer,
  header{ top:var(--site-top-h, 56px); }
  /* R129: keep drawer column + ≥44×44 taps (was row; Menu/Bar/FAQs/Wine <44 wide) */
  header > nav[aria-label="Main navigation"]{
    flex-direction:column !important;
    flex-wrap:nowrap;
    gap:0;
    padding:14px 20px;
  }
  header > nav[aria-label="Main navigation"] a{
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    min-width:44px;
    min-height:44px;
    border-bottom:1px solid var(--line);
    padding:12px 12px;
    font-size:15px;
  }
  header > nav[aria-label="Main navigation"] a:last-child{ border-bottom:0; }
}

/* Beat legacy nav{display:none} on mobile for our bars */
@media (max-width:760px){
  nav.site-topbar{ display:grid !important; }
  nav.site-bottombar{ display:grid !important; }
}
header .header-mobile-toggle{ display:none !important; }

/* Hide obsolete preview-bar if any remnant styles linger */
.preview-bar{ display:none !important; }

/* v45 · R54/R55 */
#bar,#wine-with-bob,#our-chef,#euphoric-hour,#menu,#group-dining,#visit{
  scroll-margin-top:var(--site-top-h, 56px) !important;
}

/* R55: course tabs sticky only while #menu (food menu section) is in view —
   sticky is contained by the section, so tabs unpin and never cover later sections */
#menu.menu-section{
  overflow: visible; /* allow sticky descendants */
}
#menu .menu-toolbar{
  position: sticky;
  top: var(--site-top-h, 56px);
  z-index: 40; /* below site-topbar (10050), above menu body */
  background: var(--surface);
  padding: 10px 0 12px;
  margin-top: 0;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 16px rgba(0,0,0,.18);
}
#menu .menu-toolbar [role=tablist]{
  width: 100%;
}
#dishes{
  scroll-margin-top: calc(var(--site-top-h, 56px) + var(--menu-tabs-h, 56px) + 8px);
}


/* v46 · menu-intro condensation (from approved mockup after4@390 / after6@≥768)
   Keeps R55 sticky tabs. Adds ~6–8px between How the Menu Works and fine print. */
#menu.menu-section{
  padding-top: 28px;
  padding-bottom: 48px;
}
#menu .menu-intro{
  display:flex;
  flex-direction:column;
  gap:2px;
  max-width:640px;
}
#menu .section-template{
  gap:6px;
}
#menu .menu-intro-copy .eyebrow{
  margin:0 0 1px;
}
#menu .section-copy.menu-intro-copy h2,
#menu .menu-intro-copy h2{
  margin:0 0 2px;
}
#menu .menu-intro-copy .section-body{
  margin:0;
  max-width:540px;
  line-height:1.35;
}
#menu .menu-intro-prices.menu-format{
  margin:0;
  padding:0;
  gap:2px;
  border-block:none !important;
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:flex-start;
  justify-content:flex-start;
  width:auto;
  max-width:100%;
}
#menu .menu-intro-price-line{
  font-size:14px;
  line-height:1.35;
  min-width:0;
  flex:0 1 auto;
}
#menu .menu-intro-price-line .price-item{
  white-space:nowrap;
}
#menu .menu-intro-price-line .price-sep{
  white-space:pre;
}
#menu .menu-intro-help.inline-link{
  margin-left:0 !important;
  flex:0 0 auto;
  padding:0 !important;
  min-height:24px;
  font-size:14px;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  line-height:1.2;
  color: var(--amber);
}
#menu .pairing-note{
  margin:0;
  margin-top:6px; /* ~6–8px under How the Menu Works underline (with intro gap) */
  max-width:540px;
  font-size:12px;
  line-height:1.3;
}
#menu .menu-toolbar{
  margin-top:0;
  padding-top:6px;
  padding-bottom:8px;
}
@media(min-width:768px){
  #menu.menu-section{ padding-top:36px; }
  #menu .menu-intro{ gap:2px; }
  #menu .section-template{ gap:8px; }
  #menu .menu-intro-copy .eyebrow{ margin:0 0 1px; }
  #menu .section-copy.menu-intro-copy h2{ margin:0 0 2px; }
  #menu .menu-intro-prices.menu-format{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    width:auto;
  }
  #menu .menu-intro-help.inline-link{
    font-size:14px;
  }
  #menu .pairing-note{ margin-top:6px; }
}
@media(max-width:767px){
  #menu.menu-section{ padding-top:20px; padding-bottom:36px; }
  #menu .menu-intro{ gap:2px; }
  #menu .section-template{ gap:4px; }
  #menu .menu-intro-prices.menu-format{
    display:flex !important;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:2px;
    padding:0;
    width:100%;
  }
  #menu .menu-intro-price-line{
    font-size:13px;
    line-height:1.35;
    width:100%;
  }
  #menu .menu-intro-help.inline-link{
    font-size:12.5px;
    min-height:24px;
    padding:0 !important;
    margin:0 !important;
  }
  #menu .pairing-note{ margin-top:6px; }
  #menu .menu-toolbar{
    padding-top:4px;
    padding-bottom:6px;
  }
}

/* ============================================================
   MOCKUP: hero-copy + desktop-full (S1–S5). Not for preview upload.
   ============================================================ */

/* hero-copy: orphan / eyebrow fit */
.nowrap{white-space:nowrap}
@media(max-width:760px){
  .hero-copy .eyebrow{letter-spacing:0.04em}
}
.hero-copy .intro{max-width:540px;text-wrap:pretty}

/* Hero price line removed at all widths (was .hero-prices in .actions) */
.hero-prices{display:none!important}
.hero .actions:empty{display:none}

/* Mobile: wrapper evaporates so hero + dining lay out as v46 */
.opening-band{ display: contents; }

@media (min-width:768px){
  /* ---- S1: Opening — hero copy | dining photo ---- */
  .opening-band.section-width{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    gap:36px 48px;
    align-items:start; /* photo top-aligned with tall copy column */
    padding-block:48px 40px;
    width:min(1240px,calc(100% - 88px));
    margin-inline:auto;
  }
  .opening-band > .hero.section-width{
    display:block;
    max-width:none;
    width:auto;
    padding-block:0;
    margin:0;
    overflow:visible;
  }
  .opening-band > .hero .hero-copy{ max-width:none; overflow:visible; min-width:0; }
  .opening-band > .hero .intro{
    max-width:32em;
    text-wrap:pretty;
  }
  .opening-band > .hero h1,
  .opening-band > .hero h1 .hero-line{
    white-space:normal;
    overflow:visible;
    text-wrap:balance;
  }
  .opening-band > .hero .intro,
  .opening-band > .hero .hero-detail{ max-width:36em; }
  .opening-band > .dining-room-preview.section-width{
    max-width:none;
    width:100%;
    margin:0;
    padding:0;
  }
  .opening-band > .dining-room-preview img{
    aspect-ratio:4/3;
    max-height:none;
    width:100%;
  }
  .opening-band > .dining-room-preview figcaption{
    text-align:left;
    margin-top:10px;
    font-size:18px;
  }

  /* ---- S2: Bar / Wine / Chef — copy | photo ---- */
  #bar .section-template,
  #wine-with-bob .section-template,
  #our-chef .section-template{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:32px 56px;
    align-items:start;
  }
  /* Short wine/chef copy: center + cap photo so empty band matches Bar balance */
  #wine-with-bob .section-template,
  #our-chef .section-template{
    align-items:center;
  }
  #bar .section-copy,
  #wine-with-bob .section-copy,
  #our-chef .section-copy{
    max-width:none;
    min-width:0;
  }
  #bar .section-body,
  #wine-with-bob .section-body,
  #our-chef .section-body,
  #bar .small-note,
  #wine-with-bob .small-note,
  #our-chef .chef-philosophy{ max-width:none; }
  #bar .section-photo,
  #wine-with-bob .section-photo,
  #our-chef .section-photo{ max-width:none; width:100%; min-width:0; }
  #bar .section-photo img,
  #wine-with-bob .section-photo img,
  #our-chef .section-photo img{
    aspect-ratio:4/3;
    width:100%;
    object-fit:cover;
  }
  #wine-with-bob .section-photo img,
  #our-chef .section-photo img{
    max-height:320px;
  }
  /* Contain H2s inside the copy column (override v46 nowrap) */
  #bar .section-copy h2,
  #wine-with-bob .section-copy h2,
  #our-chef .section-copy h2,
  #visit .section-copy h2,
  #group-dining .section-copy h2{
    white-space:normal;
    text-wrap:balance;
    overflow-wrap:break-word;
    max-width:100%;
    min-width:0;
  }

  /* ---- S3: Visit — hours/address | FAQ ---- */
  #visit .section-template{
    display:grid;
    grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);
    gap:32px 64px;
    align-items:start;
  }
  #visit .section-copy{ max-width:none; min-width:0; overflow:visible; }
  #visit .section-body{ max-width:none; }
  #visit .faq{ max-width:none; margin-top:0; min-width:0; }

  /* ---- S4: Dishes 2-col; menu intro uses full width ---- */
  #dishes{
    grid-template-columns:1fr 1fr;
    column-gap:40px;
    row-gap:0;
  }
  .dish{ padding:20px 0; }
  .menu-section .section-copy,
  .menu-section .section-body,
  .menu-section .menu-philosophy,
  .menu-section .pairing-note,
  .menu-section .menu-intro,
  .menu-section .menu-intro-copy{ max-width:none; }
  .menu-format{ max-width:none; }

  /* ---- S5: Desktop type scale ---- */
  body{ font-size:18px; }
  .hero h1{ font-size:clamp(66px,5.2vw,78px); }
  .intro{ font-size:23px; }
  .hero-detail{ font-size:17px; }
  .section-copy h2,
  .content-section .section-copy h2{ font-size:clamp(48px,4vw,58px); }
  .section-body{ font-size:17px; line-height:1.7; }
  .dish h3{ font-size:26px; }

  #group-dining .section-copy{ max-width:720px; }
  #group-dining .section-body{ max-width:640px; }
  #group-dining .spaces-grid{ gap:28px; }
}

@media (min-width:1100px){
  #dishes{
    grid-template-columns:1fr 1fr 1fr;
    column-gap:36px;
  }
  .dish h3{ font-size:24px; }
  .dish p{ font-size:14.5px; }
}

@media (min-width:768px) and (max-width:1050px){
  .opening-band.section-width{
    width:calc(100% - 56px);
    gap:28px 36px;
  }
  /* Title Case hero eyebrow: fit the S1 column without overflow */
  .opening-band > .hero .hero-copy .eyebrow{
    letter-spacing:0.04em;
    font-size:16px;
    font-weight:600;
    white-space:normal;
    text-wrap:balance;
  }
  #bar .section-template,
  #wine-with-bob .section-template,
  #our-chef .section-template{ gap:24px 36px; }
  /* v48.9: widen #bar copy column so "Sam's 5-Star Dive Bar" stays one line at 48px */
  #bar .section-template{
    grid-template-columns:minmax(0,1.45fr) minmax(0,0.55fr);
    gap:24px 28px;
  }
  #bar .section-copy h2{
    white-space:nowrap;
    text-wrap:unset;
    overflow-wrap:normal;
  }
  /* v48.9: Chef H2 stays 48px like other section H2s (no tablet shrink) */
  /* Hero lead: balance wraps in the narrow S1 column */
  .opening-band > .hero .intro{
    text-wrap:balance;
    max-width:100%;
  }
  .opening-band > .hero .hero-detail{
    text-wrap:pretty;
  }
}


/* Title Case eyebrows — larger x-height to replace lost caps */
.eyebrow{
  font-size:16px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:none;
}
.section-copy .eyebrow,
.euphoric-callout .euphoric-label,
.space-body .eyebrow,
#group-dining .space-body .eyebrow,
.wine-section .eyebrow,
.hero-copy .eyebrow{
  font-size:16px;
  font-weight:600;
  letter-spacing:0.04em;
}
@media (max-width:760px){
  .eyebrow,
  .section-copy .eyebrow,
  .euphoric-callout .euphoric-label,
  .space-body .eyebrow,
  #group-dining .space-body .eyebrow,
  .wine-section .eyebrow{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.04em;
  }
  /* Long hero eyebrow: modest bump from 10px; allow clean wrap */
  .hero-copy .eyebrow,
  .opening-band > .hero .hero-copy .eyebrow{
    font-size:12px;
    font-weight:600;
    letter-spacing:0.04em;
    white-space:normal;
    text-wrap:balance;
  }
}
#our-chef .section-copy > h2{
  text-transform:none;
}

/* Chef body: avoid last-line orphan at phone */
#our-chef .section-body{
  text-wrap:pretty;
}

/* v47.7.1: drop #visit 100vh min-height — it left a tall empty band after Visit
   content (~380px at 1280) that read as a missing Wine section. Wine was always
   present; the gap was visit min-height, not a reveal failure. */
@media (min-width: 768px) {
  #visit {
    min-height: 0;
  }
}


/* v47.5 hero H1: one line each sentence at every width; clear gap; smaller type */
/* v47.5: remove soft amber glow under hero (.hero::before radial at bottom) */
.hero::before{
  content: none;
  display: none;
}

.hero h1{
  font-size: clamp(26px, 2.55vw + 18px, 34px);
  letter-spacing: -0.02em;
  line-height: 1.1;
  max-width: 100%;
}
.hero h1 .hero-line{
  display: block;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-wrap: nowrap;
}
/* Visible break between the two sentences (italic already on em) */
.hero h1 .hero-line + .hero-line{
  margin-top: 0.28em;
}
/* Beat opening-band desktop balance/wrap and S5 66–78px scale */
@media (min-width: 768px){
  .opening-band > .hero h1,
  .opening-band > .hero h1 .hero-line,
  .hero h1,
  .hero h1 .hero-line{
    white-space: nowrap;
    text-wrap: nowrap;
    overflow: hidden;
  }
  /* v47.6: scale whole hero text block up for ~1024–1280 vs photo;
     floor stays ~34px at 768 so each H1 sentence still fits one line */
  .hero h1,
  .opening-band > .hero h1{
    font-size: clamp(34px, 3.5vw + 7px, 46px);
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  .opening-band > .hero .hero-copy .eyebrow{
    margin-bottom: 10px;
    font-size: clamp(13px, 0.35vw + 10.5px, 14px);
    line-height: 1.35;
  }
  .opening-band > .hero .intro{
    font-size: clamp(18px, 0.9vw + 11px, 22px);
    line-height: 1.45;
    margin-top: clamp(12px, 0.6vw + 7px, 16px);
    margin-bottom: clamp(10px, 0.4vw + 7px, 14px);
  }
  .opening-band > .hero .hero-detail{
    font-size: clamp(15px, 0.45vw + 11.5px, 17px);
    line-height: 1.45;
    margin-top: 0;
    margin-bottom: 0;
  }
  /* Taller photo so side-by-side bottoms can meet at tablet widths */
  .opening-band > .dining-room-preview img{
    aspect-ratio: 1 / 1.05;
  }
}
@media (min-width: 1100px){
  .opening-band > .dining-room-preview img{
    aspect-ratio: 4 / 3;
  }
}
/* Phone: keep intro wrap polish from v47.4 */
@media (max-width: 767px) {
  .hero-copy .intro {
    text-wrap: pretty;
    max-width: 100%;
  }
}
@media (max-width: 359px) {
  .hero-copy .intro {
    font-size: 18px;
    line-height: 1.45;
    max-width: 13.2em;
  }
}

/* v47.6: two body paragraphs in Group Dining; tight stack */
#group-dining .section-copy .section-body + .section-body{
  margin-top: 0.55em;
}

/* v47.8: alternating section backgrounds dark / lighter
   Tokens: --paper (var(--paper)) = dark, --surface (var(--surface)) = lighter
   Order (bar moved below menu):
     hero(paper) → menu(surface) → bar(paper) → group(surface)
     → chef(paper) → visit(surface) → wine(paper) → footer(surface)
   euphoric-hour stays nested inside bar (not a top-level band). */
.opening-band,
.hero{
  background: transparent; /* inherits body --paper */
}
#menu.content-section.menu-section,
.content-section.menu-section{
  background: var(--surface);
  color: var(--ink);
}
#bar.content-section.bar-feature,
.content-section.bar-feature{
  background: var(--paper);
  color: var(--ink);
}
#group-dining.content-section.gather-section,
.content-section.gather-section{
  background: var(--surface);
  color: var(--ink);
}
#our-chef.content-section.story-section,
.content-section.story-section{
  background: var(--paper);
  color: var(--ink);
}
#visit.content-section.visit-section,
.content-section.visit-section{
  background: var(--surface);
  color: var(--ink);
}
#wine-with-bob.content-section.wine-section,
.content-section.wine-section{
  background: var(--paper);
  color: var(--ink);
}
footer{
  background: var(--surface);
  color: var(--ink);
}

/* Nested cards: contrast against their parent band */
.gather-section .space-card{
  background: var(--paper);
}
.wine-section .space-card{
  background: var(--surface); /* wine band is paper */
}
.bar-feature .way-card{
  background: var(--surface); /* bar band is paper in v47.8 */
}

/* v47.7.1: reveal fail-safe — never leave section content invisible if a
   scroll/IO reveal class fails to apply (headless or reduced-motion). */
@media (prefers-reduced-motion: reduce) {
  .reveal, [data-reveal], .fade-in, .is-revealing {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
}
.content-section, .content-section .section-copy, .content-section .section-photo {
  opacity: 1;
  visibility: visible;
}

/* v47.9b: protein filter removed — keep toolbar as tabs-only */
.menu-filter{display:none!important}
#menu .menu-toolbar{justify-content:flex-start}
/* v48.4: restore amber ingredient lists under each dish (pairings stay hidden) */
.dish-ingredients{display:block!important}
/* v47.9b: menu intro without eyebrow — h2 is first child */
#menu .menu-intro-copy > h2{margin-top:0}

/* v48.0 · section subheads + diet line */
.section-subhead,
.content-section .section-subhead,
.wine-section .section-subhead,
#menu .section-subhead,
#bar .section-subhead,
#group-dining .section-subhead,
#our-chef .section-subhead,
#visit .section-subhead,
#wine-with-bob .section-subhead{
  margin:8px 0 0;
  max-width:34em;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(18px, 2.6vw + 10px, 26px) !important;
  line-height:1.25;
  letter-spacing:-0.02em;
  color:var(--amber) !important;
  text-wrap:balance;
}
.content-section .section-copy > h2,
#menu .menu-intro-copy > h2{
  color:var(--ink);
  margin:0;
  text-wrap:balance;
}
.content-section .section-copy > .section-subhead + .section-body,
#menu .menu-intro-copy > .section-subhead + .section-body{
  margin-top:14px;
}
#menu .menu-intro-copy > .section-subhead{
  margin-top:6px;
}
#menu .menu-intro-copy > h2{
  margin:0 0 2px;
}
/* ~10px extra space after the sentence above, then diet line, then À la carte at normal gap */
/* v48.1: space before pricing line; diet line follows it */
#menu .menu-intro-prices > .menu-intro-price-line:first-child{
  margin-top:10px;
}
#menu .menu-diet-line{
  margin-top:0;
  display:block;
}
#menu .menu-intro-prices.menu-format{
  margin-top:0;
}
/* Demote former amber labels (not prices): Euphoric Hour + any leftover eyebrows in sections */
.euphoric-callout .euphoric-label{
  color:var(--ink) !important;
}
.content-section .section-copy > .eyebrow{
  color:var(--smoke) !important;
}
@media (max-width:760px){
  .section-subhead,
  .content-section .section-subhead,
  .wine-section .section-subhead,
  #menu .section-subhead,
  #wine-with-bob .section-subhead{
    font-size:clamp(17px, 4.2vw, 22px) !important;
    line-height:1.3;
    margin-top:6px;
  }
}


/* v48.1 · pairings removed — hide leftover pairing styles, no empty gaps */
.dish-pairing{display:none!important;margin:0!important;padding:0!important;height:0!important}
#menu .pairing-note:not(.wine-price-band){display:none!important;margin:0!important;padding:0!important;height:0!important}

/* ===== mock-topbar · desktop inline nav + bigger wordmark (local mock only) ===== */
nav.site-topbar.site-topbar,
.site-topbar{
  display:flex !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  align-items:center;
  justify-content:space-between;
  column-gap:12px;
  row-gap:0;
  padding:8px 14px;
  flex-wrap:nowrap;
}
.site-topbar .site-top-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  justify-self:unset;
  grid-column:unset;
  min-width:0;
  padding:0;
  flex:0 0 auto;
  line-height:1.05;
  text-align:left;
}
.site-topbar .site-top-logo{
  font:700 34px/.85 var(--serif);
  letter-spacing:-2.2px;
  color:var(--ember);
  text-decoration:none;
  padding:0;
  margin:0;
  white-space:nowrap;
  line-height:.85;
  min-height:0 !important;
  height:auto;
  display:block;
}
.site-topbar .site-top-email{
  font:10px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:.2px;
  color:var(--smoke);
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:min(220px,46vw);
  min-height:0 !important;
  height:auto;
  display:block;
  padding:0;
  margin:0;
}
.site-topbar .site-top-menu{ display:none !important; }

.site-topbar .site-top-inline{
  display:none;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:clamp(10px, 1.6vw, 28px);
  margin:0 0 0 auto;
  min-width:0;
  flex:1 1 auto;
}
.site-topbar .site-top-inline a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:8px 6px;
  margin:0;
  border:0;
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  font:600 14px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  white-space:nowrap;
  letter-spacing:0;
  box-sizing:border-box;
}
.site-topbar .site-top-inline a:hover{
  color:var(--amber);
}

.site-topbar .site-top-ham.mobile-toggle{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  justify-self:unset;
  grid-column:unset;
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  margin:0 0 0 auto;
  border:1px solid var(--line);
  border-radius:3px;
  background:transparent;
  color:var(--ink);
  font-size:20px;
  line-height:1;
  flex:0 0 auto;
}

@media (max-width:899px){
  nav.site-topbar.site-topbar,
  .site-topbar{
    display:flex !important;
    padding:10px 12px;
  }
  .site-topbar .site-top-logo{
    font-size:36px;
    letter-spacing:-2.2px;
  }
  .site-topbar .site-top-email{
    font-size:9px;
    max-width:min(170px,44vw);
  }
  .site-topbar .site-top-inline{
    display:none !important;
  }
  .site-topbar .site-top-ham.mobile-toggle{
    display:inline-flex !important;
  }
}

/* Beat legacy nav.site-topbar{display:grid !important} at <=760 */
@media (max-width:760px){
  nav.site-topbar{
    display:flex !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
  }
}

@media (min-width:900px){
  nav.site-topbar.site-topbar,
  .site-topbar{
    display:flex !important;
    padding:10px 20px;
    column-gap:18px;
  }
  .site-topbar .site-top-logo{
    font-size:42px;
    letter-spacing:-2.6px;
  }
  .site-topbar .site-top-email{
    font-size:11px;
    max-width:240px;
  }
  .site-topbar .site-top-inline{
    display:flex !important;
  }
  .site-topbar .site-top-ham.mobile-toggle{
    display:none !important;
  }
  .site-topbar .site-top-inline a{
    font-size:15px;
    padding:8px 8px;
  }
}

@media (min-width:900px) and (max-width:1100px){
  .site-topbar .site-top-logo{
    font-size:36px;
    letter-spacing:-2.2px;
  }
  .site-topbar .site-top-inline{
    gap:clamp(4px, 0.9vw, 12px);
  }
  .site-topbar .site-top-inline a{
    font-size:13px;
    padding:8px 4px;
  }
}

@media (min-width:1280px){
  .site-topbar .site-top-logo{
    font-size:48px;
    letter-spacing:-3px;
  }
  .site-topbar .site-top-inline a{
    font-size:15px;
  }
}

/* ===== v48.3 · dual-line tabs (fire large/white top, course small/amber bottom) + c1 photos ===== */
#menu .menu-toolbar{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
#menu .menu-toolbar .course-tablist,
#menu .menu-toolbar [role=tablist].course-tablist{
  display: flex;
  width: 100%;
  gap: 9px;
  align-items: stretch;
}
#menu .menu-toolbar .course-tablist [role=tab]{
  flex: 1 1 0;
  min-width: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; /* tight pair */
  gap: 0;
  min-height: 44px;
  height: auto;
  align-self: stretch;
  padding: 8px 14px;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
  font-size: 15px;
}
/* TOP: ember word — larger, white, bold */
#menu .menu-toolbar .course-tablist [role=tab] .tab-fire{
  display: block;
  margin: 0;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.05;
  color: var(--white);
  opacity: 1;
  white-space: nowrap;
}
#menu .menu-toolbar .course-tablist [aria-selected=true] .tab-fire,
#menu .menu-toolbar .course-tablist [aria-selected=false] .tab-fire{
  color: var(--white);
  opacity: 1;
}
/* BOTTOM: course — smaller amber; lighter on active rust */
#menu .menu-toolbar .course-tablist [role=tab] .tab-label{
  display: block;
  margin: 0;
  width: 100%;
  font-size: 9.75px; /* ~65% of 15px */
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.1;
  color: var(--amber);
  opacity: 0.92;
  white-space: nowrap;
}
#menu .menu-toolbar .course-tablist [aria-selected=true] .tab-label{
  color: var(--amber-active);
  opacity: 1;
}
#menu .menu-toolbar .course-tablist [aria-selected=false] .tab-label{
  color: var(--amber);
  opacity: 0.85;
}

/* c1: square photo under each tab (not sticky — sibling below toolbar) */
#menu .course-tab-photos{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  width: 100%;
  align-items: start;
  margin: 12px 0 4px;
}
#menu .course-tab-photo{
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
#menu .course-tab-photo img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center center;
  border-radius: 3px;
  background: var(--near-black);
}
#menu .course-tab-photo img[src*="01-salmon-prawn-slate"]{
  object-position: center 45%;
}
#menu .course-tab-photo img[src*="05-lobster-stack"]{
  object-position: center 42%;
}
#menu .course-tab-photo figcaption{
  margin: 0;
  padding: 0;
  position: static; /* never over the photo */
  font: 12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color: var(--smoke);
}

@media (max-width: 899px){
  #menu .menu-toolbar .course-tablist{ gap: 6px; }
  #menu .menu-toolbar .course-tablist [role=tab]{
    padding: 8px 6px;
    min-height: 44px;
    gap: 0;
  }
  #menu .menu-toolbar .course-tablist [role=tab] .tab-fire{ font-size: 12px; }
  #menu .course-tab-photos{ gap: 6px; margin-top: 10px; }
}
@media (max-width: 390px){
  #menu .menu-toolbar .course-tablist [role=tab]{
    padding: 8px 4px;
    min-height: 44px;
  }
  #menu .menu-toolbar .course-tablist [role=tab] .tab-fire{ font-size: 12px; }
}
@media (max-width: 320px){
  #menu .menu-toolbar .course-tablist [role=tab]{
    padding: 7px 2px;
    min-height: 44px;
    gap: 0;
  }
  #menu .menu-toolbar .course-tablist [role=tab] .tab-fire{ font-size: 11px; }
}

/* v48.5 — first dining-room slot: fireplace square, cover without stretch;
   bias so stone fireplace + flame sculpture stay in the crop */
.dining-room-preview img[src*="dining-room-fireplace"]{
  object-fit: cover;
  object-position: 32% 28%;
}
@media (max-width: 760px){
  .dining-room-preview img[src*="dining-room-fireplace"]{
    object-position: 30% 26%;
  }
}

/* v48.4 — Visit stacked postal address */
#visit .visit-address{margin-bottom:8px;line-height:1.45}
#visit .visit-hours{margin-top:0}


/* v48.8 — bottom bar fits 320; 44px targets already on .site-bot-btn */
@media (max-width:360px){
  .site-bottombar{
    gap:4px;
    padding:4px 6px calc(4px + env(safe-area-inset-bottom, 0px)); /* R119 vertical pad */
  }
  .site-bottombar .site-bot-btn{
    font-size:12px;
    padding:10px 2px;
    min-height:44px;
  }
}

/* ============================================================
   v48.12 — audit fixes (tabs AA, group stack, hero/footer type, chef slot)
   ============================================================ */

/* (1) Menu course .tab-label: larger; SAME size active + inactive; ≥44px taps;
      active label contrast ≥4.5:1 on rust (var(--white) on var(--rust) ≈ 4.63:1) */
#menu .menu-toolbar .course-tablist [role=tab]{
  min-height: 44px;
}
#menu .menu-toolbar .course-tablist [role=tab] .tab-label{
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--amber);
  opacity: 0.92;
}
#menu .menu-toolbar .course-tablist [aria-selected=true] .tab-label,
#menu .menu-toolbar .course-tablist [aria-selected=false] .tab-label{
  font-size: 12px; /* lock identical size across selected state */
}
#menu .menu-toolbar .course-tablist [aria-selected=true] .tab-label{
  color: var(--white); /* measured ≥4.5:1 on --rust var(--rust) */
  opacity: 1;
}
#menu .menu-toolbar .course-tablist [aria-selected=false] .tab-label{
  color: var(--amber);
  opacity: 0.92;
}
@media (max-width: 899px){
  #menu .menu-toolbar .course-tablist [role=tab]{ min-height: 44px; }
  #menu .menu-toolbar .course-tablist [role=tab] .tab-label,
  #menu .menu-toolbar .course-tablist [aria-selected=true] .tab-label,
  #menu .menu-toolbar .course-tablist [aria-selected=false] .tab-label{
    font-size: 11px;
    letter-spacing: 0.015em;
  }
}
@media (max-width: 390px){
  #menu .menu-toolbar .course-tablist [role=tab] .tab-label,
  #menu .menu-toolbar .course-tablist [aria-selected=true] .tab-label,
  #menu .menu-toolbar .course-tablist [aria-selected=false] .tab-label{
    font-size: 11px;
  }
}
@media (max-width: 320px){
  #menu .menu-toolbar .course-tablist [role=tab]{ min-height: 44px; }
  #menu .menu-toolbar .course-tablist [role=tab] .tab-label,
  #menu .menu-toolbar .course-tablist [aria-selected=true] .tab-label,
  #menu .menu-toolbar .course-tablist [aria-selected=false] .tab-label{
    font-size: 11px;
    letter-spacing: 0.01em;
  }
}

/* (2) Group dining cards: one column on phones ≤430 (incl. 320) */
@media (max-width: 430px){
  #group-dining .spaces-grid{
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  #group-dining .space-body{
    padding: 16px 14px 18px;
  }
  #group-dining .space-body h3{ font-size: clamp(22px, 6vw, 28px); }
  #group-dining .space-body p:not(.eyebrow){ font-size: 15px; line-height: 1.55; }
}

/* (3) Looser hero H1 leading + larger footer tagline */
.hero h1,
.opening-band > .hero h1{
  line-height: 1.3;
}
.hero h1 .hero-line + .hero-line{
  margin-top: 0.36em;
}
@media (min-width: 768px){
  .hero h1,
  .opening-band > .hero h1{
    line-height: 1.3;
  }
}
footer .logo span{
  font-size: 12px !important;
  letter-spacing: 1.6px;
  line-height: 1.45;
  margin-top: 10px;
}
@media (max-width: 760px){
  footer .logo span{
    font-size: 11px !important;
    letter-spacing: 1.4px;
  }
}

/* v48.12b — Euphoric Hour: heading clearly larger than time/price line; trimmed copy */
.euphoric-callout .euphoric-label{
  font-size: 24px !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.25;
  margin: 0 0 6px;
  color: var(--ink) !important;
}
.euphoric-callout .euphoric-detail{
  font-size: 16px !important;
  line-height: 1.5;
  font-weight: 400;
  margin: 0;
  color: var(--smoke);
}
.euphoric-callout .euphoric-walkin{ display: none !important; } /* removed from HTML; belt */
@media (max-width: 760px){
  .euphoric-callout .euphoric-label{
    font-size: 22px !important;
    line-height: 1.25;
  }
  .euphoric-callout .euphoric-detail{
    font-size: 15px !important;
  }
}


/* v48.12c — Contact CTAs replace group demo-modal triggers */
.contact-cta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  width:100%;
  max-width:100%;
}
.contact-cta-line{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:var(--smoke);
  max-width:36em;
}
.contact-cta-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  width:100%;
}
.contact-cta-actions .btn,
a.btn.contact-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:10px 16px;
  text-decoration:none;
  box-sizing:border-box;
  white-space:nowrap;
}
/* Space cards: keep CTAs readable and wrapping at 320 */
#group-dining .space-body .contact-cta{
  margin-top:8px;
}
#group-dining .space-body .contact-cta-line{
  font-size:13px;
  color:var(--smoke);
}
#group-dining .space-body .contact-cta-actions .btn{
  font-size:13px;
  padding:10px 14px;
}
#group-dining .section-actions .contact-cta{
  width:100%;
}
/* Diet modal contact block */
#modal-content .contact-cta{
  margin-top:18px;
}
#modal-content .contact-cta-line{
  color:var(--ink);
  font-size:15px;
}
@media (max-width:360px){
  .contact-cta-actions .btn{
    flex:1 1 calc(50% - 10px);
    padding:10px 12px;
    font-size:13px;
    white-space:normal;
    text-align:center;
  }
  #group-dining .space-body .contact-cta-actions .btn{
    flex:1 1 100%;
  }
}


/* ============================================================
   v48.15 — audit gaps 3–7, 9–10 (Chef unchanged)
   ============================================================ */

/* R119: Book single-line like Menu/Groups/FAQs (hint span removed). Keep ≤430 Book 1.35fr. */
/* R119 keeps ≤430 Book 1.35fr column; do not equalize */
@media (max-width: 430px){
  .site-bottombar{
    grid-template-columns: minmax(44px, 1fr) minmax(44px, 1.35fr) minmax(44px, 1fr) minmax(44px, 1fr);
  }
}

/* (7) Tab fire/label pairing: small gap so icon-word + course label read as one control */
#menu .menu-toolbar .course-tablist [role=tab]{
  gap: 2px;
}
#menu .menu-toolbar .course-tablist [role=tab] .tab-fire{
  line-height: 1.15;
}
#menu .menu-toolbar .course-tablist [role=tab] .tab-label{
  line-height: 1.2;
}

/* (6) Modal open: lock background scroll so bottom bar doesn't steal the page */
body.modal-open{
  overflow: hidden;
  overscroll-behavior: none;
}
body.modal-open .site-bottombar{
  /* keep visible but non-interactive under dialog top-layer; pointer events off as belt */
  pointer-events: none;
}
#close-modal.dialog-close,
.dialog-close{
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  color: var(--ink);
}
#close-modal.dialog-close:focus-visible{
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}

/* (3) Ensure heading rhythm for section titles stays readable (≥1.2 body-adjacent) */
h2, h3{
  line-height: 1.2;
}


/* ============================================================
   v48.19 — Visit subhead: brand-red wordmark "ember" in Remember
   ============================================================ */
.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
#visit .section-subhead .ember-in-word{
  color:var(--ember);
  font-family:var(--serif);
  font-weight:700; /* match .site-top-logo wordmark */
  font-style:normal;
  letter-spacing:inherit;
  margin:0;
  padding:0;
  display:inline;
}


/* ===== v48.32 · groups-call: top-bar phone + bottom-bar Groups ===== */
/* Top bar: phone centered between brand and ☰ on phones; between brand and nav on desktop */
nav.site-topbar.site-topbar,
.site-topbar{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:8px;
  justify-content:unset;
}
.site-topbar .site-top-brand{
  grid-column:1;
  justify-self:start;
  flex:unset;
  margin:0;
}
.site-topbar .site-top-phone{
  grid-column:2;
  justify-self:center;
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:8px 6px;
  margin:0;
  border:0;
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  font:600 13px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:0.01em;
  white-space:nowrap;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}
.site-topbar .site-top-phone:hover{
  color:var(--amber);
  text-decoration:underline;
  text-underline-offset:3px;
}
.site-topbar .site-top-inline{
  display:none !important;
}
.site-topbar .site-top-ham.mobile-toggle{
  grid-column:3;
  justify-self:end;
  margin:0 !important;
}

/* Bottom: Groups uses same .site-bot-btn treatment as Menu/FAQs */
.site-bottombar .site-bot-groups{
  /* inherit .site-bot-btn */
}

@media (max-width:360px){
  .site-topbar{
    column-gap:4px;
    padding:8px 8px;
  }
  .site-topbar .site-top-email{
    max-width:min(108px,34vw);
  }
  .site-topbar .site-top-phone{
    font-size:12px;
    letter-spacing:0;
    padding:8px 2px;
  }
  .site-topbar .site-top-logo{
    font-size:32px;
    letter-spacing:-2px;
  }
}

@media (min-width:361px) and (max-width:899px){
  .site-topbar .site-top-phone{
    font-size:13px;
    padding:8px 4px;
  }
}

/* Desktop: phone tucked beside brand; section links flush right; ham hidden.
   Bottom bar still present site-wide — Groups replaces Call there too. */
@media (min-width:900px){
  nav.site-topbar.site-topbar,
  .site-topbar{
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center;
    column-gap:16px;
    padding:10px 20px;
    flex-wrap:nowrap;
  }
  .site-topbar .site-top-brand{
    grid-column:unset;
    flex:0 0 auto;
    margin:0;
  }
  .site-topbar .site-top-phone{
    grid-column:unset;
    justify-self:unset;
    flex:0 0 auto;
    font-size:15px;
    padding:8px 10px;
    letter-spacing:0.02em;
    margin:0;
  }
  .site-topbar .site-top-inline{
    display:flex !important;
    grid-column:unset;
    flex:1 1 auto;
    justify-self:unset;
    margin:0;
    justify-content:flex-end;
  }
  .site-topbar .site-top-ham.mobile-toggle{
    display:none !important;
  }
}


/* ===== v49.4 · R115 tight header contact stack (restored original bar height; ≥24px taps) ===== */
.site-topbar .site-top-contact{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  flex:0 0 auto;
  min-width:0;
  line-height:1;
  max-height:100%;
}
.site-topbar .site-top-contact .site-top-phone,
.site-topbar .site-top-contact .site-top-mail{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  height:24px;
  min-width:44px;
  padding:0 6px;
  margin:0;
  border:0;
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  font:600 12px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:0.01em;
  white-space:nowrap;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  grid-column:unset;
  justify-self:unset;
}
.site-topbar .site-top-contact .site-top-mail{
  font-size:12px;
  letter-spacing:0;
}
.site-topbar .site-top-contact .site-top-phone:hover,
.site-topbar .site-top-contact .site-top-mail:hover{
  color:var(--amber);
  text-decoration:underline;
  text-underline-offset:2px;
}
@media (max-width:360px){
  .site-topbar .site-top-contact .site-top-phone,
  .site-topbar .site-top-contact .site-top-mail{
    font-size:12px;
    padding:0 2px;
    letter-spacing:0;
  }
}
@media (min-width:361px) and (max-width:899px){
  .site-topbar .site-top-contact .site-top-phone{
    font-size:13px;
    padding:0 4px;
  }
  .site-topbar .site-top-contact .site-top-mail{
    font-size:12px;
    padding:0 4px;
  }
}
@media (min-width:900px){
  .site-topbar .site-top-contact{
    align-items:flex-start;
  }
  .site-topbar .site-top-contact .site-top-phone,
  .site-topbar .site-top-contact .site-top-mail{
    justify-content:flex-start;
    padding:0 8px;
  }
  .site-topbar .site-top-contact .site-top-phone{ font-size:14px; }
  .site-topbar .site-top-contact .site-top-mail{ font-size:12px; }
}

/* v49.4: restore original topbar vertical padding so stack fits ~66/77 */
nav.site-topbar.site-topbar:has(.site-top-contact),
.site-topbar:has(.site-top-contact){
  padding-top:8px !important;
  padding-bottom:8px !important;
  align-items:center;
}
@media (max-width:899px){
  nav.site-topbar.site-topbar:has(.site-top-contact),
  .site-topbar:has(.site-top-contact){
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}
@media (min-width:900px) and (max-width:1279px){
  nav.site-topbar.site-topbar:has(.site-top-contact),
  .site-topbar:has(.site-top-contact){
    padding-top:9px !important;
    padding-bottom:10px !important; /* ~67px with 24+24 stack */
  }
}
@media (min-width:1280px){
  nav.site-topbar.site-topbar:has(.site-top-contact),
  .site-topbar:has(.site-top-contact){
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
}


/* ===== v50.4 (Freddy 19:17) — Book styled exactly like the other nav links; position, target and 44px tap kept. Filled accent removed. ===== */
.site-topbar .site-top-book,
header.site-drawer a.site-top-book,
header.site-drawer a.site-drawer-book{
  -webkit-tap-highlight-color:transparent;
}
/* Mid Book (left of ham): only tablet band where ham shows; hidden on phones and desktop. Matches desktop nav link look. */
.site-topbar .site-top-book-mid{
  display:none !important;
  grid-column:3;
  justify-self:end;
  align-self:center;
  margin:0;
}
@media (min-width:768px) and (max-width:899px){
  nav.site-topbar.site-topbar,
  .site-topbar{
    grid-template-columns:auto minmax(0,1fr) auto auto !important;
  }
  .site-topbar .site-top-book-mid{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    min-width:44px;
    min-height:44px;
    padding:8px;
    background:transparent;
    border:0;
    border-radius:0;
    color:#F3EBE0;
    font:600 15px/18px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    text-decoration:none;
    white-space:nowrap;
    grid-column:3;
    justify-self:end;
  }
  .site-topbar .site-top-ham.mobile-toggle{
    grid-column:4 !important;
    justify-self:end;
  }
}
@media (min-width:900px){
  .site-topbar .site-top-book-mid{ display:none !important; }
}


/* R140 — "Closed" in Ember orange on dark paper/surface only (#1A1612 / #241F1A). Do not use on --bar-paper. */
.hours-closed{
  color:#E86048;
  font-weight:inherit;
}


/* v50.2 — hash/anchor targets: 16px gap under the sticky header.
   Combines with html scroll-padding-top: var(--site-top-h) (do not also put the header height here).
   !important on html padding beats legacy 100px/120px rules in the compact sheet. */
html{ scroll-padding-top:var(--site-top-h, 56px) !important; }
#faq,
#opening-week-hours,
.faq-item[id],
#main{
  scroll-margin-top:16px;
}

/* v50.2 — header email tap ≥44px at 1280 via hit area only.
   Layout height and font stay as R115 (header 66/68/77; contact type unchanged).
   ::before extends downward into topbar padding so the 77px header does not grow. */
@media (min-width:1280px){
  .site-topbar .site-top-contact .site-top-mail{
    position:relative;
    z-index:1;
  }
  .site-topbar .site-top-contact .site-top-mail::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:44px;
    min-width:44px;
  }
}


/* v50 — prerendered course panels; tabs show/hide only */
.course-panel[hidden]{display:none !important}
.course-panel{display:block}

/* v50.5 R149: restore last multi-column dish grid (v49.8) on prerendered course panels.
   Baseline: 2-col (gap 48px) by default; 1-col at max-width 760px; 2-col gap 40px at min-width 768px;
   3-col gap 36px at min-width 1100px. Phones 320–430 stay 1-col like v50.4.
   #dishes itself must not stay a 2/3-col grid, or the single visible panel would sit in the first track. */
#dishes{ display:block; }
#dishes .course-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:48px;
}
@media (max-width:760px){
  #dishes .course-panel{ grid-template-columns:1fr; }
}
@media (min-width:768px){
  #dishes .course-panel{
    grid-template-columns:1fr 1fr;
    column-gap:40px;
    row-gap:0;
  }
}
@media (min-width:1100px){
  #dishes .course-panel{
    grid-template-columns:1fr 1fr 1fr;
    column-gap:36px;
  }
}
.copy-slot{border:1px dashed var(--rust,#a53c25);padding:.75rem 1rem;margin:1rem 0;background:rgba(165,60,37,.06);font-size:.95rem}
.topic-continue{padding:2rem 0 4rem}
.topic-continue-links a{margin:0 .15rem}
.topic-prose h2{font-size:clamp(28px,3vw,40px);margin:2rem 0 .75rem}
.topic-prose .faq{margin-top:2rem}
.topic-prose .book-reach{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.topic-ctas{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:1rem}
.topic-bar-page,.topic-wine-page{background:var(--paper);color:var(--ink);padding-block:48px 64px}

/* v50 R129 — drawer tap targets ≥44×44; column layout at all drawer widths */
header.site-drawer > nav[aria-label="Main navigation"],
header.menu-open > nav[aria-label="Main navigation"]{
  flex-direction:column !important;
}
header.site-drawer > nav[aria-label="Main navigation"] a,
header.menu-open > nav[aria-label="Main navigation"] a{
  display:flex;
  align-items:center;
  box-sizing:border-box;
  width:100%;
  min-width:44px;
  min-height:44px;
  padding:12px 12px;
}
