/* One shape, type and spacing system across every page. */
:root{--b-radius:24px;--b-panel-radius:32px;--b-section-space:80px;--b-muted:#505050;--b-green:#111111;--b-ink:#171717;--olive:#555555;--ring:#777777;--primary:#171717}
html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}body{font-size:18px}
.b-wrap,body[data-page=home] .container-site{width:86%;max-width:1320px;margin-inline:auto;padding-inline:0}
.b-arrow{display:inline-block;width:18px;height:18px;flex:none;vertical-align:-.15em;overflow:visible;stroke-width:2}
.b-button>span[aria-hidden],.b-hero-secondary>span[aria-hidden],.b-text-link>span[aria-hidden]{display:inline-flex;flex:none;line-height:1}
/* Neutral accent states apply on desktop and mobile. */
.b-dock-catering{background:#e6e6e6;color:#171717}.b-dock-catering:hover{background:#d3d3d3}
.b-menu-toggle:hover{background:#ededed}.b-address-card{background:#e9e9e9}.b-statement{background:#ededed}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#777}
/* Round the actual frame; remove the old square inset masks. */
.b-photo,.b-menu-photo img,main img,body[data-page=home] main [class*="aspect-"]:has(>img),.reveal-image{border-radius:var(--b-radius)}
.b-photo,body[data-page=home] main [class*="aspect-"]:has(>img),.reveal-image{overflow:hidden;isolation:isolate;clip-path:none!important}
.reveal-image img{transform:none}
.b-hero,.b-page-hero,.b-editorial-cta{border-radius:var(--b-panel-radius);overflow:hidden}
.b-hero-image,.b-page-hero-image,.b-hero-shade,.b-page-shade{border-radius:inherit}
.b-home-kitchen,.b-menu-section,.b-catering-menu,.b-statement,.b-contact-section,.b-footer{border-radius:var(--b-panel-radius)}
.b-menu-dialog{border-radius:var(--b-radius)}
.b-location-panel{gap:24px}.b-address-card,.b-location-panel .b-photo{border-radius:var(--b-radius)}
.b-menu-dialog-scroll{padding:16px}.b-menu-dialog-scroll img{border-radius:16px}
/* Body text is 18px, supporting text 13px or larger. */
.b-eyebrow,main .b-eyebrow,body[data-page=home] main .eyebrow{font-size:13px;font-weight:700;line-height:1.6;letter-spacing:.1em;margin:0 0 16px;color:var(--b-muted)}
.b-hero .b-eyebrow,.b-page-hero .b-eyebrow,.b-editorial-cta .b-eyebrow{color:#fff}
.b-editorial-cta .b-eyebrow,.b-address-card .b-eyebrow{font-size:13px;font-weight:700;line-height:1.6;letter-spacing:.08em}
.b-body-copy,.b-menu-intro>div>p:not(.b-eyebrow),.b-menu-section-heading>p:not(.b-eyebrow),.b-accordion-content p,body[data-page=home] main>section:not(.b-hero):not(.b-editorial-cta) p:not(.eyebrow):not(.b-eyebrow){font-size:18px;font-weight:500;line-height:1.7;color:var(--b-muted)}
.b-body-copy{max-width:540px;margin:0 0 24px}
main h2:not([class]),body[data-page=home] main>section:not(.b-hero) h2{font-size:clamp(44px,4.2vw,64px);font-weight:500;line-height:1.08;margin:0 0 24px;letter-spacing:-.025em}
main h2 em{font-weight:500}body[data-page=home] main .text-muted-foreground{color:var(--b-muted)}
body[data-page=home] main .mt-5{margin-top:16px}body[data-page=home] main .mt-6{margin-top:20px}body[data-page=home] main .mt-10{margin-top:24px}body[data-page=home] main .mt-16{margin-top:36px}
.b-home-kitchen h3{font-size:34px;font-weight:500;line-height:1.15;margin:8px 0}.b-home-kitchen p.eyebrow{margin:20px 0 8px}
.b-home-kitchen .group{overflow:visible}.b-home-menu .group{border-radius:var(--b-radius);overflow:hidden}
.b-home-kitchen .grid>div{padding-top:0;margin-top:0}.b-home-experience .reveal-image{margin-top:0}.b-home-experience .grid>div:first-child{padding-top:0}
/* Consistent, generous rounded calls to action. */
.b-button,.b-header-action,.b-hero-secondary,.b-text-link,.b-copy-address,.b-skip,body[data-page=home] main a.link-underline,body[data-page=home] main a[class*="text-[0.72rem]"],body[data-page=home] main span[class*="text-[0.72rem]"]{border-radius:999px;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.045em;min-height:52px}
.b-button,.b-hero-secondary{padding:15px 22px;gap:18px;white-space:normal;text-align:center}.b-hero-secondary{border:1px solid #fff;color:#fff}
.b-text-link,.b-copy-address,body[data-page=home] main a.link-underline{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid #aaaaaa;padding:13px 20px;background-image:none}
.b-copy-address{margin-top:14px;cursor:pointer}.b-copy-address span{margin-left:0}
body[data-page=home] main a[class*="text-[0.72rem]"],body[data-page=home] main span[class*="text-[0.72rem]"]{padding:14px 22px}
.b-button:hover>span,.b-hero-secondary:hover>span,.b-text-link:hover>span{transform:translateX(2px)}
.b-header-action{padding:14px 20px;gap:14px;font-size:14px}.b-location{font-size:13px;font-weight:600;letter-spacing:.08em}.b-location span{font-size:12px;letter-spacing:.07em;opacity:1}
.b-hero-description{font-size:18px;font-weight:500;line-height:1.7;max-width:520px;color:#fff;margin-bottom:28px}
.b-hero h1,.b-page-hero h1{font-weight:500;line-height:1.02}.b-hero h1 em,.b-page-hero h1 em{font-weight:500}
.b-hero-actions{gap:16px;align-items:stretch}.b-hero-scroll{font-size:13px;font-weight:700;letter-spacing:.07em;color:#fff;min-height:44px}
.b-hero-shade{background:linear-gradient(90deg,#191919a6,#19191959 55%,#1919190d),linear-gradient(180deg,#14141455,transparent 30%,#14141433)}
.b-page-shade{background:linear-gradient(90deg,#18181899,#18181844 70%),linear-gradient(180deg,#1818184d,transparent 28%,#18181899)}
.b-page-hero-bottom p{font-size:18px;font-weight:500;line-height:1.7;max-width:540px;color:#fff}.b-page-hero-bottom>a{font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.04em;gap:18px;min-height:48px;white-space:normal}
/* Regular section rhythm without doubled gaps between adjacent sections. */
.b-home-story,.b-home-kitchen,.b-home-menu,.b-menu-intro,.b-menu-section,.b-story-grid,.b-catering-menu,.b-gather,.b-statement,.b-about-collage,.b-visit,.b-contact-section,.b-location-panel{padding-top:var(--b-section-space);padding-bottom:var(--b-section-space)}
.b-home-experience{padding-top:0;padding-bottom:var(--b-section-space)}.b-about-collage+.b-visit{padding-top:0}
.b-story-grid,.b-menu-intro,.b-menu-section-grid,.b-catering-grid,.b-contact-grid,.b-gather,.b-visit{column-gap:8%}
.b-story-copy h2{margin-bottom:24px!important}.b-collage-copy{padding-top:24px}
.b-catering-heading>.b-body-copy:last-child,.b-contact-grid>div>.b-body-copy:last-child{margin-bottom:0}
.b-story-copy .b-button,.b-gather .b-button,.b-visit .b-button{margin-top:0}
.b-menu-section-heading>p:not(.b-eyebrow){max-width:390px;margin-bottom:24px}
.b-editorial-cta{padding:80px 7%;min-height:420px}.b-editorial-cta:before{background:#1c1c1ca6}
.b-editorial-cta p:not(.b-eyebrow){font-size:18px;font-weight:500;line-height:1.7;color:#fff;margin:0 auto 28px;max-width:560px}
/* Menu categories, dish details and catering cards. */
.b-menu-categories{border-radius:24px}.b-menu-categories>div{gap:8px;padding-block:10px}
.b-menu-categories a{font-size:14px;font-weight:700;letter-spacing:.035em;padding:13px 17px;min-height:48px;border-radius:999px}.b-menu-categories a:after{display:none}
.b-menu-categories a[aria-current]{background:var(--b-green);color:#fff}.b-menu-categories a:hover{background:#e7e7e7}.b-menu-categories a[aria-current]:hover{background:var(--b-green);color:#fff}
.b-menu-section{scroll-margin-top:78px}.b-menu-section-heading{top:100px}
.b-dish,.b-menu-section-compact .b-dish{padding:24px 0}.b-dish:first-child{padding-top:0}.b-dish>div{gap:18px}
.b-dish h3,.b-menu-section-compact .b-dish h3{font-size:32px;font-weight:500;line-height:1.2;min-width:0}.b-price{font-size:29px;font-weight:500}.b-currency{font-size:14px;color:var(--b-muted)}
.b-dish p{font-size:17px;font-weight:500;line-height:1.65;color:var(--b-muted);margin:10px 0 0;max-width:560px}
.b-menu-note{font-size:15px;font-weight:500;line-height:1.7;color:var(--b-muted);padding-top:24px;padding-bottom:32px}
.b-menu-dialog-bar{padding:14px 20px;gap:16px}.b-menu-dialog-bar>a{font-size:13px;font-weight:700;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--b-rule);border-radius:999px}
.b-menu-dialog-bar button,.b-close-menu{width:48px;height:48px;flex:none}
.b-accordion{border:1px solid #cccccc;border-radius:var(--b-radius);padding:0 24px;margin-bottom:16px;background:var(--b-paper);overflow:hidden}.b-accordion:first-child{border-top:1px solid #cccccc}
.b-accordion summary{gap:16px;padding:24px 0}.b-accordion-number{font-size:13px;font-weight:700;color:var(--b-muted)}
.b-accordion summary strong{font-size:32px;font-weight:500}.b-accordion summary small{font-size:16px;font-weight:500;line-height:1.6;color:var(--b-muted);margin-top:6px}
.b-accordion-icon:before,.b-accordion-icon:after{height:2px;border-radius:2px}.b-accordion-content>div{padding:0 0 28px 32px}
.b-accordion-content h3{font-size:28px;line-height:1.25;margin-bottom:8px}.b-accordion-content article+article{margin-top:24px}
/* Contact panels, navigation and footer. */
.b-detail h3{font-size:32px;font-weight:500;line-height:1.2}.b-detail address,.b-address-card>p:not(.b-eyebrow):not(.b-copy-status){font-size:18px;font-weight:500;line-height:1.7;color:var(--b-muted)}
.b-hours{font-size:16px;font-weight:500;line-height:1.6;color:var(--b-muted)}.b-hours>div{padding:14px 0;gap:16px}
.b-contact-links>a,.b-contact-links>a:first-child{padding:24px 52px 24px 24px;border:1px solid #cccccc;border-radius:var(--b-radius);margin-bottom:14px;background:var(--b-paper)}
.b-contact-links .b-eyebrow{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--b-muted)}.b-contact-value{font-size:32px;font-weight:500;line-height:1.3}.b-contact-links>a>span:last-child{right:22px;bottom:26px}
.b-address-card{padding:48px 28px 32px}.b-copy-status{font-size:14px;line-height:1.6;min-height:22px;height:auto;margin:12px 0 0}
.b-dock{gap:6px;padding:7px}.b-dock a,.b-menu-toggle{min-height:50px;font-size:14px;font-weight:700;letter-spacing:.025em}
.b-dock-primary,.b-dock-catering{padding:0 22px;gap:14px}.b-menu-toggle{padding:0 18px;gap:10px}.b-toggle-icon i{height:2px;border-radius:2px}
.b-menu-top p,.b-menu-foot,.b-menu-photo figcaption span{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--b-muted)}.b-menu-photo figcaption{font-size:28px}
.b-nav-number{font-size:13px;font-weight:600;color:var(--b-muted)}.b-nav-arrow .b-arrow{width:24px;height:24px}.b-menu-links{gap:8px}.b-menu-links a{padding:12px 18px;border:1px solid #d1d1d1;border-radius:20px}.b-menu-links a:hover,.b-menu-links a[aria-current=page]{background:#e8e8e8}
.b-footer{background:#000;color:#f5f5f5;padding:64px 0 120px}.b-footer-main{gap:6%;grid-template-columns:1.15fr .7fr 1.3fr 1fr}
.b-footer .b-eyebrow{font-size:13px;font-weight:700;color:#dddddd;margin-bottom:16px}.b-footer-main a:not(.b-text-link){font-size:16px;font-weight:600;line-height:1.6;min-height:44px;display:flex;align-items:center;gap:8px;margin-bottom:0}
.b-footer address{font-size:16px;font-weight:500;line-height:1.7;color:#dddddd}.b-footer .b-text-link{font-size:13px;font-weight:700;color:#fff;letter-spacing:.025em;border-color:#888888;padding:12px 16px;min-height:48px;gap:10px;margin-top:16px}
.b-footer-brand p{font-size:30px;font-weight:500;line-height:1.2}.b-footer-bottom{border-top-color:#444;font-size:14px;font-weight:500;line-height:1.7;color:#d8d8d8;gap:20px;margin-top:40px;padding-top:24px}.b-footer-bottom>a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
@media(max-width:1050px) and (min-width:761px){.b-footer-main{grid-template-columns:1fr 1fr;gap:32px 48px}.b-location{max-width:210px}.b-hero h1{font-size:clamp(65px,8vw,90px)}.b-menu-categories .b-category-order{margin-left:0}}
@media(max-width:760px){
:root{--b-radius:24px;--b-panel-radius:28px;--b-section-space:52px}
.b-wrap,body[data-page=home] .container-site{width:88%}
.b-header{padding:20px 6%;justify-content:flex-end}.b-header .b-location{display:none}.b-logo{left:6%;top:24px;transform:none;width:112px}
.b-header-action{margin-top:12px;min-height:50px;max-width:none;padding:13px 16px;font-size:14px;gap:10px;border:1px solid var(--b-paper);background:var(--b-paper);color:var(--b-ink)}.b-header-action>span{display:inline-flex;line-height:1}
.b-hero{height:auto;min-height:max(700px,88svh);max-height:none;padding:174px 6% 108px}.b-hero-shade{background:linear-gradient(180deg,#17171766,#17171722 28%,#171717b8 62%,#171717cc)}
.b-hero h1{font-size:clamp(45px,12vw,72px);line-height:1.04;margin-bottom:24px}.b-hero .b-eyebrow,.b-page-hero .b-eyebrow{font-size:12px;line-height:1.6;letter-spacing:.06em;margin-bottom:18px}
.b-hero-description{font-size:18px;line-height:1.65;max-width:440px;margin-bottom:24px}.b-desktop-break{display:none}.b-hero-actions{gap:12px}
.b-hero-actions .b-button,.b-hero-secondary{flex:1 1 0;min-width:0;max-width:250px;padding:14px 14px;min-height:58px;gap:10px;font-size:14px;letter-spacing:0;line-height:1.5;text-align:left;justify-content:space-between}
.b-hero-scroll{bottom:30px;right:6%;font-size:13px;gap:12px;letter-spacing:.035em}
.b-page-hero{height:auto;min-height:max(600px,72svh);max-height:none;padding:174px 6% 48px}.b-page-shade{background:linear-gradient(180deg,#18181866,#18181822 25%,#181818b3 60%,#181818cc)}
.b-page-hero h1{font-size:clamp(46px,12vw,72px);margin-bottom:24px;line-height:1.04}.b-page-hero-bottom{padding-top:20px;gap:18px;flex-wrap:wrap;align-items:center}
.b-page-hero-bottom p{font-size:18px;line-height:1.65;flex:1 1 220px;max-width:480px}.b-page-hero-bottom>a{font-size:14px;gap:12px;max-width:none;min-height:48px;flex-shrink:0}
.b-button,.b-text-link,.b-copy-address{font-size:14px;min-height:54px;letter-spacing:.025em}.b-button{padding:15px 20px}.b-text-link{padding:13px 18px;text-align:left;justify-content:space-between}.b-button:hover>span,.b-hero-secondary:hover>span,.b-text-link:hover>span{transform:none}
main h2:not([class]),body[data-page=home] main>section:not(.b-hero) h2{font-size:44px;font-weight:500;line-height:1.08;margin-bottom:20px}main .b-eyebrow,body[data-page=home] main .eyebrow{font-size:13px;letter-spacing:.08em;margin-bottom:14px}
body[data-page=home] main .mt-16{margin-top:28px}.b-home-story>.container-site{gap:28px}.b-home-kitchen .grid{row-gap:32px}.b-home-kitchen [class*="aspect-"]{aspect-ratio:4/3}.b-home-kitchen h3{font-size:34px}
.b-home-menu .group>div:last-child{padding:22px;gap:12px;align-items:center}.b-home-menu .group h3{font-size:42px}.b-home-menu .group span[class*="text-[0.72rem]"]{padding:12px 16px;font-size:14px;letter-spacing:.02em;white-space:nowrap}.b-home-experience .grid{gap:28px}
.b-menu-intro,.b-menu-section-grid,.b-catering-grid,.b-contact-grid,.b-story-grid,.b-gather,.b-visit{row-gap:28px}
.b-story-portrait{width:100%;height:auto;aspect-ratio:4/5;max-height:520px}.b-story-copy,.b-collage-copy{padding-left:0;padding-top:0}.b-story-copy h2,.b-gather h2,.b-catering-heading h2,.b-collage-copy h2{font-size:44px!important;margin-bottom:20px!important}
.b-story-copy>p:last-child,.b-collage-copy>p:last-child{margin-bottom:0}.b-about-collage{grid-template-columns:1fr;gap:28px}.b-collage-large,.b-collage-small{grid-column:1;width:100%;height:auto;aspect-ratio:4/3;margin-top:0}.b-collage-copy{grid-column:1}.b-gather .b-photo{height:auto;aspect-ratio:4/3}
.b-statement h2{font-size:42px!important;line-height:1.12}.b-visit h2{font-size:48px!important}.b-visit-details{padding-top:0}.b-detail{margin-bottom:28px}.b-detail h3{font-size:31px}.b-detail address,.b-address-card>p:not(.b-eyebrow):not(.b-copy-status){font-size:18px}.b-hours{font-size:16px}.b-hours>div{gap:12px}
.b-menu-categories>div{width:100%;padding:9px 6%;gap:6px}.b-menu-categories a{font-size:14px;padding:13px 16px}.b-menu-categories .b-category-order{padding-right:16px}
.b-menu-section-heading{grid-template-columns:minmax(0,1fr) 32%;column-gap:20px}.b-menu-section-heading h2{font-size:39px!important;line-height:1.1;margin-bottom:16px!important}.b-menu-section-heading>p:not(.b-eyebrow){font-size:17px;line-height:1.65;margin-bottom:0}
.b-menu-section-heading .b-photo,.b-menu-section:nth-of-type(odd) .b-menu-section-heading .b-photo{height:190px}.b-dish h3,.b-menu-section-compact .b-dish h3{font-size:30px}.b-price{font-size:28px}.b-dish p{font-size:18px;line-height:1.65}
.b-menu-note{font-size:15px;padding-top:24px;padding-bottom:28px}.b-menu-note p+p{margin-top:12px}.b-menu-dialog-bar{padding:12px;gap:8px}.b-menu-dialog-bar h2{font-size:22px}.b-menu-dialog-bar>a{padding:10px 12px;font-size:12px;gap:6px}.b-menu-dialog-bar button{width:44px;height:44px}.b-menu-dialog-scroll{padding:12px}
.b-accordion{padding:0 20px}.b-accordion summary{gap:12px;padding:24px 0}.b-accordion summary strong{font-size:30px;line-height:1.2}.b-accordion summary small{font-size:16px;line-height:1.6}.b-accordion-content>div{padding:0 0 24px}.b-accordion-content h3{font-size:28px}
.b-contact-links>a,.b-contact-links>a:first-child{padding:22px 44px 22px 20px}.b-contact-links .b-eyebrow{font-size:13px;letter-spacing:.05em}.b-contact-value{font-size:29px;line-height:1.3}.b-contact-links>a>span:last-child{right:16px;bottom:24px}
.b-address-card{padding:36px 22px 28px}.b-location-panel .b-photo{min-height:0;height:auto;aspect-ratio:4/3}.b-editorial-cta{padding:56px 6%;min-height:390px}.b-editorial-cta h2{font-size:46px!important}.b-editorial-cta p:not(.b-eyebrow){font-size:18px;line-height:1.65;margin-bottom:24px}
.b-dock{width:calc(100% - 24px);max-width:460px;bottom:max(12px,env(safe-area-inset-bottom));padding:6px;gap:4px;background:#fffef9;border-color:#d5d1c5}.b-dock a,.b-menu-toggle{font-size:13px;min-height:50px;letter-spacing:0}.b-menu-toggle{flex:0 0 80px;padding:0 8px;gap:7px}.b-dock-primary,.b-dock-catering{flex:1 1 0;min-width:0;padding:0 10px;gap:0}.b-dock a>span[aria-hidden]{display:none}.b-dock-catering{background:#e6e6e6;color:#171717}
.b-navigation{padding:24px 6% 120px}.b-menu-top p{font-size:13px}.b-menu-layout{margin-top:24px}.b-menu-links a{font-size:36px;min-height:72px;padding:14px 16px;gap:14px}.b-nav-number{font-size:13px}.b-menu-foot{font-size:12px;line-height:1.6;letter-spacing:.06em;gap:10px;margin-top:24px}
.b-footer{padding-top:48px;padding-bottom:116px}.b-footer-main{grid-template-columns:1fr 1fr;gap:32px 24px}.b-footer-main a:not(.b-text-link){font-size:16px}.b-footer address{font-size:16px}.b-footer .b-eyebrow{font-size:13px;margin-bottom:12px}.b-footer .b-text-link{font-size:13px;padding:12px 14px}.b-footer-brand p{font-size:28px}.b-footer-bottom{font-size:14px;margin-top:32px;padding-top:24px;gap:12px}
/* Quick scrolling must never leave empty or faded content on a phone. */
[data-reveal],[data-reveal].b-reveal-pending,.b-photo[data-reveal].b-reveal-pending{opacity:1;transform:none;clip-path:none;transition:none}
}
@media(max-width:380px){
.b-logo{width:100px}.b-header-action{font-size:13px;padding:13px 14px;gap:8px}.b-hero h1{font-size:43px}.b-hero-actions .b-button,.b-hero-secondary{font-size:13px;padding:13px 12px;gap:8px}
.b-menu-toggle{flex-basis:74px;padding:0 6px;gap:5px}.b-dock a,.b-menu-toggle{font-size:12px}.b-dock-primary,.b-dock-catering{padding:0 8px}
.b-page-hero h1{font-size:46px}.b-page-hero-bottom p{max-width:none}.b-menu-section-heading{grid-template-columns:minmax(0,1fr) 30%;column-gap:16px}.b-menu-section-heading h2{font-size:35px!important}.b-menu-section-heading .b-photo,.b-menu-section:nth-of-type(odd) .b-menu-section-heading .b-photo{height:170px}
.b-accordion{padding:0 16px}.b-accordion summary strong{font-size:28px}.b-menu-dialog-bar h2{font-size:20px}.b-menu-dialog-bar>a{font-size:12px;padding:10px}.b-menu-links a{font-size:32px}
.b-home-menu .group>div:last-child{padding:18px}.b-home-menu .group h3{font-size:38px}.b-home-menu .group span[class*="text-[0.72rem]"]{padding:12px;font-size:13px}
.b-footer-main{grid-template-columns:1fr;gap:28px}.b-footer-main>nav{padding-top:0}.b-footer .b-text-link{justify-content:flex-start}
}
