html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-3.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-6.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-10.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--ink:#171918;--ivory:#f0eadf;--brass:#b39a65;--wine:#682d35;--sage:#7d8877;--brick:#8c4f3f;--line-light:#b6afa2;--line-dark:#565a53;--font-display:'Barlow Condensed','Arial Narrow',sans-serif;--font-body:'Barlow',Arial,sans-serif;--font-accent:'Instrument Serif',Georgia,serif;--rail:5.5rem;--content-max:100rem;--ease-out:cubic-bezier(.22,1,.36,1);--fast:160ms;--medium:320ms;--reveal:600ms;--gutter:clamp(1.25rem,4.6vw,5.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem}
*{box-sizing:border-box}html{background:var(--ivory);scroll-padding-top:6rem}body{margin:0;color:var(--ink);background:var(--ivory);font:400 1.125rem/1.55 var(--font-body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}::selection{background:var(--wine);color:var(--ivory)}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;text-wrap:balance}h1{font-size:clamp(3rem,7vw,7rem);line-height:.94;letter-spacing:-.02em}h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.98;letter-spacing:-.02em}h3{font-size:1.4rem;line-height:1.15}p+p{margin-top:1rem}a{color:inherit;text-underline-offset:.22em}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}button{background:none;border:0}img{display:block;max-width:100%;height:auto}picture{display:block;overflow:hidden}picture img{width:100%;height:100%;object-fit:cover}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--ink);outline-offset:5px;box-shadow:0 0 0 5px var(--ivory)}main:focus{outline:none}input,select{font-size:1rem}p{max-width:65ch}.muted{color:#595c55}.small{font-size:.875rem}.accent{font-family:var(--font-accent);font-weight:400;font-style:italic;text-transform:none;letter-spacing:-.02em;line-height:1.08}.eyebrow{font:600 .95rem/1.3 var(--font-display);letter-spacing:.045em;text-transform:uppercase;display:flex;gap:1.5rem}.eyebrow>span{color:var(--wine)}.button{min-height:52px;padding:.75rem 1.5rem;background:var(--wine);color:var(--ivory);border:1px solid var(--wine);border-radius:2px;display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;text-decoration:none;font-size:1rem;font-weight:600;line-height:1.5;transition:background var(--fast),color var(--fast),border-color var(--fast)}.button:hover{background:var(--ink);border-color:var(--ink)}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:var(--ivory)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:.7rem 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:1.0625rem;transition:color var(--fast)}.text-link:hover{color:var(--wine)}.text-link svg{transition:transform var(--fast)}.text-link:hover svg{transform:translateX(3px)}.section{padding:6rem var(--gutter);max-width:var(--content-max);margin:auto}.section>.eyebrow{margin-bottom:2rem}.skip-link{position:fixed;left:1rem;top:-10rem;background:var(--ivory);padding:1rem;z-index:200}.skip-link:focus{top:1rem}.rail{display:none}.site-header{height:112px;padding:1.5rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:var(--content-max);margin:auto;position:relative;z-index:10}.brand{width:165px;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:1.5rem}.explore{display:flex;align-items:center;gap:.6rem;min-height:48px;min-width:48px;padding:.5rem;font-size:.875rem}.menu-icon{width:22px;height:12px;display:inline-block;border-top:1.5px solid;border-bottom:1.5px solid}.fallback-nav{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem var(--gutter);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.fallback-nav a{padding:.4rem}.enhanced .fallback-nav{display:none}.enhanced .is-home .site-header{position:absolute;inset:0 0 auto;max-width:var(--content-max);width:100%}.hero{max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:44% 56%;min-height:min(900px,100svh);position:relative}.hero-copy{padding:11rem 2.7rem 2rem var(--gutter);display:flex;flex-direction:column;justify-content:center;min-width:0}.hero h1{margin-top:auto}.hero-eyebrow{font:600 .94rem/1.3 var(--font-display);letter-spacing:.025em;text-transform:uppercase;display:block;margin-bottom:2.5rem}.hero-word{display:block;font-size:clamp(5rem,10.6vw,10.5rem);line-height:.88;letter-spacing:-.025em;margin-left:-.035em}.hero h1 .accent{display:block;color:var(--wine);font-size:clamp(2.7rem,4.4vw,4.8rem);margin-top:1.2rem;white-space:nowrap}.hero-description{font-size:1.2rem;margin-top:2.25rem;line-height:1.5}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-book{display:none}.hero-bottom{margin-top:auto;padding-top:3rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font:600 .875rem var(--font-display);text-transform:uppercase}.hero-bottom a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line-light);border-radius:50%;text-decoration:none;font:1.5rem var(--font-body)}.hero-photo{position:relative;min-height:650px}.hero-photo>picture{position:absolute;inset:0}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.68));padding:3rem 2rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;color:var(--ivory);font:600 .8rem var(--font-display);letter-spacing:.06em}.section-intro{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:2rem;margin-bottom:3rem}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);align-items:center}.product-photo{aspect-ratio:4/5;max-height:660px}.product-copy>.accent{font-size:clamp(2.3rem,3.5vw,3.5rem);margin-bottom:1.5rem;color:var(--wine)}.dish-preview{list-style:none;margin:2rem 0;padding:0;border-top:1px solid var(--line-light)}.dish-preview li{padding:1rem 0;border-bottom:1px solid var(--line-light);display:flex;gap:1.5rem}.dish-preview li span{font:600 .9rem var(--font-display);color:var(--wine)}.product-copy .small{margin-top:1.5rem}.address-section{border-top:1px solid var(--line-light)}.address-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.address-heading h2{font-size:clamp(3rem,7vw,7rem)}.wide-photo{aspect-ratio:2.15}.address-story{display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;align-items:center;margin:2rem 0 0 32%}.address-story .text-link{justify-self:end;white-space:nowrap}.vault-section{background:var(--ink);color:var(--ivory);max-width:none}.vault-section>*{max-width:calc(var(--content-max) - 2 * var(--gutter));margin-left:auto;margin-right:auto}.vault-section .eyebrow>span{color:var(--brass)}.vault-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem}.vault-heading>.accent{color:var(--brass);font-size:clamp(2rem,3vw,3.5rem)}.vault-photo{margin-top:3rem;aspect-ratio:1.9;border-radius:45% 45% 0 0 / 50% 50% 0 0;transition:border-radius 600ms var(--ease-out)}.vault-photo.is-visible{border-radius:0}.vault-bottom{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding-top:2rem}.vault-section .text-link:hover,.site-footer .text-link:hover{color:var(--brass)}.wine-feature{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.wine-feature h2{margin:2rem 0}.wine-feature p:not(.eyebrow){max-width:40ch}.wine-feature .text-link{margin-top:1.5rem}.wine-feature picture{aspect-ratio:.87}.visit-section{border-top:1px solid var(--line-light)}.visit-section h2{font-size:clamp(3.5rem,7vw,7rem)}.visit-section h2 .accent{color:var(--wine);font-size:1.07em}.visit-grid{margin-top:3rem;display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:3rem}.visit-address{font-size:1.5rem;margin-bottom:1.5rem}.visit-grid>div:first-child .text-link{display:flex;max-width:210px;margin-top:.5rem}.hours h3{font-size:1.125rem;margin:0 0 1rem}.hours h3:not(:first-child){margin-top:1.5rem}.hours p{font-size:1rem;margin-top:.5rem}.hours p:has(>span){display:flex;justify-content:space-between;gap:1.25rem}.hours p>span:last-child{white-space:nowrap}.hours .muted{font-size:.9375rem}.visit-phone{display:block;align-self:start;font-size:1rem}.visit-phone span{font-family:var(--font-display);font-size:1.55rem}.site-footer{background:var(--ink);color:var(--ivory);padding:4rem var(--gutter) 1.5rem}.site-footer>div,.site-footer>.review-note{max-width:calc(var(--content-max) - 2 * var(--gutter));margin-inline:auto}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--line-dark)}.footer-top p{font-size:1rem}.footer-top .text-link{justify-self:end}.footer-grid{padding:3rem 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}.footer-grid .eyebrow{color:var(--brass);margin-bottom:1rem}.footer-grid a{font-size:1rem;display:block;width:fit-content;min-height:32px}.footer-grid p:not(.eyebrow){font-size:1rem;margin-bottom:.7rem}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{border-top:1px solid var(--line-dark);padding-top:1.5rem;display:flex;justify-content:space-between;gap:2rem;font-size:.875rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.5rem}.review-note{font-size:.8rem;color:#c0b9ac;padding-top:1.5rem}.mobile-reserve{display:none}.explore-dialog{position:fixed;inset:0 auto 0 0;margin:0;padding:2rem 3rem;width:min(960px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;background:var(--ink);color:var(--ivory);border:0;overflow:auto}.explore-dialog::backdrop{background:rgba(0,0,0,.58)}.explore-dialog[open]{animation:slide-in 420ms var(--ease-out)}.nav-top{display:flex;justify-content:space-between;align-items:center}.dialog-close{min-width:48px;min-height:48px;display:flex;align-items:center;gap:1rem;font-size:1rem}.dialog-close span{font-size:2rem;line-height:1}.nav-body{display:grid;grid-template-columns:1.15fr 1fr;gap:2.5rem;margin-top:2.5rem}.nav-body nav{display:grid;gap:.6rem}.nav-body nav a{font:600 clamp(2.5rem,4.3vw,4.25rem)/1.05 var(--font-display);display:flex;gap:1.5rem;align-items:center;min-height:48px;text-decoration:none;text-transform:uppercase;padding:.3rem 0}.nav-body nav a:hover,.nav-body nav a[aria-current]{color:var(--brass)}.nav-number{font:400 .9rem var(--font-body);color:var(--brass)}.nav-editorial{align-self:center}.nav-photo{aspect-ratio:.8;max-height:390px;transition:opacity 240ms}.nav-editorial .eyebrow{color:var(--brass);margin-top:1.5rem}.nav-editorial>p:last-child{font-size:1rem;margin-top:.5rem}.nav-bottom{margin-top:2rem;font-size:.9rem;color:#bdb8ae}.chapter{scroll-margin-top:1rem}.dark-intro{background:var(--ink)}.dark-intro .site-header{color:var(--ivory)}.dark-intro main{background:var(--ivory)}.page-intro{padding:4rem var(--gutter) 3rem;max-width:var(--content-max);margin:auto}.page-intro .eyebrow{margin-bottom:2rem}.page-intro p:not(.eyebrow){margin-top:1.5rem;font-size:1.25rem;max-width:52ch}.page-intro.dark{background:var(--ink);color:var(--ivory);max-width:none}.page-intro.dark .eyebrow span{color:var(--brass)}.page-intro.dark>*{max-width:calc(var(--content-max) - 2 * var(--gutter));margin-inline:auto}.page-intro.dark p:not(.eyebrow){margin-left:0}.inner-content{max-width:var(--content-max);margin:auto;padding:0 var(--gutter) 6rem}.page-intro+.section{padding-top:1rem}.prose{max-width:760px}.prose h2{font-size:2rem;margin:2.5rem 0 1rem}.prose p{margin-bottom:1rem}.notice{border-left:3px solid var(--wine);padding:1rem 1.5rem;background:#e8e1d4;margin-bottom:2rem;font-size:1rem}.button-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.divider{border:0;border-top:1px solid var(--line-light);margin:2rem 0}.reveal{animation:reveal-in 600ms var(--ease-out) both}.enhanced .hero-copy h1{animation:reveal-in 600ms var(--ease-out)}@keyframes reveal-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes slide-in{from{transform:translateX(-100%)}to{transform:none}}
@media(min-width:1200px) and (min-height:700px){body{padding-left:var(--rail)}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);background:var(--ink);color:var(--ivory);border-right:1px solid var(--line-dark);display:flex;align-items:center;flex-direction:column;padding:1.8rem .5rem;z-index:30}.rail>a{width:52px}.rail-explore{position:absolute;top:43%;display:flex;flex-direction:column;gap:1.5rem}.rail-explore>span:last-child{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.rail-index{margin-top:auto;color:var(--brass);font:600 1rem var(--font-display)}.mobile-explore{display:none}.enhanced .is-home .site-header{left:var(--rail);width:calc(100% - var(--rail))}.header-reserve{position:fixed;right:2rem;top:1.5rem}.explore-dialog{left:var(--rail);width:min(960px,calc(100vw - var(--rail)))}.site-header{padding-right:17rem}}
@media(min-width:1800px){.hero{min-height:900px}.hero-word{font-size:10.5rem}.enhanced .is-home .site-header{left:calc(var(--rail) + (100vw - var(--rail) - var(--content-max))/2)}.section{padding-block:7rem}}
@media(max-width:1100px){.hero-copy{padding-top:10rem;padding-right:1.5rem}.hero h1 .accent{font-size:3.3rem}.hero-word{font-size:7.5rem}.hero-photo{min-height:700px}.address-story{margin-left:10%;gap:2rem}.wine-feature{gap:3rem}.visit-grid{grid-template-columns:1fr 1.4fr}.visit-phone{grid-column:1/-1;max-width:240px}.footer-top{grid-template-columns:1fr 1.5fr}.footer-top>.text-link{grid-column:2;justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid nav{grid-column:1/-1;grid-template-columns:repeat(4,1fr);row-gap:.5rem}.vault-heading{align-items:start;flex-direction:column;gap:1.5rem}}
@media(max-width:767px){:root{--gutter:1.25rem}body{font-size:1rem}.site-header{height:98px;padding-block:1.25rem}.brand{width:130px}.header-actions{gap:.4rem}.header-reserve{display:none}.mobile-explore{padding-right:0}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:8.5rem var(--gutter) 2rem}.hero-eyebrow{margin-bottom:1.7rem;font-size:.875rem}.hero-word{font-size:clamp(5.4rem,20vw,8rem)}.hero h1 .accent{font-size:clamp(2.75rem,10.8vw,4rem);margin-top:.9rem}.hero-description{font-size:1.125rem;margin-top:1.5rem}.hero-description br{display:none}.hero-actions{margin-top:1.5rem}.hero-actions .button{font-size:1rem;min-height:48px}.hero-bottom{padding-top:1.75rem;margin-top:0}.hero-bottom a{width:40px;height:40px}.hero-photo{min-height:0;height:400px;margin:0 var(--gutter)}.hero-photo picture{position:static;height:100%}.hero-photo img{object-position:center 48%!important}.photo-caption{padding:2rem 1rem 1rem;font-size:.75rem}.section{padding-block:4rem}.section-intro{display:block;margin-bottom:2rem}.section-intro .eyebrow{margin-bottom:1.5rem}.section-intro h2{font-size:3rem}.product-layout{grid-template-columns:1fr;gap:2rem}.product-photo{aspect-ratio:1.05;max-height:500px}.product-copy>.accent{font-size:2.7rem}.product-copy>p{max-width:50ch}.address-heading{display:block}.address-heading h2{font-size:3.5rem}.address-heading p{margin-top:1.5rem}.wide-photo{aspect-ratio:1.1}.address-story{display:block;margin:1.5rem 0 0}.address-story .text-link{margin-top:1rem}.vault-heading h2{font-size:2.85rem}.vault-heading>.accent{font-size:2.4rem}.vault-photo{aspect-ratio:1.08;margin-top:2rem;border-radius:45% 45% 0 0 / 35% 35% 0 0}.vault-photo.is-visible{border-radius:45% 45% 0 0 / 35% 35% 0 0}.vault-bottom{display:block}.vault-bottom .text-link{margin-top:1rem}.wine-feature{grid-template-columns:1fr;gap:2rem}.wine-feature h2{font-size:3rem;margin:1.5rem 0}.wine-feature picture{aspect-ratio:1.15}.visit-section h2{font-size:3.8rem}.visit-grid{grid-template-columns:1fr;gap:2.5rem;margin-top:2rem}.visit-address{font-size:1.4rem}.site-footer{padding-top:3rem;padding-bottom:calc(85px + env(safe-area-inset-bottom))}.is-reservations .site-footer{padding-bottom:1.5rem}.footer-top{grid-template-columns:1fr;gap:1.5rem;padding-bottom:2rem}.footer-top>.text-link{grid-column:auto;justify-self:start}.footer-grid{grid-template-columns:1fr;gap:2rem;padding-block:2rem}.footer-grid nav{grid-column:auto;grid-template-columns:1fr 1fr}.footer-grid a{min-height:40px}.footer-bottom{display:block}.footer-bottom nav{margin-top:1rem;gap:1rem}.footer-bottom nav a{min-height:32px}.mobile-reserve{display:flex;position:fixed;inset:auto 0 0;background:var(--ivory);border-top:1px solid var(--line-light);padding:.5rem var(--gutter) calc(.5rem + env(safe-area-inset-bottom));gap:1rem;align-items:center;z-index:25}.mobile-reserve .button{flex:1;min-height:48px;padding:.65rem 1rem}.mobile-reserve>a:last-child{padding:.5rem;font-size:1rem}.modal-open .mobile-reserve,.consent-open .mobile-reserve{display:none}.explore-dialog{padding:1.5rem;max-width:100vw;width:100vw}.nav-top img{width:135px;height:auto}.nav-body{display:block;margin-top:1.5rem}.nav-body nav{gap:.5rem}.nav-body nav a{font-size:2.8rem;padding:.2rem 0}.nav-editorial{display:none}.nav-bottom{padding-bottom:1rem}.page-intro{padding-top:2.5rem;padding-bottom:2.5rem}.page-intro p:not(.eyebrow){font-size:1.125rem}.page-intro .eyebrow{margin-bottom:1.5rem}.page-intro h1{font-size:clamp(3rem,12.5vw,5rem)}.inner-content{padding-bottom:4rem}.hours p:has(>span){gap:.5rem}.notice{padding:1rem}.prose h2{font-size:1.8rem}}
@media(max-height:499px){.hero{min-height:0}.hero-photo{min-height:400px}.hero-copy{padding-top:8rem}.hero-book{display:inline-flex}.hero-actions .button{min-height:48px}.mobile-reserve{display:none}.site-footer{padding-bottom:2rem}.explore-dialog{height:100dvh}.nav-body nav a{font-size:2.3rem}.nav-editorial{display:none}.nav-body{display:block}.nav-bottom{padding-bottom:1rem}.header-reserve{position:static}.hero h1{margin-top:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.vault-photo{border-radius:0}#gallery-cursor{display:none!important}}
@media print{body{padding:0;background:#fff;color:#000;font:11pt/1.4 Arial,sans-serif}.site-header,.rail,.site-footer,.fallback-nav,.mobile-reserve,.skip-link,.button,.text-link,dialog,.filter-controls,.gallery-filters{display:none!important}.section,.inner-content,.page-intro{padding:1rem 0;max-width:none}h1{font-size:32pt}h2{font-size:24pt}h3{font-size:16pt}picture{display:none!important}a{color:#000;text-decoration:none}.menu-row,.wine-row{break-inside:avoid}.menu-category{break-before:auto}.dark-intro,.page-intro.dark{background:#fff!important;color:#000!important}}

.reservation-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:4rem;align-items:start}.booking-panel{border:1px solid var(--line-light);padding:2rem 3rem;background:#e8e1d4;text-align:center}.booking-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line-light);padding-bottom:1rem;margin-bottom:2.5rem}.booking-top .eyebrow{font-size:.85rem}.booking-mark{font-family:var(--font-display);font-size:1rem;white-space:nowrap}.booking-logo{margin:0 auto 2rem;width:150px;height:auto}.booking-panel h2{font-size:3.7rem}.booking-panel>p{max-width:34ch;margin:1.5rem auto}.booking-panel>.button{margin-top:.5rem;min-width:270px}.booking-panel .booking-provider{font-size:.875rem;margin:1rem auto 0}.booking-alternative{margin-top:2.5rem;border-top:1px solid var(--line-light);padding-top:1.5rem}.booking-alternative h3{font-size:1.1rem}.booking-alternative .text-link{font-size:1.5rem;font-family:var(--font-display)}.booking-alternative p{margin-top:1rem;text-align:left}.booking-information>div+div{border-top:1px solid var(--line-light);margin-top:2rem;padding-top:2rem}.booking-information h2{font-size:2rem;margin-bottom:.5rem}.booking-information>div>a{display:inline-block;margin-top:.8rem}.booking-conditions h3{font-size:1.2rem;margin-bottom:1rem}.booking-conditions p{font-size:1rem}.about-opening{display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;align-items:center}.about-opening picture{aspect-ratio:1.13}.image-credit{margin-top:.75rem}.about-copy .accent{font-size:clamp(2.5rem,4vw,3.5rem);margin-bottom:2rem;color:var(--wine)}.about-copy .text-link{margin-top:1.5rem}.about-history{border-top:1px solid var(--line-light)}.history-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem}.timeline{margin-top:2rem;border-top:1px solid var(--line-light)}.timeline>div{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line-light)}.timeline dt{font:600 2rem var(--font-display);color:var(--wine)}.timeline dd{margin:0;font-size:1rem}.about-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:center;padding-top:1rem}.about-detail h2{margin:2rem 0}.about-detail picture{aspect-ratio:1}.about-detail .button-row{margin-top:1.5rem;gap:2rem}.menu-toolbar{max-width:var(--content-max);margin:auto;padding:0 var(--gutter);display:flex;justify-content:space-between;gap:1rem}.menu-index{display:flex;gap:2rem;overflow-x:auto;scrollbar-width:thin;padding-bottom:1rem;border-bottom:1px solid var(--line-light)}.menu-index a{white-space:nowrap;display:flex;align-items:center;gap:.7rem;font-size:1rem;text-decoration:none;min-height:44px}.menu-index a:hover{text-decoration:underline}.menu-index a>span{color:var(--wine);font-family:var(--font-display)}.print-button{white-space:nowrap;font-size:.9375rem;align-self:start;min-height:44px;text-decoration:underline}.menu-category{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding-top:4rem;scroll-margin-top:5rem}.menu-category-heading h2{font-size:clamp(2rem,3vw,3rem);margin-top:1.25rem;text-wrap:wrap}.menu-category-heading .eyebrow{gap:.7rem}.menu-row{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--line-light);transition:background 160ms}.menu-row:first-child{border-top:1px solid var(--line-light)}.menu-row:hover{background:rgba(179,154,101,.1)}.menu-row h3{font:400 1.2rem/1.4 var(--font-body);text-wrap:wrap}.menu-row p{font-size:.9375rem;color:#595c55;margin-top:.5rem}.price{white-space:nowrap;font-size:1.125rem;font-variant-numeric:tabular-nums;flex-shrink:0}.menu-interlude{margin:4rem 0 0}.menu-interlude picture{aspect-ratio:3.4;max-height:360px}.menu-interlude figcaption{font-size:.8rem;margin-top:.6rem;color:#595c55}.menu-notes{margin:3rem 0 0 34%;border-top:3px double var(--line-light);padding-top:1.5rem}.menu-notes .text-link{margin-top:1rem}.bodega-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:3rem;padding:3rem var(--gutter) 4rem;background:var(--ink);color:var(--ivory);max-width:var(--content-max);margin:auto}.bodega-intro .eyebrow>span{color:var(--brass)}.bodega-intro h1{margin-top:2rem}.bodega-intro .accent{font-size:clamp(2.3rem,3.5vw,3.7rem);color:var(--brass);margin-top:1.5rem}.bodega-intro p:last-child{margin-top:1.5rem}.bodega-intro picture{aspect-ratio:1.5}.wine-catalog{padding-top:3rem}.filter-controls{display:grid;grid-template-columns:1.5fr 1fr .75fr;gap:1.5rem 1rem}.filter-controls label:not(.filter-chip),.filter-controls legend,.design-system>section>label{display:block;font:600 .85rem var(--font-display);letter-spacing:.04em;margin-bottom:.7rem}.filter-controls input[type=search],select,.design-system>section>input{width:100%;min-height:52px;padding:.75rem 1rem;border:1px solid var(--ink);border-radius:2px;background:transparent;max-width:100%}input[type=search]::-webkit-search-cancel-button{cursor:pointer}.type-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.65rem;border:0;padding:0;margin:0}.type-filters legend{padding:0;margin-bottom:.7rem}.filter-chip{position:relative;cursor:pointer}.filter-chip input{position:absolute;opacity:0;width:1px;height:1px}.filter-chip span,.filter-button{min-height:46px;padding:.55rem 1.1rem;border:1px solid var(--line-light);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;border-radius:2px;background:transparent}.filter-chip input:checked+span,.filter-button[aria-pressed=true]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.filter-chip input:checked+span::before{content:'✓';font-size:.875rem;margin-right:.6rem}.filter-chip input:focus-visible+span{outline:2px solid var(--wine);outline-offset:4px}.filter-chip:hover span,.filter-button:hover{border-color:var(--ink)}.filter-summary{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-light);padding-bottom:1rem;font-size:.9375rem}.reset-filters{font-size:.9375rem;text-decoration:underline;text-underline-offset:.25em;min-height:44px}.wine-group{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.wine-group-heading{display:flex;gap:1.3rem;align-items:baseline;grid-column:1/-1;margin-bottom:1.5rem}.wine-group-heading>span{font:600 1rem var(--font-display);color:var(--wine)}.wine-group-heading h2{font-size:2.8rem}.wine-row{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line-light);min-width:0}.wine-row h3{font:400 1.125rem/1.4 var(--font-body);text-wrap:wrap}.wine-row p{font-size:.875rem;color:#595c55;margin-top:.35rem}.format-label{display:inline-block;border:1px solid var(--line-light);padding:.1rem .35rem;margin-left:.4rem;font-size:.8rem;color:var(--ink)}.catalog-note{margin-top:2.5rem;max-width:75ch}.wine-empty{text-align:center;padding:5rem 1rem}.wine-empty h2{font-size:2.5rem}.wine-empty p{margin:1.5rem auto}.gallery-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;align-items:center}.gallery-count{font-size:.9rem;margin:0 0 0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.25rem}.gallery-item{min-width:0}.gallery-item a{display:block;position:relative;overflow:hidden}.gallery-item picture{aspect-ratio:.8}.gallery-item img{transition:transform 350ms var(--ease-out)}.gallery-item a:hover img{transform:scale(1.025)}.gallery-wide{grid-column:span 2}.gallery-wide picture{aspect-ratio:1.63}.gallery-item figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.65rem;font-size:.8rem;line-height:1.35;color:#595c55}.gallery-item figcaption>span:last-child{flex-shrink:0;font-family:var(--font-display)}.expand-mark{position:absolute;bottom:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:var(--ivory);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.gallery-note{margin-top:2.5rem}.lightbox{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;background:var(--ink);color:var(--ivory);padding:1rem 2rem}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:var(--ink)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:.9375rem}.lightbox figure{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:.5rem 0 1rem}.lightbox figure img{width:100%;min-height:0;flex:1;object-fit:contain}.lightbox figcaption{font-size:1rem;text-align:center}.lightbox-bottom{display:flex;justify-content:space-between;gap:2rem}.lightbox-bottom button{border:1px solid var(--line-dark);min-height:48px;min-width:130px;padding:.5rem 1rem;display:flex;gap:1rem;justify-content:space-between;align-items:center}.lightbox button:hover{color:var(--brass)}#gallery-cursor{position:fixed;pointer-events:none;width:36px;height:36px;border-radius:50%;background:var(--brass);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:.75rem;z-index:22;top:0;left:0}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem}.contact-photo picture{aspect-ratio:.69}.contact-information h2{font-size:2.8rem;margin:1.25rem 0}.contact-address>p:not(.eyebrow){font-size:1.3rem}.contact-channels{margin:2rem 0;border-top:1px solid var(--line-light)}.contact-channels a{display:block;padding:1rem 0;border-bottom:1px solid var(--line-light);text-decoration:none;font-size:1.3rem;overflow-wrap:anywhere}.contact-channels a:hover{color:var(--wine)}.contact-channels a span{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}.contact-book{margin-top:2rem;display:flex;gap:1.5rem;flex-direction:column;align-items:start}.legal-intro h1{max-width:14ch;font-size:clamp(3rem,6vw,6rem)}.legal-intro,.legal-layout{max-width:calc(760px + 2 * var(--gutter))}.legal-layout p{max-width:none}.legal-date{margin-bottom:2rem}.pending{color:var(--wine);background:#e8e1d4}.not-found{padding-top:6rem;padding-bottom:8rem}.not-found h1{margin:2rem 0}.not-found p{font-size:1.25rem}.not-found .button-row{margin-top:2rem}.design-system>section{border-top:1px solid var(--line-light);padding:2rem 0}.design-system>section>h2{font-size:2.5rem;margin-bottom:2rem}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.swatches span{display:block;height:100px;border:1px solid var(--line-light)}.specimen-title{font-size:5rem;margin-bottom:1rem}.specimen-accent{font-size:4rem;margin-bottom:1rem}.dark-sample{background:var(--ink);padding:2rem;margin-top:2rem}.button-brass{background:var(--brass);border-color:var(--brass);color:var(--ink)}.button-brass:hover{background:var(--ivory);border-color:var(--ivory)}.field-error{color:var(--wine);font-size:1rem;margin-top:.5rem}.design-system input[aria-invalid=true]{border:2px solid var(--wine)}.accordion-toggle{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-block:1px solid var(--line-light);width:100%;font-size:1.2rem}.accordion-toggle span{font-size:1.5rem}#sample-panel{padding:1.5rem 0}.status-message{border-left:3px solid var(--wine);padding:1rem;background:#e8e1d4;margin-top:1rem}.consent-panel{position:fixed;bottom:1.5rem;left:calc(var(--rail) + 1.5rem);z-index:35;width:min(680px,calc(100vw - var(--rail) - 3rem));padding:2rem;background:var(--ivory);color:var(--ink);border:1px solid var(--ink);box-shadow:0 4px 30px #0002;max-height:calc(100dvh - 3rem);overflow:auto}.consent-panel h3{font-size:2rem;margin-bottom:1rem}.consent-panel p{font-size:1rem;margin-bottom:1rem}.consent-panel .button-row{display:grid;grid-template-columns:1fr 1fr}.consent-panel .button-row>.button{justify-content:center;gap:0}.consent-panel .text-link{font-size:1rem;min-height:44px;width:fit-content}.consent-specimen{position:static;width:100%;max-height:none;box-shadow:none}.consent-purpose{display:flex;gap:1rem;align-items:start;border-top:1px solid var(--line-light);padding:1rem 0}.consent-purpose input{width:22px;height:22px;flex-shrink:0}.cookie-settings{color:inherit;text-decoration:underline;font-size:inherit;padding:0}.consent-storage-warning{color:var(--wine)}
@media(min-width:1800px){.bodega-intro{padding-top:5rem;padding-bottom:5rem}}
@media(max-width:1100px){.reservation-layout{gap:2rem}.booking-panel{padding:1.5rem}.about-opening,.history-grid,.about-detail{gap:3rem}.menu-category{grid-template-columns:1fr 2fr;gap:2rem}.menu-toolbar{display:block}.print-button{margin-top:.5rem}.menu-notes{margin-left:0}.filter-controls{grid-template-columns:1fr 1fr}.wine-search{grid-column:1/-1}.wine-group{column-gap:2rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item picture{aspect-ratio:1.1}.gallery-wide picture{aspect-ratio:1.8}.contact-layout{gap:2.5rem}.consent-panel{left:1.5rem;width:min(680px,calc(100vw - 3rem))}}
@media(max-width:767px){.reservation-layout{grid-template-columns:1fr;gap:2.5rem}.booking-panel{padding:1.25rem}.booking-top{margin-bottom:2rem}.booking-panel h2{font-size:3.1rem}.booking-panel>.button{min-width:0;width:100%;gap:1rem}.booking-top .eyebrow{font-size:.8rem}.booking-top{gap:.5rem}.booking-logo{width:135px}.booking-alternative .text-link{font-size:1.4rem}.about-opening,.history-grid,.about-detail{grid-template-columns:1fr;gap:2rem}.about-opening{padding-top:0!important}.about-opening picture{aspect-ratio:1.2}.about-detail h2{margin:1.5rem 0}.about-detail .button-row{align-items:start;gap:1.5rem;flex-direction:column}.about-detail picture{aspect-ratio:1.2}.menu-index{gap:1.5rem;position:relative;mask-image:linear-gradient(to right,#000 94%,transparent);padding-right:1rem}.menu-index a{font-size:.9375rem;gap:.4rem}.menu-category{grid-template-columns:1fr;gap:1.5rem;padding-top:3rem}.menu-category h2{font-size:2.6rem;margin-top:.75rem}.menu-row{gap:1rem;padding:1rem 0}.menu-row h3{font-size:1.0625rem}.menu-row .price{font-size:1rem}.menu-interlude{margin-top:2.5rem}.menu-interlude picture{aspect-ratio:1.7}.menu-notes p{font-size:.9375rem}.bodega-intro{display:block;padding-top:2.5rem;padding-bottom:2.5rem}.bodega-intro h1{font-size:clamp(3rem,14vw,5rem)}.bodega-intro .accent{font-size:2.7rem}.bodega-intro picture{margin-top:2rem;aspect-ratio:1.8}.wine-catalog{padding-top:2rem}.filter-controls{gap:1.25rem .75rem}.filter-controls label:not(.filter-chip){font-size:.8rem}.filter-controls select{padding:.75rem .5rem;font-size:.9375rem}.filter-chip span{font-size:.9375rem;padding:.55rem .85rem}.wine-group{grid-template-columns:1fr;margin-top:2.5rem}.wine-group-heading h2{font-size:2.5rem}.wine-row h3{font-size:1.0625rem}.wine-row .price{font-size:1rem}.gallery-filters{gap:.5rem}.filter-button{font-size:.875rem;padding:.55rem .75rem}.gallery-count{flex-basis:100%;margin:.5rem 0 0}.gallery-grid{gap:1.5rem .75rem}.gallery-item picture{aspect-ratio:.8}.gallery-wide picture{aspect-ratio:1.2}.gallery-item figcaption{font-size:.75rem;gap:.5rem}.expand-mark{bottom:.5rem;right:.5rem;width:30px;height:30px}.lightbox{padding:.75rem 1rem}.lightbox figcaption{font-size:.9375rem}.lightbox-bottom button{min-width:115px}.contact-layout{display:flex;flex-direction:column-reverse;gap:2rem}.contact-photo picture{aspect-ratio:1.05}.contact-information h2{font-size:2.5rem}.contact-channels a{font-size:1.25rem}.legal-intro h1{font-size:clamp(2.8rem,11vw,4.5rem);overflow-wrap:anywhere}.legal-layout .prose p{font-size:1rem}.not-found{padding-block:3rem 5rem}.not-found h1{font-size:3.5rem}.not-found p{font-size:1.125rem}.swatches{grid-template-columns:repeat(3,1fr)}.specimen-title{font-size:3rem}.specimen-accent{font-size:2.7rem}.consent-panel{left:1rem;bottom:1rem;padding:1.25rem;width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem)}.consent-panel h3{font-size:1.6rem}.consent-panel .button-row{gap:.75rem}.consent-panel .button{font-size:.875rem;padding:.65rem .5rem}.consent-specimen{width:100%}}
@media(max-width:359px){.menu-row{gap:.65rem}.menu-row h3{font-size:1rem}.menu-row .price{font-size:.9375rem}.menu-row:has(.price:last-child){align-items:start}.hero-actions .button{padding:.7rem 1.1rem}.photo-caption{font-size:.7rem}.consent-panel .button-row{grid-template-columns:1fr}.filter-controls{grid-template-columns:1fr}.wine-search{grid-column:auto}}
@media(max-height:499px){.consent-panel{max-height:calc(100dvh - 2rem);bottom:1rem;top:1rem}.lightbox figure{padding:0}.lightbox-top{min-height:42px}.lightbox figcaption{font-size:.85rem}.lightbox-bottom button{min-height:44px}}
@media print{.menu-category{display:block;padding-top:1.5rem}.menu-category-heading{break-after:avoid}.menu-category-heading h2{font-size:20pt;margin:.5rem 0}.menu-row h3{font-size:11pt}.menu-row .price{font-size:11pt}.menu-row{padding:.45rem 0}.menu-notes{margin:1rem 0}.menu-toolbar{display:none}.wine-group{display:block}.wine-row h3{font-size:11pt}.wine-row .price{font-size:11pt}.wine-row{padding:.4rem 0}.wine-group h2{font-size:20pt}.pending{background:none}.notice{background:none;border-color:#000}}
.is-reservations .page-intro{padding-top:2rem;padding-bottom:2rem}.booking-panel h2{font-size:2.5rem}.booking-top{margin-bottom:1.5rem}.booking-panel>p{margin:1rem auto}.dark-intro .header-reserve{background:var(--brass);border-color:var(--ink);color:var(--ink)}.dark-intro .header-reserve:hover{background:var(--ivory)}.filter-button[aria-pressed=true]::before{content:'✓';margin-right:.5rem;font-size:.875rem}
@media(min-width:1800px){.enhanced .is-home .site-header{margin:0;right:auto;width:var(--content-max)}}
.is-home .mobile-explore{background:var(--ivory);color:var(--ink);padding-inline:.75rem}

/* Embedded reservations: full-width provider surface and persistent alternatives. */
.reservation-layout{grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:3rem}
.booking-panel{padding:1.75rem;min-width:0}
.booking-top{margin-bottom:1.5rem}.booking-panel h2{font-size:3.2rem}
.booking-gate{margin-top:1.75rem;padding:1.5rem;background:var(--ivory);text-align:left}
.booking-gate p{font-size:1rem;margin-bottom:1rem}.booking-gate .small{font-size:.875rem}
.booking-gate .button{width:100%;gap:1rem;text-align:left}
.booking-stage{margin-top:1.5rem}
.booking-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;font-size:.8rem;margin-bottom:.5rem}
.booking-stage-toolbar button{min-height:44px;text-decoration:underline;text-underline-offset:.2em}
.booking-frame-slot{background:#fff}
.booking-frame-slot iframe{display:block;width:100%;border:0;min-height:550px;background:#fff}
.booking-status{font-size:.9375rem;padding:1rem;background:var(--ivory);text-align:left}
.booking-fallback{margin-top:1.5rem}.booking-fallback .text-link{font-size:.9375rem;gap:.75rem;text-align:left}
.booking-alternative{margin-top:1.5rem}
@media(max-width:1100px){.reservation-layout{grid-template-columns:1fr;max-width:900px}.booking-information{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.booking-information>div+div{margin-top:0;padding-top:0;border-top:0}.booking-conditions{grid-column:1/-1}}
@media(max-width:767px){.booking-panel{padding:1rem .5rem}.booking-top,.booking-panel>h2,.booking-panel>p,.booking-alternative{margin-left:.5rem;margin-right:.5rem}.booking-panel h2{font-size:2.9rem}.booking-gate{padding:1.1rem .75rem}.booking-gate .button{font-size:.9375rem;padding:.9rem .75rem}.booking-gate .button svg{width:20px;flex-shrink:0}.booking-information{grid-template-columns:1fr}.booking-stage-toolbar{gap:.5rem}.booking-stage-toolbar>span{font-size:.75rem}.booking-fallback{padding-inline:.5rem}}

@media(max-width:359px){.reservation-layout{padding-inline:0}.booking-panel{border-inline:0}.booking-information{padding-inline:var(--gutter)}}

/* Carta and bodega: compact mastheads, paper menu and grouped wine lists. */
.catalog-page{--catalog-paper:#faf7f0;--catalog-rule:#d4cdc0;max-width:var(--content-max);margin-inline:auto;padding:1.5rem var(--gutter) 6rem}
.catalog-masthead{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,30%);gap:3rem;align-items:center;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line-light)}
.catalog-masthead-copy{min-width:0}
.catalog-masthead .eyebrow{font-size:.875rem;gap:.8rem;margin-bottom:1.75rem}
.catalog-masthead h1{font-size:clamp(3.5rem,7.5vw,7.5rem);color:var(--wine);line-height:.94}
.catalog-masthead .accent{font-size:clamp(1.6rem,2.6vw,2.65rem);margin-top:1.25rem;max-width:26ch}
.catalog-masthead-photo{height:clamp(180px,18vw,270px);width:100%;border-radius:1px}
.catalog-masthead-wine .catalog-masthead-photo{height:clamp(160px,16vw,230px)}
.catalog-masthead-wine h1{color:var(--ink)}
.catalog-masthead-wine .accent{color:var(--wine)}
.menu-reading-layout{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.menu-navigation{position:sticky;top:2rem;padding-top:.5rem}
.catalog-page .menu-index{display:flex;flex-direction:column;gap:0;border:0;padding:0;overflow:visible;mask-image:none}
.catalog-page .menu-index a{display:grid;grid-template-columns:1.3rem minmax(0,1fr) auto;gap:.6rem;align-items:baseline;border-bottom:1px solid var(--catalog-rule);padding:1rem .5rem;min-height:56px;white-space:normal;font-size:1rem;line-height:1.3;text-decoration:none;transition:background 180ms,color 180ms}
.catalog-page .menu-index a>span{font-family:var(--font-body);color:inherit}
.catalog-page .menu-index .menu-index-number,.catalog-page .menu-index .menu-index-count{font-size:.75rem;font-variant-numeric:tabular-nums;color:#6d625a}
.catalog-page .menu-index a:hover,.catalog-page .menu-index a[aria-current]{color:var(--wine);background:#e8e0d2}
.catalog-page .menu-index a[aria-current]{box-shadow:inset 2px 0 var(--wine)}
.catalog-page .menu-index a[aria-current] .menu-index-title{font-weight:600}
.catalog-page .print-button{margin:1.5rem 0 0;padding:.5rem;font-size:.875rem;color:#595c55;white-space:normal}
.menu-paper{min-width:0;background:var(--catalog-paper);padding:clamp(1.5rem,3vw,3.25rem);border:1px solid var(--catalog-rule)}
.catalog-page .menu-category{display:block;padding-top:0;scroll-margin-top:2rem}
.catalog-page .menu-category+.menu-category{margin-top:3.75rem}
.catalog-page .menu-category-heading{display:flex;gap:1.2rem;align-items:baseline;margin-bottom:1.1rem;padding-bottom:1.25rem;border-bottom:2px solid var(--wine)}
.catalog-section-number{font:italic 400 1.125rem/1 var(--font-accent);color:var(--wine);flex-shrink:0}
.catalog-page .menu-category-heading h2{font-size:clamp(1.8rem,2.65vw,2.8rem);line-height:1.05;margin:0;text-wrap:wrap}
.catalog-page .menu-category-heading .accent{font-size:1.3rem;line-height:1.2;color:#6d625a;margin-top:.45rem}
.catalog-page .menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:baseline;padding:1.2rem 0;border-color:var(--catalog-rule)}
.catalog-page .menu-row:first-child{border-top:0}
.catalog-page .menu-row:last-child{border-bottom:0}
.catalog-page .menu-row:hover{background:transparent}
.catalog-page .menu-row>div{min-width:0}
.catalog-page .menu-row h3{font:400 1.1875rem/1.45 var(--font-body);text-wrap:wrap}
.catalog-page .menu-row p{font-size:.9375rem;line-height:1.55;margin-top:.5rem;max-width:52ch}
.catalog-page .menu-row .price{max-width:none;white-space:nowrap;font-size:1.125rem;font-weight:500;color:var(--wine);line-height:1.45}
.catalog-page .menu-notes{margin:2.5rem 0 0;padding-top:1.5rem;border-top:3px double var(--catalog-rule)}
.catalog-page .menu-notes p{font-size:.9375rem;line-height:1.5}
.catalog-page .menu-notes .small{margin-top:1.25rem;font-size:.8125rem}
.catalog-page .menu-notes .text-link{font-size:1rem;margin-top:1.5rem}
.catalog-page .wine-catalog{padding:0}
.catalog-page .filter-controls{gap:1.5rem 1rem;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.85fr);padding:1.5rem 1.75rem 0;background:var(--catalog-paper);border:1px solid var(--catalog-rule)}
.catalog-page .type-filters{gap:.5rem;margin-bottom:.3rem}
.catalog-page .filter-controls label:not(.filter-chip),.catalog-page .filter-controls legend{font:500 .875rem/1.3 var(--font-body);letter-spacing:0}
.catalog-page .filter-controls legend{margin-bottom:.8rem}
.catalog-page .filter-chip span{gap:.65rem;min-height:46px;border-radius:2px;padding:.55rem .95rem;border-color:var(--catalog-rule);font-size:1rem}
.catalog-page .filter-chip small{font-size:.75rem;line-height:1;opacity:.8;font-variant-numeric:tabular-nums}
.catalog-page .filter-chip input:checked+span{background:var(--wine);border-color:var(--wine);color:var(--ivory)}
.catalog-page .filter-chip input:checked+span::before{content:none}
.catalog-page .filter-chip:hover span{border-color:var(--wine)}
.catalog-page .wine-search{grid-column:auto;min-width:0}
.wine-search-field{position:relative}
.wine-search-field>svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#6d625a}
.catalog-page .filter-controls input[type=search],.catalog-page .filter-controls select{min-height:52px;background:var(--catalog-paper);border:1px solid var(--line-light);border-radius:2px;font-size:1rem;line-height:1.3;padding:.85rem .8rem}
.catalog-page .filter-controls input[type=search]{padding-left:2.8rem}
.catalog-page .filter-controls input[type=search]::placeholder{color:#6d625a;opacity:1}
.catalog-page .filter-controls input[type=search]:focus-visible,.catalog-page .filter-controls select:focus-visible{outline:2px solid var(--wine);outline-offset:2px;box-shadow:none}
.catalog-page .filter-summary{padding:.65rem 0 .9rem;border-bottom:0;border-top:1px solid var(--catalog-rule);gap:1rem}
.catalog-page .filter-summary p{font-size:.9375rem;font-variant-numeric:tabular-nums}
.catalog-page .reset-filters{font-size:.9375rem;color:var(--wine);padding:.5rem 0}
.catalog-page .reset-filters:disabled{color:#6d625a;opacity:.65;cursor:default;text-decoration:none}
.catalog-page .wine-group{display:block;margin-top:3.25rem}
.catalog-page .wine-group-heading{gap:1rem;margin-bottom:1.75rem;padding-bottom:1.15rem;border-bottom:2px solid var(--wine)}
.catalog-page .wine-group-heading h2{font-size:clamp(2.25rem,3.5vw,3.5rem);line-height:1.05;min-width:0;text-wrap:wrap}
.catalog-page .wine-group-heading .wine-group-count{margin-left:auto;color:#6d625a;font:400 .9375rem var(--font-body);font-variant-numeric:tabular-nums}
.wine-regions{columns:2;column-gap:3.5rem}
.wine-region{display:flow-root;break-inside:avoid;margin:0 0 2rem}
.wine-region>h3{font:600 .9375rem/1.4 var(--font-body);color:var(--wine);padding-bottom:.7rem;border-bottom:1px solid var(--line-light)}
.catalog-page .wine-row{padding:.95rem 0;border-color:var(--catalog-rule);gap:1.25rem}
.catalog-page .wine-row:last-child{border-bottom:0}
.catalog-page .wine-row>div{min-width:0}
.catalog-page .wine-row h4{font:400 1.125rem/1.4 var(--font-body);margin:0;overflow-wrap:anywhere}
.catalog-page .wine-row .price{font-size:1.0625rem;font-weight:500;line-height:1.4;color:var(--ink)}
.catalog-page .wine-row p{margin-top:.4rem}
.catalog-page .format-label{margin:0;font-size:.75rem;background:#e8e0d2;border:0;padding:.15rem .45rem}
.catalog-page .wine-empty{margin-top:2rem;padding:2rem 1.5rem 3rem;background:var(--catalog-paper);border:1px solid var(--catalog-rule)}
.wine-empty-mark{display:block;color:var(--wine);font:400 4rem/1 var(--font-accent);margin-bottom:1rem}
.catalog-page .wine-empty h2{font:400 clamp(1.75rem,3vw,2.5rem)/1.2 var(--font-accent);max-width:24ch;margin-inline:auto}
.catalog-page .wine-empty p{font-size:1rem;max-width:48ch;line-height:1.5}
.catalog-page .catalog-note{border-top:1px solid var(--line-light);padding-top:1.5rem;margin-top:2rem;max-width:none;font-size:.8125rem;line-height:1.5}
@media(min-width:1800px){.catalog-page{max-width:90rem}}
@media(max-width:1100px){
.menu-reading-layout{grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:1.75rem}
.catalog-masthead{gap:2rem}
.catalog-page .menu-row{gap:1rem}
.catalog-page .menu-row h3{font-size:1.125rem}
.catalog-page .menu-row .price{font-size:1.0625rem}
.catalog-page .filter-controls{grid-template-columns:1fr 1fr}
.catalog-page .wine-search{grid-column:1/-1}
.wine-regions{column-gap:2.25rem}
}
@media(max-width:767px){
.catalog-page{padding-top:.75rem;padding-bottom:3.5rem}
.catalog-masthead{grid-template-columns:minmax(0,1fr) 29%;gap:1rem;padding-bottom:1.5rem;margin-bottom:0}
.catalog-masthead .eyebrow{font-size:.75rem;gap:.4rem;line-height:1.4;margin-bottom:1rem;max-width:23ch}
.catalog-masthead h1{font-size:clamp(2.6rem,10vw,4.5rem);line-height:1}
.catalog-masthead .accent{font-size:1.45rem;line-height:1.15;margin-top:.65rem}
.catalog-masthead-photo,.catalog-masthead-wine .catalog-masthead-photo{height:170px}
.menu-reading-layout{display:block}
.menu-navigation{top:0;z-index:8;background:var(--ivory);padding:.6rem 0 .75rem;margin-bottom:1rem;border-bottom:1px solid var(--line-light)}
.catalog-page .menu-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.catalog-page .menu-index a{grid-template-columns:1rem minmax(0,1fr);gap:.4rem;border:1px solid var(--catalog-rule);padding:.65rem .6rem;min-height:46px;font-size:.875rem;align-items:center}
.catalog-page .menu-index .menu-index-count{display:none}
.catalog-page .menu-index a[aria-current]{background:var(--wine);color:var(--ivory);border-color:var(--wine);box-shadow:none}
.catalog-page .menu-index a[aria-current] .menu-index-number{color:var(--ivory)}
.catalog-page .print-button{display:none}
.menu-paper{border:0;padding:1.25rem;margin-inline:calc(-1 * var(--gutter))}
.catalog-page .menu-category{scroll-margin-top:max(0px,calc(var(--menu-index-height,130px) + 1rem - 6rem))}
.catalog-page .menu-category+.menu-category{margin-top:2.5rem}
.catalog-page .menu-category-heading{gap:.75rem;padding-bottom:1rem;margin-bottom:.5rem}
.catalog-page .menu-category-heading h2{font-size:2rem}
.catalog-page .menu-category-heading .accent{font-size:1.2rem}
.catalog-page .menu-row{gap:.85rem;padding:1rem 0}
.catalog-page .menu-row h3{font-size:1.0625rem;line-height:1.45}
.catalog-page .menu-row .price{font-size:1rem}
.catalog-page .menu-row p{font-size:.875rem}
.wine-page .catalog-masthead{margin-bottom:1.5rem}
.catalog-page .filter-controls{padding:1rem 1rem 0;gap:1.25rem .75rem;margin-inline:-.25rem}
.catalog-page .type-filters{gap:.45rem}
.catalog-page .filter-chip span{font-size:.9375rem;padding:.55rem .7rem;gap:.45rem}
.catalog-page .filter-controls label:not(.filter-chip),.catalog-page .filter-controls legend{font-size:.875rem}
.catalog-page .filter-controls select{font-size:1rem;padding:.8rem .5rem}
.catalog-page .wine-group{margin-top:2.25rem}
.catalog-page .wine-group-heading{gap:.75rem;margin-bottom:1.4rem}
.catalog-page .wine-group-heading h2{font-size:2.25rem}
.wine-regions{columns:1}
.wine-region{margin-bottom:1.75rem}
.catalog-page .wine-row h4{font-size:1.0625rem}
.catalog-page .wine-row .price{font-size:1rem}
}
@media(max-width:389px){
.catalog-masthead{grid-template-columns:minmax(0,1fr)}
.catalog-masthead-photo{display:none}
.catalog-masthead h1{font-size:3.25rem}
.catalog-masthead .eyebrow,.catalog-masthead .accent{max-width:none}
.catalog-page .filter-controls{grid-template-columns:minmax(0,1fr)}
.catalog-page .menu-row:has(.price){align-items:baseline}
}
@media print{
.catalog-page{max-width:none;padding:0}
.catalog-masthead{display:block;margin:0 0 1rem;padding-bottom:1rem}
.catalog-masthead h1{font-size:32pt;color:#000}
.catalog-masthead .accent{font-size:16pt}
.catalog-masthead .eyebrow,.catalog-masthead-photo,.menu-navigation,.catalog-page .filter-controls{display:none!important}
.menu-reading-layout{display:block}
.menu-paper{padding:0;border:0;background:none;margin:0}
.catalog-page .menu-category{margin:0;padding:0}
.catalog-page .menu-category+.menu-category{margin-top:1.5rem}
.catalog-page .menu-category-heading{break-after:avoid;border-color:#555;padding-bottom:.4rem}
.catalog-page .menu-category-heading h2{font-size:20pt}
.catalog-page .menu-row,.catalog-page .wine-row{break-inside:avoid;padding:.4rem 0}
.catalog-page .menu-row h3,.catalog-page .menu-row .price,.catalog-page .wine-row h4,.catalog-page .wine-row .price{font-size:11pt;color:#000}
.catalog-page .menu-notes{margin-top:1rem}
.catalog-page .menu-notes .text-link{display:none}
.catalog-page .wine-group{margin-top:1.5rem}
.catalog-page .wine-group-heading{break-after:avoid}
.catalog-page .wine-group-heading h2{font-size:20pt}
.wine-regions{columns:1}
}

/* Entrances are orchestrated by motion.mjs; the default page is always visible. */
.enhanced .hero-copy h1{animation:none}

@media (prefers-reduced-motion:no-preference){
  .explore-dialog[open] .nav-body nav a{
    animation:cannibal-nav-enter 360ms var(--ease-out) both;
  }
  .explore-dialog[open] .nav-body nav a:nth-child(2){animation-delay:40ms}
  .explore-dialog[open] .nav-body nav a:nth-child(3){animation-delay:80ms}
  .explore-dialog[open] .nav-body nav a:nth-child(4){animation-delay:120ms}
  .explore-dialog[open] .nav-body nav a:nth-child(5){animation-delay:160ms}
  .explore-dialog[open] .nav-body nav a:nth-child(6){animation-delay:200ms}
  .explore-dialog[open] .nav-body nav a:nth-child(7){animation-delay:240ms}
  .explore-dialog[open] .nav-body nav a:focus-visible{animation:none}
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .button{
    transition:background var(--fast),color var(--fast),border-color var(--fast),transform var(--medium) var(--ease-out);
  }
  .button:hover{transform:translateY(-2px)}
  .button:active{transform:translateY(0)}
  .button svg,.explore .menu-icon,.hero-bottom a{
    transition:transform var(--medium) var(--ease-out),border-color var(--fast),color var(--fast);
  }
  .button:hover svg,.text-link:hover svg{transform:translateX(5px)}
  .explore:hover .menu-icon{transform:scaleX(.78) rotate(-8deg)}
  .hero-bottom a:hover{transform:translateY(3px);border-color:var(--wine);color:var(--wine)}
  :is(.product-photo,.wide-photo,.wine-feature>picture,.about-opening picture,.about-detail>picture,.contact-photo>picture) img{
    transition:transform 600ms var(--ease-out);
  }
  :is(.product-photo,.wide-photo,.wine-feature>picture,.about-opening picture,.about-detail>picture,.contact-photo>picture):hover img{
    transform:scale(1.035);
  }
}

@keyframes cannibal-nav-enter{
  from{opacity:0;transform:translateX(-18px);clip-path:inset(0 100% 0 0)}
  to{opacity:1;transform:none;clip-path:inset(-.15em -.15em -.15em -.15em)}
}

/* These also override active Web Animation effects as soon as the preference changes. */
@media (prefers-reduced-motion:reduce){
  .motion-target{opacity:1!important;transform:none!important;clip-path:none!important}
}
@media print{
  .motion-target{opacity:1!important;transform:none!important;clip-path:none!important}
}


/* The panel and its contents share a reversible Web Animations timeline. */
html{scrollbar-gutter:stable}
.explore-dialog{box-shadow:24px 0 80px #0003}
.explore-dialog[open],.explore-dialog[open] .nav-body nav a{animation:none}
.explore-dialog[data-menu-state="opening"],.explore-dialog[data-menu-state="closing"]{will-change:transform}
.explore-dialog::backdrop{opacity:0;transition:opacity 340ms ease-out}
.explore-dialog[data-backdrop="visible"]::backdrop{opacity:1}
.explore-dialog[data-menu-state="closing"]::backdrop{transition-duration:220ms}
@media(prefers-reduced-motion:reduce){.explore-dialog::backdrop{transition:none}}

/* Fit the whole menu to the viewport, keeping both controls in view. */
.explore-dialog{
  padding-top:max(clamp(.75rem,3dvh,2rem),env(safe-area-inset-top));
  padding-bottom:max(clamp(.75rem,3dvh,2rem),env(safe-area-inset-bottom));
  gap:clamp(.5rem,1.5dvh,1.25rem);
  grid-template-rows:auto minmax(min-content,1fr) auto auto;
  overscroll-behavior:contain;
}
.explore-dialog[open]{display:grid}
.explore-dialog .nav-body{
  min-height:0;
  min-width:0;
  margin-top:0;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
}
.explore-dialog .nav-body nav{
  min-width:0;
  display:grid;
  grid-template-rows:repeat(7,minmax(2.75rem,1fr));
  gap:clamp(.125rem,.8dvh,.6rem);
}
.explore-dialog .nav-body nav a{
  min-width:0;
  min-height:2.75rem;
  padding-block:0;
  gap:clamp(.75rem,2vw,1.5rem);
  font-size:clamp(1.75rem,min(4.3vw,6dvh),4.25rem);
}
.explore-dialog .nav-photo{max-height:min(390px,42dvh)}
.explore-dialog .nav-bottom{margin:0;padding:0}
.explore-dialog .nav-language{margin:0}
@media(max-width:767px){
  .explore-dialog .nav-body{display:grid;grid-template-columns:minmax(0,1fr)}
  .explore-dialog .nav-body nav a{font-size:clamp(1.75rem,min(8vw,6dvh),2.8rem)}
}
@media(max-height:520px){
  .explore-dialog{
    padding-block:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-bottom));
    grid-template-rows:auto minmax(min-content,1fr) auto;
    gap:.5rem;
  }
  .explore-dialog .nav-top>a>img{width:auto;height:clamp(2rem,8dvh,2.5rem)}
  .explore-dialog .nav-body{display:grid;grid-template-columns:minmax(0,1fr)}
  .explore-dialog .nav-body nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(4,minmax(2.75rem,1fr));
    gap:.125rem .75rem;
  }
  .explore-dialog .nav-body nav a{
    gap:.5rem;
    font-size:clamp(1.125rem,3.5vw,1.75rem);
  }
  .explore-dialog .nav-editorial,.explore-dialog .nav-bottom{display:none}
}

/* Keep mobile navigation within reach throughout the page. */
@media screen and (max-width:767px){
  .enhanced .site-header{z-index:40}
  .enhanced .site-header .header-actions > .mobile-explore{
    position:fixed;
    top:calc(1.5rem + env(safe-area-inset-top));
    right:max(var(--gutter),env(safe-area-inset-right));
    z-index:40;
    width:48px;
    height:48px;
    padding:0;
    gap:0;
    justify-content:center;
    font-size:0;
    color:var(--ivory);
    background:rgba(23,25,24,.92);
    border:1px solid rgba(240,234,223,.35);
    border-radius:2px;
    box-shadow:0 4px 18px #0002;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  .enhanced .site-header .header-actions > .mobile-explore:hover{
    background:var(--ink);
    border-color:var(--brass);
  }
  /* The sticky food categories sit below the persistent menu button. */
  .enhanced .menu-page{--mobile-menu-clearance:calc(48px + 2.5rem + env(safe-area-inset-top))}
  .enhanced .menu-navigation{top:var(--mobile-menu-clearance)}
  .enhanced .menu-page .menu-category{
    scroll-margin-top:max(0px,calc(var(--menu-index-height,130px) + var(--mobile-menu-clearance) + 1rem - 6rem));
  }
}

/* Keep the first paint identical to the initialized navigation shell. */
@media screen and (scripting:enabled){
  html:not(.enhanced) .fallback-nav{display:none}
  html:not(.enhanced) .is-home .site-header{
    position:absolute;
    inset:0 0 auto;
    max-width:var(--content-max);
    width:100%;
    background:transparent;
  }
}
@media screen and (scripting:enabled) and (min-width:1200px) and (min-height:700px){
  html:not(.enhanced) .is-home .site-header{
    left:var(--rail);
    width:calc(100% - var(--rail));
  }
}
@media screen and (scripting:enabled) and (min-width:1800px){
  html:not(.enhanced) .is-home .site-header{
    left:calc(var(--rail) + (100vw - var(--rail) - var(--content-max))/2);
  }
}

/* Compact native disclosure: language names stay in their own language. */
.language-switcher{position:relative;flex:none;color:var(--ink);font:500 .875rem/1.2 var(--font-body);letter-spacing:0;text-transform:none}
.language-switcher summary{list-style:none;min-height:46px;padding:.5rem .65rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;background:var(--ivory);border:1px solid var(--line-light);border-radius:2px}
.language-switcher summary::-webkit-details-marker{display:none}
.language-switcher img{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}
.language-switcher summary svg{transition:transform 200ms ease}
.language-switcher[open] summary svg{transform:rotate(180deg)}
.language-options{position:absolute;right:0;top:calc(100% + .5rem);z-index:50;width:185px;padding:.4rem;background:var(--ivory);border:1px solid var(--line-light);box-shadow:0 12px 30px #0002;border-radius:2px}
.language-options a{display:flex;gap:.75rem;align-items:center;min-height:46px;padding:.55rem .6rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.language-options a:hover,.language-options a[aria-current]{background:#e2dacb}
.language-options a:focus-visible{outline-offset:-2px;box-shadow:none}
.language-check{margin-left:auto;color:var(--wine)}
.nav-utilities{display:flex;gap:1.25rem;align-items:center}
.nav-utilities .language-switcher{color:var(--ivory)}
.nav-utilities .language-switcher summary{background:transparent;border-color:var(--line-dark)}
.language-switcher[open] .language-options{animation:language-in 180ms ease-out both}
@keyframes language-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.header-actions{gap:.75rem}
.hero h1 .accent{white-space:normal}
.menu-row .price{max-width:38%;white-space:normal;text-align:right;flex-shrink:0}
.nav-body nav a>span:last-child{overflow-wrap:normal}
@media(min-width:1200px) and (min-height:700px){.site-header{padding-right:20rem}}
@media(max-width:767px){.site-header{gap:.5rem}.header-actions{gap:.35rem}.mobile-explore{font-size:0!important;padding:.5rem!important;justify-content:center}.mobile-explore .menu-icon{font-size:initial}.language-switcher summary{padding:.4rem .5rem;gap:.4rem}.nav-utilities{gap:.4rem}.nav-top>a>img{width:110px}.nav-utilities .dialog-close{font-size:.875rem;gap:.4rem}.nav-body nav a{font-size:clamp(2rem,8vw,2.8rem)}.nav-body nav a>span:last-child{overflow-wrap:anywhere}.lightbox-top,.lightbox-bottom{gap:.5rem}.lightbox-bottom button{min-width:0}.language-options{width:180px}}
@media(max-width:359px){.brand{width:115px}.nav-top>a>img{width:80px}.nav-utilities .dialog-close{font-size:0}.nav-utilities .dialog-close span{font-size:2rem}.not-found h1{font-size:3rem}.hero-word{font-size:clamp(4.8rem,20vw,6rem)}}
@media(prefers-reduced-motion:reduce){.language-switcher[open] .language-options{animation:none}.language-switcher summary svg{transition:none}}
@media print{.language-switcher{display:none!important}}

/* Language selection belongs to the left navigation rail and drawer. */
.rail>.language-switcher{margin-top:auto;margin-bottom:1.5rem;color:var(--ivory)}
.rail:has(>.language-switcher) .rail-index{margin-top:0}
.rail .language-switcher summary{width:58px;min-height:86px;padding:.65rem .35rem;flex-direction:column;gap:.45rem;background:transparent;border-color:var(--line-dark)}
.rail .language-switcher summary:hover{border-color:var(--brass)}
.rail .language-switcher summary svg{transform:rotate(-90deg)}
.rail .language-switcher[open] summary svg{transform:rotate(90deg)}
.rail .language-options{left:calc(100% + 1rem);right:auto;top:auto;bottom:0}
.rail .language-options:before{content:"";position:absolute;inset:0 100% 0 auto;width:1rem}
.nav-language{width:fit-content;margin-top:1.5rem;margin-bottom:.5rem}
.nav-language .language-switcher{color:var(--ivory)}
.nav-language .language-switcher summary{background:transparent;border-color:var(--line-dark)}
.nav-language .language-options{left:0;right:auto;top:auto;bottom:calc(100% + .5rem)}
.fallback-nav>.language-switcher .language-options{left:0;right:auto}
@media(min-width:1200px) and (min-height:700px){.fallback-nav>.language-switcher{display:none}.site-header{padding-right:17rem}}
@media(max-width:767px){.nav-top>a>img{width:135px}.nav-language .language-switcher summary{padding:.6rem .8rem}}
@media print{.nav-language{display:none!important}}

/* The home opens as a single photographic cover. */
.hero.hero-immersive{isolation:isolate;display:grid;grid-template-columns:1fr;max-width:none;margin:0;min-height:780px;min-height:max(780px,100svh);max-height:none;background:var(--ink);color:var(--ivory);overflow:hidden}
.hero-visual{position:absolute;inset:0;z-index:-2}
.hero-visual picture,.hero-visual img{width:100%;height:100%}
.hero-visual img{object-fit:cover;object-position:50% 50%!important}
.hero-immersive::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(10,13,12,.62),rgba(10,13,12,.06) 33%,rgba(10,13,12,.24) 56%,rgba(10,13,12,.91)),linear-gradient(90deg,rgba(10,13,12,.34),transparent 70%)}
.hero-content{width:100%;max-width:var(--content-max);margin-inline:auto;padding:10rem var(--gutter) 2rem;display:flex;flex-direction:column;min-width:0;align-self:stretch}
.hero-kicker{font:600 .875rem/1.3 var(--font-display);letter-spacing:.16em;text-transform:uppercase;margin:0 0 2rem}
.hero-title{position:relative;margin:auto 0 0;align-self:start;font-weight:600}
.hero-title-word{display:block;font-size:clamp(8rem,22vw,22rem);line-height:.78;letter-spacing:-.035em;margin-left:-.035em;text-shadow:0 2px 35px #0002}
.hero-signature{display:block;font:italic 400 clamp(3rem,6vw,6.25rem)/1.05 var(--font-accent);letter-spacing:-.035em;color:#d8c399;margin:-.05em 0 0 clamp(2rem,13vw,13rem);position:relative}
.hero-detail{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-top:3.5rem}
.hero-intro{font-size:1.125rem;line-height:1.5;max-width:34ch;color:var(--ivory)}
.hero-ctas{display:flex;gap:1.75rem;align-items:center;flex-wrap:wrap}
.hero-ctas .hero-book{display:inline-flex;min-height:58px;background:var(--ivory);border-color:var(--ivory);color:var(--ink);min-width:205px}
.hero-ctas .hero-book:hover{background:var(--brass);border-color:var(--brass)}
.hero-ctas .text-link{font-size:1rem;color:var(--ivory);min-height:52px;gap:1.5rem}
.hero-ctas .text-link:hover{color:#d8c399}
.hero-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid #f0eadf55;margin-top:2.5rem;padding-top:1.25rem;font:500 .8125rem/1.3 var(--font-display);letter-spacing:.11em;text-transform:uppercase}
.hero-scroll{display:flex;align-items:center;gap:1rem;text-decoration:none;min-height:44px}
.hero-scroll-mark{position:relative;flex:none;width:44px;height:44px;color:#d8c399}
.hero-scroll-mark::before{content:"";position:absolute;top:4px;bottom:4px;left:calc(50% - .5px);width:1px;background:currentColor;opacity:.6;transition:opacity .25s ease}
.hero-scroll-mark::after{content:"";position:absolute;top:4px;left:calc(50% - 1px);width:2px;height:10px;border-radius:2px;background:currentColor;box-shadow:0 0 8px #d8c39955;opacity:0;transform:translateY(26px)}
.hero-scroll:is(:hover,:focus-visible) .hero-scroll-mark::before{opacity:1}
/* Two quiet passes on arrival; interaction keeps the cue moving. */
@media(prefers-reduced-motion:no-preference){
 .hero-scroll-mark::after{animation:hero-scroll-glide 2.4s cubic-bezier(.45,0,.25,1) .8s 2}
 .hero-scroll:is(:hover,:focus-visible) .hero-scroll-mark::after{animation-iteration-count:infinite}
}
@keyframes hero-scroll-glide{
 0%{transform:translateY(-3px) scaleY(.4);opacity:0}
 20%{opacity:1}
 70%{opacity:1}
 100%{transform:translateY(29px) scaleY(.6);opacity:0}
}
.hero-immersive :focus-visible,.is-home .site-header :focus-visible{outline-color:var(--ivory);box-shadow:0 0 0 5px var(--ink)}
.is-home .site-header{color:var(--ivory);background:var(--ink)}
.enhanced .is-home .site-header{background:transparent}
.is-home .site-header .language-switcher{color:var(--ivory)}
.is-home .site-header .language-switcher summary{background:#17191870;border-color:#f0eadf66;backdrop-filter:blur(12px)}
.is-home .site-header .mobile-explore{background:transparent;color:var(--ivory)}
.is-home .header-reserve{background:#171918d9;border-color:#f0eadf99;color:var(--ivory);backdrop-filter:blur(12px)}
.is-home .header-reserve:hover{background:var(--ivory);color:var(--ink)}
.is-home .site-header .language-options :focus-visible{outline-color:var(--ink);box-shadow:none}
@media(min-width:1800px){.hero.hero-immersive{min-height:1000px;min-height:min(1100px,100svh)}.hero-content{padding-top:11rem;padding-bottom:2.5rem}}
@media(max-width:1100px){.hero.hero-immersive{min-height:850px;min-height:max(850px,100svh)}.hero-detail{align-items:start;flex-direction:column;gap:1.75rem;margin-top:2.5rem}.hero-title-word{font-size:min(24vw,17rem)}.hero-title{margin-top:auto}.hero-content{padding-top:9rem}.hero-signature{font-size:min(7.5vw,5.5rem)}}
/* A centred portrait composition, with room for the fixed booking bar. */
@media(max-width:767px){
 html{scrollbar-gutter:auto}
 .hero.hero-immersive{min-height:100vh;min-height:100svh;min-height:100dvh}
 .hero-content{padding:7rem var(--gutter) calc(var(--mobile-booking-height,5.5rem) + 1.25rem);text-align:center}
 .hero-kicker{display:none}
 .hero-immersive .hero-title{margin:auto 0 0;align-self:center}
 .hero-title-word{font-size:min(34vw,calc((100vw - 2 * var(--gutter)) * .4));margin-left:0}
 .hero-signature{font-size:min(12vw,4.8rem);margin:.25rem 0 0;white-space:nowrap}
 .hero-visual img{object-position:50% 50%!important}
 .hero-immersive::before{background:linear-gradient(180deg,#0a0d0c85,#0a0d0c12 25%,#0a0d0c45 40%,#0a0d0ce8 76%,#0a0d0cf5)}
 .hero-detail{align-items:center;gap:clamp(.75rem,2.5svh,1.25rem);margin-top:clamp(1.25rem,3.5svh,2rem)}
 .hero-intro{font-size:1rem;max-width:30ch}
 .hero-intro br{display:none}
 .hero-ctas{justify-content:center;gap:1rem}
 .hero-ctas .hero-book{display:none}
 .hero-ctas .text-link{font-size:1rem;min-height:44px;padding-block:.4rem}
 .hero-footer{margin-top:clamp(1rem,3svh,1.75rem);padding-top:.7rem;font-size:.75rem;letter-spacing:.08em;text-align:left}
 .hero-scroll-label{display:none}
 .hero-footer .hero-scroll{min-width:44px}
 .is-home .site-header{height:98px}
}
@media(max-width:359px){
 .hero-signature{font-size:10.5vw}
 .hero-kicker{font-size:.75rem}
}
@media(max-width:767px) and (max-height:650px){
 .hero-content{padding-top:6.25rem;padding-bottom:calc(var(--mobile-booking-height,5.5rem) + .75rem)}
 .hero-kicker{margin-bottom:1.5rem}
 .hero-detail{margin-top:.75rem;gap:.5rem}
 .hero-footer{margin-top:.5rem;padding-top:.25rem}
}
@media(max-height:600px) and (min-width:768px){.hero.hero-immersive{min-height:720px}.hero-title-word{font-size:clamp(8rem,18vw,17rem)}.hero-kicker{margin-bottom:2rem}.hero-detail{margin-top:2rem}}
@media(prefers-reduced-motion:reduce){.hero-scroll-mark::before{transition:none}}
@media print{.hero.hero-immersive{min-height:0!important;background:white;color:black;display:block}.hero-content{padding:1rem 0}.hero-visual,.hero-immersive::before,.hero-kicker,.hero-ctas,.hero-footer{display:none}.hero-title-word{font-size:48pt}.hero-signature{font-size:30pt;color:black;margin:0}.hero-detail{margin-top:1rem}.hero-intro{color:black}}

/* Lenis drives the document; native controls and nested panels stay usable. */
html.lenis{scroll-behavior:auto!important}
.lenis dialog,.lenis .language-options,.lenis .consent-panel{overscroll-behavior:contain}
/* CoverManager must remain clickable even while the page is decelerating. */
.lenis.lenis-smooth [data-booking] iframe{pointer-events:auto}
@media print{html.lenis,html.lenis body{height:auto;overflow:visible!important}}
