:root{
  --ink:#060504;--char:#0c0a09;--char-2:#15110d;
  --ivory:#F4F1EA;--ivory-dim:#a79f90;
  --gold:#C5A880;--gold-2:#e6cfa0;--ember:#E2622A;--ember-hot:#ff8a3c;
  --line:rgba(197,168,128,.16);--ease:cubic-bezier(.7,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:var(--char);color:var(--ivory);font-family:"Montserrat",sans-serif;font-weight:300;overflow-x:hidden}
body.lock{overflow:hidden;height:100vh}
::selection{background:var(--ember);color:#fff}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
h1,h2,h3,.disp{font-family:"Playfair Display",serif;font-weight:400;line-height:1;letter-spacing:-.01em}
.italic{font-family:"Playfair Display",serif;font-style:italic;color:var(--gold-2)}
.eyebrow{font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.85em;font-weight:400}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--gold);opacity:.6}

@media(hover:hover){html.cursor-on a,html.cursor-on button,html.cursor-on .menu-li,html.cursor-on .gal-card,html.cursor-on .bento-c{cursor:none}}
/* Double cursor: center dot (precise, 1:1) + outline ring (soft trailing); shadow/outline keeps both visible over any photo */
#cur{position:fixed;top:0;left:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 8px rgba(0,0,0,.55);z-index:10000;pointer-events:none}
#curRing{position:fixed;top:0;left:0;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;border:1.5px solid rgba(230,207,160,.55);box-shadow:0 0 0 1px rgba(0,0,0,.12);z-index:9999;pointer-events:none;transition:width .28s var(--ease),height .28s var(--ease),margin .28s var(--ease),background-color .28s var(--ease),border-color .28s var(--ease)}
#curRing.grow{width:60px;height:60px;margin:-30px 0 0 -30px;background-color:rgba(230,207,160,.1);border-color:rgba(230,207,160,.28)}
@media(hover:none){#cur,#curRing{display:none}}
#progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--ember),var(--gold-2));z-index:650}
.grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* PRELOADER — logo image + loading bar, curtain up */
#pre{position:fixed;inset:0;z-index:8000;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;will-change:transform}
.pre-glow{position:absolute;left:50%;top:50%;width:min(70vw,620px);height:min(70vw,620px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(226,98,42,.2),transparent 62%);filter:blur(30px);opacity:0}
.pre-c{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:30px;width:min(86vw,420px)}
.pre-logo{width:clamp(200px,34vw,330px);height:auto;filter:drop-shadow(0 0 30px rgba(226,98,42,.35))}
.pre-bar{position:relative;width:100%;height:1px;background:rgba(197,168,128,.2)}
.pre-bar i{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--ember),var(--gold-2));display:block}
.pre-meta{display:flex;justify-content:space-between;width:100%;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-dim)}
.pre-meta b{color:var(--gold);font-weight:400}
.skip{position:absolute;bottom:6vh;left:50%;transform:translateX(-50%);z-index:3;font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ivory-dim);background:none;border:none;display:flex;gap:10px;align-items:center;opacity:.55;transition:.3s}
.skip:hover{opacity:1;color:var(--gold)}.skip i{width:22px;height:1px;background:currentColor}

/* NAV */
header{position:fixed;top:0;left:0;width:100%;z-index:600;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(20px,5vw,60px);transition:.5s var(--ease)}
header.solid{background:rgba(6,5,4,.72);backdrop-filter:blur(14px);padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}.brand img{height:56px;width:auto;transition:height .4s var(--ease)}
header.solid .brand img{height:46px}
.brand .bt{font-family:"Playfair Display",serif;font-size:1.1rem;letter-spacing:.14em;text-transform:uppercase}
.brand .bt small{display:block;font-family:"Montserrat";font-size:.5rem;letter-spacing:.36em;color:var(--gold);margin-top:3px}
.nav-right{display:flex;align-items:center;gap:26px}.nav-links{display:flex;gap:26px}
.nav-links a{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);position:relative;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease)}
.nav-links a:hover{color:var(--ivory)}.nav-links a:hover::after{width:100%}
.btn{font-family:"Montserrat";font-weight:400;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border:1px solid var(--gold);color:var(--gold);background:transparent;border-radius:999px;overflow:hidden;position:relative;transition:color .4s;z-index:1}
.btn::before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.btn:hover{color:var(--ink)}.btn:hover::before{transform:translateY(0)}
.btn.solid{background:var(--gold);color:var(--ink)}.btn.solid::before{background:var(--gold-2)}
.menu-toggle{display:none}

