@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{
  --ink:#10140f;
  --forest:#172118;
  --forest-2:#213126;
  --moss:#7e936c;
  --acid:#c7df7b;
  --bone:#eee9df;
  --paper:#f8f4eb;
  --sand:#d3c5ad;
  --wine:#5c2232;
  --wine-text:#fff8ef;
  --line:rgba(16,20,15,.16);
  --white-line:rgba(255,255,255,.18);
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Manrope', Arial, sans-serif;
  --mono:'DM Mono', monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
button,input,select{font:inherit}
:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
::selection{background:var(--acid);color:var(--ink)}

.noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.page-wipe{position:fixed;inset:0;background:var(--forest);z-index:200;transform:scaleY(0);transform-origin:bottom;pointer-events:none}

.nav{position:fixed;top:0;left:0;right:0;height:80px;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px;color:white;mix-blend-mode:difference;transition:background .35s ease,color .35s ease,backdrop-filter .35s ease}
.nav.scrolled{mix-blend-mode:normal;background:rgba(16,20,15,.87);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-left,.nav-right{display:flex;align-items:center;gap:24px}
.nav-right{justify-content:flex-end}
.logo{font-family:var(--serif);font-size:26px;letter-spacing:.04em;font-style:italic}
.nav a:not(.logo){font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.nav-link{position:relative}
.nav-link:after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.nav-link:hover:after{transform:scaleX(1);transform-origin:left}
.reserve-pill{border:1px solid rgba(255,255,255,.5);padding:11px 16px;border-radius:99px;transition:.3s ease}.reserve-pill:hover{background:white;color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;color:white;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.mobile-sheet{position:fixed;inset:0;background:var(--forest);color:var(--bone);z-index:120;display:flex;flex-direction:column;padding:28px;transform:translateY(-101%);transition:transform .7s var(--ease)}
.mobile-sheet.open{transform:translateY(0)}
.mobile-top{display:flex;justify-content:space-between;align-items:center}
.mobile-close{background:none;border:0;color:inherit;font-size:26px}
.mobile-links{margin:auto 0;display:flex;flex-direction:column;gap:16px}
.mobile-links a{font-family:var(--serif);font-size:clamp(42px,10vw,72px);line-height:1}
.mobile-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--white-line);padding-top:18px}

.kicker{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.display{font-family:var(--serif);font-weight:500;letter-spacing:-.04em;line-height:.94}
.eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em}
.container{width:min(1440px,calc(100% - 64px));margin:0 auto}
.section{padding:120px 0}
.rule{height:1px;background:var(--line)}

.hero{height:100svh;min-height:720px;position:relative;background:var(--ink);color:white;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.04) brightness(.62);transform:scale(1.08)}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.1) 40%,rgba(0,0,0,.55))}
.hero-content{position:absolute;inset:auto 32px 34px 32px;display:grid;grid-template-columns:1fr 2.1fr 1fr;align-items:end;gap:30px}
.hero-title{font-family:var(--serif);font-size:clamp(86px,15vw,220px);line-height:.78;letter-spacing:-.065em;font-style:italic;margin:0;text-align:center}
.hero-meta{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;line-height:1.7}.hero-meta.right{text-align:right}
.hero-scroll{position:absolute;left:50%;top:82px;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.hero-scroll:before{content:'';width:46px;height:1px;background:white;opacity:.6}

.story{height:440vh;background:var(--ink);color:white;position:relative}
.story-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink)}
.story-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;filter:brightness(.58) saturate(.86);transition:opacity .45s ease}
.story.video-ready .story-video{opacity:1}
.story.video-ready .story-layer{opacity:0!important;pointer-events:none}
.story-video-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 42%,transparent 12%,rgba(4,7,4,.26) 58%,rgba(4,7,4,.66) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22))}
.story.video-ready .story-video-vignette{opacity:1}
.story-layer{position:absolute;inset:0;opacity:0;transition:opacity .12s linear;z-index:1}.story-layer:first-of-type{opacity:1}
.story-layer img{width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.8);transform:scale(1.12)}
.story-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 20%,rgba(4,7,4,.52) 84%)}
.story-copy{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8vw;z-index:3}
.story-count{position:absolute;top:90px;left:34px;font-family:var(--mono);font-size:10px;letter-spacing:.17em;z-index:4}
.story-step{grid-column:2;max-width:620px;opacity:0;transform:translateY(50px);position:absolute;right:8vw}.story-step.active{opacity:1;transform:translateY(0)}
.story-step h2{font-family:var(--serif);font-size:clamp(54px,7vw,108px);line-height:.92;letter-spacing:-.05em;margin:0 0 20px;font-weight:500}.story-step p{max-width:440px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.78)}
.story-progress{position:absolute;bottom:34px;left:34px;right:34px;height:1px;background:rgba(255,255,255,.22);z-index:4}.story-progress span{display:block;height:1px;width:0;background:white}

.intro{background:var(--bone)}
.intro-grid{display:grid;grid-template-columns:.75fr 1.55fr 1fr;gap:50px;align-items:start}
.intro-title{grid-column:2/4;font-family:var(--serif);font-size:clamp(48px,7vw,112px);line-height:.98;letter-spacing:-.05em;margin:0 0 70px;font-weight:500}
.intro-copy{grid-column:2;font-size:18px;line-height:1.65;max-width:720px}
.intro-note{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;line-height:1.7;border-top:1px solid var(--line);padding-top:18px}

.triad{background:var(--paper);padding:0 0 120px}
.triad-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.triad-item{min-height:480px;padding:42px;border-right:1px solid var(--line);position:relative;overflow:hidden;cursor:pointer}.triad-item:last-child{border-right:0}
.triad-item h3{font-family:var(--serif);font-size:clamp(44px,4vw,70px);font-weight:500;margin:0;position:relative;z-index:2}.triad-item p{position:absolute;left:42px;right:42px;bottom:38px;z-index:2;font-size:14px;line-height:1.65;max-width:350px}.triad-img{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:.65s var(--ease)}.triad-img img{height:100%;object-fit:cover;filter:brightness(.45) saturate(.75)}.triad-item:hover{color:white}.triad-item:hover .triad-img{opacity:1;transform:scale(1)}

.menu-preview{background:var(--forest);color:var(--bone)}
.menu-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.menu-head h2{font-family:var(--serif);font-size:clamp(64px,9vw,150px);font-weight:500;letter-spacing:-.06em;line-height:.8;margin:0}.text-link{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid;padding-bottom:6px}
.menu-list{border-top:1px solid var(--white-line)}
.menu-row{display:grid;grid-template-columns:90px 1.3fr 1.5fr 90px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--white-line)}
.menu-row .num{font-family:var(--mono);font-size:10px;opacity:.6}.menu-row .dish{font-family:var(--serif);font-size:30px}.menu-row .desc{font-size:13px;line-height:1.5;opacity:.7}.menu-row .price{text-align:right;font-family:var(--mono);font-size:11px}

.editorial-image{background:var(--paper);padding:0}.editorial-image-wrap{height:86vh;min-height:640px;position:relative;overflow:hidden}.editorial-image-wrap img{height:115%;object-fit:cover;transform:translateY(-6%)}.editorial-caption{position:absolute;bottom:26px;left:28px;right:28px;color:white;display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.16em}

