.restaurant-page{--restaurant-muted:#656c66;--restaurant-rule:rgba(134,115,78,.25)}
.restaurant-page .site-header{position:relative;background:var(--forest-deep);padding-top:26px;padding-bottom:26px}
.restaurant-page .desktop-nav a[aria-current=page]{border-bottom:1px solid var(--accent);padding-bottom:6px}
.restaurant-page .header-book{background:transparent}
.restaurant-page h1 em,.restaurant-page h2 em{font-weight:400}
.restaurant-hero{position:relative;height:min(650px,72svh);min-height:510px;overflow:hidden}
.restaurant-hero-photo{position:absolute;inset:0;object-position:center 56%;transform:scale(1.035);will-change:transform}
.restaurant-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,9,.65),rgba(6,12,9,.14) 50%,transparent 75%),linear-gradient(0deg,rgba(6,12,9,.27),transparent 40%)}
.restaurant-hero-copy{position:absolute;left:5.5%;bottom:11%;z-index:1}
.restaurant-hero-copy h1{font-size:clamp(76px,7.5vw,120px);line-height:.92;letter-spacing:-.04em}
.restaurant-hero-copy>p{font-size:clamp(15px,1.35vw,20px);margin-top:30px;font-weight:400}
.restaurant-hero-actions{display:flex;gap:34px;margin-top:27px}
.restaurant-hero-actions .text-link{font-size:15px;gap:12px}
.restaurant-hero-actions svg{width:18px;height:18px}
.restaurant-location{position:absolute;right:3.5%;bottom:20px;font-size:12px;letter-spacing:.035em}
.restaurant-intro{background:var(--paper);color:var(--ink);padding:85px 5.5%;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:7%;transition:background .8s,color .8s}
.restaurant-intro h2{font-size:clamp(48px,4.7vw,76px);line-height:1.02;letter-spacing:-.03em}
.restaurant-intro-copy>p{font-size:16px;line-height:1.8;margin-top:25px;max-width:500px}
.restaurant-offerings{display:block;font-size:12px;letter-spacing:.13em;margin-top:28px}
.restaurant-offerings i{color:var(--accent);font-style:normal;padding:0 7px}
.restaurant-feature{margin:0;min-width:0}
.restaurant-photo-button{display:block;position:relative;padding:0;width:100%;overflow:hidden;aspect-ratio:1.58}
.restaurant-photo-button img{transition:transform 1s}
.restaurant-photo-button:hover img{transform:scale(1.04)}
.restaurant-photo-button>span{position:absolute;right:16px;bottom:16px;display:flex;gap:10px;align-items:center;background:#11201bcc;color:#fff;font-size:11px;padding:7px 12px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.restaurant-photo-button:hover>span,.restaurant-photo-button:focus-visible>span{opacity:1;transform:none}
.restaurant-photo-button svg{width:15px;height:15px}
.restaurant-feature figcaption{font-size:10px;letter-spacing:.07em;text-align:right;margin-top:15px;color:var(--restaurant-muted)}
.restaurant-feature figcaption:before{content:'';display:inline-block;vertical-align:middle;height:1px;width:40px;background:var(--accent);margin-right:17px}
.guest-words{max-width:500px;margin-top:30px;font-size:12px;color:var(--restaurant-muted)}
.guest-words summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:18px;width:fit-content;border-bottom:1px solid var(--restaurant-rule);padding-bottom:5px}
.guest-words summary::-webkit-details-marker{display:none}
.guest-words summary span{font-size:18px;color:var(--accent);transition:transform .2s}
.guest-words[open] summary span{transform:rotate(45deg)}
.guest-words blockquote{font-family:var(--serif);font-size:23px;line-height:1.4;margin:20px 0 0;color:var(--ink)}
.guest-words cite{display:block;font:11px var(--sans);color:var(--restaurant-muted);margin-top:15px}
.restaurant-menus{background:var(--paper);color:var(--ink);padding:70px 5.5% 100px;border-top:1px solid var(--restaurant-rule);scroll-margin-top:0;transition:background .8s,color .8s}
.restaurant-menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:34px}
.restaurant-menu-heading h2{font-size:clamp(48px,5.5vw,88px);letter-spacing:-.04em}
.restaurant-menu-heading>p{font-family:var(--serif);font-size:28px;line-height:1.3;white-space:nowrap;margin-bottom:5px}
.restaurant-tabs{display:flex;gap:38px;overflow:auto;padding:0 2px 8px}
.restaurant-tabs button{flex-shrink:0;font-size:15px;padding:0 0 10px;border-bottom:1px solid #7b807b55;color:var(--restaurant-muted);transition:color .2s,border .2s}
.restaurant-tabs button[aria-selected=true]{color:var(--ink);border-bottom:2px solid var(--accent)}
.restaurant-tabs button:hover{color:var(--ink)}
.restaurant-season-note{font-size:13px;color:var(--restaurant-muted);margin:20px 0 36px;line-height:1.7}
.restaurant-menu[hidden]{display:none}
.restaurant-menu:focus-visible{outline:1px solid var(--accent);outline-offset:12px}
.menu-course{display:grid;grid-template-columns:27% 1fr;gap:3.5%;padding:16px 0 40px}
.course-heading>span{font-size:10px;letter-spacing:.25em;color:#94764d;display:block;margin-bottom:9px}
.course-heading h3{font-size:42px;line-height:1.08;letter-spacing:-.025em}
.course-heading>p{max-width:230px;font-size:12px;line-height:1.6;margin-top:18px;color:var(--restaurant-muted)}
.restaurant-dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;padding:20px 0;border-bottom:1px solid var(--restaurant-rule)}
.restaurant-dish:first-child{padding-top:0}
.restaurant-dish h4{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.15;letter-spacing:-.012em;margin:0}
.restaurant-dish p{font-size:14px;line-height:1.65;color:var(--restaurant-muted);margin:7px 0 0;max-width:710px}
.dish-price{font-family:var(--serif);font-size:23px;line-height:1.35;white-space:pre-line;text-align:right;max-width:180px;font-variant-numeric:lining-nums tabular-nums}
.lunch-note{padding:25px 0 45px;max-width:680px}
.lunch-note h3{font-size:48px;margin-bottom:22px}
.lunch-note>p{font-size:16px;line-height:1.8;margin-bottom:20px}
.lunch-note .text-link{margin-top:10px}
.restaurant-visit{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;background:var(--forest);padding:75px 5.5%;scroll-margin-top:0}
.restaurant-invitation h2{font-size:clamp(50px,5.2vw,82px);line-height:1.03}
.restaurant-invitation .button{margin-top:32px;min-width:250px;justify-content:space-between}
.restaurant-invitation .button svg{width:20px}
.restaurant-visit-details{border-left:1px solid var(--accent);padding-left:12%;display:flex;flex-direction:column;align-items:flex-start}
.restaurant-hours{font-family:var(--serif);font-size:27px;line-height:1.3}
.restaurant-closure{color:var(--muted);font-size:12px;margin:12px 0 25px}
.restaurant-visit-details>a:not(.text-link){font-size:15px;line-height:1.8}
.restaurant-visit-details .text-link{margin-top:25px;font-size:14px}
.restaurant-season-choice{display:flex;align-items:center;gap:16px;margin-top:28px}
.restaurant-season-choice>span{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.restaurant-season-choice .season-switch button{font-size:10px;padding:5px 8px}
#restaurant-lightbox{max-width:min(1200px,92vw)}
#restaurant-lightbox>img{height:auto;max-height:85svh;object-fit:contain}
html[data-season=winter] .restaurant-page{--restaurant-muted:#596873;--restaurant-rule:rgba(91,119,131,.26)}
@media(min-width:1700px){.restaurant-intro,.restaurant-menus,.restaurant-visit{padding-left:max(5.5%,calc((100vw - 1540px)/2));padding-right:max(5.5%,calc((100vw - 1540px)/2))}}
@media(max-width:1100px){.restaurant-intro{gap:5%;padding-top:65px;padding-bottom:65px}.restaurant-menu-heading{display:block}.restaurant-menu-heading>p{margin-top:20px;font-size:25px}.restaurant-visit{gap:5%}.restaurant-visit-details{padding-left:9%}.restaurant-season-choice{display:block}.restaurant-season-choice>span{display:block;margin-bottom:8px}.restaurant-dish h4{font-size:25px}.dish-price{font-size:22px;max-width:145px}}
@media(max-width:760px){.restaurant-page .site-header{padding:23px 6%}.restaurant-hero{height:620px;min-height:0;max-height:82svh}.restaurant-hero-photo{object-position:58% center}.restaurant-hero-shade{background:linear-gradient(0deg,rgba(6,12,9,.75),rgba(6,12,9,.13) 80%)}.restaurant-hero-copy{left:6%;right:6%;bottom:14%}.restaurant-hero-copy h1{font-size:clamp(65px,15vw,95px)}.restaurant-hero-copy>p{font-size:15px;margin-top:26px;max-width:265px;line-height:1.7}.restaurant-hero-actions{gap:25px;margin-top:24px}.restaurant-hero-actions .text-link{font-size:13px;gap:10px}.restaurant-location{font-size:10px;bottom:19px;right:6%}.restaurant-intro{grid-template-columns:1fr;padding:53px 6%;gap:35px}.restaurant-intro h2{font-size:49px}.restaurant-intro-copy>p{font-size:15px;margin-top:23px}.restaurant-offerings{font-size:10px;letter-spacing:.08em;margin-top:25px}.restaurant-offerings i{padding:0 5px}.guest-words{margin-top:26px}.restaurant-photo-button{aspect-ratio:1.4}.restaurant-photo-button>span{opacity:1;transform:none}.restaurant-feature figcaption{font-size:9px}.restaurant-menus{padding:52px 6% 45px}.restaurant-menu-heading{margin-bottom:30px}.restaurant-menu-heading h2{font-size:50px;max-width:350px;line-height:1.03}.restaurant-menu-heading>p{font-size:23px;margin-top:20px;white-space:normal}.restaurant-tabs{gap:24px;padding-top:3px}.restaurant-tabs button{font-size:13px}.restaurant-season-note{font-size:12px;margin:20px 0 32px}.menu-course{grid-template-columns:1fr;gap:24px;padding-bottom:38px}.course-heading{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.course-heading h3{font-size:34px}.course-heading>span{margin:0}.course-heading>p{max-width:none;flex-basis:100%;margin:0}.restaurant-dish{gap:14px;padding:18px 0}.restaurant-dish h4{font-size:24px}.restaurant-dish p{font-size:13px;line-height:1.65}.dish-price{font-size:21px;max-width:86px}.restaurant-visit{grid-template-columns:1fr;padding:52px 6%;gap:40px}.restaurant-invitation h2{font-size:51px}.restaurant-invitation .button{font-size:13px;min-width:245px;margin-top:27px}.restaurant-visit-details{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.restaurant-hours{font-size:25px}.restaurant-season-choice{display:flex}.restaurant-season-choice>span{margin:0}.lunch-note h3{font-size:38px}.lunch-note>p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.restaurant-hero-photo{transform:none!important;will-change:auto}.restaurant-photo-button img{transform:none!important}}

.restaurant-tabs{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
.restaurant-tabs::-webkit-scrollbar{height:3px}
.restaurant-tabs::-webkit-scrollbar-thumb{background:var(--accent)}
.restaurant-tabs::-webkit-scrollbar-track{background:transparent}
.dish-price.multi-price{font-size:17px;line-height:1.6}
.multi-price>span{display:block;white-space:nowrap}
@media(min-width:761px){.restaurant-dish p{font-size:15px}.restaurant-tabs button{font-size:16px}}
@media(max-width:760px){.dish-price.multi-price{font-family:var(--sans);font-size:11px;max-width:95px;line-height:1.9}}

/* Text clarity */

.restaurant-page{--restaurant-muted:#414b43}
html[data-season=winter] .restaurant-page{--restaurant-muted:#3e505e}
.restaurant-tabs button{font-size:16px;font-weight:500}
.restaurant-tabs button[aria-selected=true]{font-weight:600}
.restaurant-dish h4{font-size:28px;font-weight:500;line-height:1.2}
.restaurant-dish p{font-size:16px;line-height:1.7}
.dish-price{font-family:var(--sans);font-size:17px;font-weight:500;line-height:1.6}
.dish-price.multi-price{font-size:15px;line-height:1.8}
.restaurant-season-note,.course-heading>p,.restaurant-closure,.guest-words{font-size:14px}
.restaurant-hero-actions .text-link,.restaurant-offerings{font-size:14px;font-weight:500}
.restaurant-feature figcaption,.guest-words cite,.restaurant-photo-button>span{font-size:12px}
.restaurant-season-choice>span,.restaurant-season-choice .season-switch button{font-size:12px}
@media(max-width:760px){
 .restaurant-intro-copy>p,.lunch-note>p{font-size:16px}
 .restaurant-tabs{flex-wrap:wrap;overflow:visible;gap:12px 22px}
 .restaurant-tabs button{font-size:15px;line-height:1.5}
 .restaurant-dish h4{font-size:26px}
 .restaurant-dish p{font-size:16px}
 .restaurant-dish{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
 .dish-price{font-size:16px;max-width:95px}
 .dish-price.multi-price{font-family:var(--sans);font-size:14px;max-width:112px;line-height:1.8}
 .restaurant-offerings{font-size:12px;letter-spacing:.08em}
 .restaurant-hero-actions .text-link{font-size:14px}
 .restaurant-season-note,.course-heading>p,.restaurant-closure{font-size:14px}
 .restaurant-feature figcaption{font-size:12px}
}
@media(max-width:380px){.restaurant-dish:has(.multi-price){grid-template-columns:1fr}.restaurant-dish:has(.multi-price) .dish-price{text-align:left;max-width:none;display:flex;gap:18px}}

/* Restaurant aliases inherit the shared site palette in both seasons. */
.restaurant-page{--restaurant-linen:var(--linen);--restaurant-muted:var(--muted-ink);--restaurant-rule:var(--rule);--restaurant-accent-ink:var(--accent-ink)}
html[data-season=winter] .restaurant-page{--restaurant-muted:var(--muted-ink);--restaurant-rule:var(--rule)}
.restaurant-intro{background:var(--restaurant-linen)}
.restaurant-intro .eyebrow,.restaurant-menus .eyebrow,.course-heading>span{color:var(--restaurant-accent-ink)}
.restaurant-offerings i{color:var(--restaurant-accent-ink)}
.course-heading h3{color:var(--forest)}
.restaurant-tabs button{border-bottom-color:var(--restaurant-rule)}
.restaurant-tabs button[aria-selected=true]{border-bottom-color:var(--restaurant-accent-ink)}
.restaurant-photo-button>span{background:#291e18e6;color:var(--white)}
.restaurant-invitation .button{background:var(--white);color:var(--forest-deep);border-color:var(--white)}
.restaurant-invitation .button:hover{background:#e9d5b8;border-color:#e9d5b8}
.restaurant-season-choice .season-switch{background:#291e184d;border-color:var(--line);backdrop-filter:none}
.restaurant-page .lightbox-close{background:#291e18e6}
.restaurant-page dialog::backdrop{background:#170f0bdd}