.wrap{max-width:1340px;margin:0 auto;padding:0 clamp(20px,5vw,60px)}
.pad{padding:clamp(80px,14vh,170px) 0}
section{position:relative}.rv{opacity:0}.sec-eyebrow{justify-content:center}

/* HERO slideshow */
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;display:flex;align-items:flex-end}
.hero-slides{position:absolute;inset:0;z-index:0}
.hs{position:absolute;inset:0;opacity:0;will-change:opacity,clip-path}
.hs.active{opacity:1}
.hs img{width:100%;height:100%;object-fit:cover;object-position:center 42%;will-change:transform}
.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.34)),linear-gradient(180deg,rgba(6,5,4,.55),rgba(6,5,4,.22) 30%,rgba(6,5,4,.66) 68%,var(--char)),radial-gradient(120% 80% at 50% 26%,transparent,rgba(6,5,4,.5))}
.hero-inner{position:relative;z-index:2;width:100%;padding:0 clamp(20px,5vw,60px) clamp(44px,8vh,86px);display:grid;grid-template-columns:1.45fr .9fr;align-items:end;gap:40px}
.hero h1{font-size:clamp(2.4rem,7vw,7rem);text-shadow:0 30px 80px rgba(0,0,0,.5)}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}.hero h1 .ln>span{display:block;transform:translateY(110%)}
.h-eye,.h-lede,.h-cta{opacity:0}
.hero .lede{max-width:34ch;color:var(--ivory-dim);font-size:1rem;line-height:1.8;margin-bottom:6px}
.hero-cta{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}.h-eye{margin-bottom:24px}
.hero-index{position:absolute;left:clamp(20px,5vw,60px);bottom:26px;z-index:3;display:flex;align-items:center;gap:14px;font-size:.6rem;letter-spacing:.3em;color:var(--ivory-dim)}
.hero-index .pg{font-family:"Playfair Display",serif;font-size:1rem;color:var(--gold)}
.hero-index .tk{width:60px;height:1px;background:rgba(197,168,128,.25);position:relative;overflow:hidden}
.hero-index .tk i{position:absolute;inset:0;width:0;background:var(--gold);display:block}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-dim);display:flex;flex-direction:column;align-items:center;gap:12px}
.scroll-cue .l{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.scroll-cue .l::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--gold);animation:drop 1.8s ease-in-out infinite}
@keyframes drop{0%{transform:translateY(-100%)}60%,100%{transform:translateY(300%)}}

/* MARQUEE */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden;white-space:nowrap;background:var(--ink)}
.marquee .track{display:inline-flex;gap:54px;align-items:center;will-change:transform}
.marquee span{font-family:"Playfair Display",serif;font-style:italic;font-size:1.7rem;color:var(--ivory-dim)}
.marquee b{color:var(--ember);font-size:.7rem}

/* STORY (wipe) */
.curtain{position:relative;overflow:hidden}.curtain>.veil{position:absolute;inset:0;z-index:5;background:var(--char-2);transform-origin:top;pointer-events:none}
.clip{clip-path:inset(0 0 100% 0)}.skewable{will-change:transform}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.story-figure{position:relative;aspect-ratio:4/5;overflow:hidden}.story-figure img{width:100%;height:118%;object-fit:cover}
.story-figure .tag{position:absolute;left:16px;bottom:16px;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;background:rgba(6,5,4,.5);backdrop-filter:blur(6px);padding:9px 14px;border:1px solid var(--line)}
.story h2{font-size:clamp(2.6rem,5.4vw,4.6rem);margin:22px 0}
.story p{color:var(--ivory-dim);line-height:1.9;font-size:1rem;max-width:46ch;margin-bottom:20px}
.stat-row{display:flex;gap:44px;margin-top:42px;flex-wrap:wrap}
.stat .n{font-family:"Playfair Display",serif;font-size:2.8rem;color:var(--gold)}
.stat .l{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-dim);margin-top:4px}

/* COAL TO PLATE (horizontal, images) */
.ritual-head{text-align:center;margin-bottom:10px}.ritual-head h2{font-size:clamp(2.6rem,6vw,5rem)}
#ritualPin{height:100svh;overflow:hidden;display:flex;align-items:center}
.ritual-track{display:flex;gap:28px;padding:0 clamp(20px,5vw,60px);will-change:transform}
.step{position:relative;flex:0 0 auto;width:min(74vw,460px);height:72svh;overflow:hidden;border-radius:3px;box-shadow:0 40px 120px -30px rgba(0,0,0,.85)}
.step img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.step:hover img{transform:scale(1.08)}
.step::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,5,4,.1) 30%,rgba(6,5,4,.9))}
.step .m{position:absolute;left:28px;right:28px;bottom:28px;z-index:2}
.step .n{font-family:"Playfair Display",serif;font-size:3.4rem;color:var(--gold-2)}
.step h3{font-size:1.7rem;margin:6px 0 8px}.step p{color:var(--ivory-dim);font-size:.88rem;line-height:1.6}