.chef-marquee{min-height:100svh;position:relative;overflow:hidden;background:var(--wine);color:var(--wine-text);display:flex;align-items:stretch}
.chef-marquee-media{position:absolute;inset:0;overflow:hidden}.chef-marquee-media img{height:112%;object-fit:cover;filter:saturate(.72) contrast(1.08) brightness(.56)}
.chef-marquee-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,10,17,.82) 0%,rgba(35,10,17,.48) 54%,rgba(35,10,17,.7) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38))}
.chef-marquee-meta{position:absolute;left:32px;right:32px;top:104px;display:flex;justify-content:space-between;gap:24px;z-index:2;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,248,239,.88)}
.chef-marquee-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:7vw;align-items:end;padding-top:190px;padding-bottom:76px}
.chef-marquee-title-wrap{align-self:end}.chef-marquee-title-wrap .kicker{margin-bottom:20px;color:rgba(255,248,239,.82)}
.chef-marquee h2{font-family:var(--serif);font-size:clamp(72px,10vw,158px);line-height:.9;letter-spacing:-.06em;font-weight:500;margin:0;overflow:visible;padding:.04em 0 .1em}
.chef-marquee h2 em{display:inline-block;font-weight:500;padding-bottom:.08em}
.chef-marquee-panel{align-self:end;background:rgba(29,10,15,.74);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(18px);padding:32px;color:var(--wine-text)}
.chef-marquee-panel .eyebrow{color:#fff8ef}.chef-marquee-panel p{font-size:16px;line-height:1.72;max-width:560px;margin:20px 0 28px;color:rgba(255,248,239,.92)}
.chef-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);padding:18px 0;margin-bottom:28px}
.chef-facts span{font-family:var(--mono);font-size:9px;line-height:1.45;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,248,239,.84)}.chef-facts b{display:block;font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-.03em;text-transform:none;color:#fff8ef;margin-bottom:4px}
.chef-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button-light{color:#fff8ef}.button-light:hover{background:#fff8ef;color:#3b1520}.chef-marquee .text-link{color:#fff8ef}


.visit{background:var(--bone)}
.visit-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px}.visit h2{font-family:var(--serif);font-size:clamp(72px,10vw,160px);line-height:.86;letter-spacing:-.055em;font-weight:500;margin:0}.visit-meta{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.meta-block{border-top:1px solid var(--line);padding-top:16px}.meta-block b{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.meta-block p{font-size:14px;line-height:1.6}
.visit-card{background:var(--forest);color:white;padding:34px;display:flex;flex-direction:column;justify-content:space-between;min-height:470px}.visit-card .big{font-family:var(--serif);font-size:50px;line-height:.95}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid currentColor;border-radius:99px;padding:14px 18px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.13em;transition:.3s ease}.button:hover{background:currentColor;color:var(--forest)}

.footer{background:var(--ink);color:white;padding:70px 32px 34px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-logo{font-family:var(--serif);font-style:italic;font-size:clamp(70px,11vw,180px);letter-spacing:-.06em;line-height:.8}.footer-col{font-family:var(--mono);font-size:10px;line-height:2;text-transform:uppercase;letter-spacing:.12em}.footer-bottom{margin-top:90px;border-top:1px solid var(--white-line);padding-top:20px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.13em;opacity:.7}

/* interior pages */
.page-hero{min-height:84vh;background:var(--forest);color:var(--bone);display:flex;align-items:flex-end;padding:150px 0 70px;position:relative;overflow:hidden}.page-hero.has-image:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.67)),var(--hero-img) center/cover no-repeat}.page-hero-inner{position:relative;z-index:1}.page-title{font-family:var(--serif);font-size:clamp(82px,14vw,220px);line-height:.86;letter-spacing:-.065em;font-weight:500;margin:0}.page-sub{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:36px}.page-sub p{max-width:560px;font-size:16px;line-height:1.65;margin:0}.page-sub .eyebrow{opacity:.8}

