/* The quiet, typographic restaurant experience follows the approved entrance. */
body{background:#10211f;--line:#d4a57730;--muted:#b6c0b3}
.restaurant-page,.menu-page{background:radial-gradient(ellipse at 50% 5%,#24403750,transparent 55%),#10211f}
.restaurant-page h2,.restaurant-page h3,.menu-page h1,.menu-page h2{color:var(--text);text-transform:none;letter-spacing:-.025em}
.site-header{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 5%;font-size:10px;letter-spacing:.1em}
.header-home{padding:12px 0;white-space:nowrap}
.desktop-nav{display:flex;gap:30px;font-size:10px}
.header-actions{display:flex;align-items:center;gap:30px}
.site-header .language-switcher{gap:14px;width:auto}
.language-switcher a{font-size:9px;color:#e3dfd38c}
.button{border-color:#d4a57780;background:transparent;min-height:50px;padding:16px 25px;gap:0;font:10px/1.6 var(--sans);letter-spacing:.1em;transition:background .3s,color .3s,border-color .3s,transform .3s}
.button:hover{background:#d4a57710;border-color:var(--copper-light);transform:translateY(-2px)}
.button-solid{background:var(--copper);border-color:var(--copper);color:var(--deep)}
.button-solid:hover{background:var(--copper-light);color:var(--deep)}
.reserve-top{min-height:42px;padding:11px 21px;font-size:9px}
.nav-toggle{display:none}
.text-link{font-size:10px;letter-spacing:.1em;padding:12px 0;border-bottom-color:#d4a57770;transition:color .3s,border-color .3s}
.text-link:hover{letter-spacing:.1em;color:var(--copper-light)}
.eyebrow{font-size:9px;letter-spacing:.19em}

/* A signature and generous space take the place of a full-screen photograph. */
.restaurant-hero{height:100svh;min-height:720px;max-height:1100px;background:radial-gradient(ellipse at 50% 43%,#35534824,transparent 57%);border-bottom:1px solid var(--line)}
.restaurant-hero:before{content:"";position:absolute;top:19%;bottom:22%;left:50%;width:min(66vw,850px);border:1px solid #d4a57709;border-radius:50%;transform:translateX(-50%);z-index:-1;pointer-events:none}
.restaurant-hero .hero-center{width:calc(100% - 48px);max-width:750px;padding:100px 0 115px}
.hero-eyebrow{font-size:9px;letter-spacing:.22em;color:var(--copper);margin:0 0 38px}
.hero-center h1{width:min(100%,500px);max-width:none;margin:0 auto;line-height:0}
.hero-center .gold-logo{filter:var(--gold-filter)}
.hero-tagline{font:42px/1.15 var(--serif);letter-spacing:-.02em;max-width:510px;margin:30px auto 0;text-wrap:balance}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:35px;margin-top:35px;animation:gentle-arrival 1.1s .8s both}
.hero-bottom{left:5%;right:5%;bottom:30px;font-size:8px;letter-spacing:.12em;color:var(--muted);align-items:center;display:grid;grid-template-columns:1fr auto 1fr}
.hero-bottom a{justify-self:center;color:var(--copper);padding:12px 0;border-bottom:1px solid var(--line)}
.hero-bottom>span:first-child{max-width:none}
.hero-opening{justify-self:end;text-align:right;text-transform:none;letter-spacing:.02em}
.hero-opening span{display:block;font:9px/1.6 var(--sans)}
.hero-opening strong{display:block;color:var(--copper);font:17px/1.6 var(--serif)}
.hero-dot{padding:0 8px}

.experience-story{max-width:1320px;margin:auto;padding:130px 7%;display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:start}
.experience-story-heading .eyebrow{margin-bottom:27px}
.experience-story h2{font-size:clamp(46px,4.8vw,72px);line-height:1.04;text-wrap:balance}
.experience-story-copy{padding-top:42px}
.experience-story-copy .intro-description{color:var(--text);font:29px/1.35 var(--serif);max-width:none;margin:0 0 25px}
.experience-story-copy>p:not(.intro-description){font:13px/1.9 var(--sans);color:var(--muted);margin:16px 0}
.experience-story-copy>.text-link{margin-top:15px}

.menu-feature{padding:100px max(7%,calc((100vw - 1136px)/2)) 110px;display:grid;grid-template-columns:.9fr 1.3fr;gap:13%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#d4a57703;align-items:center}
.menu-feature:after{background:radial-gradient(ellipse at 0 50%,#3553481f,transparent 70%)}
.menu-feature-heading .eyebrow{margin-bottom:25px}
.menu-feature-heading h2,html[lang=fr] .menu-feature-heading h2,html[lang=es] .menu-feature-heading h2{font-size:clamp(54px,5.4vw,80px);line-height:1.02;max-width:360px;text-transform:none}
.menu-feature-heading h2 em{margin:0;color:var(--copper);font-weight:400}
.menu-feature-heading>p:not(.eyebrow){font:23px/1.4 var(--serif);color:var(--muted);margin-top:25px}
.menu-feature-heading .button{margin-top:30px;font-size:9px}
.featured-dish{display:grid;grid-template-columns:1fr auto;gap:25px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}
.featured-dish:first-child{border-top:1px solid var(--line)}
.featured-dish:hover{padding-left:8px;background:transparent}
.dish-number{display:none}
.featured-dish .eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:12px;color:var(--copper)}
.featured-dish h3{font-size:34px;line-height:1.08}
.featured-dish h3 br{display:none}
.featured-dish h3 br:after{content:' '}
.featured-dish p:not(.eyebrow){font:11px/1.7 var(--sans);color:var(--muted);margin-top:12px}
.featured-price{font:13px/1.5 var(--sans);color:var(--copper);align-self:center}

.visit-section{display:block;max-width:1110px;margin:auto;padding:110px 7% 100px;text-align:center}
.visit-title .eyebrow{margin-bottom:25px}
.visit-title h2,html[lang=fr] .visit-title h2,html[lang=es] .visit-title h2{font-size:clamp(56px,6vw,88px);line-height:1.04;text-transform:none}
.visit-title h2 em{color:var(--copper)}
.visit-details{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;margin:55px auto 35px;text-align:left;max-width:800px}
.visit-address{padding-right:45px}
.visit-address .eyebrow{margin-bottom:18px}
.visit-details address{font:32px/1.25 var(--serif);color:var(--text);margin:0;font-style:normal}
.visit-contact{border-left:1px solid var(--line);padding-left:45px}
.visit-phone{font:27px/1.4 var(--serif);color:var(--copper);margin:0 0 7px}
.visit-email{font:11px/1.7 var(--sans);color:var(--muted)}
.visit-hours{border:0;padding:0;margin-top:21px}
.visit-hours span{font:9px/1.6 var(--sans);margin-bottom:4px}
.visit-hours strong{font:22px/1.4 var(--serif);color:var(--text);white-space:nowrap}
.visit-actions{justify-content:center;gap:35px;margin:35px 0 0}
.site-footer{padding:50px 5% 25px;border-top:1px solid var(--line);background:#0c1c1a}
.footer-main{max-width:1296px;margin:auto;gap:40px}
.footer-brand{width:200px}
.footer-details{font-size:10px}
.footer-main>.text-link{font-size:9px}
.footer-bottom{margin:40px auto 0;padding-top:22px;max-width:1296px;font-size:8px}

/* The same typography also gives the full menu room to breathe. */
.menu-page .site-header{position:relative;background:transparent;border-bottom-color:var(--line);padding:23px 5%}
html:has(.menu-page){scroll-padding-top:30px}
.menu-page-header{padding:65px 24px 85px}
.menu-brand{display:block;width:220px;margin:0 auto 32px}
.menu-page-header .eyebrow{margin-bottom:23px;font-size:9px}
.menu-page-header h1{font-size:clamp(68px,7.8vw,112px);line-height:1.02;text-transform:none}
.menu-page-header>p:last-child{font:24px/1.4 var(--serif);color:var(--muted);margin-top:24px}
.menu-layout{max-width:1220px;padding:0 6% 100px;grid-template-columns:185px minmax(0,1fr);gap:75px}
.menu-layout>div:first-child{top:30px}
.menu-index-label{display:block;font:8px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--copper);margin-bottom:17px}
.menu-index{padding-top:12px;border-color:var(--line)}
.menu-index>a{font:10px/1.5 var(--sans);padding:9px 0;color:var(--muted)}
.menu-index>a[aria-current=true]{color:var(--copper-light)}
.menu-index>a[aria-current=true]:before{content:none}
.menu-index>a:hover{color:var(--text)}
.menu-index .menu-home{margin-top:20px;padding-top:20px}
.menu-category{padding-top:60px;scroll-margin-top:0}
.menu-page .menu-category:target{opacity:1;transform:none;filter:none}
.menu-category h2{font-size:43px;line-height:1.1;padding-bottom:20px;border-bottom-color:#d4a57770;color:var(--copper-light)}
.dish-list li{padding:21px 0;gap:28px;border-bottom-color:#d4a57720}
.dish-name{font-size:27px;line-height:1.2;color:var(--text)}
.dish-description{font-size:11px;line-height:1.65;margin-top:8px}
.dish-price{font-size:12px}
.category-note{font:12px/1.7 var(--sans);color:var(--muted);margin:18px 0}
.menu-contact{border-color:var(--line);padding-top:35px;margin-top:50px}

/* Booking controls and behavior are retained, with quieter surfaces. */
.booking-dialog{background:#142724;border-color:#d4a57760;color:var(--text);box-shadow:0 25px 100px #0005}
.booking-dialog::backdrop{background:#071713d6;backdrop-filter:blur(12px)}
.booking-aside{background:radial-gradient(ellipse at 10% 30%,#35534866,transparent 80%),#10211f}
.booking-aside h2{color:var(--text);font-size:58px;line-height:1.02;letter-spacing:-.025em}
.booking-main legend{color:var(--text);font-size:34px;line-height:1.15;letter-spacing:-.02em}
.booking-aside>p:not(.eyebrow){font-size:22px}
.booking-progress li{font-size:9px}
.booking-progress li>span{font-size:23px}
.form-field{color:var(--muted);font-size:11px}
.form-field input,.form-field select,.form-field textarea{background:#10211f80;border-color:#d4a57740;font-size:14px;transition:border-color .2s,background .2s}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#d4a57780}
.booking-dialog .dialog-close{color:var(--copper-light);background:#142724}
.booking-result h3{color:var(--text)}
.booking-mode{border:0;border-left:1px solid var(--copper);padding:8px 12px;background:transparent}
.cancel-panel{margin:12vh auto;text-align:center}
.cancel-panel>a{display:block;max-width:280px;margin:auto}
.cancel-panel h1{color:var(--text);font-size:clamp(42px,6vw,68px);line-height:1.05}
.cancel-panel p{color:var(--muted)}

@media(min-width:1600px){.experience-story{padding-left:70px;padding-right:70px}}
@media(max-width:1100px){
 .site-header{gap:22px}.desktop-nav{gap:18px;font-size:9px}.header-actions{gap:22px}
 .experience-story{gap:8%;padding:105px 7%}.experience-story h2{font-size:54px}.experience-story-copy{padding-top:35px}
 .menu-feature{gap:9%}.featured-dish h3{font-size:30px}
 .menu-layout{gap:45px;grid-template-columns:165px minmax(0,1fr)}
}
@media(max-width:900px){
 .site-header{display:grid;grid-template-columns:1fr auto 30px;gap:9px 22px;padding:22px 5%}
 .desktop-nav{display:none}.header-actions{display:contents}.nav-toggle{display:block;grid-column:3;grid-row:1}
 .reserve-top{grid-column:2;grid-row:1}.site-header .language-switcher{grid-column:1/-1;grid-row:2;justify-self:end;gap:18px}
 .mobile-nav{background:#10211ff5;backdrop-filter:blur(20px);border-bottom-color:#d4a57760;padding:30px 5%}
 .hero-center h1{width:450px}.hero-tagline{font-size:38px}.hero-bottom{font-size:7px}
 .experience-story{gap:7%}.experience-story h2{font-size:48px}.experience-story-copy .intro-description{font-size:26px}
 .menu-feature-heading h2,html[lang=fr] .menu-feature-heading h2,html[lang=es] .menu-feature-heading h2{font-size:58px}
 .featured-dish h3{font-size:28px}.featured-dish p:not(.eyebrow){font-size:10px}
 .menu-page .site-header{padding:20px 5%}
 .footer-main{gap:25px}.footer-brand{width:175px}
 .booking-layout{min-height:0}.booking-aside{padding:30px 25px 25px}.booking-aside h2{font-size:45px;margin:20px 0 15px}
 .booking-aside>p:not(.eyebrow){font-size:21px}.booking-main{padding:28px 25px}
}
@media(max-width:650px){
 html{scroll-padding-top:80px}
 html:has(.menu-page){scroll-padding-top:40px}
 .site-header,.menu-page .site-header{padding:17px 24px 15px;gap:7px 18px}
 .header-home{font-size:9px}.reserve-top{font-size:8px;min-height:38px;padding:9px 15px}
 .site-header .language-switcher{gap:18px}.language-switcher a{font-size:9px;padding:7px 0;min-width:19px}
 .restaurant-hero{height:100svh;min-height:730px;max-height:1000px}
 .restaurant-hero:before{width:110vw;top:25%;bottom:29%}
 .restaurant-hero .hero-center{width:calc(100% - 48px);padding:100px 0 140px}
 .hero-eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:32px}
 .hero-center h1{width:min(100%,360px)}
 .hero-tagline{font-size:32px;max-width:300px;margin-top:26px;line-height:1.12}
 .hero-actions{gap:25px;margin-top:29px}.hero-actions .button{font-size:9px;padding:13px 19px;min-height:46px}.hero-actions .text-link{font-size:9px}
 .hero-bottom{grid-template-columns:1fr 1fr;gap:18px;bottom:25px;left:24px;right:24px;align-items:end;font-size:7px;line-height:1.7;letter-spacing:.06em}
 .hero-bottom>a{display:none}.hero-opening{font-size:8px}.hero-opening span{font-size:8px}.hero-opening strong{font-size:15px;line-height:1.4}
 .hero-dot{padding:0 5px}
 .experience-story{display:block;padding:75px 24px}
 .experience-story h2{font-size:46px;max-width:400px}.experience-story-heading .eyebrow{margin-bottom:23px}
 .experience-story-copy{padding-top:30px}.experience-story-copy .intro-description{font-size:26px;margin-bottom:23px}
 .experience-story-copy>p:not(.intro-description){font-size:12px;line-height:1.9;margin:16px 0}
 .menu-feature{display:block;padding:70px 24px 75px}
 .menu-feature-heading h2,html[lang=fr] .menu-feature-heading h2,html[lang=es] .menu-feature-heading h2{font-size:60px;max-width:350px;line-height:1.03}
 .menu-feature-heading>p:not(.eyebrow){font-size:23px;margin-top:22px}.menu-feature-heading .button{margin-top:24px}
 .menu-feature-items{margin-top:40px}.featured-dish{padding:27px 0;gap:20px}.featured-dish h3{font-size:30px}.featured-dish .eyebrow{font-size:8px}.featured-dish p:not(.eyebrow){font-size:11px}.featured-price{font-size:12px}
 .visit-section{padding:75px 24px 70px}.visit-title h2,html[lang=fr] .visit-title h2,html[lang=es] .visit-title h2{font-size:56px;line-height:1.04}
 .visit-details{display:block;text-align:center;margin:35px auto 0}.visit-address{padding:0}.visit-details address{font-size:29px}
 .visit-contact{border:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:27px}.visit-phone{font-size:27px}.visit-hours{margin-top:23px}.visit-hours strong{font-size:22px}
 .visit-actions{gap:30px;margin-top:30px}.visit-actions .button{font-size:9px;padding:15px 21px}
 .site-footer{padding:40px 24px 23px}.footer-main{flex-direction:column;align-items:center;text-align:center;gap:28px}.footer-brand{width:200px}.footer-details{flex-basis:auto}.footer-main>.text-link{font-size:9px}.footer-bottom{margin-top:33px;gap:15px;font-size:7px}
 .menu-page-header{padding:43px 24px 45px}.menu-brand{width:175px;margin-bottom:27px}.menu-page-header .eyebrow{font-size:8px;margin-bottom:20px}.menu-page-header h1{font-size:76px}.menu-page-header>p:last-child{font-size:22px;max-width:330px;margin:22px auto 0}
 .menu-layout{display:block;padding:0 24px 70px}.menu-layout>div:first-child{position:sticky;top:0;z-index:10;margin:0 -24px 28px;padding:0 24px;background:#10211ff5;backdrop-filter:blur(16px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .menu-index-label{display:none}.menu-index{display:flex;flex-flow:row nowrap;gap:26px;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#d4a57750 transparent;margin:0;padding:0;border:0;align-items:center}
 .menu-index>a{flex:none;width:auto;white-space:nowrap;font-size:10px;padding:21px 0;border-bottom:1px solid transparent}.menu-index>a[aria-current=true]{border-bottom-color:var(--copper)}.menu-index .menu-home{display:none}
 .menu-category{padding-top:45px;scroll-margin-top:0}.menu-category h2{font-size:38px;padding-bottom:19px}.dish-list li{gap:20px;padding:19px 0}.dish-name{font-size:25px}.dish-description{font-size:10px}.dish-price{font-size:11px}.category-note{font-size:11px}
 .menu-contact{margin-top:35px}.menu-contact .button{font-size:9px}
 .booking-aside{padding:28px 20px 20px}.booking-aside h2{font-size:36px;margin:17px 0 10px}.booking-aside>p:not(.eyebrow){display:none}.booking-aside-bottom{margin-top:18px;padding-top:12px}.booking-main{padding:25px 20px}.booking-main legend{font-size:32px}.booking-dialog .button{font-size:9px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.booking-progress li{font-size:8px}
}
@media(max-width:360px){
 .site-header,.menu-page .site-header{padding-left:19px;padding-right:19px;column-gap:12px}
 .hero-tagline{font-size:29px}.hero-actions{gap:20px}.hero-actions .button{padding-left:16px;padding-right:16px}
 .hero-bottom{left:19px;right:19px}.hero-opening strong{font-size:14px}
 .experience-story h2{font-size:42px}.menu-page-header h1{font-size:65px}.featured-dish h3{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
 .hero-actions{animation:none}.button:hover{transform:none}.featured-dish:hover{padding-left:0}
}