/* REVEAL SEQUENCE (wipe while scroll) */
.reveal-seq{height:340vh;position:relative}
.rs-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.rs-img{position:absolute;inset:0;will-change:clip-path}
.rs-img img{width:100%;height:100%;object-fit:cover}
.rs-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,5,4,.35),rgba(6,5,4,.25) 50%,rgba(6,5,4,.8))}
.rs-cap{position:absolute;left:clamp(20px,6vw,80px);bottom:clamp(50px,12vh,120px);z-index:5;max-width:30ch}
.rs-cap .ix{font-family:"Playfair Display",serif;color:var(--gold);font-size:1rem;margin-bottom:10px}
.rs-cap h2{font-size:clamp(2.6rem,7vw,5.6rem)}
.rs-cap p{color:var(--ivory-dim);margin-top:14px;line-height:1.7;font-size:.95rem}
.rs-cap .price{font-family:"Playfair Display",serif;color:var(--gold);font-size:1.4rem;margin-top:12px}
.rs-prog{position:absolute;right:clamp(20px,5vw,60px);top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:10px}
.rs-prog b{width:2px;height:34px;background:rgba(197,168,128,.25);position:relative;overflow:hidden;border-radius:2px}
.rs-prog b i{position:absolute;inset:0;height:0;background:var(--gold);display:block}

/* STICKY DISH STAGE */
.stage{display:grid;grid-template-columns:1.05fr 1fr}
.stage-media{position:sticky;top:0;height:100svh;overflow:hidden}
.sm{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease)}.sm.active{opacity:1}
.sm img{width:100%;height:100%;object-fit:cover}
.sm .cap{position:absolute;left:24px;bottom:24px;background:rgba(6,5,4,.5);backdrop-filter:blur(6px);padding:9px 15px;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase}
.stage-copy{padding:0 clamp(24px,5vw,80px)}
.chapter{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:60px 0}
.chapter .ix{font-family:"Playfair Display",serif;font-size:1rem;color:var(--gold);margin-bottom:16px}
.chapter h2{font-size:clamp(2.4rem,5vw,4.4rem);margin-bottom:22px}
.chapter p{color:var(--ivory-dim);line-height:1.9;font-size:1rem;max-width:42ch;margin-bottom:16px}
.chapter .price{font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--gold);margin-top:6px}

/* IMAGE-IN-TYPE */
.type-int{text-align:center;overflow:hidden}
.type-int .big{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(5rem,26vw,24rem);line-height:.9;background-image:url("/assets/Gemini_Generated_Image_fh7bpzfh7bpzfh7b.png");background-size:cover;background-position:center 40%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;will-change:background-position}
.type-int .sub{color:var(--ivory-dim);letter-spacing:.3em;text-transform:uppercase;font-size:.66rem;margin-top:10px}

/* BENTO */
.bento-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:34px}.bento-head h2{font-size:clamp(2.4rem,5.4vw,4.6rem)}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px}
.bento-c{position:relative;overflow:hidden;border-radius:3px;border:1px solid var(--line);background:var(--char-2)}
.bento-c img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);opacity:.85}
.bento-c:hover img{transform:scale(1.08);opacity:1}
.bento-c .lbl{position:absolute;left:18px;bottom:16px;z-index:2}
.bento-c .lbl b{font-family:"Playfair Display",serif;font-weight:400;font-size:1.4rem;display:block}
.bento-c .lbl span{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.bento-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,5,4,.8))}
.b-wide{grid-column:span 2}.b-tall{grid-row:span 2}.b-text{display:flex;align-items:center;padding:26px}
.b-text p{font-family:"Cormorant Garamond";font-size:1.5rem;line-height:1.4;color:var(--ivory)}

/* HORIZONTAL GALLERY WALL */
.gal-head{text-align:center;margin-bottom:8px}.gal-head h2{font-size:clamp(2.4rem,5.4vw,4.6rem)}
#galPin{height:100svh;overflow:hidden;display:flex;align-items:center}
.gal-track{display:flex;gap:18px;padding:0 clamp(20px,5vw,60px);will-change:transform}
.gal-card{position:relative;flex:0 0 auto;width:min(42vw,420px);height:70svh;overflow:hidden;border-radius:3px}
.gal-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.gal-card:hover img{transform:scale(1.07)}