.menu-page{background:var(--paper)}.menu-tabs{position:sticky;top:80px;z-index:20;background:rgba(248,244,235,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.menu-tabs-inner{display:flex;gap:28px;overflow:auto;padding:18px 0}.menu-tabs button{background:none;border:0;font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.5;cursor:pointer;white-space:nowrap}.menu-tabs button.active{opacity:1}.menu-group{padding:80px 0}.menu-group-title{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:42px}.menu-group-title h2{font-family:var(--serif);font-weight:500;font-size:60px;margin:0}.menu-group-title p{font-size:14px;line-height:1.7;max-width:560px}.menu-item{display:grid;grid-template-columns:1fr 1.4fr 80px;gap:28px;padding:23px 0;border-top:1px solid var(--line);align-items:start}.menu-item:last-child{border-bottom:1px solid var(--line)}.menu-item h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:0}.menu-item p{font-size:13px;line-height:1.6;margin:0;opacity:.74}.menu-item .price{text-align:right;font-family:var(--mono);font-size:11px}.menu-note{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;line-height:1.8;background:#eae2d4;padding:22px;margin-top:40px}

.timeline{background:var(--ink);color:white}.timeline-item{display:grid;grid-template-columns:170px 1fr 1fr;gap:40px;padding:44px 0;border-top:1px solid var(--white-line);align-items:start}.timeline-item:last-child{border-bottom:1px solid var(--white-line)}.timeline-item time{font-family:var(--mono);font-size:10px;letter-spacing:.14em}.timeline-item h3{font-family:var(--serif);font-size:48px;font-weight:500;margin:0}.timeline-item p{opacity:.7;line-height:1.7;margin:5px 0 0}

.split-feature{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.split-media{position:relative;overflow:hidden}.split-media img{height:100%;object-fit:cover}.split-copy{padding:90px;display:flex;flex-direction:column;justify-content:center;background:var(--bone)}.split-copy h2{font-family:var(--serif);font-size:64px;line-height:1;letter-spacing:-.04em;font-weight:500}.split-copy p{font-size:16px;line-height:1.75;max-width:560px}

.shop-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.product-card{grid-column:span 6;background:#e9e2d6;position:relative}.product-card:nth-child(2){grid-column:span 6;background:#d9d4c7}.product-img{aspect-ratio:4/5;overflow:hidden}.product-img img{height:100%;object-fit:cover;transition:transform .7s var(--ease)}.product-card:hover .product-img img{transform:scale(1.03)}.product-info{display:flex;justify-content:space-between;padding:22px}.product-info h3{font-family:var(--serif);font-size:28px;margin:0;font-weight:500}.product-info p{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:5px 0 0}.sold{position:absolute;top:18px;right:18px;background:var(--ink);color:white;padding:8px 10px;border-radius:99px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em}

.press-list{border-top:1px solid var(--line)}.press-row{display:grid;grid-template-columns:.7fr 1.8fr auto;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.press-row .pub{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.press-row h3{font-family:var(--serif);font-size:38px;font-weight:500;margin:0}.press-row span{font-family:var(--mono);font-size:18px}

.form-card{background:var(--forest);color:white;padding:48px}.form-card label{display:block;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin:18px 0 8px}.form-card input,.form-card select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--white-line);color:white;padding:14px 0;outline:none}.form-card option{color:black}.form-card button{margin-top:30px;width:100%}

@media(max-width:1100px){
  .nav{padding:0 22px}.nav-left .nav-link,.nav-right .nav-link{display:none}.menu-toggle{display:block}.container{width:min(100% - 40px,1100px)}
  .hero-content{grid-template-columns:1fr;inset:auto 20px 28px}.hero-title{text-align:left;font-size:clamp(92px,19vw,170px)}.hero-meta.right{display:none}
  .story-step{left:8vw;right:8vw;grid-column:1/3}.intro-grid{grid-template-columns:1fr 2fr}.intro-title{grid-column:1/3}.intro-copy{grid-column:2}.intro-note{grid-column:1;grid-row:2}
  .triad-item{padding:30px}.triad-item p{left:30px;right:30px}.chef-marquee-inner{grid-template-columns:1fr;gap:34px;padding-top:170px}.chef-marquee-panel{max-width:680px}.visit-grid{grid-template-columns:1fr}.split-copy{padding:60px}
}
@media(max-width:760px){
  .nav{height:64px;padding:0 16px}.nav-left{display:none}.nav{grid-template-columns:1fr auto}.nav .logo{grid-column:1}.nav-right{grid-column:2}.reserve-pill{display:none}.menu-toggle{display:block}
  .container{width:calc(100% - 30px)}.section{padding:82px 0}
  .hero{min-height:660px}.hero-content{bottom:18px}.hero-title{font-size:27vw;line-height:.74}.hero-meta{font-size:8px}.hero-scroll{top:75px}
  .story{height:360vh}.story-count{top:76px;left:16px}.story-copy{padding:16px}.story-step{left:16px;right:16px;bottom:13vh;top:auto}.story-step h2{font-size:17vw}.story-progress{left:16px;right:16px;bottom:20px}
  .intro-grid{display:block}.intro-title{font-size:16vw;margin-bottom:42px}.intro-copy{font-size:16px}.intro-note{margin-top:45px}
  .triad-grid{grid-template-columns:1fr}.triad-item{min-height:390px;border-right:0;border-bottom:1px solid var(--line)}.triad-item:last-child{border-bottom:0}.triad-img{opacity:.18}.triad-item:hover .triad-img{opacity:.55}
  .menu-head{align-items:start;gap:30px;flex-direction:column}.menu-head h2{font-size:25vw}.menu-row{grid-template-columns:40px 1fr 44px;gap:12px}.menu-row .desc{grid-column:2}.menu-row .dish{font-size:22px}.menu-row .price{grid-column:3;grid-row:1}.editorial-image-wrap{height:70vh;min-height:520px}
  .chef-marquee{min-height:auto}.chef-marquee-meta{top:82px;left:16px;right:16px;display:block;line-height:1.7}.chef-marquee-meta span{display:block}.chef-marquee-inner{display:block;padding-top:180px;padding-bottom:90px}.chef-marquee h2{font-size:23vw;line-height:.92}.chef-marquee-panel{margin-top:44px;padding:24px 18px;background:rgba(29,10,15,.82)}.chef-facts{grid-template-columns:1fr 1fr}.chef-facts span:last-child{grid-column:1/3}.chef-actions{align-items:stretch;flex-direction:column}.chef-marquee .text-link{align-self:flex-start}.visit h2{font-size:22vw}.visit-meta{grid-template-columns:1fr}.footer{padding:60px 16px 24px}.footer-top{grid-template-columns:1fr}.footer-logo{font-size:28vw}.footer-bottom{gap:20px;flex-direction:column}
  .page-hero{min-height:72vh;padding:120px 0 48px}.page-title{font-size:24vw}.page-sub{align-items:start;flex-direction:column}.menu-tabs{top:64px}.menu-group-title{grid-template-columns:1fr;gap:8px}.menu-group-title h2{font-size:48px}.menu-item{grid-template-columns:1fr 52px;gap:12px}.menu-item p{grid-column:1}.menu-item .price{grid-column:2;grid-row:1}.timeline-item{grid-template-columns:70px 1fr;gap:18px}.timeline-item p{grid-column:2}.timeline-item h3{font-size:34px}.split-feature{grid-template-columns:1fr;min-height:auto}.split-media{height:60vh}.split-copy{padding:52px 20px}.split-copy h2{font-size:50px}.shop-grid{display:block}.product-card{margin-bottom:20px}.press-row{grid-template-columns:1fr auto;gap:15px}.press-row h3{grid-column:1/3;font-size:28px;grid-row:2}.form-card{padding:30px 20px}
  .mobile-sticky{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:58px;background:rgba(16,20,15,.94);color:white;z-index:110;display:grid!important;grid-template-columns:1fr 1.4fr;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px)}.mobile-sticky a{display:flex;align-items:center;justify-content:center;min-height:58px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.mobile-sticky a+ a{background:var(--acid);color:var(--ink)}
}
.mobile-sticky{display:none}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.in{opacity:1;transform:none}

.intro-title em{display:inline-block;padding-bottom:.08em}

@media(max-width:760px){body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.story{height:auto}.story-sticky{position:relative;height:100svh}.story-video{display:none}.story-layer{transition:none}.page-wipe{display:none}.triad-img,.product-img img{transition:none}}

/* v3 — deliberate culinary motion system */
:root{--lux-ease:cubic-bezier(.16,1,.3,1)}
.noise{inset:-4%;width:108%;height:108%;transform:translate3d(var(--grain-x,0),var(--grain-y,0),0) scale(1.035);will-change:transform;opacity:.03}
.hero-media{overflow:hidden}.hero-media img{height:118%;margin-top:-9%;will-change:transform;transform:translate3d(0,-4%,0) scale(1.04);transform-origin:center center}

/* Split-line editorial typography */
.split-line{display:block;overflow:hidden;padding:.08em 0 .11em;margin:-.08em 0 -.11em}
.split-line-inner{display:block;transform:translate3d(0,110%,0);will-change:transform;transition:transform .95s var(--lux-ease)}
.reveal.in .split-line-inner{transform:translate3d(0,0,0)}
.reveal.in .split-line:nth-child(2) .split-line-inner{transition-delay:.07s}
.story-step .eyebrow{opacity:0;transform:translate3d(0,8px,0);transition:opacity .38s ease,transform .62s var(--lux-ease)}
.story-step .split-line-inner{transform:translate3d(0,110%,0);transition:transform .9s var(--lux-ease) .08s}
.story-step p{opacity:0!important;transform:translate3d(0,14px,0);transition:opacity .5s ease .2s,transform .8s var(--lux-ease) .18s}
.story-step.active .eyebrow{opacity:.9;transform:none}
.story-step.active .split-line-inner{transform:translate3d(0,0,0)}
.story-step.active p{opacity:.78!important;transform:none}

/* Four-course pinned story: progress lives next to the course counter. */
.story-layer{will-change:clip-path,opacity,transform;transition:none!important}
.story-layer img{will-change:transform;transition:none!important}
.story-count{top:94px;left:34px;min-width:62px}
.story-progress{top:108px;bottom:auto;left:116px;right:auto;width:164px;height:1px;background:rgba(255,255,255,.26);overflow:hidden}
.story-progress:after{content:'course progression';position:absolute;top:10px;left:0;width:180px;font-family:var(--mono);font-size:7px;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);white-space:nowrap}
.story-progress span{will-change:width;background:rgba(255,255,255,.92)}
.story-step{transition:opacity .36s ease,transform .8s var(--lux-ease);transform:translate3d(34px,12px,0)}
.story-step.active{transform:translate3d(0,0,0)}

/* Right-now dish focus */
.menu-row{position:relative;transition:opacity .45s ease,transform .65s var(--lux-ease);border-bottom-color:rgba(255,255,255,.14)}
.menu-row:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(255,255,255,.64);transform:translate3d(0,0,0) scaleX(0);transform-origin:left center;transition:transform .7s var(--lux-ease);pointer-events:none}
.menu-list.is-focusing .menu-row:not(.is-hovered){opacity:.35}
.menu-row.is-hovered:after{transform:translate3d(4px,0,0) scaleX(1)}
.menu-row .price{transition:transform .65s var(--lux-ease),opacity .35s ease}
.menu-row.is-hovered .price{transform:translate3d(4px,0,0)}
.dish-preview{position:fixed;top:0;left:0;width:min(260px,22vw);z-index:130;pointer-events:none;opacity:0;visibility:hidden;will-change:transform,opacity;transition:opacity .28s ease,visibility .28s ease;mix-blend-mode:normal}
.dish-preview.is-visible{opacity:1;visibility:visible}
.dish-preview-frame{aspect-ratio:4/5;overflow:hidden;background:#1b211b;box-shadow:0 22px 70px rgba(0,0,0,.3)}
.dish-preview-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.02);transform:scale(1.03)}
.dish-preview-label{display:block;margin-top:9px;color:white;font-family:var(--mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 15px rgba(0,0,0,.65)}

/* Reservation pill morphs into a restrained service dock after the hero. */
@media(min-width:761px){
  .reserve-pill{will-change:transform,background,box-shadow,bottom;transition:background .45s ease,color .45s ease,border-color .45s ease,box-shadow .55s ease,transform .7s var(--lux-ease)}
  .reserve-pill.is-docked{position:fixed;left:50%;bottom:24px;transform:translate3d(-50%,0,0);background:rgba(238,233,223,.96);color:var(--ink)!important;border-color:rgba(255,255,255,.54);box-shadow:0 12px 46px rgba(0,0,0,.2);backdrop-filter:blur(18px);padding:13px 22px}
  .reserve-pill.is-docked:hover{transform:translate3d(-50%,-2px,0);box-shadow:0 17px 52px rgba(0,0,0,.28),0 0 0 5px rgba(199,223,123,.08)}
}

/* Reservation drawer */
body.drawer-open{overflow:hidden}
.resy-shell{position:fixed;inset:0;z-index:250;pointer-events:none;visibility:hidden;transition:visibility .65s}
.resy-shell.open{pointer-events:auto;visibility:visible}
.resy-backdrop{position:absolute;inset:0;background:rgba(6,8,6,.58);opacity:0;backdrop-filter:blur(5px);transition:opacity .45s ease}
.resy-shell.open .resy-backdrop{opacity:1}
.resy-drawer{position:absolute;left:0;right:0;bottom:0;background:var(--bone);color:var(--ink);padding:28px 32px 38px;transform:translate3d(0,102%,0);transition:transform .82s var(--lux-ease);border-top:1px solid rgba(16,20,15,.14);box-shadow:0 -24px 80px rgba(0,0,0,.22)}
.resy-shell.open .resy-drawer{transform:translate3d(0,0,0)}
.resy-drawer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}
.resy-close{border:0;background:none;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;padding:8px 0}
.resy-drawer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;padding-top:34px;align-items:end}
.resy-drawer h2{font-family:var(--serif);font-size:clamp(58px,8vw,128px);font-weight:500;line-height:.85;letter-spacing:-.055em;margin:18px 0 0}
.resy-step{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:.62}
.resy-rules>p{font-size:14px;line-height:1.7;max-width:520px;margin:0 0 26px}
.resy-rule{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.09em}
.resy-rule b{font-weight:500;text-align:right}
.button-resy{margin-top:26px;width:100%;background:var(--ink);color:white;justify-content:space-between}

