@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;color-scheme:only dark;--bg:#121513;--surface:#1b1f1c;--surface-2:#232822;--gold:#dec48b;--text:#f4f3ec;--muted:#a8afa5;--line:#333a32;--header:100px;--sticky:113px;font-family:'DM Sans',sans-serif;font-size:10px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--sticky) + 18px)}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}a{color:inherit;text-decoration:none}button:disabled{cursor:default}.site-header{border-bottom:1px solid var(--line)}.header-inner{max-width:1320px;margin:auto;height:var(--header);display:flex;justify-content:space-between;align-items:center;padding:0 42px}.brand{font-family:'Manrope',sans-serif;font-size:2rem;font-weight:800;letter-spacing:-0.0875rem;line-height:1.1}.brand>span{color:var(--gold)}.brand small{display:block;font:500 0.625rem 'DM Sans',sans-serif;letter-spacing:0.175rem;margin-top:9px;color:var(--muted)}.header-links{display:flex;align-items:center;gap:32px;font-size:0.875rem}.header-links button{border:0;background:transparent;padding:12px 0;color:var(--muted)}.header-links>a.active{color:var(--gold)}.reserve-link{border:1px solid #79705a;border-radius:6px;padding:12px 17px;display:flex;gap:13px;align-items:center}.reserve-link svg{width:17px;height:17px;stroke:var(--gold);stroke-width:1.6;fill:none}.shell{max-width:1320px;margin:0 auto;padding:0 42px}.intro{display:flex;justify-content:space-between;align-items:center;padding:43px 0 35px}.eyebrow{font-size:0.75rem;font-weight:600;letter-spacing:0.125rem;color:var(--gold)}.intro .eyebrow{display:flex;align-items:center;gap:9px}.intro .eyebrow>span{width:18px;height:1px;background:var(--gold)}h1,h2,h3,p{margin:0}h1{font-family:'Manrope',sans-serif;font-size:clamp(2.75rem,3.375vw,4.5rem);line-height:1.25;letter-spacing:-0.1875rem;font-weight:650;margin:8px 0}h1>span{color:var(--gold)}.intro p{color:var(--muted);font-size:1rem;line-height:1.5}.intro-note{display:flex;align-items:center;gap:22px}.note-symbol{font-size:3rem;font-weight:400;color:var(--gold)}.intro-note p{font-size:0.875rem}.menu-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:0}.menu-tabs{display:flex;gap:35px}.menu-tabs button{padding:16px 1px 18px;background:none;border:0;border-bottom:2px solid transparent;font-weight:550;color:var(--muted);font-size:1rem}.menu-tabs button[aria-selected=true]{color:var(--text);border-color:var(--gold)}.toolbar-note{font-size:0.8125rem;color:var(--muted);font-style:italic}.category-nav{position:sticky;top:0;background:rgba(18,21,19,.97);backdrop-filter:blur(16px);z-index:10;margin:0 -42px;padding:16px 42px;border-bottom:1px solid var(--line)}#category-list{display:flex;gap:9px;overflow:auto;scrollbar-width:none}#category-list::-webkit-scrollbar{display:none}.category-chip{white-space:nowrap;padding:10px 17px;background:transparent;border:1px solid var(--line);border-radius:100px;color:var(--muted);font-size:0.875rem}.category-chip.active{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:600}.category-chip:hover{border-color:var(--gold)}.featured-section{padding:32px 0 12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.section-heading h2{font-family:'Manrope',sans-serif;font-size:1.5rem;font-weight:600;line-height:1.35;letter-spacing:-0.0375rem;margin-top:8px}.section-count{font-size:0.75rem;letter-spacing:0.0625rem;white-space:nowrap;color:var(--muted);padding-bottom:4px}.featured-grid{display:grid;grid-template-columns:1.38fr 1fr 1fr;gap:19px}.feature-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .2s,transform .2s}.feature-card:hover{border-color:#8b7850;transform:translateY(-3px)}.feature-image{height:200px;overflow:hidden;position:relative;background:var(--surface-2)}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.feature-card:hover .feature-image img{transform:scale(1.04)}.feature-copy{padding:22px 22px 21px}.feature-copy .pill{font-size:0.625rem;letter-spacing:0.10625rem;color:var(--gold);font-weight:700}.feature-copy h3{font-family:'Manrope',sans-serif;font-size:1.1875rem;font-weight:650;letter-spacing:-0.021875rem;margin:9px 0}.feature-copy p{font-size:0.875rem;color:var(--muted);line-height:1.5;margin-bottom:21px}.feature-copy .price{font-size:1.125rem;letter-spacing:-0.01875rem;font-weight:650}.feature-hit{position:absolute;inset:0;z-index:1;width:100%;border:0;background:transparent;border-radius:12px}.card-info{display:flex;justify-content:space-between;align-items:center}.plus-circle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #59604f;border-radius:50%;color:var(--gold);font-size:1.4375rem;font-weight:400}.menu-section{padding:36px 0 0;scroll-margin-top:90px}.menu-section+.menu-section{padding-top:46px}.dish-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.dish-row{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;padding:23px 0;border-bottom:1px solid var(--line);min-height:90px}.dish-number{font-size:0.6875rem;color:var(--muted);letter-spacing:0.0625rem;display:block;margin-bottom:6px}.dish-row h3{font-size:1rem;font-weight:550;line-height:1.45}.dish-row p{font-size:0.875rem;color:var(--muted);line-height:1.5;margin-top:5px}.dish-row strong{color:var(--gold);font-size:1rem;white-space:nowrap;font-weight:550}.dish-hit{position:absolute;inset:0;border:0;background:transparent}.dish-row:hover h3{color:var(--gold)}.diet-tag{display:inline-block;margin-top:7px;border:1px solid #59634b;border-radius:4px;padding:3px 6px;color:#b9cba8;font-size:0.75rem}.lunch-panel{border:1px solid #61573f;background:#22251d;border-radius:10px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.lunch-panel h3{font-size:1.3125rem;font-weight:550;margin:8px 0}.lunch-panel p{color:var(--muted);line-height:1.5;font-size:0.875rem}.lunch-panel .lunch-price{color:var(--gold);font-size:1.6875rem;white-space:nowrap}.photo-note{color:var(--muted);font-size:0.75rem;margin-top:12px;line-height:1.5}.empty-note{border:1px solid var(--line);padding:22px;border-radius:9px;color:var(--muted);line-height:1.6;font-size:1rem}footer{padding:75px 0 24px;margin-top:48px;border-top:1px solid var(--line);text-align:center}.footer-brand{font-family:'Manrope',sans-serif;font-size:2.375rem;font-weight:750;letter-spacing:-0.10625rem}.footer-brand span{color:var(--gold)}footer>p{color:var(--muted);font-size:0.875rem;margin:11px 0 24px}footer>button{border:0;border-bottom:1px solid #7c7156;background:transparent;padding:8px 0;color:var(--gold);font-size:0.875rem}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:55px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:0.75rem;text-align:left;line-height:1.6}.detail-dialog,.story-dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:0;max-width:560px;width:calc(100% - 32px);max-height:88dvh;overflow:auto;overscroll-behavior:contain}.detail-dialog::backdrop,.story-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:15px;top:15px;width:44px;height:44px;z-index:3;border-radius:50%;border:1px solid #ffffff50;background:#121513e6;font-size:22px;line-height:1;color:var(--text)}.detail-photo{width:100%;height:280px;object-fit:cover;display:block}.detail-body{padding:32px}.detail-body h2{font-size:1.75rem;font-family:'Manrope',sans-serif;font-weight:600;line-height:1.3;margin:10px 0 14px;letter-spacing:-0.03125rem}.detail-body p{font-size:1rem;line-height:1.65;color:var(--muted)}.detail-price{display:block;font-size:1.625rem;color:var(--gold);margin:24px 0}.allergen-note{padding-top:20px;border-top:1px solid var(--line);font-size:0.875rem!important}.story-dialog{padding:44px 34px}.story-dialog h2{font:600 2.3125rem/1.3 'Manrope',sans-serif;letter-spacing:-0.0625rem;margin:20px 0}.story-dialog h2 em{font-style:normal;color:var(--gold)}.story-dialog p{color:var(--muted);font-size:1rem;line-height:1.8;margin:16px 0}.story-quote{border-left:2px solid var(--gold);padding-left:22px;margin:28px 0;color:var(--gold);font:1.625rem/1.6 Georgia,serif}.story-quote small{font:0.875rem/1.6 'DM Sans',sans-serif}.gold-button{display:inline-flex;background:var(--gold);color:var(--bg);border:0;border-radius:6px;align-items:center;justify-content:center;min-height:48px;font-size:0.875rem;font-weight:600;padding:12px 20px;margin-top:17px}.section-hint{margin-bottom:20px;color:var(--muted);font-size:0.875rem;line-height:1.6}body:has(dialog[open]){overflow:hidden}.back-top{position:fixed;right:22px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:20;width:44px;height:44px;background:var(--surface-2);border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.back-top.visible{opacity:1;pointer-events:auto}.back-top svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.8}
@media(min-width:1440px){.shell,.header-inner{max-width:var(--shell-width)}.feature-image{height:230px}}
@media(max-width:900px){.shell{padding:0 28px}.header-inner{padding:0 28px}.category-nav{margin:0 -28px;padding:14px 28px}.intro-note{display:none}.feature-image{height:160px}.featured-grid{gap:12px;grid-template-columns:1.15fr 1fr 1fr}.feature-copy{padding:17px}.feature-copy h3{font-size:1.0625rem}.dish-grid{column-gap:25px}.header-links{gap:22px}}
@media(max-width:600px){:root{--header:78px;--sticky:73px}.header-inner{padding:0 20px}.brand{font-size:1.6875rem}.brand small{font-size:0.5rem;letter-spacing:0.125rem;margin-top:7px}.header-links{gap:0}.header-links>.active,.header-links>button{display:none}.reserve-link{padding:10px 13px;font-size:0.8125rem;min-height:42px}.reserve-link svg{width:16px;height:16px}.shell{padding:0 20px}.intro{padding:28px 0 22px}.intro .eyebrow{font-size:0.625rem;letter-spacing:0.1rem}h1{font-size:3.125rem;letter-spacing:-0.175rem;margin:6px 0}.intro p{font-size:0.875rem}.menu-tabs{gap:27px;width:100%}.menu-tabs button{font-size:0.9375rem;padding:15px 0;flex:1}.toolbar-note{display:none}.category-nav{margin:0 -20px;padding:14px 20px}.category-chip{min-height:42px;font-size:0.875rem;padding:9px 15px}.featured-section{padding:26px 0 0}.section-heading{align-items:center;margin-bottom:18px}.section-heading .eyebrow{font-size:0.625rem;letter-spacing:0.09375rem}.section-heading h2{font-size:1.3125rem;letter-spacing:-0.028125rem;margin-top:7px}.section-count{font-size:0.625rem}.featured-section .section-count{display:none}.featured-grid{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px;margin-right:-20px;padding-right:20px}.featured-grid::-webkit-scrollbar{display:none}.feature-card{flex:0 0 83%;scroll-snap-align:start;border-radius:10px}.feature-image{height:185px}.feature-copy{padding:19px}.feature-copy h3{font-size:1.25rem}.feature-copy p{font-size:0.875rem;margin-bottom:16px}.feature-copy .pill{font-size:0.625rem}.feature-copy .price{font-size:1.125rem}.photo-note{font-size:0.75rem;max-width:95%}.dish-grid{grid-template-columns:1fr;gap:0}.dish-row{padding:20px 0;gap:18px;min-height:84px}.dish-row h3{font-size:1rem}.dish-row strong{font-size:1rem}.menu-section{padding-top:31px;scroll-margin-top:81px}.menu-section+.menu-section{padding-top:34px}.lunch-panel{padding:21px;align-items:flex-start}.lunch-panel h3{font-size:1.1875rem}.lunch-panel .lunch-price{font-size:1.3125rem;padding-top:28px}.footer-bottom{flex-direction:column;gap:14px;margin-top:40px;padding-top:22px}footer{padding-top:45px;margin-top:40px}footer .footer-brand{font-size:2.0625rem}.detail-dialog{margin:auto auto 0;max-height:90dvh;width:100%;border-radius:18px 18px 0 0;border-bottom:0}.detail-photo{height:235px}.detail-body{padding:27px 24px calc(27px + env(safe-area-inset-bottom))}.detail-body h2{font-size:1.6875rem}.story-dialog{padding:40px 24px;width:calc(100% - 24px)}.story-dialog h2{font-size:1.9375rem}.back-top{right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Keep both menu views and categories available while reading. */
:root{--tabs-height:61px;--sticky:139px}.menu-toolbar{position:sticky;top:0;z-index:11;background:var(--bg)}.menu-tabs button{line-height:24px}.category-nav{top:var(--tabs-height)}.menu-section{scroll-margin-top:0}
@media(max-width:600px){:root{--tabs-height:57px;--sticky:132px}.feature-card{flex-basis:83%}.reserve-link{font-size:0.875rem;min-height:44px}.brand small{font-size:0.625rem;letter-spacing:0.075rem}}
.brand small{font-size:0.75rem;letter-spacing:0.0875rem}.feature-copy .pill{font-size:0.75rem;letter-spacing:0.08125rem}.dish-number{font-size:0.75rem}
@media(max-width:600px){.brand small{font-size:0.75rem;letter-spacing:0.03125rem}.intro .eyebrow,.section-heading .eyebrow{font-size:0.75rem;letter-spacing:0.075rem}.section-count{font-size:0.75rem}.feature-copy .pill{font-size:0.75rem}}

.menu-tabs button{white-space:nowrap}@media(max-width:600px){.menu-tabs{gap:10px}}
/* Product photography precedes the name and price in each menu row. */
.dish-grid{column-gap:28px}.dish-row.has-photo{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:center;min-height:132px;padding:21px 0}.dish-thumb{display:block;width:90px;height:90px;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.dish-copy{width:100%;min-width:0}.dish-title{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:14px}.dish-title strong{line-height:1.45}.dish-row .dish-copy p{margin-top:7px}.lunch-panel{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) max-content;gap:22px;align-items:center}.lunch-photo{width:100px;height:100px;object-fit:cover;border-radius:9px;border:1px solid #61573f}.lunch-copy{min-width:0}.dish-hit:focus-visible{outline-offset:3px}.dish-row:hover .dish-thumb{border-color:var(--gold)}
@media(min-width:1440px){.dish-row.has-photo{grid-template-columns:104px minmax(0,1fr)}.dish-thumb{width:104px;height:104px}}
@media(max-width:900px){.dish-row.has-photo{grid-template-columns:78px minmax(0,1fr);gap:14px}.dish-thumb{width:78px;height:78px}.dish-title{gap:10px}.dish-grid{column-gap:24px}}
@media(max-width:600px){.dish-row.has-photo{grid-template-columns:84px minmax(0,1fr);gap:15px;min-height:125px;padding:20px 0}.dish-thumb{width:84px;height:84px}.dish-title{gap:10px}.lunch-panel{grid-template-columns:76px minmax(0,1fr);gap:8px 16px;padding:19px}.lunch-photo{width:76px;height:76px;grid-row:1 / span 2;align-self:start}.lunch-price{grid-column:2}.lunch-panel .lunch-price{padding:0;font-size:1.25rem}.lunch-panel h3{font-size:1.125rem}.lunch-copy .eyebrow{font-size:0.75rem;letter-spacing:0.075rem}}
@media(max-width:360px){.dish-row.has-photo{grid-template-columns:68px minmax(0,1fr);gap:12px}.dish-thumb{width:68px;height:76px}.dish-title{gap:8px}.lunch-panel{grid-template-columns:64px minmax(0,1fr);gap:8px 12px;padding:16px}.lunch-photo{width:64px;height:76px}.lunch-copy .eyebrow{letter-spacing:0.0375rem}}
/* Shared brand navigation and equally sized signature cards. */
.header-inner{height:96px;gap:30px}.brand small{font-size:0.75rem;letter-spacing:0.0875rem}.header-actions{display:flex;align-items:center;gap:14px}.header-links{margin-left:auto;font-size:1rem;gap:26px}.header-links a[aria-current=page]{color:var(--gold)}button.reserve-link{background:transparent;font-size:1rem;min-height:46px}.nav-toggle{display:none}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:1rem}.footer-links button{background:transparent;border:0;padding:0;color:var(--gold)}.brand-footer>p{font-size:1rem}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{display:flex;flex-direction:column}.feature-copy{display:flex;flex-direction:column;flex:1}.card-info{margin-top:auto}.feature-copy .pill{font-size:0.75rem}.feature-copy p{font-size:1rem}.feature-copy h3{overflow-wrap:anywhere}.brand-footer .footer-bottom{font-size:0.75rem}.header-links a:hover,.footer-links a:hover{color:var(--gold)}
@media(max-width:1000px){.header-inner{gap:20px}.header-links{gap:18px;font-size:0.875rem}.brand{font-size:1.875rem}.brand small{font-size:0.625rem}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:960px){.header-inner{height:82px;padding:0 20px;gap:12px}.brand{font-size:1.6875rem;white-space:nowrap}.brand small{font-size:0.5625rem;letter-spacing:0.0625rem}.header-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--bg);padding:22px;border-bottom:1px solid var(--line);margin:0;z-index:30}.nav-open .header-links{display:flex;flex-direction:column;align-items:stretch;gap:6px}.header-links a,.header-links>.active{display:block;padding:12px 0;font-size:1.125rem}.header-actions{margin-left:auto;gap:8px}button.reserve-link{font-size:0.875rem;padding:10px 12px}.nav-toggle{width:40px;height:44px;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;background:none;border:0;padding:6px}.nav-toggle span{display:block;background:var(--text);width:23px;height:1px}.header-inner{position:relative}.footer-links{gap:18px;font-size:0.875rem}}
@media(max-width:360px){.brand{font-size:1.5rem}.brand small{font-size:0.5rem}.header-inner{padding:0 16px;gap:7px}button.reserve-link{font-size:0.875rem;padding:9px}.reserve-link svg{display:none}.header-actions{gap:3px}.nav-toggle{width:34px}}
.reservation-dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:20px;width:calc(100% - 32px);max-width:620px;max-height:90dvh;overflow:auto;padding:0;overscroll-behavior:contain}.reservation-dialog::backdrop{background:#000c;backdrop-filter:blur(6px)}.booking-header{padding:32px 32px 24px;border-bottom:1px solid var(--line)}.booking-header h2{font:600 1.875rem/1.25 Manrope,sans-serif;letter-spacing:-0.0625rem;margin:14px 45px 12px 0}.booking-header p{font-size:1rem;line-height:1.6;color:var(--muted)}.booking-body{padding:28px 32px 32px}.booking-steps{display:flex;justify-content:space-between;gap:10px;list-style:none;padding:20px 32px 0;margin:0;font-size:0.75rem;color:var(--muted)}.booking-steps li{display:flex;gap:7px;align-items:center}.booking-steps li>span{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.booking-steps .done{color:var(--gold)}.booking-steps .done>span{border-color:var(--gold)}.booking-body fieldset{margin:0 0 25px;border:0;padding:0;min-width:0}.booking-body legend{padding:0;margin-bottom:12px;font-size:1rem;font-weight:550}.people-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.people-options button,.time-options button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:1rem}.people-options button[aria-pressed=true],.time-options button[aria-pressed=true]{background:var(--gold);color:var(--bg);border-color:var(--gold);font-weight:600}.people-options .group-option{grid-column:1/-1;display:flex;gap:12px;align-items:center;justify-content:center}.group-option span{font-size:0.875rem;color:var(--muted)}.booking-field{display:block;font-size:1rem;font-weight:500;margin-bottom:23px}.booking-field input,.booking-field textarea,.admin-filter input{display:block;width:100%;margin-top:10px;background:#121513;color:var(--text);border:1px solid #4c554a;border-radius:8px;padding:13px 14px;font:400 1rem/1.4 'DM Sans',sans-serif;min-height:48px;color-scheme:dark}.booking-field textarea{resize:vertical}.booking-field input:focus,.booking-field textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.optional{font-size:0.875rem;font-weight:400;color:var(--muted)}.time-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:230px;overflow:auto;padding:3px}.time-options button:disabled{opacity:.3;text-decoration:line-through}.time-options>p{grid-column:1/-1;line-height:1.6;color:var(--muted);font-size:1rem}.booking-help{color:var(--muted);font-size:0.875rem;line-height:1.7;margin:16px 0}.booking-body .gold-button{font-size:1rem;margin:0;min-height:48px}.booking-next{width:100%;margin-top:8px!important}.booking-body button:disabled{opacity:.45}.booking-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:26px}.booking-back{background:transparent;border:0;border-bottom:1px solid var(--muted);padding:8px 0;font-size:1rem;color:var(--muted)}.booking-summary{display:flex;flex-direction:column;gap:7px;background:#23291f;border:1px solid var(--line);padding:20px;border-radius:10px;font-size:1rem;margin-bottom:25px}.booking-summary strong{text-transform:uppercase;color:var(--gold)}.booking-summary>span:last-child{font-size:0.875rem;color:var(--muted)}.contact-summary{display:flex;flex-direction:column;gap:9px;font-size:1rem;line-height:1.5}.contact-summary p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);padding-top:10px}.confirmation-note{border-left:2px solid var(--gold);padding-left:17px;color:var(--muted);font-size:1rem;line-height:1.7;margin-top:25px}.booking-error{border:1px solid #bd8670;border-radius:8px;padding:14px;color:#f0b5a0;line-height:1.6;margin-top:20px;font-size:1rem}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.group-booking h3,.booking-success h3{font-size:1.6875rem;margin:17px 0;letter-spacing:-0.0375rem}.group-booking p,.booking-success>p{color:var(--muted);line-height:1.8;font-size:1rem;margin-bottom:20px}.group-booking .gold-button,.group-booking .outline-button{display:flex;margin:14px 0;width:100%;text-align:center;border-radius:8px}.group-booking .booking-back{display:block;margin:25px auto 0}.success-symbol{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:1.625rem}.booking-status{display:inline-block;border:1px solid var(--line);padding:7px 12px;border-radius:100px;font-size:0.875rem;margin:0 0 22px;color:var(--gold)}.booking-status.confirmed{color:#c3dbb3;border-color:#658455}.booking-status.declined,.booking-status.cancelled{color:#e7ae9e;border-color:#986752}.booking-reference{font-size:0.875rem!important}.booking-loading{line-height:1.6;margin-bottom:25px}.booking-phone{color:var(--gold);font-size:1rem;text-decoration:underline;line-height:1.6}.booking-success .gold-button{display:flex}.booking-error[hidden]{display:none}
@media(max-width:600px){.reservation-dialog{width:100%;max-height:94dvh;margin:auto auto 0;border-radius:20px 20px 0 0;border-bottom:0}.booking-header{padding:28px 22px 20px}.booking-header h2{font-size:1.6875rem}.booking-body{padding:25px 22px calc(30px + env(safe-area-inset-bottom))}.booking-steps{padding:18px 22px 0;gap:8px;font-size:0.75rem}.booking-steps li{gap:5px}.booking-steps li>span{width:22px;height:22px}.time-options{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-actions{gap:12px}.booking-actions .gold-button{font-size:0.875rem;padding:12px 16px}.booking-status{font-size:0.875rem}}
@media(max-width:360px){.booking-steps{font-size:0.6875rem;gap:5px;padding-left:18px;padding-right:18px}.booking-body{padding-left:18px;padding-right:18px}.booking-header{padding-left:18px;padding-right:18px}.booking-actions .gold-button{font-size:0.875rem;padding:12px}.time-options{gap:6px}.time-options button{font-size:0.9375rem}}

.staff-access{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:22px;padding:12px 18px;border:1px solid var(--line);border-radius:6px;color:var(--gold);font-size:0.875rem;text-align:center}.staff-access:hover{border-color:var(--gold)}.header-links .management-link{color:var(--gold);white-space:nowrap}
.reservation-dialog .booking-field select{display:block;width:100%;padding:13px 52px 13px 14px;min-height:48px;border:1px solid #4c554a;border-radius:8px;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dec48b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:16px 16px;appearance:none;-webkit-appearance:none;color:var(--text);font:1rem "DM Sans",sans-serif;line-height:1.4;margin-top:10px}

/* Site-wide typography; the original form values remain unchanged. */
body{text-transform:uppercase}
button,input,textarea,select,option{text-transform:inherit}
input::placeholder,textarea::placeholder{text-transform:uppercase}
@media(max-width:360px){.menu-tabs{gap:8px}.menu-tabs button{font-size:0.8125rem}}

.dish-title.without-price{grid-template-columns:minmax(0,1fr)}.example-tag{display:block;margin-top:10px;color:var(--gold);font-size:0.6875rem;line-height:1.5;letter-spacing:0.021875rem}.detail-price.pending-price{font-size:1.125rem;line-height:1.5}.detail-body .example-tag{margin-top:18px}
@media(max-width:360px){.menu-section .section-count{font-size:0.5625rem;letter-spacing:0.03125rem}}

.catalog-loading,.catalog-empty{margin:35px 0;font-size:1rem;line-height:1.6}.catalog-empty .outline-button{margin-top:18px}.catalog-dialog .booking-field input[type=number]{text-transform:none}

/* Compact public footer across both pages. */
footer.brand-footer{display:grid;grid-template-columns:1fr auto;gap:5px 24px;padding:26px 0 18px;margin-top:24px;text-align:left}.brand-footer .footer-brand{font-size:2rem;letter-spacing:-.09rem;line-height:1.15}.brand-footer>p{margin:0;font-size:.875rem;line-height:1.5}.brand-footer .footer-links{grid-column:2;grid-row:1/span 2;align-items:center;justify-content:flex-end;gap:18px;font-size:1rem}.brand-footer .footer-links a,.brand-footer .footer-links button{display:inline-flex;align-items:center;min-height:40px}.brand-footer .footer-bottom{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-top:8px;padding-top:14px;font-size:.75rem;line-height:1.65}.brand-footer .staff-access{margin:0;min-height:32px;padding:7px 11px;font-size:.875rem;white-space:nowrap}.booking-restaurant-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.6;color:var(--muted)}.booking-restaurant-contact a{color:var(--gold);min-height:36px;display:inline-flex;align-items:center}.booking-retry{margin-top:12px}.booking-restaurant-contact strong{display:block;color:var(--text);font-weight:500}.booking-loading{min-height:36px}.restaurant-status-contact{margin-top:25px}.restaurant-status-contact .booking-restaurant-contact{font-size:1rem}
@media(max-width:600px){footer.brand-footer{grid-template-columns:1fr;gap:7px;padding-top:22px;margin-top:20px}.brand-footer .footer-links{grid-column:1;grid-row:auto;justify-content:flex-start;gap:16px;margin-top:4px}.brand-footer .footer-bottom{grid-template-columns:1fr auto;gap:10px 16px;margin-top:4px;padding-top:12px}.brand-footer .footer-bottom>span:first-child{grid-column:1/-1}.brand-footer .staff-access{min-height:44px;padding:8px 10px;font-size:.8125rem}.booking-restaurant-contact a{min-height:44px}.booking-restaurant-contact{align-items:flex-start}}

/* Shared public finishing details and compact catalogue rows. */
.menu-page>.site-header{border-bottom-color:transparent}
#carte>.intro{padding:24px 0 18px}
@media(max-width:600px){#carte>.intro{padding:14px 0 10px}}
.site-header .brand small{font-size:.85rem;letter-spacing:.07rem;line-height:1.4;margin-top:4px}
.site-header .reserve-link{--gold:#e8c16c;position:relative;border:0;border-radius:6px;padding:6px 8px;gap:6px;min-height:44px;color:var(--gold)}
.site-header .reserve-link::before{content:"";position:absolute;inset:7px 0;border:1px solid var(--line);border-radius:6px;pointer-events:none}
.site-header .reserve-link:hover::before{border-color:var(--gold)}
.site-header .reserve-link svg{stroke:currentColor}
footer.brand-footer{border-top:0}
#carte .menu-section{padding-top:22px}
#carte .menu-section+.menu-section{padding-top:26px}
#carte .section-heading{margin-bottom:12px;gap:12px}
#carte .section-heading h2{margin-top:5px}
#carte .dish-row{padding:12px 0;min-height:72px}
#carte .dish-row.has-photo{grid-template-columns:72px minmax(0,1fr);gap:14px;min-height:97px;padding:12px 0}
#carte .dish-thumb{width:72px;height:72px;border-radius:8px}
#carte .dish-row p{margin-top:4px}
#carte .example-tag{margin-top:6px}
#carte .diet-tag{margin-top:5px}
#carte .lunch-panel{grid-template-columns:72px minmax(0,1fr) max-content;gap:16px;padding:16px}
#carte .lunch-photo{width:72px;height:72px}
#carte .featured-section{padding-top:22px;padding-bottom:4px}
#carte .featured-grid{gap:12px}
#carte .feature-image{height:150px}
#carte .feature-copy{padding:15px}
#carte .feature-copy p{margin-bottom:12px}
#carte .feature-copy h3{margin:8px 0}
#carte .photo-note{margin-top:8px}
@media(max-width:900px){#carte .dish-row.has-photo{grid-template-columns:64px minmax(0,1fr);gap:12px;min-height:89px}#carte .dish-thumb{width:64px;height:64px}#carte .feature-image{height:130px}}
@media(max-width:600px){#carte .menu-section{padding-top:20px}#carte .menu-section+.menu-section{padding-top:22px}#carte .section-heading{margin-bottom:10px}#carte .dish-row{padding:10px 0;min-height:64px}#carte .dish-row.has-photo{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 0;min-height:85px}#carte .lunch-panel{grid-template-columns:64px minmax(0,1fr);gap:6px 12px;padding:14px}#carte .lunch-photo{width:64px;height:64px}#carte .feature-image{height:150px}#carte .feature-copy{padding:15px}#carte .featured-section{padding-top:20px}}
@media(max-width:360px){#carte .dish-row.has-photo{grid-template-columns:60px minmax(0,1fr);gap:10px;min-height:81px}#carte .dish-thumb{width:60px;height:60px}#carte .lunch-panel{grid-template-columns:60px minmax(0,1fr)}#carte .lunch-photo{width:60px;height:60px}}
/* Keep the full-card hit target while making mobile signature cards more compact. */
@media(max-width:600px){#section-signature .feature-card{flex-basis:min(240px,100%)}}

.brand-footer .footer-brand,.brand-footer>p{grid-column:1/-1;text-align:center}
.brand-footer .footer-links{grid-column:1/-1;grid-row:auto;justify-content:center}
.brand-footer .staff-access{min-height:32px;padding-block:5px}
.category-nav .category-chip{border-radius:8px}
#carte{--menu-gutter:42px}
#carte .menu-toolbar{margin-inline:calc(-1 * var(--menu-gutter));padding-inline:var(--menu-gutter)}
#carte .menu-toolbar,#carte .category-nav{border-bottom-color:transparent;background-color:var(--bg);background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-position:center bottom;background-size:calc(100% - 2 * var(--menu-gutter)) 1px;background-origin:border-box}
.menu-page .category-nav::before,.menu-page .category-nav::after{content:"";position:absolute;top:0;bottom:1px;width:24px;z-index:1;pointer-events:none;opacity:0;transition:opacity .15s}
.menu-page .category-nav::before{left:var(--menu-gutter);background:linear-gradient(90deg,var(--bg),transparent)}
.menu-page .category-nav::after{right:var(--menu-gutter);background:linear-gradient(270deg,var(--bg),transparent)}
.menu-page .category-nav.has-before::before,.menu-page .category-nav.has-after::after{opacity:1}
@media(max-width:900px){#carte{--menu-gutter:28px}}
@media(max-width:600px){#carte{--menu-gutter:20px}}
.staff-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.staff-links .staff-access{white-space:nowrap}@media(max-width:600px){.staff-links{justify-content:center}}
@media(min-width:700px){#carte .featured-grid{grid-template-columns:repeat(var(--featured-columns,3),minmax(0,1fr))}}

/* Reserve the device's safe area once, keeping the shared header below cutouts. */
:root{--safe-top:0px;--safe-left:0px;--safe-right:0px;--header-offset:0px;--header-gutter:42px;--page-gutter:42px;--shell-width:1380px}
@supports(padding-top:env(safe-area-inset-top)){
 :root{--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
}
.site-header{padding-top:calc(var(--safe-top) + var(--header-offset));background:var(--bg)}
.header-inner{padding-left:max(var(--header-gutter),var(--safe-left));padding-right:max(var(--header-gutter),var(--safe-right))}
.shell{padding-inline:max(var(--page-gutter),var(--safe-left),var(--safe-right))}
body::before{content:"";position:fixed;inset:0 0 auto;height:var(--safe-top);background:var(--bg);z-index:100;pointer-events:none}
html{scroll-padding-top:calc(var(--safe-top) + var(--sticky) + 18px)}
.menu-toolbar{top:var(--safe-top)}
.category-nav{top:calc(var(--safe-top) + var(--tabs-height))}
#carte{--menu-gutter:max(var(--page-gutter),var(--safe-left),var(--safe-right))}
#carte .category-nav{margin-inline:calc(-1 * var(--menu-gutter));padding-inline:var(--menu-gutter)}
@media(max-width:760px){
 .menu-page #carte .category-nav{padding-inline:max(6px,var(--safe-left)) max(6px,var(--safe-right));background-size:100% 1px}
 .menu-page #carte .category-nav::before{left:max(6px,var(--safe-left))}
 .menu-page #carte .category-nav::after{right:max(6px,var(--safe-right))}
}
@media(max-width:960px){:root{--header-offset:16px;--header-gutter:20px}.header-links{top:100%;padding-left:max(22px,var(--safe-left));padding-right:max(22px,var(--safe-right))}.reservation-dialog{width:100%;max-width:none;margin-inline:0;border-inline:0;max-height:min(90dvh,calc(100dvh - var(--safe-top) - 12px))}}
@media(max-width:900px){:root{--page-gutter:28px}}
@media(max-width:600px){:root{--page-gutter:20px}.reservation-dialog{max-height:min(94dvh,calc(100dvh - var(--safe-top) - 12px))}}
@media(max-width:360px){:root{--header-gutter:16px}}
@media print{body::before{display:none}}
.navigation-anchor{display:block;height:0;visibility:hidden;pointer-events:none}
.navigation-safe-probe{position:fixed;top:0;left:0;width:0;height:var(--safe-top,0px);visibility:hidden;pointer-events:none}
[data-navigation-fixed=true]{position:fixed!important;top:var(--navigation-top)!important;left:var(--navigation-left)!important;width:var(--navigation-width)!important;max-width:none;margin-inline:0!important}
#carte>.navigation-anchor{margin-inline:calc(-1 * var(--menu-gutter))}
html:has(body.menu-page){scroll-padding-top:calc(var(--safe-top) + var(--navigation-stack-height,var(--sticky)) + 18px)}
@media print{.navigation-anchor{display:none!important}[data-navigation-fixed=true]{position:static!important;top:auto!important;left:auto!important;width:auto!important;max-width:none}}

/* Keep reservation scrolling vertical and native date controls inside the form. */
.reservation-dialog{--booking-gutter:32px;--booking-selection-font-size:10px;overflow-x:hidden;overflow-y:auto}
.reservation-dialog :is(.booking-header,.booking-body,.booking-steps){padding-left:max(var(--booking-gutter),var(--safe-left));padding-right:max(var(--booking-gutter),var(--safe-right))}
.reservation-dialog .close-dialog{right:max(15px,var(--safe-right))}
.reservation-dialog :is(form,fieldset,.booking-field){min-width:0}
.reservation-dialog :is(input,select,textarea){min-width:0;max-width:100%;font-size:1rem}
.reservation-dialog .booking-field :is(input,select,textarea){font:400 1rem/1.4 'DM Sans',sans-serif}
/* Restaurant and date selections share the compact size on every public page. */
.reservation-dialog .booking-field #booking-restaurant,.reservation-dialog .booking-field input[type=date]{font-size:var(--booking-selection-font-size)}
.reservation-dialog input[type=date]{width:100%;min-height:48px;box-sizing:border-box;appearance:none;-webkit-appearance:none;text-align:left}
.reservation-dialog input[type=date]::-webkit-date-and-time-value{min-height:1.4em;text-align:left;font:inherit}
.reservation-dialog input[type=date]::-webkit-datetime-edit{padding:0;font:inherit}
.reservation-dialog :is(.booking-header,.booking-summary,.contact-summary){overflow-wrap:anywhere}
.reservation-dialog .time-options{overflow-x:hidden;overflow-y:auto}
/* Center native date values vertically without changing the mobile touch target. */
@media(max-width:600px){
 .reservation-dialog{--booking-gutter:22px}
 .reservation-dialog input[type=date]{height:48px;padding-block:0}
 .reservation-dialog input[type=date]::-webkit-date-and-time-value{display:flex;align-items:center;height:100%;min-height:0;margin:0}
 .reservation-dialog input[type=date]::-webkit-datetime-edit{display:flex;align-items:center;height:100%}
}
@media(max-width:360px){.reservation-dialog{--booking-gutter:18px}}

/* Leave room below public footers for the floating return-to-top button. */
#carte>footer.brand-footer,.landing-page .shell>footer.brand-footer{margin-top:12px;padding-top:12px;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.menu-page .back-top,.landing-page .back-top{right:max(16px,var(--safe-right));bottom:calc(20px + env(safe-area-inset-bottom,0px))}

/* Compact reservation flow; other site forms keep their existing spacing. */
.reservation-dialog .booking-header{padding-top:20px;padding-bottom:16px}
.reservation-dialog .booking-header h2{margin-top:8px;margin-bottom:6px}
.reservation-dialog .booking-steps{padding-top:12px;font-size:10px}
.reservation-dialog .booking-steps li{line-height:1.3}
.reservation-dialog .booking-body{padding-top:16px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.reservation-dialog .booking-body fieldset{margin-bottom:16px}
.reservation-dialog .booking-body legend{margin-bottom:8px}
.reservation-dialog .booking-field{margin-bottom:12px}
.reservation-dialog .booking-field :is(input,select,textarea){margin-top:6px}
.reservation-dialog .booking-field textarea{padding:8px 14px}
.reservation-dialog :is(.people-options,.time-options){gap:6px}
.reservation-dialog :is(.people-options button,.time-options button,.booking-body .gold-button){min-height:44px}
.reservation-dialog .booking-help{margin:10px 0}
.reservation-dialog .booking-actions{margin-top:16px;gap:12px}
.reservation-dialog .booking-summary{padding:12px 14px;gap:5px;margin-bottom:16px;line-height:1.5}
.reservation-dialog .booking-summary-address{color:var(--muted);font-size:1rem}
.reservation-dialog .contact-summary{gap:6px}
.reservation-dialog .confirmation-note{margin-top:16px;padding-left:12px}
.reservation-dialog .booking-restaurant-contact{margin-top:14px;padding-top:10px}
.reservation-dialog .booking-loading{text-align:center;min-height:0;line-height:1.5;margin:12px 0 0}
@media(max-width:600px){.reservation-dialog .booking-header{padding-top:18px;padding-bottom:14px}}
@media(max-width:360px){.reservation-dialog .booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reservation-dialog .booking-steps li{flex-direction:column;gap:4px;text-align:center}}

/* Eight choices per row in the reservation dialog. */
.reservation-dialog :is(.people-options,.time-options){grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
.reservation-dialog :is(.people-options button,.time-options button){min-width:0;padding-inline:1px}
.reservation-dialog .time-options button{font-size:10px;white-space:nowrap}
.reservation-dialog .time-options{max-height:244px}
.reservation-dialog .booking-body .booking-next{height:32px;min-height:32px;padding-block:4px;line-height:1.3}
@media(max-width:360px){.reservation-dialog .time-options{column-gap:2px}}

/* Shorter reservation choices and centered service information. */
.reservation-dialog .booking-body :is(.people-options button,.time-options button){height:36px;min-height:36px;padding-block:4px;line-height:1.3}
.reservation-dialog .time-options{max-height:246px}
.reservation-dialog #booking-form>.booking-help{text-align:center}

/* Match the contact review button to the compact Continue action. */
.reservation-dialog .booking-body .booking-actions .booking-review{height:32px;min-height:32px;padding-block:4px;line-height:1.3}

/* Paint the document canvas behind Android browser and gesture safe areas. */
html{background-color:var(--bg);min-height:100%}
body{min-height:100vh;min-height:100dvh}

/* Move the product sheet from its top grip; keep content scrolling independent. */
.detail-dialog{--sheet-safe-bottom:env(safe-area-inset-bottom,0px);transform:translate3d(0,var(--sheet-offset,0px),0);transition:transform .18s ease-out}
.detail-dialog.sheet-dragging{transition:none;will-change:transform}
.detail-drag-handle{position:absolute;inset:0 0 auto;height:44px;z-index:2;display:flex;justify-content:center;padding-top:9px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.detail-drag-handle span{width:36px;height:4px;border-radius:2px;background:#f4f3ecd9;box-shadow:0 1px 4px #0008;pointer-events:none}
.detail-dialog.sheet-dragging .detail-drag-handle{cursor:grabbing}
@media(prefers-reduced-motion:reduce){.detail-dialog{transition:none}}

/* Place the illustration caption directly on the product photograph. */
.detail-photo-wrap{position:relative}
.detail-photo-note{position:absolute;right:12px;bottom:12px;max-width:calc(100% - 24px);padding:4px 7px;border-radius:4px;background:#101310bf;color:#f4f3ec;font-size:1rem;line-height:1.3;pointer-events:none}

/* Keep the product sheet grip indicator on the mobile layout. */
@media(min-width:601px){.detail-drag-handle span{display:none}}

/* Desktop uses an explicit close control; mobile retains the draggable sheet. */
.detail-dialog>.detail-drag-handle{display:none}
.detail-dialog>.detail-close-desktop{display:flex;align-items:center;justify-content:center;right:10px;top:8px;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#f4f3ec;font-size:24px;line-height:1;text-shadow:0 1px 4px #000}
@media(max-width:600px){.detail-dialog>.detail-drag-handle{display:flex}.detail-dialog>.detail-close-desktop{display:none}}

/* The sheet itself receives automatic focus on mobile; keep its neutral border. */
.detail-dialog:focus{outline:none}

/* Footer access labels share the requested size on every screen. */
.brand-footer .staff-access{font-size:.875rem}

/* Public staff access shares the reservation control in the header. */
:is(.landing-page,.menu-page) .header-actions{flex:none}
:is(.landing-page,.menu-page) .header-actions .reserve-link{height:44px;min-height:44px;white-space:nowrap;flex:none;line-height:1;font-size:1rem}
:is(.landing-page,.menu-page) .header-actions .reserve-link::before{inset:8px 0}
:is(.landing-page,.menu-page) .header-management-link svg{display:block;width:14px;height:14px;flex:none;stroke-linecap:round;stroke-linejoin:round}
:is(.landing-page,.menu-page) .footer-bottom{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:4px;padding-top:8px;margin-top:4px}
@media(max-width:960px){
 :is(.landing-page,.menu-page) .header-actions .reserve-link{font-size:.875rem;padding:6px 8px;gap:6px}
}
@media(max-width:420px){
 :is(.landing-page,.menu-page) .header-inner{gap:8px}
 :is(.landing-page,.menu-page) .site-header .brand small{font-size:.75rem;letter-spacing:.02rem}
 :is(.landing-page,.menu-page) .header-actions{gap:4px}
 :is(.landing-page,.menu-page) .header-actions .reserve-link{padding-inline:6px;gap:4px}
 :is(.landing-page,.menu-page) .header-management-link svg{width:12px;height:12px}
 :is(.landing-page,.menu-page) .nav-toggle{width:32px;min-width:32px}
}

/* Keep the legal block adjacent to the preceding footer links. */
footer.brand-footer{--footer-row-gap:5px;row-gap:0}
footer.brand-footer>.footer-brand,footer.brand-footer>p{margin-bottom:var(--footer-row-gap)}
footer.brand-footer>.footer-bottom{margin-top:0;padding-top:4px}
.landing-page .brand-footer>.footer-bottom{row-gap:0}
@media(max-width:600px){footer.brand-footer{--footer-row-gap:7px}}

/* Compact the reservation sheet, including the received-request summary. */
.reservation-dialog .booking-header{padding:12px 52px 10px 14px}
.reservation-dialog .booking-brand{display:block}
.reservation-dialog .booking-header h2{margin:6px 0 4px;font-size:1.75rem}
.reservation-dialog .booking-header p{line-height:1.4}
.reservation-dialog>.close-dialog{top:8px;right:8px}
.reservation-dialog .booking-steps{padding:10px 14px 0}
.reservation-dialog .booking-body{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
.reservation-dialog .booking-body fieldset{margin-bottom:12px}
.reservation-dialog .booking-field{margin-bottom:10px}
.reservation-dialog .booking-actions{margin-top:12px;gap:8px}
.reservation-dialog :is(.booking-success,.group-booking) h3{margin:8px 0;font-size:1.5rem}
.reservation-dialog :is(.booking-success,.group-booking)>p{margin-bottom:8px;line-height:1.5}
.reservation-dialog .success-symbol{width:36px;height:36px;font-size:1.5rem}
.reservation-dialog .booking-status{padding:5px 10px;margin-bottom:8px}
.reservation-dialog .booking-summary{padding:10px 12px;gap:3px;margin-bottom:8px;line-height:1.4}
.reservation-dialog .booking-success>.gold-button{height:32px;min-height:32px;padding-block:4px;line-height:1.3}
.reservation-dialog .booking-help{margin:8px 0;line-height:1.5}
.reservation-dialog .booking-restaurant-contact{margin-top:8px;padding-top:8px}

/* Return links share the gold outline and compact surface used by management. */
.site-header a.site-return-button,.auth-card>a.site-return-button,.reservation-dialog .booking-back.site-return-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:8px 12px;border:0;border-radius:6px;background:transparent;color:var(--gold);font-size:.9rem;line-height:1.2;text-align:center}
.site-return-button::before{content:"";position:absolute;z-index:-1;inset:8px 0;border:1px solid var(--gold);border-radius:6px;background:transparent;pointer-events:none;transition:background-color .16s}
.site-return-button:hover::before{background:var(--surface-2)}
.site-return-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Keep the final submit action at the same height as the earlier booking actions. */
.reservation-dialog .booking-body .booking-actions>.gold-button{height:32px;min-height:32px;padding-block:4px;line-height:1.3}

/* Hide scrollbar tracks without disabling scrolling or native gestures. */
html,body,body *{scrollbar-width:none!important}
::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