/* MENU */
.menu-sec{background:var(--ink);border-top:1px solid var(--line)}
.menu-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:30px}.menu-head h2{font-size:clamp(2.6rem,6vw,5rem)}
.menu-list{border-top:1px solid var(--line)}
.menu-li{display:flex;align-items:center;gap:20px;padding:28px 6px;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease)}
.menu-li:hover{padding-left:24px}
.menu-li .ix{font-size:.64rem;color:var(--gold);width:32px}
.menu-li .nm{font-family:"Playfair Display",serif;font-size:clamp(1.5rem,3vw,2.4rem);transition:color .4s}
.menu-li .ar{font-family:"Cormorant Garamond";font-style:italic;font-size:1rem;color:var(--ivory-dim);margin-left:12px}
.menu-li .dot{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-6px)}
.menu-li .pr{font-family:"Playfair Display",serif;font-size:1.4rem;color:var(--gold)}
.menu-li:hover .nm{color:var(--gold-2)}
#peek{position:fixed;top:0;left:0;width:230px;height:290px;object-fit:cover;z-index:480;pointer-events:none;opacity:0;border-radius:2px;box-shadow:0 30px 70px -20px rgba(0,0,0,.7)}
.menu-foot{text-align:center;margin-top:50px}

/* RESERVE */
.reserve{position:relative;overflow:hidden}
.reserve-bg{position:absolute;inset:0;z-index:0}.reserve-bg img{width:100%;height:120%;object-fit:cover;opacity:.18}
.reserve-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--char),rgba(12,10,9,.72))}
.reserve-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px);align-items:center}
.reserve h2{font-size:clamp(2.8rem,6vw,5.2rem);margin:22px 0}
.reserve p{color:var(--ivory-dim);line-height:1.8;max-width:42ch;margin-bottom:30px}
.info-row{display:flex;gap:46px;flex-wrap:wrap;margin-top:30px}
.info .k{font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.info .v{font-family:"Cormorant Garamond";font-size:1.3rem;line-height:1.4}
.form{background:rgba(12,10,9,.6);backdrop-filter:blur(10px);border:1px solid var(--line);padding:clamp(28px,4vw,44px)}
.form .field{margin-bottom:22px}.form label{display:block;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-dim);margin-bottom:9px}
.form input,.form select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--ivory);font-family:"Montserrat";font-size:1rem;padding:10px 0;outline:none;transition:border-color .3s}
.form input:focus,.form select:focus{border-color:var(--gold)}.form select option{background:var(--char)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form .btn{width:100%;justify-content:center;margin-top:8px}
.wa{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);transition:.3s}.wa:hover{color:#25D366}

footer{background:var(--ink);border-top:1px solid var(--line);padding:0 0 40px;overflow:hidden}
.giant-mq{overflow:hidden;white-space:nowrap;padding:40px 0;border-bottom:1px solid var(--line)}
.giant-mq .t{display:inline-flex;gap:50px;will-change:transform}
.giant-mq b{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(3rem,11vw,10rem);color:transparent;-webkit-text-stroke:1px rgba(197,168,128,.22)}
.giant-mq i{font-style:normal;color:var(--ember);font-size:clamp(3rem,11vw,10rem);font-family:"Playfair Display"}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;align-items:start;padding-top:60px}
.foot-logo img{width:150px;margin-bottom:18px}.foot-top p{color:var(--ivory-dim);line-height:1.7;font-size:.9rem;max-width:34ch}
.foot-col h4{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.foot-col a{display:block;color:var(--ivory-dim);padding:7px 0;font-size:.9rem;transition:.3s}.foot-col a:hover{color:var(--ivory)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:60px;padding-top:24px;border-top:1px solid var(--line);font-size:.64rem;letter-spacing:.1em;color:var(--ivory-dim)}

#overlay{position:fixed;inset:0;z-index:700;background:var(--ink);clip-path:circle(0% at 100% 0%);transition:clip-path .8s var(--ease);display:flex;align-items:center}
#overlay.open{clip-path:circle(150% at 100% 0%)}
.ov-wrap{width:100%;padding:0 clamp(28px,8vw,120px);display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.ov-links a{display:block;font-family:"Playfair Display",serif;font-size:clamp(2.4rem,7vw,5rem);padding:6px 0;line-height:1.06;transition:.4s var(--ease)}
.ov-links a span{font-family:"Montserrat";font-size:.6rem;letter-spacing:.2em;color:var(--gold);vertical-align:super;margin-left:10px}
.ov-links a:hover{color:var(--gold);padding-left:24px}
.ov-side .k{font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:22px 0 8px}.ov-side .v{color:var(--ivory-dim);font-size:1rem;line-height:1.7}
.ov-close{position:absolute;top:24px;right:clamp(20px,5vw,60px);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-dim);background:none;border:none}.ov-close:hover{color:var(--gold)}

/* REVIEWS BAND */
.reviews{border-bottom:1px solid var(--line);padding:48px 0;background:var(--ink)}
.rev-in{display:grid;grid-template-columns:repeat(3,1fr)}
.rev-card{text-align:center;padding:10px 24px}
.rev-card+.rev-card{border-left:1px solid var(--line)}
.rev-logo{font-family:"Montserrat";font-weight:600;font-size:1.3rem;letter-spacing:.01em;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:6px}
.gb{color:#4285F4}.gr{color:#EA4335}.gy{color:#FBBC05}.gg{color:#34A853}
.rev-logo.ta{color:#34E0A1}.rev-logo.tp{color:#fff}.tp-star{color:#00B67A}
.owl{display:inline-flex;gap:4px;align-items:center}
.owl i{width:12px;height:12px;border-radius:50%;background:#34E0A1;position:relative}
.owl i::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ink)}
.rev-score{font-family:"Playfair Display",serif;font-size:2.3rem;color:var(--ivory);line-height:1}
.rev-stars{color:var(--gold-2);letter-spacing:3px;font-size:.95rem;margin:6px 0}
.rev-name{font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-dim)}

/* CATERING */
.catering{overflow:hidden}
.cat-in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,90px);align-items:center}
.cat-fig{position:relative;aspect-ratio:5/4;overflow:hidden;border-radius:3px}
.cat-fig img{width:100%;height:112%;object-fit:cover}
.cat-fig .tag{position:absolute;left:16px;bottom:16px;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;background:rgba(6,5,4,.5);backdrop-filter:blur(6px);padding:9px 14px;border:1px solid var(--line)}
.catering h2{font-size:clamp(2.6rem,5.6vw,4.8rem);margin:22px 0}
.catering p{color:var(--ivory-dim);line-height:1.9;max-width:46ch;margin-bottom:24px}
.cat-feats{margin:24px 0 32px;border-top:1px solid var(--line)}
.cat-feats div{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.98rem;color:var(--ivory)}
.cat-feats div span{color:var(--gold);font-family:"Playfair Display",serif;font-size:1.1rem}