@media(max-width:760px){
  .story-count{top:76px;left:16px}.story-progress{top:90px;left:96px;width:112px}.story-progress:after{display:none}
  .story-step{transform:translate3d(18px,10px,0)}
  .dish-preview{display:none}
  .menu-list.is-focusing .menu-row:not(.is-hovered){opacity:1}
  .resy-drawer{padding:20px 16px calc(26px + env(safe-area-inset-bottom));max-height:88svh;overflow:auto}
  .resy-drawer-grid{grid-template-columns:1fr;gap:38px;padding-top:26px}.resy-drawer h2{font-size:18vw}.resy-rule{gap:12px}
}

@media(prefers-reduced-motion:reduce){
  .split-line-inner,.story-step,.story-step .eyebrow,.story-step p,.menu-row,.menu-row:after,.reserve-pill,.resy-backdrop,.resy-drawer{transition:none!important}
  .split-line-inner,.story-step .eyebrow,.story-step p{transform:none!important;opacity:1!important}
  .noise{transform:none!important}.dish-preview{display:none!important}
}

/* ---------- V4: header contrast, quiet wordmark, menu typography, Chef's Experience ---------- */

/* Nav: no blend-mode inversion; a scrim keeps links legible over any photograph */
.nav{mix-blend-mode:normal;color:#fff8ef}
.nav:before{content:'';position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(10,12,9,.72) 0%,rgba(10,12,9,.38) 55%,rgba(10,12,9,0) 100%);transition:opacity .35s ease}
.nav.scrolled:before{opacity:0}
.nav a:not(.logo){text-shadow:0 1px 12px rgba(0,0,0,.45)}
.nav .logo{font-size:30px;letter-spacing:.02em}
.reserve-pill{background:#fff8ef;color:var(--ink)!important;border-color:#fff8ef;text-shadow:none!important}
.reserve-pill:hover{background:transparent;color:#fff8ef!important}

/* Hero: the plate carries the viewport; copy sits low and small */
.hero-media:after{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.62))}
.hero-content{grid-template-columns:1fr auto;gap:48px}
.hero-title{font-size:clamp(30px,3.2vw,50px);line-height:1.1;letter-spacing:-.025em;font-style:normal;font-weight:500;text-align:left;white-space:nowrap}
.hero-title em{font-style:italic;color:rgba(255,248,239,.82)}
.hero-meta{font-size:10.5px;line-height:1.9}
.hero-reserve{display:inline-block;margin-top:10px;border-bottom:1px solid rgba(255,248,239,.6);padding-bottom:2px}
.hero-reserve:hover{border-color:#fff8ef}

/* Menu: name in serif, provenance tracked mono beneath, price flush right, no currency */
.menu-group .container,.menu-chef .container{display:grid;grid-template-columns:minmax(220px,1fr) 2.2fr;column-gap:72px}
.menu-group-title{display:block;margin:0;position:sticky;top:150px;align-self:start;grid-row:1 / span 20}
.menu-group-title h2{font-size:clamp(40px,4vw,60px);line-height:1}
.menu-group-title p{margin:18px 0 0;font-size:14px;max-width:32ch;opacity:.72}
.menu-group{padding:88px 0;border-top:1px solid var(--line)}
.menu-group:first-child{border-top:0}
.menu-item{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:32px;padding:26px 0;align-items:baseline}
.menu-item h3{font-size:clamp(22px,1.9vw,28px);line-height:1.2;letter-spacing:-.01em}
.menu-item p{margin-top:10px;font-family:var(--mono);font-size:10.5px;line-height:1.8;letter-spacing:.14em;text-transform:uppercase;opacity:.56;max-width:62ch}
.menu-item .price{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:3ch}
.menu-note{grid-column:2}

/* Menu page: tasting menu set apart as its own room */
.menu-chef{background:var(--forest);color:var(--bone);padding:120px 0}
.menu-chef .menu-group-title{position:static}
.menu-chef .menu-item{border-color:rgba(238,233,223,.18)}
.menu-chef .menu-item:last-of-type{border-bottom:1px solid rgba(238,233,223,.18)}
.menu-chef .menu-item p{opacity:.62}
.menu-chef .menu-note{background:transparent;border:1px solid rgba(238,233,223,.18);color:rgba(238,233,223,.78)}

/* Chef's Experience: a framed invitation with room to breathe */
.chef-marquee{min-height:auto;padding:14vh 0}
.chef-marquee-overlay{background:linear-gradient(90deg,rgba(35,10,17,.9) 0%,rgba(35,10,17,.66) 50%,rgba(35,10,17,.86) 100%)}
.chef-marquee-inner{padding:0;align-items:center;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:8vw}
.chef-marquee-title-wrap p{margin:36px 0 0;max-width:40ch;font-size:16px;line-height:1.75;color:rgba(255,248,239,.78)}
.chef-invite{border:1px solid rgba(255,248,239,.3);padding:10px;background:rgba(24,8,13,.55);backdrop-filter:blur(14px)}
.chef-invite-frame{border:1px solid rgba(255,248,239,.14);padding:44px 40px 36px}
.chef-invite .eyebrow{color:rgba(255,248,239,.7);text-align:center;margin-bottom:34px}
.chef-courses{margin:0 0 34px}
.chef-courses>div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;border-top:1px solid rgba(255,248,239,.16)}
.chef-courses>div:last-child{border-bottom:1px solid rgba(255,248,239,.16)}
.chef-courses dt{font-family:var(--serif);font-size:clamp(24px,2.1vw,32px);letter-spacing:-.02em;color:#fff8ef}
.chef-courses dt small{display:block;margin-top:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,248,239,.55)}
.chef-courses dd{margin:0;font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums;color:#fff8ef}
.chef-invite .chef-facts{border:0;padding:0;margin-bottom:36px;text-align:center}
.chef-invite .chef-facts b{font-size:26px}
.chef-invite .chef-actions{display:flex;flex-direction:column;align-items:center;gap:18px}
.chef-invite .button{width:100%}

@media (max-width:1020px){
  .menu-group .container,.menu-chef .container{grid-template-columns:1fr}
  .menu-group-title{position:static;grid-row:auto;margin-bottom:28px}
  .menu-item,.menu-note{grid-column:1}
  .chef-marquee-inner{grid-template-columns:1fr;gap:56px}
  .chef-invite{max-width:560px}
}
@media (max-width:760px){
  .hero-content{grid-template-columns:1fr;gap:18px;bottom:104px}
  .hero-title{font-size:clamp(26px,7.4vw,40px);white-space:normal}
  .hero-meta.right{display:block;text-align:left}
  .menu-group{padding:64px 0}
  .menu-item{grid-template-columns:1fr auto;gap:16px;padding:22px 0}
  .menu-item p{letter-spacing:.1em}
  .chef-marquee{padding:96px 0}
  .chef-marquee-inner{display:grid}
  .chef-invite-frame{padding:32px 22px 28px}
  .chef-invite .chef-facts{grid-template-columns:repeat(3,1fr)}
  .chef-invite .chef-facts span:last-child{grid-column:auto}
}

/* Home "Right now": same editorial format as the menu page */
.menu-row{grid-template-columns:90px 1fr auto;grid-template-areas:"num dish price" "num desc price";column-gap:24px;row-gap:10px;align-items:baseline;padding:28px 0}
.menu-row .num{grid-area:num}
.menu-row .dish{grid-area:dish;line-height:1.15}
.menu-row .desc{grid-area:desc;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.8;opacity:.56}
.menu-row .price{grid-area:price;font-size:13px;font-variant-numeric:tabular-nums}
@media (max-width:760px){
  .menu-row{grid-template-columns:32px 1fr auto;column-gap:12px}
  .menu-row .desc,.menu-row .price{grid-column:auto;grid-row:auto}
  .menu-row .desc{letter-spacing:.1em}
}

/* ---------- V5: reservation stage, rooms spread, map drawer, liquid hero, footer ---------- */

/* Liquid hero canvas sits exactly over the plate and inherits its grade */
.hero-liquid{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease;filter:saturate(.85) contrast(1.04) brightness(.62);transform-origin:center;pointer-events:none}
.hero-liquid.is-ready{opacity:1}
.hero-media:after{z-index:1}

/* Reservation stage */
.resy-drawer{max-height:92svh;overflow:auto}
.resy-drawer-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.resy-stage{position:relative;min-height:540px;overflow:hidden;background:var(--ink);color:#fff8ef}
.resy-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.8);opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.6s var(--lux-ease)}
.resy-stage img.is-on{opacity:1;transform:scale(1)}
.resy-stage-copy{position:absolute;left:32px;right:32px;bottom:30px;z-index:1}
.resy-stage .resy-step{opacity:.8}
.resy-stage h2{color:#fff8ef}
.resy-summary{margin:22px 0 0;padding-top:16px;border-top:1px solid rgba(255,248,239,.24);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.resy-form{display:flex;flex-direction:column;gap:22px}
.resy-form fieldset{border:0;margin:0;padding:0}
.resy-form legend{display:flex;justify-content:space-between;width:100%;padding:0 0 10px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.resy-form legend small{font-size:9px;letter-spacing:.1em;opacity:.55}
.resy-seg{display:grid;border:1px solid var(--line)}
.resy-seg-guests{grid-template-columns:repeat(8,1fr)}
.resy-seg-wide{grid-template-columns:1fr 1fr}
.resy-seg label{position:relative;cursor:pointer}
.resy-seg label+label{border-left:1px solid var(--line)}
.resy-seg input{position:absolute;opacity:0;pointer-events:none}
.resy-seg span{display:block;height:100%;padding:12px 10px;text-align:center;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;transition:background .25s ease,color .25s ease}
.resy-seg-wide span{text-align:left;padding:14px 16px}
.resy-seg b{display:block;font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-.01em}
.resy-seg small{display:block;margin-top:4px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.resy-seg label:hover span{background:rgba(16,20,15,.05)}
.resy-seg input:checked+span{background:var(--ink);color:var(--bone)}
.resy-seg input:focus-visible+span{outline:2px solid var(--ink);outline-offset:-4px}
.resy-seg input:checked:focus-visible+span{outline-color:var(--bone)}
.resy-seg input:disabled+span{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.resy-date{width:100%;border:1px solid var(--line);background:transparent;padding:12px 14px;font-family:var(--mono);font-size:12px;color:var(--ink);border-radius:0}
.resy-date:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.resy-notes .resy-rule:last-child{border-bottom:1px solid var(--line)}
.resy-form .button-resy{margin-top:4px}

/* Map drawer */
.map-frame{height:min(58svh,520px);margin-top:22px;background:var(--sand)}
.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.85) contrast(1.05)}
.map-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:20px}

/* Rooms spread: no floating card, one editorial canvas */
.chef-marquee{border-bottom:1px solid rgba(255,248,239,.14)}
.visit{padding:140px 0 150px}
.visit-spread{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}
.visit-lead h2{font-family:var(--serif);font-size:clamp(52px,6.4vw,104px);font-weight:500;line-height:.96;letter-spacing:-.05em;margin:22px 0 0}
.visit-lead h2 em{display:inline-block;padding-bottom:.06em}
.visit-lead p{margin:40px 0 0;max-width:46ch;font-size:17px;line-height:1.7;opacity:.82}
.visit-facts{margin:0}
.visit-facts>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.visit-facts>div:last-child{border-bottom:1px solid var(--line)}
.visit-facts dt{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding-top:3px}
.visit-facts dd{margin:0;font-size:14px;line-height:1.7}
.visit-facts a{border-bottom:1px solid transparent;transition:border-color .25s ease}
.visit-facts a:hover{border-color:currentColor}
.map-trigger{margin-top:6px;padding:0;border:0;background:none;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:inherit;border-bottom:1px solid currentColor}
.book-pill{margin-top:34px;background:var(--ink);color:var(--bone);border-color:var(--ink);transition:transform .5s var(--lux-ease),background .3s ease,color .3s ease;will-change:transform}
.book-pill:hover{background:transparent;color:var(--ink)}

/* Footer: wordmark quieter, tucked to the baseline */
.footer-top{align-items:end;gap:80px}
.footer-logo{font-size:clamp(46px,7.15vw,117px);align-self:end}
.footer-col{line-height:2.2}

@media (max-width:1020px){
  .resy-drawer-grid{grid-template-columns:1fr;gap:28px}
  .resy-stage{min-height:300px}
  .visit-spread{grid-template-columns:1fr;gap:64px}
}
@media (max-width:760px){
  .resy-stage{min-height:230px}
  .resy-stage-copy{left:18px;right:18px;bottom:18px}
  .resy-stage h2{font-size:15vw}
  .resy-seg-guests{grid-template-columns:repeat(4,1fr)}
  .resy-seg-guests label:nth-child(5){border-left:0}
  .resy-seg-guests label:nth-child(n+5){border-top:1px solid var(--line)}
  .resy-seg b{font-size:17px}
  .resy-seg-wide span{padding:12px}
  .visit{padding:96px 0 110px}
  .visit-facts>div{grid-template-columns:88px 1fr}
  .map-actions{flex-direction:column;align-items:flex-start}
  .footer-logo{font-size:19vw}
}

/* ---------- V6: story legibility, full-width course scrub, wordmark optics ---------- */
.story-copy:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.3) 32%,rgba(0,0,0,0) 62%)}
.story-step{z-index:1}
.story-step h2{text-shadow:0 2px 28px rgba(0,0,0,.28)}
.story-progress{top:auto;bottom:62px;left:34px;right:34px;width:auto;background:rgba(255,255,255,.22)}
.story-progress:after{display:none}
.story-marks{position:absolute;left:34px;right:34px;bottom:30px;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.story-marks span{position:relative;padding-top:4px;color:rgba(255,255,255,.4);transition:color .4s ease}
.story-marks span:before{content:'';position:absolute;left:0;top:-14px;width:1px;height:9px;background:currentColor}
.story-marks span.passed{color:rgba(255,255,255,.62)}
.story-marks span.active{color:#fff}
.nav .logo{padding-top:5px}
@media (max-width:760px){
  .story-copy:before{background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,0) 70%)}
  .story-progress{left:16px;right:16px;bottom:118px;top:auto;width:auto}
  .story-marks{left:16px;right:16px;bottom:90px;font-size:8px;letter-spacing:.12em}
  .story-step{bottom:150px}
}

