@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Noto+Serif+JP:wght@400;500&display=swap');

:root{--ink:#10110f;--charcoal:#171815;--paper:#e9e5dc;--muted:#aaa79e;--gold:#af9564;--line:rgba(233,229,220,.16);--serif:"Cormorant Garamond","Noto Serif JP",serif;--jp:"Noto Serif JP","Yu Mincho",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--jp);font-size:15px;line-height:2;letter-spacing:.06em}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:999;top:-100px;left:1rem;background:var(--paper);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:96px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;transition:.4s}.site-header.scrolled{height:70px;background:rgba(16,17,15,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:21px;letter-spacing:.05em}.wordmark span{display:block;font-family:var(--jp);font-size:7px;text-transform:uppercase;letter-spacing:.35em;color:var(--gold)}.global-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,40px);font-family:var(--serif);font-size:14px;letter-spacing:.08em}.global-nav a{transition:color .3s}.global-nav a:hover,.global-nav a:focus-visible{color:var(--gold)}.nav-reserve{border:1px solid rgba(175,149,100,.7);padding:8px 20px}.menu-toggle{display:none;background:none;color:inherit;border:0;width:44px;height:44px}.menu-toggle i{display:block;width:24px;height:1px;background:currentColor;margin:7px auto}.hero{height:100svh;min-height:680px;position:relative;display:flex;align-items:center;padding:120px clamp(24px,10vw,160px) 80px;overflow:hidden;background:radial-gradient(circle at 73% 44%,#26251e 0,transparent 27%),linear-gradient(120deg,#10110f 40%,#1b1c18)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,17,15,.45),transparent 55%),linear-gradient(0deg,rgba(16,17,15,.45),transparent 35%);pointer-events:none}.hero-art{position:absolute;inset:0}.moon{position:absolute;right:14vw;top:21%;width:min(33vw,480px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d0c9b8,#938870 48%,#35342e 72%);opacity:.24;box-shadow:0 0 100px rgba(193,174,133,.12)}.glow{position:absolute;right:0;bottom:-20%;width:55vw;height:55vw;border:1px solid rgba(175,149,100,.08);border-radius:50%}.hero-content{position:relative;z-index:2}.eyebrow{margin:0 0 20px;color:var(--gold);text-transform:uppercase;font-family:var(--serif);font-size:12px;letter-spacing:.3em}.brand-name{text-transform:none}.hero h1{margin:0;font:400 clamp(65px,9vw,140px)/.7 var(--serif);letter-spacing:-.045em}.hero h1 span{display:block;margin:0 0 19px 8px;font-family:var(--jp);font-size:clamp(9px,1vw,13px);line-height:1;letter-spacing:.42em;color:var(--paper);text-transform:uppercase}.hero-copy{margin:52px 0 38px;font-size:clamp(18px,1.7vw,26px);line-height:1.8;letter-spacing:.17em}.text-link{display:inline-flex;gap:32px;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--gold);font-family:var(--serif);font-size:15px;letter-spacing:.08em}.scroll-cue{position:absolute;z-index:2;right:5vw;bottom:0;margin:0;font:11px var(--serif);letter-spacing:.2em;writing-mode:vertical-rl}.scroll-cue span{display:inline-block;width:1px;height:70px;margin-top:12px;background:linear-gradient(var(--gold),transparent)}.section{padding:clamp(100px,13vw,190px) clamp(24px,8vw,130px);position:relative}.section-label{display:flex;align-items:center;gap:18px;margin-bottom:clamp(65px,8vw,110px);color:#73746e;font:12px var(--serif);letter-spacing:.25em;text-transform:uppercase}.section-label span{color:var(--gold)}.section-label:after{content:"";height:1px;width:55px;background:var(--line)}h2{font:400 clamp(40px,5vw,76px)/1.35 var(--jp);letter-spacing:.08em;margin:0}.concept{min-height:820px;background:var(--paper);color:var(--ink);overflow:hidden}.concept .section-label{color:#77776f}.concept-copy{max-width:780px;margin-left:15vw}.body-copy{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:60px;font-size:14px}.concept-orbit{position:absolute;right:-100px;bottom:-150px;width:520px;height:520px;border:1px solid rgba(16,17,15,.12);border-radius:50%;display:grid;place-items:center;color:rgba(16,17,15,.13);font:italic 70px var(--serif)}.section-intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:70px}.experience{background:#131411}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-card{padding:55px clamp(18px,3vw,48px);min-height:320px;border-right:1px solid var(--line)}.experience-card:last-child{border:0}.experience-card>span{font:italic 16px var(--serif);color:var(--gold)}.experience-card h3{margin:85px 0 15px;font-weight:400;font-size:18px;letter-spacing:.15em}.experience-card p{color:var(--muted);font-size:13px}.wine{background:#1a1a17}.wine-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(350px,.9fr);gap:clamp(50px,9vw,140px);align-items:center}.wine-visual{height:min(68vw,720px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 40% 66%,rgba(144,96,64,.32),transparent 24%),linear-gradient(145deg,#24251f,#0b0c0a)}.wine-visual:before{content:"";position:absolute;width:22%;height:52%;bottom:12%;left:40%;border:1px solid rgba(233,229,220,.25);border-radius:48% 48% 35% 35%;box-shadow:inset 0 -80px 50px rgba(90,20,20,.35)}.wine-visual span{position:absolute;top:30px;left:30px;font:italic 17px/1.2 var(--serif);color:rgba(233,229,220,.35)}.wine-copy>p:not(.eyebrow){max-width:540px;color:var(--muted);margin:40px 0}.wine-points{padding:0;margin:35px 0 40px;list-style:none;border-top:1px solid var(--line)}.wine-points li{display:flex;gap:24px;padding:15px 0;border-bottom:1px solid var(--line);font:17px var(--serif);letter-spacing:.08em}.wine-points span{color:var(--gold);font-size:10px}.muted-link{color:var(--muted)}.sommelier{background:var(--paper);color:var(--ink)}.sommelier-layout{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(50px,9vw,140px);align-items:end}.portrait-placeholder{height:min(60vw,680px);background:linear-gradient(160deg,#bdb7aa,#5c5b55 57%,#242521);position:relative;overflow:hidden}.portrait-placeholder:after{content:"";position:absolute;inset:10% 20% -15%;border-radius:45% 45% 0 0;background:linear-gradient(120deg,rgba(233,229,220,.11),rgba(0,0,0,.26))}.portrait-placeholder span{position:absolute;z-index:1;bottom:22px;right:25px;color:rgba(255,255,255,.4);font:italic 15px var(--serif)}.sommelier-copy{padding-bottom:35px}.sommelier-copy h2{font-size:clamp(34px,4vw,59px)}.sommelier-copy h2 small{display:block;margin-top:9px;font:italic 22px var(--serif);letter-spacing:.06em;color:#686861}.role{color:#826e4e;margin:25px 0 45px}.sommelier-copy>p:not(.eyebrow,.role){max-width:630px;font-size:14px}.sommelier-copy .text-link{margin-top:30px}.gallery{background:#121310}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,280px);gap:18px}.gallery-item{margin:0;position:relative}.gallery-item--large{grid-row:1/3}.gallery-placeholder{height:100%;position:relative;background:radial-gradient(circle at 60% 45%,rgba(175,149,100,.16),transparent 20%),linear-gradient(145deg,#25261f,#121310);border:1px solid var(--line)}.gallery-placeholder.warm{background:radial-gradient(circle at 42% 60%,rgba(131,58,37,.3),transparent 25%),linear-gradient(135deg,#26221c,#11120f)}.gallery-placeholder.plate{background:radial-gradient(ellipse at 52% 52%,#4a4a42 0 19%,#242520 20% 31%,#161713 32%)}.gallery-placeholder span{position:absolute;top:20px;left:22px;color:var(--gold);font:11px var(--serif)}.gallery-placeholder small{position:absolute;bottom:20px;right:22px;color:#777;font:italic 14px var(--serif)}.gallery-item figcaption{position:absolute;left:22px;bottom:15px;font-size:11px;letter-spacing:.15em;color:#aaa}.information{background:#191a17}.info-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,10vw,150px)}.info-note{color:var(--muted);font-size:12px;margin-top:30px}.info-list{margin:0}.info-list div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--line);padding:18px 0}.info-list dt{font:14px var(--serif);color:var(--gold)}.info-list dd{margin:0;color:#9a9a93;font-size:13px}.reservation{padding:clamp(120px,16vw,220px) 24px;text-align:center;background:radial-gradient(circle at 50% 48%,#29271f,transparent 42%),#0d0e0c}.reservation-inner{max-width:850px;margin:auto}.reservation h2{font-size:clamp(45px,6vw,82px)}.reservation-inner>p:not(.eyebrow){color:var(--muted);margin:35px 0}.reservation-actions{display:flex;justify-content:center;gap:14px;margin-top:45px}.button{width:250px;min-height:70px;padding:13px 20px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);display:flex;justify-content:center;align-items:center;gap:12px;font:15px var(--serif);letter-spacing:.08em;transition:background-color .3s,color .3s,border-color .3s}.button:hover,.button:focus-visible{background:#c0a875;border-color:#c0a875}.button--ghost{border-color:var(--line);background:transparent;color:var(--paper)}.button--ghost:hover,.button--ghost:focus-visible{background:rgba(233,229,220,.06);border-color:var(--gold);color:var(--paper)}.site-footer{padding:70px clamp(24px,6vw,90px) 30px;background:#090a08;display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-brand>p:last-child{font-size:11px;color:#777}.site-footer nav{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font:16px var(--serif)}.site-footer nav small{color:#686861;font:9px var(--jp);margin-left:10px}.copyright{grid-column:1/-1;padding-top:30px;border-top:1px solid var(--line);color:#555;font:10px var(--serif)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:820px){.site-header{height:75px}.menu-toggle{display:block;position:relative;z-index:2}.global-nav{position:fixed;inset:0;background:#10110f;display:flex;flex-direction:column;justify-content:center;gap:26px;font-size:22px;opacity:0;visibility:hidden;transition:.35s}.global-nav.open{opacity:1;visibility:visible}.menu-toggle[aria-expanded="true"] i:first-of-type{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}.hero{padding-left:8vw}.moon{width:70vw;right:-20vw;top:20%}.hero h1{font-size:clamp(54px,16vw,95px)}.concept-copy{margin-left:0}.body-copy{grid-template-columns:1fr;gap:10px}.experience-grid{grid-template-columns:1fr}.experience-card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.experience-card h3{margin-top:35px}.wine-layout,.sommelier-layout,.info-layout{grid-template-columns:1fr}.wine-visual{height:110vw;max-height:620px}.sommelier-layout{align-items:start}.portrait-placeholder{height:115vw;max-height:650px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:460px 260px 260px}.gallery-item--large{grid-row:auto}.site-footer{grid-template-columns:1fr}.site-footer nav{align-items:flex-start}.copyright{grid-column:auto}}
@media(max-width:520px){body{font-size:14px}.section{padding-left:22px;padding-right:22px}.section-label{margin-bottom:55px}.hero{min-height:620px}.hero h1{font-size:15vw}.hero-copy{font-size:16px}.concept-orbit{width:360px;height:360px}.section-intro{display:block}.gallery-grid{grid-template-rows:380px 230px 230px}.reservation-actions{flex-direction:column;align-items:center}.button{width:min(100%,320px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important}}

/* Actual venue photography */
img{max-width:100%;height:auto}
.hero-art{background-image:linear-gradient(90deg,rgba(8,9,8,.92) 0%,rgba(8,9,8,.62) 38%,rgba(8,9,8,.15) 72%),linear-gradient(0deg,rgba(8,9,8,.76),transparent 50%),url("assets/counter-hero-pc.webp");background-size:cover;background-position:center}
.hero:after{background:linear-gradient(90deg,rgba(9,10,9,.42),transparent 55%),linear-gradient(0deg,rgba(9,10,9,.55),transparent 36%)}
.concept{padding-bottom:clamp(120px,15vw,220px)}
.concept-copy{position:relative;z-index:2}
.concept-image{width:min(100%,960px);margin:clamp(72px,8vw,112px) auto 0;position:relative;z-index:1}
.concept-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 58%}
.concept-image figcaption,.entrance-image figcaption{margin-top:14px;font:12px var(--serif);letter-spacing:.14em;color:#65665f}
.concept-image figcaption span{color:#8b734b;margin-right:22px;text-transform:uppercase}
.wine-layout,.sommelier-layout,.gallery-grid,.info-layout{width:100%;max-width:1240px;margin-inline:auto}
.wine-visual,.portrait-placeholder{margin:0}
.wine-visual{width:min(100%,520px);height:auto;max-height:none;aspect-ratio:4/5;justify-self:center}
.portrait-placeholder{width:min(100%,520px);height:auto;max-height:none;aspect-ratio:4/5;justify-self:center}
.wine-visual img,.portrait-placeholder img,.gallery-item img,.entrance-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.wine-visual:hover img,.portrait-placeholder:hover img,.gallery-item:hover img{transform:scale(1.025)}
.wine-visual img{object-position:center}
.wine-visual figcaption,.portrait-placeholder figcaption{position:absolute;left:24px;bottom:18px;color:rgba(255,255,255,.72);font:italic 13px var(--serif);letter-spacing:.1em;text-shadow:0 1px 12px #000}
.portrait-placeholder img{object-position:center}
.gallery-item{overflow:hidden;background:#090a08}
.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,6,5,.82));pointer-events:none}
.gallery-item figcaption{z-index:2;right:20px;display:flex;align-items:end;justify-content:space-between;color:var(--paper)}
.gallery-item figcaption span{font:10px var(--serif);color:var(--gold);letter-spacing:.16em;text-transform:uppercase}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:clamp(18px,2vw,28px)}
.gallery-item,.gallery-item--large{grid-row:auto;aspect-ratio:3/2}
.information{padding-bottom:clamp(100px,13vw,190px);overflow:hidden}
.entrance-image{width:min(100%,620px);margin:clamp(72px,8vw,112px) auto 0}
.entrance-image img{aspect-ratio:4/5;object-position:center}
.entrance-image figcaption{padding:0;color:#777}
@media(max-width:820px){.hero-art{background-image:linear-gradient(90deg,rgba(8,9,8,.78),rgba(8,9,8,.22)),linear-gradient(0deg,rgba(8,9,8,.75),transparent 60%),url("assets/counter-hero-mobile.webp");background-position:58% center}.concept-image{width:100%}.wine-visual img{object-position:58% center}.portrait-placeholder{width:min(72vw,480px)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.gallery-item figcaption{flex-direction:column;align-items:flex-start;gap:3px}}
@media(max-width:520px){.hero{align-items:flex-end;padding-bottom:15vh}.hero-art{background-position:57% center}.hero-copy{margin:35px 0 28px}.concept-image{width:100%}.concept-image img{aspect-ratio:3/2}.wine-visual,.portrait-placeholder,.entrance-image{width:min(86vw,380px);aspect-ratio:4/5}.gallery-grid{grid-template-columns:1fr;grid-template-rows:none;gap:20px}.gallery-item,.gallery-item--large{aspect-ratio:3/2}.gallery-item figcaption{font-size:10px}}
.wine-visual:before,.portrait-placeholder:after{display:none}

/* Keep the desktop rhythm spacious without leaving long empty transitions. */
@media(min-width:821px){
  .experience{padding-bottom:clamp(120px,9vw,145px)}
  .wine{padding-top:clamp(120px,9vw,145px);padding-bottom:clamp(120px,9vw,145px)}
  .sommelier{padding-top:clamp(120px,9vw,145px);padding-bottom:clamp(120px,9vw,145px)}
  .gallery{padding-top:clamp(120px,9vw,145px)}
  .reservation{padding-bottom:clamp(110px,8vw,140px)}
}

/* Instagram: frame the hosted Elfsight feed without altering the widget itself. */
.instagram{background:#10110f;padding-top:clamp(105px,9vw,145px);padding-bottom:clamp(105px,10vw,160px);overflow:hidden}
.instagram .section-label{margin-bottom:clamp(36px,4.2vw,58px)}
.instagram .section-intro{max-width:1080px;margin:0 auto clamp(30px,3.6vw,52px)}
.instagram .section-intro h2{font-family:var(--serif);font-size:clamp(38px,4vw,58px);letter-spacing:.055em}
.instagram-feed{width:100%;max-width:1080px;min-width:0;margin-inline:auto;padding-bottom:clamp(32px,3.5vw,48px);overflow:hidden}

/* Guest information: a quiet note on sharing the intimate space. */
.guest-information{background:var(--paper);color:var(--ink);overflow:hidden}
.guest-information:before{content:"Information";position:absolute;top:clamp(90px,10vw,145px);right:-.04em;color:rgba(16,17,15,.035);font:400 clamp(90px,17vw,250px)/1 var(--serif);letter-spacing:-.04em;pointer-events:none}
.guest-information .section-label{position:relative;color:#77776f}
.guest-information__heading{position:relative;width:min(100%,930px);margin:0 auto clamp(70px,8vw,115px)}
.guest-information__heading h2{font-size:clamp(38px,5vw,66px)}
.guest-information__lead{max-width:760px;margin:clamp(35px,4vw,54px) 0 0 auto;color:#55564f;font-size:14px;line-height:2.35}
.etiquette-list{width:min(100%,980px);margin-inline:auto;border-top:1px solid rgba(16,17,15,.17)}
.etiquette-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(22px,4vw,58px);padding:clamp(32px,4vw,48px) clamp(4px,2vw,24px);border-bottom:1px solid rgba(16,17,15,.14)}
.etiquette-item__number{margin:0;color:#9a8156;font:italic 16px/1.7 var(--serif);letter-spacing:.08em}
.etiquette-item h3{margin:0 0 13px;font-size:16px;font-weight:400;letter-spacing:.14em}
.etiquette-item p:not(.etiquette-item__number){max-width:720px;margin:0;color:#62635d;font-size:13px;line-height:2.15}
.guest-information__closing{width:min(100%,800px);margin:clamp(70px,8vw,110px) auto 0;text-align:center}
.guest-information__closing span{display:block;width:1px;height:55px;margin:0 auto 34px;background:linear-gradient(transparent,#a88e60)}
.guest-information__closing p{margin:0;font-size:14px;line-height:2.4;letter-spacing:.1em}

/* Persistent booking action */
.floating-reserve{position:fixed;z-index:1000;right:clamp(18px,2.5vw,38px);bottom:clamp(18px,2.5vw,34px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:24px;align-items:center;width:240px;min-height:68px;padding:11px 18px 11px 20px;border:1px solid rgba(175,149,100,.86);background:rgba(16,17,15,.94);color:var(--paper);box-shadow:0 10px 35px rgba(0,0,0,.32);backdrop-filter:blur(12px);transition:background-color .3s,border-color .3s,transform .3s}
.floating-reserve__label{font:9px/1.2 var(--serif);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.floating-reserve__text{font-size:13px;line-height:1.6;letter-spacing:.12em}
.floating-reserve__arrow{grid-column:2;grid-row:1/3;color:var(--gold);font:18px/1 var(--serif)}
.floating-reserve:hover,.floating-reserve:focus-visible{background:#1e1e19;border-color:#c0a875;transform:translateY(-2px)}
.floating-reserve:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.site-footer{padding-bottom:clamp(115px,10vw,145px)}

@media(max-width:980px) and (min-width:821px){.global-nav{gap:14px;font-size:13px}.nav-reserve{padding-inline:14px}}
@media(max-width:520px){
  .instagram{padding-top:88px;padding-bottom:96px}
  .instagram .section-label{margin-bottom:34px}
  .instagram .section-intro{margin-bottom:28px}
  .instagram .section-intro h2{font-size:36px}
  .instagram-feed{width:calc(100% + 4px);margin-left:-2px;padding-bottom:28px}
  .floating-reserve{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;width:auto;min-height:58px;padding:8px 16px 8px 18px;column-gap:18px}
  .floating-reserve__label{font-size:8px}
  .floating-reserve__text{font-size:13px}
  .site-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
  .guest-information:before{top:105px;font-size:26vw}
  .guest-information__heading{margin-bottom:62px}
  .guest-information__heading h2{font-size:34px;letter-spacing:.06em}
  .guest-information__lead{font-size:13px;line-height:2.2}
  .guest-information__lead br{display:none}
  .etiquette-item{grid-template-columns:34px 1fr;gap:14px;padding:30px 0}
  .etiquette-item h3{font-size:14px;line-height:1.8;letter-spacing:.1em}
  .etiquette-item p:not(.etiquette-item__number){font-size:12px;line-height:2.1}
  .guest-information__closing{margin-top:65px;text-align:left}
  .guest-information__closing span{margin-left:0;height:42px}
  .guest-information__closing p{font-size:13px;line-height:2.3}
  .guest-information__closing br{display:none}
}

/* Editorial notes: generous typography, with a compact reading measure. */
.editorial-section{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(340px,1fr);column-gap:clamp(70px,11vw,180px);align-items:start;background:#0d0e0c;overflow:hidden}
.editorial-section:after{content:"";position:absolute;right:clamp(22px,8vw,130px);bottom:0;width:1px;height:clamp(70px,8vw,110px);background:linear-gradient(transparent,var(--gold))}
.editorial-section .section-label{grid-column:1/-1;margin-bottom:clamp(58px,7vw,90px)}
.editorial-heading{position:sticky;top:130px}
.editorial-heading h2{font-size:clamp(37px,4.4vw,65px);line-height:1.55;letter-spacing:.1em}
.editorial-copy{max-width:620px;padding-top:clamp(48px,7vw,92px);color:#b8b5ad;font-size:14px;line-height:2.3}
.editorial-copy p{margin:0 0 2.15em}
.editorial-copy p:last-child{margin-bottom:0}
.editorial-lead{color:var(--paper);font-size:clamp(16px,1.45vw,20px);line-height:2.15;letter-spacing:.1em}
.philosophy{background:linear-gradient(115deg,#0d0e0c 0%,#151610 100%)}
.philosophy:before{content:"Philosophy";position:absolute;right:-.02em;top:28%;color:rgba(233,229,220,.025);font:400 clamp(90px,16vw,235px)/1 var(--serif);pointer-events:none}
.philosophy-copy{position:relative}
.editorial-section--light{background:var(--paper);color:var(--ink)}
.editorial-section--light .section-label{color:#77776f}
.editorial-section--light .editorial-copy{color:#575851}
.editorial-section--light .editorial-lead{color:var(--ink)}
.spoken-words{padding:clamp(20px,3vw,34px) 0 clamp(20px,3vw,34px) clamp(22px,3vw,42px);border-left:1px solid rgba(175,149,100,.65);color:#393a35;font-size:clamp(15px,1.3vw,18px);line-height:2.15}
.spoken-words span{display:inline-block;margin-top:8px;color:#77776f;font-size:12px}
.wine-selection{background:radial-gradient(circle at 18% 70%,#24231d 0,transparent 24%),#11120f}

/* FAQ uses native details/summary for a restrained, keyboard-accessible accordion. */
.faq{background:#151612}
.faq .section-label{margin-bottom:clamp(58px,7vw,90px)}
.faq-layout{width:min(100%,1120px);margin-inline:auto;display:grid;grid-template-columns:minmax(230px,.65fr) minmax(480px,1.35fr);gap:clamp(60px,9vw,140px);align-items:start}
.faq-heading{position:sticky;top:130px}
.faq-heading h2{font-size:clamp(29px,3.5vw,48px);line-height:1.6}
.faq-heading h2 span{display:block;color:var(--paper);font:400 clamp(58px,7vw,95px)/1 var(--serif);letter-spacing:.04em}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;display:grid;grid-template-columns:32px 1fr;gap:18px;padding:27px 48px 27px 4px;cursor:pointer;list-style:none;font-size:14px;line-height:1.8;letter-spacing:.09em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"＋";position:absolute;right:5px;top:27px;color:var(--gold);font:18px/1.8 var(--jp);transition:transform .3s}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list summary span,.faq-answer>span{color:var(--gold);font:italic 16px/1.8 var(--serif)}
.faq-answer{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:0 48px 30px 4px;color:#aaa9a2;font-size:13px;line-height:2.15}
.faq-answer p{grid-column:2;margin:0}
.faq-answer p+p{margin-top:15px}
.faq-answer a{color:var(--paper);border-bottom:1px solid var(--gold)}
.faq-list summary:focus-visible{outline:1px solid var(--gold);outline-offset:-2px}

@media(max-width:820px){
  .editorial-section{grid-template-columns:1fr;column-gap:0}
  .editorial-heading,.faq-heading{position:static}
  .editorial-copy{width:min(100%,620px);margin-left:auto;padding-top:55px}
  .faq-layout{grid-template-columns:1fr;gap:55px}
  .faq-list{margin-left:clamp(0px,6vw,55px)}
}
@media(max-width:520px){
  .editorial-section .section-label,.faq .section-label{margin-bottom:50px}
  .editorial-heading h2{font-size:32px;line-height:1.6}
  .editorial-copy{padding-top:42px;font-size:13px;line-height:2.2}
  .editorial-lead{font-size:15px}
  .editorial-copy br{display:none}
  .spoken-words br{display:block}
  .spoken-words{padding-left:20px;font-size:15px}
  .faq-layout{gap:42px}
  .faq-heading h2{font-size:25px}
  .faq-heading h2 span{font-size:55px}
  .faq-list{margin-left:0}
  .faq-list summary{grid-template-columns:25px 1fr;gap:10px;padding:24px 34px 24px 0;font-size:13px;letter-spacing:.06em}
  .faq-list summary:after{right:0;top:24px}
  .faq-answer{grid-template-columns:25px 1fr;gap:10px;padding:0 4px 25px 0;font-size:12px}
  .faq-answer br{display:none}
}

/* Home navigation and concise pricing */
.site-header--home .nav-destination{display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1.2;white-space:nowrap}
.site-header--home .nav-destination span{color:var(--muted);font:10px/1.4 var(--jp);letter-spacing:.08em}
.wine-pricing{margin:0 0 30px}
.wine-pricing dl{margin:0}
.wine-pricing dl div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:14px}
.wine-pricing dt{font-weight:400}
.wine-pricing dd{margin:0;color:var(--gold);white-space:nowrap}
.wine-pricing p{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:2}
@media(min-width:821px){.site-header--home .global-nav{gap:clamp(14px,1.6vw,26px)}}
@media(min-width:821px) and (max-width:1100px){
  .site-header--home{padding-inline:24px}
  .site-header--home .global-nav{gap:14px;font-size:13px}
  .site-header--home .nav-reserve{padding-inline:14px}
}
@media(max-width:820px){
  .site-header--home .global-nav{gap:20px;overflow-y:auto;padding:85px 24px 110px;justify-content:safe center}
  .site-header--home .global-nav>a{flex-shrink:0}
  .site-header--home .nav-destination span{font-size:11px}
}

/* Menu page */
.global-nav .is-current{color:var(--gold)}
.menu-hero{min-height:clamp(420px,60svh,620px);display:grid;place-items:center;padding:130px 24px 80px;text-align:center;background:radial-gradient(circle at 50% 30%,#25241e 0,transparent 35%),#10110f;border-bottom:1px solid var(--line)}
.menu-hero h1{margin:0;font:400 clamp(68px,11vw,140px)/1 var(--serif);letter-spacing:.14em;text-indent:.14em}
.menu-hero p{margin:30px 0 0;color:var(--muted);font:13px/1.9 var(--serif);letter-spacing:.2em}
.menu-content{width:min(100%,960px);margin-inline:auto;padding:clamp(90px,11vw,150px) clamp(24px,6vw,70px) clamp(110px,13vw,180px)}
.menu-intro{max-width:700px;margin:0 auto clamp(90px,11vw,140px);text-align:center;color:#c4c0b7;font-size:14px;line-height:2.3}
.menu-list{width:min(100%,760px);margin-inline:auto}
.menu-category{margin-bottom:clamp(68px,8vw,96px)}
.menu-category h2{margin:0 0 26px;color:var(--gold);font:400 21px/1.2 var(--serif);letter-spacing:.22em}
.menu-category dl{margin:0}
.menu-category dl div{display:grid;grid-template-columns:minmax(0,auto) minmax(24px,1fr) auto;align-items:baseline;gap:14px;padding:13px 0}
.menu-category dl div:after{content:"";grid-column:2;grid-row:1;border-bottom:1px dotted rgba(233,229,220,.28);transform:translateY(-.3em)}
.menu-category dt{grid-column:1;min-width:0;font-size:15px;letter-spacing:.1em;overflow-wrap:anywhere}
.menu-category dd{grid-column:3;margin:0;text-align:right;white-space:nowrap;font:18px/1.5 var(--serif);letter-spacing:.05em}
.menu-category__note{margin:8px 0 0;color:var(--muted);font-size:11px;letter-spacing:.08em}
.menu-notes{width:min(100%,760px);margin:clamp(80px,10vw,120px) auto 0;padding:28px 0 0;border-top:1px solid var(--line);list-style:none;color:#85857e;font-size:11px;line-height:2}
.menu-notes li:before{content:"・"}
@media(max-width:520px){.menu-hero{min-height:390px;padding-top:105px}.menu-hero h1{font-size:58px}.menu-content{padding-inline:22px}.menu-intro{text-align:left}.menu-intro br{display:none}.menu-category dl div{gap:9px}.menu-category dt{font-size:13px;letter-spacing:.05em}.menu-category dd{font-size:16px}.menu-category h2{font-size:19px}}
