/* Shared finishing layer: individual journeys, one restaurant identity. */
.wine-opening-stage{background:var(--ink);color:var(--paper);overflow:hidden;position:relative;isolation:isolate}
.wine-opening-stage :focus-visible{outline-color:var(--pale)}
.wine-opening-stage:before{content:'';position:absolute;inset:-30% -20% auto auto;width:65vw;height:65vw;border:1px solid #c7e0e22b;border-radius:50%;z-index:-1}
.wine-opening-stage .wine-opening{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:6%;padding-block:65px 85px;border:0}
.wine-opening-stage .wine-opening:after{display:none}
.wine-opening-copy{min-width:0}
.wine-opening .breadcrumb{color:var(--pale)}
.wine-opening .breadcrumb:before{background:var(--pale)}
.wine-opening .page-title{font-size:clamp(62px,7.7vw,116px)}
.wine-opening .page-title em{display:block;color:var(--pale);margin-top:.08em}
.wine-opening .page-title br{display:none}
.wine-opening .page-deck{font-size:16px;padding:0;max-width:400px}
.wine-opening-portrait{position:relative;margin:30px 0;align-self:center}
.wine-opening-portrait:before{content:'';position:absolute;inset:-16px;border:1px solid #c7e0e263;border-radius:50% 50% 5px 5px;pointer-events:none}
.wine-opening-portrait img{width:100%;height:clamp(390px,36vw,550px);object-fit:cover;object-position:55% center;border-radius:50% 50% 4px 4px}
.wine-opening-portrait figcaption{font-size:10px;letter-spacing:.03em;padding:18px 0 0;text-align:center;position:relative}
.wine-feature{padding-top:100px;align-items:center;grid-template-columns:.85fr 1.15fr;gap:10%}
.wine-feature .wine-pairing-photo{padding:18px;background:#e8e3d7;transform:rotate(-2deg)}
.wine-feature .wine-pairing-photo:before{display:none}
.wine-feature .wine-pairing-photo img{height:470px;object-fit:cover}
.wine-feature figcaption{padding:16px 5px 0;font-size:10px}
.wine-copy{border:0;padding:0}
.wine-copy .display-title{font-size:clamp(50px,6.2vw,94px)}
.wine-copy>p:not(.section-label){max-width:500px;line-height:1.85}
.wine-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6%;padding-top:85px}
.wine-index-row{display:flex;align-items:center;gap:25px;min-width:0;border-top:1px solid var(--line);padding-block:30px}
.wine-index-row h2{font-size:clamp(37px,4.7vw,68px)}
.wine-index-row .section-label{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;font-size:9px}
.wine-table-link{grid-column:1/-1;max-width:760px;margin-top:35px;border-top:1px solid var(--line);padding-top:25px}
/* Contact is an address card with a window into the real dining room. */
.location-opening-stage{background:#e5ece6;border-bottom:1px solid var(--line);overflow:hidden}
.location-opening-stage .location-opening{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:6%;padding-block:60px 70px;border:0}
.location-opening-stage .location-opening:after{display:none}
.location-opening-copy{min-width:0}
.location-opening .page-title{font-size:clamp(65px,7.7vw,116px)}
.location-opening .page-title em{display:inline-block;padding-top:.08em}
.location-opening .page-deck{padding:0;font-size:14px;letter-spacing:.02em}
.location-opening-photo{position:relative;transform:rotate(2deg);padding:14px;background:var(--paper);box-shadow:17px 20px 0 #183d4310}
.location-opening-photo img{width:100%;height:440px;object-fit:cover;object-position:45% center;border-radius:40% 40% 0 0}
.location-opening-photo figcaption{padding:16px 3px 3px;font-family:Georgia,serif;font-style:italic;font-size:24px;line-height:1.2}
.contact-facts{padding-block:65px 40px;gap:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-fact{padding:5px 35px;border-left:1px solid var(--line);min-width:0}
.contact-fact:first-child{padding-left:0;border-left:0}
.contact-fact:last-child{padding-right:0}
.contact-fact>p{font-size:clamp(18px,2vw,27px);line-height:1.5;overflow-wrap:anywhere}
.contact-fact small{font-size:11px;line-height:1.8}
.location-actions{padding-block:15px 65px;gap:28px;flex-wrap:wrap;align-items:center}
.location-actions .button{border-radius:40px}
.location-actions .text-link{font-size:11px}
.location-guide{padding:45px 45px 55px;margin-bottom:95px;background:var(--white);border:1px solid var(--line);box-shadow:0 16px 55px #183d4307}
.location-guide h2{max-width:750px;font-size:clamp(38px,4.4vw,64px);margin-bottom:35px}
.location-guide-grid{gap:35px;padding-top:30px;counter-reset:arrival}
.location-guide-grid>div{min-width:0;counter-increment:arrival}
.location-guide-grid h3:before{content:counter(arrival,decimal-leading-zero);display:block;font:700 31px/1 var(--display);color:var(--teal);margin-bottom:20px}
.location-guide-grid p{font-size:13px;line-height:1.85}
/* Reservation: a calm invitation beside a clearly actionable booking console. */
.booking-page{background:linear-gradient(120deg,#e8eeea,var(--paper) 60%);position:relative;padding-block:65px 85px}
.booking-composition{gap:8%;grid-template-columns:1fr 1.1fr}
.booking-copy .page-title{font-size:clamp(66px,7.4vw,112px)}
.booking-copy .page-title em{color:var(--muted);display:inline-block;padding-top:.1em}
.booking-intro{max-width:400px;line-height:1.85}
.booking-facts{background:#ffffff50;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 24px}
.booking-facts>div:first-child{border-top:0}
.booking-facts>div{grid-template-columns:75px 1fr;gap:20px;padding-block:18px}
.booking-photo{position:relative;padding:0;border-radius:0;overflow:visible}
.booking-photo img{aspect-ratio:1.75;border-radius:0 60px 0 0}
.booking-photo figcaption{font-family:Georgia,serif;font-style:italic;font-size:20px;margin-top:14px}
.booking-console{border-radius:3px;padding:35px 40px 40px;position:relative;box-shadow:0 28px 65px #183d4312}
.booking-console-edition{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.17em;color:var(--muted);padding-bottom:20px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.booking-console-edition>span:last-child{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font:20px Arial,sans-serif}
.booking-placeholder h2{font-size:clamp(48px,4.8vw,72px);margin-bottom:25px}
.booking-placeholder>p:not(.eyebrow){line-height:1.85}
.booking-placeholder .button{border-radius:40px;width:100%;gap:16px;text-align:left}
.booking-placeholder .booking-privacy{padding-top:23px;border-top:1px solid var(--line);margin-top:25px}
.booking-console:has(.booking-embed:not([hidden])) .booking-console-edition{padding-inline:15px;margin-bottom:10px}
.booking-notes{background:var(--paper);border-top:1px solid var(--line);padding-block:60px 75px}
.booking-notes-grid{gap:35px}
.booking-notes summary{align-items:center;font-size:14px;min-height:90px}
.booking-notes summary:after{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;font-weight:400;font-size:20px}
.booking-notes details[open]{border-top-color:var(--ink)}
.booking-notes p{line-height:1.85}
/* Detail sections have their own rhythm without changing the opening scenes. */
.menu-pairing>.container{position:relative;z-index:1;display:grid;grid-template-columns:.65fr 1.4fr 1fr;gap:6%;align-items:center}
.menu-pairing .display-title{font-size:clamp(50px,5.7vw,86px)}
.menu-pairing p:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.menu-pairing .text-link{margin:0;font-size:12px}
.groups-comparison-heading{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:0}
.group-option{padding-block:42px;position:relative}
.group-option:first-child{border-top:0}
.group-option-index{font-family:var(--display);font-size:27px;font-weight:700;line-height:1.1}
.group-option-arrow{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:23px}
.group-option-copy>p{line-height:1.85}
.groups-practical{padding:35px 40px;background:#e4ece6;border-left:3px solid var(--teal);gap:8%}
.house-story>.section-label{position:relative;padding-top:23px}
.house-story>.section-label:before{content:'';position:absolute;top:0;left:0;width:45px;height:1px;background:var(--teal)}
.house-story-copy{line-height:1.9}
.house-facts{border-top:1px solid var(--line);margin-top:85px;padding-block:45px 60px}
.house-facts>div{border-right:1px solid var(--line);padding-right:25px}
.house-facts .text-link{font-size:12px}
.ritual-sequence{counter-reset:ritual}
.ritual-step{gap:25px;padding-top:30px}
.ritual-step>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;font-size:22px}
.ritual-step h2{font-size:clamp(38px,4vw,55px);margin-bottom:15px}
.ritual-step p{font-size:13px;line-height:1.85}
.ritual-layout>figure{border:12px solid #e8e3d7;transform:rotate(2deg);align-self:center;box-shadow:18px 20px 0 #183d430a}
/* Legal documents retain all wording, with a quiet reading rail. */
.page-legal .page-masthead,.page-privacy .page-masthead,.page-cookies .page-masthead{border-bottom:1px solid var(--line);padding-bottom:45px}
.page-legal .page-title,.page-privacy .page-title,.page-cookies .page-title{font-size:clamp(64px,8vw,115px)}
.legal-section{padding-block:55px 95px}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:9%;align-items:start}
.legal-rail{position:sticky;top:calc(var(--header) + 30px)}
.legal-rail .section-label{font-size:9px;max-width:180px;margin-bottom:25px}
.legal-rail nav{border-top:1px solid var(--line)}
.legal-rail a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;text-decoration:none}
.legal-rail a[aria-current]{font-weight:800}
.legal-rail a span{opacity:.6}
.legal-content{max-width:850px;width:100%;min-width:0}
.legal-content>p:first-child{font-size:10px;letter-spacing:.03em;color:var(--muted);padding:14px 18px;background:#e5ece6;border-left:2px solid var(--teal);margin-bottom:35px}
.legal-content h2{font-family:var(--display);font-size:34px;line-height:1.15;margin-top:35px;margin-bottom:18px}
.legal-content p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}
.legal-content>p:last-child{border-top:1px solid var(--line);margin-top:35px;padding-top:20px}
@media(max-width:1050px){
 .wine-opening-stage .wine-opening{gap:7%;grid-template-columns:1.1fr 1fr}.wine-opening .page-title{font-size:clamp(59px,7.6vw,80px)}.wine-opening-portrait img{height:400px}.wine-feature{gap:7%;padding-top:75px}.wine-feature .wine-pairing-photo img{height:380px}.wine-copy .display-title{font-size:clamp(48px,6vw,75px)}
 .location-opening .page-title{font-size:clamp(58px,7.5vw,90px)}.location-opening-photo img{height:360px}.contact-fact{padding-inline:22px}.location-guide{padding:32px}.location-guide-grid{gap:25px}
 .booking-composition{gap:5%;grid-template-columns:1fr 1fr}.booking-copy .page-title{font-size:clamp(61px,7.4vw,90px)}.booking-console{padding:28px}.booking-placeholder h2{font-size:clamp(43px,5.2vw,62px)}.booking-facts{padding-inline:18px}.booking-facts>div{grid-template-columns:65px 1fr;gap:10px}
 .menu-pairing>.container{grid-template-columns:1fr 1.7fr}.menu-pairing p:last-child{grid-column:2}.groups-practical{padding:28px}.legal-layout{grid-template-columns:190px minmax(0,1fr);gap:6%}
}
@media(max-width:700px){
 .wine-opening-stage .wine-opening{display:block;padding-block:35px 45px}.wine-opening .page-title{font-size:clamp(53px,14.5vw,84px)}.wine-opening .page-deck{font-size:14px;margin-top:23px}.wine-opening-portrait{margin:40px 14px 0}.wine-opening-portrait:before{inset:-10px}.wine-opening-portrait img{height:310px}.wine-opening-portrait figcaption{font-size:9px;padding-top:15px}
 .wine-feature{padding-top:60px}.wine-feature .wine-pairing-photo{padding:12px;transform:none;margin-right:12px;box-shadow:10px 12px 0 #183d4308}.wine-feature .wine-pairing-photo img{height:300px}.wine-feature figcaption{padding-top:13px;font-size:9px}.wine-copy{padding-top:42px}.wine-copy .display-title{font-size:clamp(48px,13vw,67px)}.wine-index{display:block;padding-block:55px 65px}.wine-index-row{padding-block:23px;gap:22px}.wine-index-row h2{font-size:42px}.wine-index-row .section-label{width:32px;height:32px}.wine-table-link{font-size:12px;margin-top:25px}
 .location-opening-stage .location-opening{display:block;padding-block:35px 48px}.location-opening .page-title{font-size:clamp(53px,14.6vw,88px)}.location-opening .page-deck{font-size:12px;margin-top:23px}.location-opening-photo{margin:35px 10px 0 0;transform:none;padding:10px;box-shadow:10px 12px 0 #183d4310}.location-opening-photo img{height:290px}.location-opening-photo figcaption{font-size:22px;padding:14px 4px 4px}
 .contact-facts{padding-block:20px}.contact-fact,.contact-fact:first-child,.contact-fact:last-child{border-left:0;padding:25px 0;border-bottom:1px solid var(--line)}.contact-fact:last-child{border-bottom:0}.contact-fact>p{font-size:24px}.contact-fact small{font-size:11px}.location-actions{padding-block:0 45px;gap:15px}.location-actions .text-link{font-size:10px;padding-block:10px}.location-guide{padding:25px 22px 30px;margin-bottom:65px}.location-guide h2{font-size:36px;margin-bottom:25px}.location-guide-grid{display:block;padding-top:0;border:0}.location-guide-grid>div+div{margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.location-guide-grid h3:before{display:inline-block;vertical-align:middle;margin:0 14px 0 0;font-size:23px}.location-guide-grid p{font-size:12px}
 .booking-page{padding-block:35px 55px}.booking-composition{display:flex;gap:28px}.booking-copy .page-title{font-size:clamp(60px,16vw,90px)}.booking-intro{font-size:13px;margin-top:23px}.booking-facts{margin-block:25px 0;padding:3px 15px}.booking-facts>div{padding-block:14px;font-size:11px;grid-template-columns:60px 1fr;gap:15px}.booking-console{padding:25px 22px}.booking-console-edition{padding-bottom:15px;margin-bottom:25px}.booking-placeholder h2{font-size:clamp(43px,12.7vw,60px)}.booking-placeholder .eyebrow{font-size:8px}.booking-placeholder .button{padding:15px 18px;font-size:10px;min-height:53px}.booking-placeholder .booking-privacy{font-size:10px!important}.booking-fallback{font-size:10px;overflow-wrap:anywhere}.booking-notes{padding-block:40px 55px}.booking-notes summary{min-height:78px;font-size:13px;gap:20px}.booking-notes p{font-size:12px}
 .menu-pairing>.container{display:block}.menu-pairing .display-title{font-size:clamp(49px,14vw,70px);margin-top:25px}.menu-pairing p:last-child{margin-top:25px;gap:3px}.menu-pairing .text-link{font-size:11px}.group-option{padding-block:28px;gap:18px}.group-option-index{font-size:23px}.group-option-arrow{width:30px;height:30px;font-size:19px}.group-option-copy>p{line-height:1.75}.groups-practical{padding:25px 22px;display:block}.groups-practical .text-link{font-size:10px;gap:12px}
 .house-story>.section-label{padding-top:18px}.house-story-copy{line-height:1.85}.house-facts{margin-top:60px;padding-block:35px 45px}.house-facts>div{padding-right:0;border:0}.house-facts .text-link{font-size:11px}.ritual-step{gap:18px}.ritual-step>span{width:35px;height:35px;font-size:19px}.ritual-step h2{font-size:36px}.ritual-step p{font-size:12px}.ritual-layout>figure{border-width:9px;transform:none;box-shadow:10px 12px 0 #183d430a;margin-right:10px;width:calc(100% - 10px)}.ritual-layout>figure img{height:330px}
 .page-legal .page-title,.page-privacy .page-title,.page-cookies .page-title{font-size:clamp(54px,14vw,80px)}.legal-section{padding-block:30px 60px}.legal-layout{display:block}.legal-rail{position:static;margin-bottom:35px}.legal-rail .section-label{max-width:none;margin-bottom:15px}.legal-rail nav{display:flex;flex-wrap:wrap;gap:0 22px}.legal-rail a{font-size:10px;gap:14px;padding-block:14px;min-height:44px}.legal-rail a span{display:none}.legal-content>p:first-child{font-size:9px;margin-bottom:28px}.legal-content h2{font-size:30px}.legal-content p{font-size:13px;line-height:1.85}
}
@media(prefers-reduced-motion:reduce){.wine-feature .wine-pairing-photo,.location-opening-photo,.ritual-layout>figure{transform:none}}
@media(min-width:701px) and (max-width:1050px){.booking-console:has(.booking-embed:not([hidden])){padding:12px}}
@media(max-width:380px){.booking-console:has(.booking-embed:not([hidden])){width:calc(100% + var(--gutter) * 2);margin-inline:calc(var(--gutter) * -1);padding:3px;border-inline:0}.booking-console:has(.booking-embed:not([hidden])) .booking-fallback{padding-inline:16px}}
@media print{.legal-layout{display:block}.legal-rail,.booking-console-edition{display:none}.legal-content{max-width:none}.wine-opening-stage,.location-opening-stage,.booking-page{background:white;color:black}}