/* ---------- V7: menu book ---------- */
html{scroll-padding-top:136px}
.menu-tabs{top:80px}
.menu-tabs-inner{align-items:center;gap:30px;padding:0}
.menu-tabs a{position:relative;padding:19px 0;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.5;white-space:nowrap;transition:opacity .25s ease}
.menu-tabs a:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--lux-ease)}
.menu-tabs a:hover,.menu-tabs a.is-on{opacity:1}
.menu-tabs a.is-on:after{transform:scaleX(1)}
.menu-tabs-stamp{margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.45;white-space:nowrap}

/* Kitchen: vertical section labels, as on the house's printed menu */
.menu-book{background:var(--paper);padding:40px 0 110px}
.menu-sec{display:grid;grid-template-columns:120px 1fr;gap:48px;padding:72px 0;border-top:1px solid var(--line)}
.menu-sec:first-child{border-top:0}
.menu-sec-label{position:sticky;top:160px;align-self:start;justify-self:start;margin:0;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--serif);font-weight:500;font-size:clamp(44px,4.4vw,68px);line-height:1;letter-spacing:-.02em;white-space:nowrap}
.menu-sec-lede{margin:0 0 28px;font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;opacity:.72;max-width:44ch}
.dish-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:72px}
.dish{padding:24px 0 26px;border-bottom:1px solid var(--line)}
.dish header{display:flex;align-items:baseline;gap:14px}
.dish h3{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.75vw,26px);line-height:1.2;letter-spacing:-.01em}
.dish-leader{flex:1;min-width:24px;border-bottom:1px dotted rgba(16,20,15,.3);transform:translateY(-5px)}
.dish-price{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.dish p{margin:10px 0 0;max-width:52ch;font-family:var(--mono);font-size:10.5px;line-height:1.85;letter-spacing:.12em;text-transform:uppercase;opacity:.56}
.dish-tag{display:inline-block;margin-top:12px;padding:4px 8px;border:1px solid rgba(92,34,50,.35);color:var(--wine);font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase}
.share-feature{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:34px 0 30px;border-bottom:1px solid var(--line)}
.share-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}
.share-feature h3{margin:10px 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(34px,3.6vw,54px);line-height:1;letter-spacing:-.03em}
.share-feature p{margin:14px 0 0;max-width:60ch;font-family:var(--mono);font-size:10.5px;line-height:1.85;letter-spacing:.12em;text-transform:uppercase;opacity:.56}
.share-price{font-family:var(--mono);font-size:22px;font-variant-numeric:tabular-nums}
.addons{display:grid;grid-template-columns:120px 1fr;gap:24px;padding-top:24px}
.addons-label{font-family:var(--serif);font-style:italic;font-size:20px}
.addons ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:72px}
.addons li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.addons b{font-family:var(--mono);font-weight:400;font-size:12px;font-variant-numeric:tabular-nums}
.menu-diet{margin:56px 0 0 168px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.6}