/* DELIVERY */
.delivery{background:var(--ink);border-top:1px solid var(--line);text-align:center}
.delivery h2{font-size:clamp(2.4rem,5.4vw,4.4rem);margin:14px 0}
.delivery p{color:var(--ivory-dim);margin-bottom:40px}
.del-logos{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;align-items:center}
.del{display:inline-flex;align-items:center;justify-content:center;width:190px;height:78px;padding:0 26px;border-radius:14px;background:#F4F1EA;transition:transform .4s var(--ease),box-shadow .4s}
.del:hover{transform:translateY(-5px);box-shadow:0 22px 44px -18px rgba(0,0,0,.7)}
.del img{height:30px;width:auto;max-width:130px;object-fit:contain;display:block}

@media(max-width:760px){.rev-in{grid-template-columns:1fr}.rev-card+.rev-card{border-left:none;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.cat-in{grid-template-columns:1fr}.del{width:150px;height:66px;padding:0 20px}.del img{height:26px;max-width:108px}}
@media(max-width:960px){
  .nav-links{display:none}.menu-toggle{display:inline-flex}
  .hero-inner{grid-template-columns:1fr;gap:22px}.hero .lede{max-width:none}.scroll-cue{display:none}
  .story{grid-template-columns:1fr}.story-figure{aspect-ratio:16/11}
  #ritualPin,#galPin{height:auto;padding:30px 0}.ritual-track,.gal-track{flex-direction:column}.step,.gal-card{width:100%;height:60svh}
  .reveal-seq{height:auto}.rs-sticky{position:relative;height:auto}.rs-img{position:relative;height:74svh;clip-path:none!important}.rs-img+.rs-img{margin-top:0}.rs-cap{position:relative;left:0;bottom:0;padding:24px}.rs-prog{display:none}
  .stage{grid-template-columns:1fr}.stage-media{position:relative;height:60svh}.sm{position:relative;opacity:1;height:100%}.sm:not(.active){display:none}
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.b-wide,.b-tall{grid-column:auto;grid-row:auto}
  .reserve-inner{grid-template-columns:1fr}.two{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}.ov-wrap{grid-template-columns:1fr}.ov-side{display:none}#peek{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.clip{clip-path:none!important}.hero h1 .ln>span{transform:none!important}.h-eye,.h-lede,.h-cta,.rv{opacity:1!important}.hs{opacity:1!important}}