/* Chef's Experience */
.tasting{background:var(--wine);color:var(--wine-text);padding:130px 0}
.tasting-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start}
.tasting-intro{position:sticky;top:170px}
.tasting-intro .eyebrow{color:rgba(255,248,239,.7)}
.tasting-intro h2{margin:22px 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(60px,7vw,112px);line-height:.92;letter-spacing:-.05em}
.tasting-intro h2 em{display:block;padding-bottom:.08em}
.tasting-intro>p{margin:28px 0 36px;max-width:40ch;font-size:16px;line-height:1.7;color:rgba(255,248,239,.8)}
.tasting-controls{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,248,239,.3)}
.tasting-controls button{display:flex;align-items:baseline;gap:8px;padding:16px 18px;border:0;background:transparent;color:inherit;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:background .3s ease,color .3s ease}
.tasting-controls button+button{border-left:1px solid rgba(255,248,239,.3)}
.tasting-controls b{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:0;text-transform:none}
.tasting-controls span{margin-left:auto;font-size:13px;font-variant-numeric:tabular-nums}
.tasting-controls button.is-on{background:var(--wine-text);color:#3b1520}
.tasting-controls button:focus-visible{outline:2px solid var(--wine-text);outline-offset:3px}
.tasting-pair{display:flex;align-items:center;gap:12px;margin-top:18px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.tasting-pair input{appearance:none;width:16px;height:16px;margin:0;border:1px solid rgba(255,248,239,.6);display:grid;place-content:center;cursor:pointer}
.tasting-pair input:checked{background:var(--wine-text)}
.tasting-pair input:checked:after{content:'';width:6px;height:6px;background:#3b1520}
.tasting-pair input:focus-visible{outline:2px solid var(--wine-text);outline-offset:3px}
.tasting-pair b{font-weight:400;font-variant-numeric:tabular-nums}
.tasting-total{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 30px;padding:18px 0;border-top:1px solid rgba(255,248,239,.24);border-bottom:1px solid rgba(255,248,239,.24)}
.tasting-total span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.tasting-total b{font-family:var(--serif);font-weight:500;font-size:44px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.course-list{list-style:none;margin:0;padding:0;counter-reset:course}
.course{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:30px 0;border-top:1px solid rgba(255,248,239,.18);transition:opacity .5s ease,filter .5s ease}
.course:last-child{border-bottom:1px solid rgba(255,248,239,.18)}
.course h3{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.4vw,36px);line-height:1.1;letter-spacing:-.02em}
.course p{margin:10px 0 0;font-family:var(--mono);font-size:10.5px;line-height:1.85;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,248,239,.62)}
.course-no{font-family:var(--serif);font-style:italic;font-size:28px;line-height:1.1;color:rgba(255,248,239,.55)}
.course-list[data-format="6"] .course,.course-list[data-format="4"] .course.in-four{counter-increment:course}
.course-list[data-format="6"] .course-no:before,.course-list[data-format="4"] .in-four .course-no:before{content:counter(course,upper-roman)}
.course-list[data-format="4"] .course:not(.in-four){opacity:.26;filter:blur(.3px)}
.course-list[data-format="4"] .course:not(.in-four) .course-no:before{content:'—'}

/* Cocktails */
.bar{background:var(--ink);color:var(--bone);padding:130px 0}
.bar-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:52px}
.bar-head h2,.wine-intro h2,.more-h{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(56px,6.4vw,100px);line-height:.95;letter-spacing:-.05em}
.bar-head p{max-width:38ch;margin:0;font-size:15px;line-height:1.7;opacity:.7}
.drink-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--white-line)}
.drink{padding:30px 32px 34px 0;border-bottom:1px solid var(--white-line)}
.drink+.drink{padding-left:32px;border-left:1px solid var(--white-line)}
.drink:nth-child(3n+1){padding-left:0;border-left:0}
.drink header{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.drink h3{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.3vw,34px);letter-spacing:-.02em}
.drink-mood{margin:12px 0 0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;color:var(--acid)}
.drink-build{margin:14px 0 0;font-family:var(--mono);font-size:10px;line-height:1.85;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.bar-sub{margin-top:72px}
.bar-sub-h{margin:0 0 20px;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.drink-grid-zero{grid-template-columns:repeat(3,1fr)}

/* Wine */
.wine{background:var(--bone);padding:130px 0}
.wine-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:start}
.wine-intro{position:sticky;top:170px}
.wine-intro>p{margin:26px 0 0;max-width:38ch;font-size:15px;line-height:1.7;opacity:.78}
.wine-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.wine-chips button{padding:9px 13px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}
.wine-chips button:hover{border-color:var(--ink)}
.wine-chips button.is-on{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.wine-chips button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.wine-count{margin:24px 0 0;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.wine-count b{font-weight:400;font-variant-numeric:tabular-nums}
.wine-intro .wine-library{margin-top:10px;font-family:var(--serif);font-style:italic;font-size:17px;opacity:.7}
.wine-table{width:100%;border-collapse:collapse}
.wine-table thead th{padding:0 0 12px;text-align:right;font-family:var(--mono);font-weight:400;font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.55;border-bottom:1px solid var(--ink)}
.wine-table thead th:first-child{text-align:left}
.wine-group-row th{padding:34px 0 10px;text-align:left;font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;border-bottom:1px solid var(--line)}
.wine-table tbody tr[data-wine] th{padding:12px 0;text-align:left;font-weight:400;border-bottom:1px solid var(--line)}
.wine-table td{padding:12px 0 12px 20px;text-align:right;vertical-align:top;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;border-bottom:1px solid var(--line)}
.wine-name{display:block;font-size:15px;line-height:1.35}
.wine-origin{display:block;margin-top:3px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.wine-table tr[hidden],.wine-table tbody[hidden]{display:none}

/* Beer & more */
.more{background:var(--paper);padding:120px 0 140px;border-top:1px solid var(--line)}
.more-h{margin-bottom:48px}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.more-col h3{margin:0 0 8px;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.more-col ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.more-col li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.more-col small{display:block;margin-top:2px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.more-col b{font-family:var(--mono);font-weight:400;font-size:12px;font-variant-numeric:tabular-nums}

@media (max-width:1100px){
  .dish-grid,.addons ul{grid-template-columns:1fr}
  .drink-grid,.drink-grid-zero{grid-template-columns:1fr 1fr}
  .drink:nth-child(3n+1){padding-left:32px;border-left:1px solid var(--white-line)}
  .drink:nth-child(2n+1){padding-left:0;border-left:0}
  .tasting-grid,.wine-grid{grid-template-columns:1fr;gap:56px}
  .tasting-intro,.wine-intro{position:static}
}
@media (max-width:760px){
  html{scroll-padding-top:112px}
  .menu-tabs{top:64px}
  .menu-tabs-inner{gap:22px;overflow-x:auto;scrollbar-width:none}
  .menu-tabs-stamp{display:none}
  .menu-book{padding:8px 0 80px}
  .menu-sec{grid-template-columns:1fr;gap:18px;padding:52px 0}
  .menu-sec-label{position:static;writing-mode:horizontal-tb;transform:none;font-size:44px}
  .dish p,.share-feature p,.course p{letter-spacing:.08em}
  .share-feature{flex-direction:column;align-items:flex-start;gap:14px}
  .addons{grid-template-columns:1fr;gap:6px}
  .menu-diet{margin-left:0}
  .tasting,.bar,.wine{padding:90px 0}
  .course{grid-template-columns:48px 1fr;gap:12px;padding:24px 0}
  .tasting-controls button{padding:14px 12px}
  .bar-head{flex-direction:column;align-items:flex-start;gap:18px}
  .drink-grid,.drink-grid-zero{grid-template-columns:1fr}
  .drink,.drink+.drink,.drink:nth-child(3n+1){padding:26px 0;border-left:0}
  .more-grid{grid-template-columns:1fr;gap:40px}
  .wine-table td{padding-left:12px}
}

/* ---------- V8: press as the foyer wall ---------- */
.press-page{background:var(--paper)}
.press-pub{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.press-date{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.press-read{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;transition:gap .35s var(--lux-ease)}
.press-read:hover{gap:16px}
.press-feature{padding:120px 0 110px;border-bottom:1px solid var(--line)}
.press-feature-grid{display:grid;grid-template-columns:260px 1fr;gap:72px;align-items:start}
.press-feature-meta{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid var(--ink)}
.press-feature-body h2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(46px,5.6vw,92px);line-height:1;letter-spacing:-.04em;max-width:16ch}
.press-feature-body h2 em{padding-bottom:.06em;display:inline-block}
.press-feature-body blockquote{margin:44px 0 40px;padding-left:28px;border-left:1px solid var(--wine);max-width:52ch}
.press-feature-body blockquote p{margin:0;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.45}
.press-feature-body cite{display:block;margin-top:14px;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.press-wall{padding:40px 0 140px}
.press-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:0}
.press-item{display:flex;flex-direction:column;gap:18px;padding:40px 40px 44px 0}
.press-item+.press-item{padding-left:40px;border-left:1px solid var(--line)}
.press-item blockquote{margin:0;flex:1;font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);line-height:1.2;letter-spacing:-.015em}
.press-item .press-read{align-self:flex-start;margin-top:6px}
@media (max-width:1020px){
  .press-feature-grid{grid-template-columns:1fr;gap:36px}
  .press-list{grid-template-columns:1fr}
  .press-item,.press-item+.press-item{padding:34px 0;border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:760px){
  .press-feature{padding:80px 0 72px}
  .press-feature-body blockquote p{font-size:19px}
}

/* ---------- V9: small-type contrast on light grounds, nav baseline ---------- */
/* Mono captions on paper/bone were ~.55 opacity (≈3.9:1). Raised to ≥4.5:1 for 10–11px type. */
.menu-book .dish p,.share-feature p,.wine-origin,.press-date,.menu-tabs-stamp,.more-col small,.resy-seg small,.resy-form legend small,.share-kicker,.wine-table thead th,.more-col h3,.menu-sec-lede,.addons-label{opacity:.74}
.menu-tabs a{opacity:.62}
.eyebrow,.kicker{font-weight:500}
/* Nav: one grid row, every item on the logo's baseline */
.nav{align-items:baseline;align-content:center}
.nav-left,.nav-right{align-items:baseline}
.nav .logo{padding-top:0;line-height:1}
.reserve-pill{line-height:1}

/* Visit: planning block above the fold; cocktail plate framed at its native 4:5 */
.page-hero--compact{min-height:50vh;padding:130px 0 52px}
.visit.visit-page{padding:64px 0 120px}
.visit-page .visit-grid{align-items:start}
.visit-plate{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,120px);align-items:end;margin:120px auto 0;padding-top:48px;border-top:1px solid var(--line)}
.visit-plate-frame{height:min(70vh,720px);aspect-ratio:4/5;overflow:hidden;background:var(--forest)}
.visit-plate-frame img{display:block;width:100%;height:100%;object-fit:cover}
.visit-plate figcaption p{font-family:var(--serif);font-size:clamp(40px,4.6vw,72px);font-weight:500;line-height:1;letter-spacing:-.04em;margin:0 0 28px}
.visit-plate figcaption .eyebrow{opacity:.7}
@media (max-width:1100px){
  .page-hero--compact{min-height:0;padding:120px 0 44px}
  .visit.visit-page{padding-top:44px}
  .visit-page .form-card{order:-1}
  .visit-page .visit-grid{gap:56px}
}
@media (max-width:1020px){
  .visit-plate{grid-template-columns:1fr;gap:32px}
  .visit-plate-frame{height:auto;width:min(100%,56vh)}
}
@media (max-width:760px){
  .page-hero--compact{min-height:0;padding:110px 0 28px}
  .page-hero--compact .page-sub{margin-top:20px;gap:12px}
  .visit.visit-page{padding:28px 0 96px}
  .visit-plate{grid-template-columns:1fr;gap:28px;margin-top:80px;padding-top:32px}
  .visit-plate-frame{height:auto;width:min(100%,56vh)}
}

/* Our Story: title and team photo in a split cover, no copy over faces */
.story-cover{background:var(--forest);color:var(--bone);padding:150px 0 90px}
.story-cover-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,80px);align-items:end}
.story-cover .page-title{font-size:clamp(76px,9vw,150px);margin:24px 0 0}
.story-cover-head p{max-width:40ch;margin:36px 0 0;font-size:16px;line-height:1.65;opacity:.88}
.story-cover-photo{margin:0}
.story-cover-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.story-cover-photo figcaption{margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.story-origin{background:var(--bone)}
.story-origin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(48px,8vw,140px);align-items:start}
.story-origin .intro-title{margin:22px 0 48px}
.story-origin .intro-copy{max-width:58ch}
.story-ledger{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.story-ledger li{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.story-ledger span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.story-ledger p{margin:0;font-size:14px;line-height:1.6}
@media (max-width:1020px){
  .story-cover-grid,.story-origin-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .story-cover{padding:110px 0 56px}
  .story-cover .page-title{font-size:22vw}
  .story-ledger li{grid-template-columns:110px 1fr}
}

/* Footer v5: deep spruce closing signature, 4-column editorial grid */
.footer.footer-v5{--night:#0d1210;--night-line:rgba(255,255,255,.08);--night-dim:rgba(238,233,223,.56);background:var(--night);color:var(--bone);padding:88px 0 32px;border-top:1px solid var(--night-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.footer-v5 .footer-grid,.footer-v5 .footer-bottom{width:min(1320px,calc(100% - 64px));margin:0 auto}
.footer-v5 .footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1.15fr;gap:clamp(32px,4vw,64px);align-items:start}
.footer-v5 h2{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--night-dim);margin:0 0 22px}
.footer-v5 .footer-col{font-family:var(--sans);font-size:14px;line-height:1.6;letter-spacing:0;text-transform:none}
.footer-mark{display:inline-block;font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;letter-spacing:.01em}
.footer-sign p{font-family:var(--serif);font-size:19px;line-height:1.45;max-width:24ch;margin:22px 0 30px;color:rgba(238,233,223,.82)}
.footer-reserve{display:inline-flex;gap:22px;align-items:center;border:1px solid rgba(238,233,223,.28);border-radius:99px;padding:12px 18px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.footer-reserve:hover{background:var(--bone);color:var(--night);border-color:var(--bone)}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li+li{margin-top:9px}
.footer-links a{position:relative;display:inline-block;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.footer-links a:after{content:'→';position:absolute;left:100%;top:0;margin-left:8px;opacity:0;transform:translateX(-6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
@media (hover:hover){
  .footer-links:hover a{opacity:.4}
  .footer-links a:hover{opacity:1;transform:translateX(4px)}
  .footer-links a:hover:after{opacity:1;transform:none}
}
.footer-links a:focus-visible{outline:1px solid var(--bone);outline-offset:4px}
.footer-press b{display:block;font-family:var(--serif);font-weight:500;font-size:16px}
.footer-press span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--night-dim);margin-top:2px}
.footer-press li+li{margin-top:14px}
.footer-status{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.footer-status i{position:relative;width:7px;height:7px;border-radius:50%;border:1px solid var(--night-dim);flex:none}
.footer-status.is-open i{background:var(--acid);border-color:var(--acid)}
.footer-status.is-open i:after{content:'';position:absolute;inset:-1px;border-radius:50%;background:var(--acid);animation:footerPulse 2.4s var(--ease) infinite}
.footer-status.is-soon i{border-color:#e0b25c;background:#e0b25c}
.footer-status.is-closed i{border-color:#e0b25c}
@keyframes footerPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.8);opacity:0}}
.footer-hearth address{font-style:normal}
.footer-hearth address a{border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}
.footer-hearth address a:hover{border-color:currentColor}
.footer-coords{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--night-dim);margin:10px 0 20px;font-variant-numeric:tabular-nums}
.footer-v5 .footer-bottom{margin-top:88px;padding-top:20px;border-top:1px solid var(--night-line);display:flex;justify-content:space-between;gap:24px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--night-dim)}
@media (max-width:1020px){
  .footer-v5 .footer-grid{grid-template-columns:1fr 1fr;row-gap:56px}
}
@media (max-width:760px){
  .footer.footer-v5{padding:64px 0 24px}
  .footer-v5 .footer-grid,.footer-v5 .footer-bottom{width:calc(100% - 32px)}
  .footer-v5 .footer-grid{grid-template-columns:1fr;row-gap:44px}
  .footer-v5 .footer-bottom{flex-direction:column;gap:10px;margin-top:56px}
}
@media (prefers-reduced-motion:reduce){
  .footer-status.is-open i:after{animation:none;display:none}
  .footer-links a,.footer-links a:after{transition:none}
}

/* Mobile v5: frosted reserve dock + editorial menu sheet */
:root{--dock-cream:#f4efea;--spruce:#0d1210;--sheet-ease:cubic-bezier(.16,1,.3,1)}
@media (max-width:760px){
  .mobile-sticky{left:50%;right:auto;transform:translateX(-50%);width:min(calc(100% - 24px),420px);height:56px;padding:5px;gap:0;grid-template-columns:1fr 1.25fr;align-items:stretch;border-radius:99px;background:rgba(13,18,16,.72);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}
  .mobile-sticky a{min-height:0;border-radius:99px;font-size:10px;letter-spacing:.14em;color:var(--dock-cream);transition:background .3s var(--ease),color .3s var(--ease)}
  .mobile-sticky a+ a{background:var(--dock-cream);color:var(--spruce)}
  .mobile-sticky a:active{opacity:.8}
}
.menu-locked,.menu-locked body{overflow:hidden}
.mobile-sheet{background:var(--spruce);padding:22px 28px calc(28px + env(safe-area-inset-bottom));transform:none;opacity:0;visibility:hidden;transition:opacity .6s var(--sheet-ease),visibility 0s linear .6s}
.mobile-sheet.open{transform:none;opacity:1;visibility:visible;transition:opacity .6s var(--sheet-ease),visibility 0s}
.mobile-top{height:42px}
.mobile-top .logo{font-size:30px}
.mobile-close{width:44px;height:44px;margin-right:-12px;font-size:28px;font-weight:300;line-height:1;cursor:pointer}
.mobile-links{gap:0;margin:auto 0}
.mobile-links a{display:block;overflow:hidden;font-family:var(--serif);font-weight:500;font-size:clamp(32px,9vw,44px);line-height:1.18;letter-spacing:-.02em;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(24px);transition:opacity .5s var(--sheet-ease),transform .7s var(--sheet-ease),font-style .2s}
.mobile-links a:last-child{border-bottom:0}
.mobile-sheet.open .mobile-links a{opacity:1;transform:none;transition-delay:calc(120ms + var(--i,0) * 40ms)}
.mobile-links a:active,.mobile-links a:focus-visible{font-style:italic;outline:none}
.mobile-links a[aria-current="page"]{font-style:italic}
.mobile-sheet.open .mobile-links a[aria-current="page"]{opacity:.55}
.mobile-meta{opacity:0;transform:translateY(8px);transition:opacity .6s var(--sheet-ease),transform .6s var(--sheet-ease);border-top-color:rgba(255,255,255,.08)}
.mobile-sheet.open .mobile-meta{opacity:.6;transform:none;transition-delay:.46s}
@media (prefers-reduced-motion:reduce){
  .mobile-sheet,.mobile-sheet.open,.mobile-links a,.mobile-meta{transition:none!important;transform:none}
  .mobile-sheet.open .mobile-links a{transition-delay:0s}
}

/* Menu polish: one rule between sections, dock clearance, scrollable tab hint */
.dish-grid>.dish:last-child{border-bottom:0}
@media (min-width:1101px){.dish-grid>.dish:nth-last-child(2):nth-child(odd){border-bottom:0}}
.menu-tabs-inner.can-scroll-right{-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}
.menu-tabs-inner.can-scroll-left{-webkit-mask-image:linear-gradient(to right,transparent,#000 15%);mask-image:linear-gradient(to right,transparent,#000 15%)}
.menu-tabs-inner.can-scroll-left.can-scroll-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent)}
@media (max-width:760px){
  html{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .menu-book{padding-bottom:120px}
}

/* Mobile dock: tucks away while reading down, returns on scroll up and at page end */
@media (max-width:760px){
  .mobile-sticky{transition:transform .5s var(--sheet-ease),opacity .35s var(--sheet-ease),visibility 0s}
  .mobile-sticky.is-tucked{transform:translate(-50%,calc(100% + 24px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .5s var(--sheet-ease),opacity .35s var(--sheet-ease),visibility 0s linear .5s}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .mobile-sticky,.mobile-sticky.is-tucked{transition:none}
}
