@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--wine:#4c0d1c;--dark:#170b0d;--cream:#f5ead8;--paper:#fbf8f2;--gold:#c5a46d;--ink:#171311;--muted:#706661;--line:rgba(23,19,17,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',serif}h1{font-size:clamp(4rem,8vw,8.7rem);line-height:.88;letter-spacing:-.055em}h2{font-size:clamp(3rem,5.3vw,6.2rem);line-height:.95;letter-spacing:-.045em}h3{font-family:'Playfair Display',serif;font-size:clamp(1.35rem,2vw,2rem)}p{line-height:1.72;color:var(--muted)}em{color:var(--wine)}
[data-reveal]{opacity:0;transform:translateY(42px);transition:.8s cubic-bezier(.2,.8,.2,1)}[data-reveal].visible{opacity:1;transform:none}.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6.5vw,7rem)}.eyebrow{display:flex;align-items:center;gap:.8rem;color:inherit!important;font-size:.67rem!important;letter-spacing:.21em;text-transform:uppercase;font-weight:700}.eyebrow:before{content:'';width:2.3rem;height:1px;background:var(--gold)}.eyebrow.dark{color:var(--wine)!important}.btn,.btn-light,.btn-outline{display:inline-flex;align-items:center;gap:.65rem;padding:1rem 1.35rem;text-transform:uppercase;font-size:.67rem;letter-spacing:.1em;font-weight:700;transition:.3s}.btn{background:var(--wine);color:#fff}.btn:hover{background:var(--dark);transform:translateY(-3px)}.btn-light{background:var(--cream);color:var(--wine)}.btn-outline{border:1px solid #ffffff55;color:#fff}.btn-outline:hover{background:var(--cream);color:var(--wine)}.text-link{border-bottom:1px solid currentColor;padding-bottom:.3rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:.35s}.site-header.scrolled{background:rgba(23,11,13,.96);box-shadow:0 10px 35px #0004}.nav-shell{height:96px;padding:0 clamp(1rem,4vw,4.5rem);display:flex;align-items:center;gap:2rem;border-bottom:1px solid #ffffff33}.logo{width:200px;min-width:200px;color:#fff}.logo img{height:72px;object-fit:contain}.desktop-nav{display:flex;gap:clamp(.75rem,1.3vw,1.35rem);margin-left:auto}.desktop-nav a{position:relative;padding:.5rem 0;text-transform:uppercase;font-size:.61rem;letter-spacing:.13em}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.25s}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.header-cta{border:1px solid #ffffff55;padding:.8rem 1rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.menu-toggle{display:none;background:none;color:#fff;border:0;font-size:1.4rem;margin-left:auto}.mobile-menu{display:none}
.hero{min-height:100vh;background:url('assets/hero.jpg') center/cover;position:relative;color:#fff;display:flex;align-items:center;padding:11rem clamp(1.25rem,7vw,8rem) 6rem}.hero:before,.page-hero:before,.dark-feature:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,7,8,.9),rgba(12,7,8,.18))}.hero-content,.page-hero>div,.dark-feature>div{position:relative;z-index:2}.hero-content{max-width:1050px}.hero h1{margin:1.3rem 0}.hero h1 em{color:var(--cream)}.hero-content>p:last-of-type{color:#eee;max-width:610px;font-size:1.07rem}.page-hero{min-height:74vh;background-size:cover;background-position:center;position:relative;color:#fff;display:flex;align-items:flex-end;padding:11rem clamp(1.25rem,7vw,8rem) 5.5rem}.page-hero>div{max-width:1050px}.page-hero h1{margin:1rem 0}.page-hero p:last-child{color:#ddd;max-width:650px;font-size:1.06rem}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.intro h2{margin-bottom:0}.mosaic{padding-top:0;display:grid;grid-template-columns:.7fr 1.25fr .85fr;grid-template-rows:380px 260px;gap:1rem}.mosaic figure{margin:0;position:relative;overflow:hidden}.mosaic figure:nth-child(1){grid-row:1/3}.mosaic figure:nth-child(3){grid-column:3;grid-row:1/3}.mosaic-copy{padding:2rem 1rem}.mosaic figcaption{position:absolute;left:1rem;bottom:1rem;color:#fff;font-size:.62rem;letter-spacing:.13em}.dark-feature{min-height:80vh;background:url('assets/spread.jpg') center/cover;position:relative;color:#fff;display:flex;align-items:center;padding:7rem clamp(1.25rem,7vw,8rem)}.dark-feature>div{max-width:690px}.dark-feature h2 em{color:var(--cream)}.dark-feature p{color:#ddd}.hours{margin:2rem 0;border-top:1px solid #ffffff44}.hours span{display:block;padding:.75rem 0;border-bottom:1px solid #ffffff44;font-size:.8rem}.hours b{display:inline-block;width:115px;color:var(--gold)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.split-image{height:700px}.values{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.values article{background:var(--cream);min-height:330px;padding:2.5rem;position:relative;display:flex;flex-direction:column}.values article>i{font-size:2.4rem;color:var(--wine);margin-bottom:auto}.values article>span{position:absolute;right:1.5rem;top:1.5rem;color:#9b887c}.wide-photo{min-height:75vh;background:url('assets/dining.jpg') center/cover;display:flex;align-items:flex-end;padding:6rem clamp(1.25rem,7vw,8rem);color:#fff;position:relative}.wide-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#170b0dcc)}.wide-photo>div{position:relative}.wide-photo h2 em{color:var(--cream)}
.menu-tabs{position:sticky;top:96px;z-index:20;background:var(--dark);color:#fff;display:flex;justify-content:center;overflow-x:auto}.menu-tabs a{min-width:max-content;padding:1rem;border-right:1px solid #ffffff22;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.menu-tabs i{color:var(--gold);margin-right:.45rem}.menu-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:5rem}.menu-category{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;padding:4.5rem 0;border-top:1px solid var(--line);scroll-margin-top:160px}.menu-category header i{font-size:2rem;color:var(--wine)}.menu-category header h2{font-size:clamp(2.8rem,4.2vw,5rem)}.menu-item{display:flex;justify-content:space-between;gap:2rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.menu-item h3{font-size:1.2rem;margin-bottom:.25rem}.menu-item p{font-size:.82rem;margin:0}.menu-item>strong{color:var(--wine);font-family:'Playfair Display',serif;white-space:nowrap}.location-grid,.contact-grid,.video-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw}.map-art{min-height:650px;background:var(--dark);position:relative;overflow:hidden;color:#fff;display:grid;place-items:center}.map-art:before{content:'';position:absolute;inset:-20%;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:48px 48px;transform:rotate(15deg)}.pin{position:relative;z-index:2;text-align:center}.pin i{display:block;color:var(--gold);font-size:4rem;animation:float 2s infinite}.pin b{font-family:'Playfair Display',serif;font-size:1.4rem}.pin span{display:block;font-size:.58rem;letter-spacing:.14em}@keyframes float{50%{transform:translateY(-8px)}}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery-grid figure{grid-column:span 5;height:620px;margin:0;position:relative;overflow:hidden;cursor:zoom-in}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(5),.gallery-grid figure:nth-child(8){grid-column:span 7}.gallery-grid img{transition:.6s}.gallery-grid figure:hover img{transform:scale(1.04)}.lightbox{position:fixed;inset:0;background:#000e;z-index:100;display:none;place-items:center;padding:3vw;cursor:zoom-out}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:94vh;object-fit:contain}.video-poster{height:650px;background:url('assets/steak.jpg') center/cover;display:grid;place-items:center;position:relative}.video-poster:before{content:'';position:absolute;inset:0;background:#0006}.play{position:relative;width:100px;height:100px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.5rem}.video-cards{background:var(--dark);display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.video-cards article{background:#2c171b;color:#fff;padding:2.5rem;min-height:300px}.video-cards i{font-size:2.2rem;color:var(--gold)}.video-cards p{color:#bcaeaf}.contact-line{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}.contact-line>i{color:var(--wine)}.contact-line div{display:flex;flex-direction:column}.reservation-form{background:var(--cream);padding:clamp(2rem,5vw,5rem)}.reservation-form h3{font-size:2rem}.reservation-form label{display:flex;flex-direction:column;gap:.45rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.reservation-form input,.reservation-form select,.reservation-form textarea{background:transparent;border:0;border-bottom:1px solid #0003;padding:.8rem .2rem;outline:0;text-transform:none}.reservation-form textarea{border:1px solid #0003;padding:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.success{min-height:400px;display:flex;flex-direction:column;justify-content:center}.success i{width:65px;height:65px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center}
.footer{background:var(--dark);color:#fff;padding:5rem clamp(1.25rem,6vw,6rem) 1.5rem}.footer-grid{display:grid;grid-template-columns:1.3fr .65fr .9fr 1fr;gap:4rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.footer p,.footer a{color:#b5a7a8;font-size:.8rem}.footer h3{font-size:.68rem;text-transform:uppercase;color:var(--gold);letter-spacing:.14em}.footer-bottom{margin-top:4rem;padding-top:1.5rem;border-top:1px solid #ffffff22;display:flex;justify-content:space-between;color:#817577;font-size:.61rem;text-transform:uppercase}.back-top{position:fixed;right:1.2rem;bottom:1.2rem;width:52px;height:52px;border:0;background:var(--wine);color:#fff;z-index:40;opacity:0;pointer-events:none;transition:.25s}.back-top.show{opacity:1;pointer-events:auto}
@media(max-width:1050px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{display:flex;flex-direction:column;position:absolute;top:96px;left:0;width:100%;max-height:0;overflow:hidden;background:var(--dark);transition:.4s}.mobile-menu.open{max-height:600px}.mobile-menu a{padding:1rem 1.4rem;border-bottom:1px solid #ffffff22;font-size:.72rem;text-transform:uppercase}.mobile-menu i{width:28px;color:var(--gold)}.intro,.split,.menu-category,.location-grid,.contact-grid,.video-feature{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.gallery-grid figure,.gallery-grid figure:nth-child(n){grid-column:span 6}.values,.video-cards{grid-template-columns:1fr 1fr}}
@media(max-width:720px){h1{font-size:clamp(3.5rem,15vw,5.3rem)}h2{font-size:clamp(2.7rem,12vw,4.2rem)}.nav-shell{height:80px}.mobile-menu{top:80px}.hero{padding:9rem 1.25rem 5rem}.page-hero{min-height:68vh;padding:9rem 1.25rem 4rem}.mosaic{display:flex;flex-direction:column}.mosaic figure{height:400px}.mosaic-copy{padding:1rem 0}.split-image{height:500px}.values,.video-cards{grid-template-columns:1fr}.menu-tabs{top:80px;justify-content:flex-start}.menu-intro{grid-template-columns:1fr;gap:1rem}.gallery-grid{display:block}.gallery-grid figure{height:62vh;margin-bottom:1rem}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.6rem}.video-poster{height:60vh}}
@media(max-width:470px){.logo{width:175px;min-width:175px}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}}

/* 2026 restaurant enhancement */
.desktop-nav a{font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:.42rem}.desktop-nav a i{font-size:.76rem;color:var(--gold)}.header-cta{font-size:.72rem}.logo{width:220px;min-width:220px}.logo img{height:78px;object-fit:contain}.hero-video{background:#12090b}.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-video:before{z-index:1;background:linear-gradient(90deg,rgba(12,7,8,.88),rgba(12,7,8,.26) 65%,rgba(12,7,8,.12))}.moment-copy{overflow:auto}.moment-copy p{font-size:.94rem}.moment-points{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.4rem 0 1.8rem}.moment-points span{display:flex;gap:.6rem;align-items:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.moment-points i{color:var(--wine)}
.section-heading{max-width:850px;margin-bottom:3rem}.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mv-grid article{background:var(--dark);color:#fff;padding:clamp(2rem,4vw,4rem);min-height:400px;position:relative;overflow:hidden}.mv-grid article:after{content:'';position:absolute;width:190px;height:190px;border:1px solid #ffffff20;border-radius:50%;right:-55px;bottom:-55px}.mv-grid article>i{font-size:3rem;color:var(--gold);margin-bottom:4rem}.mv-grid article span{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.68rem}.mv-grid article p{color:#c9bfc0}.why-choose{background:var(--cream)}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.why-grid article{background:var(--paper);padding:2rem;min-height:310px;transition:.35s}.why-grid article:hover{transform:translateY(-10px);box-shadow:0 24px 50px #3c1d2420}.why-grid i{width:58px;height:58px;background:var(--wine);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;margin-bottom:3rem}.menu-preview{background:var(--dark);color:#fff;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6.5vw,7rem);display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw;align-items:center}.menu-preview-copy p{color:#c3b8b9}.menu-preview h2 em{color:var(--cream)}.preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.preview-cards article{background:#2a161a;padding-bottom:1.4rem;overflow:hidden}.preview-cards img{height:340px}.preview-cards span,.preview-cards h3{display:block;margin-left:1.2rem;margin-right:1.2rem}.preview-cards span{margin-top:1rem;color:var(--gold);text-transform:uppercase;font-size:.62rem;letter-spacing:.14em}.preview-cards h3{font-size:1.25rem}.faq-section{background:var(--paper)}.faq-list{max-width:1000px;margin-left:auto}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:1.5rem 0;font-family:'Playfair Display',serif;font-size:clamp(1.3rem,2vw,2rem);display:flex;justify-content:space-between;gap:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i{color:var(--wine);transition:.3s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details p{max-width:760px;padding-bottom:1.4rem}
.menu-category.menu-stack-card{position:sticky;top:145px;z-index:calc(10 + var(--stack-index));background:var(--paper);min-height:calc(100vh - 145px);padding:0;margin:0;border:0;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;box-shadow:0 -18px 35px #170b0d14;scroll-margin-top:145px}.menu-category-image{position:relative;min-height:calc(100vh - 145px);overflow:hidden}.menu-category-image img{position:absolute;inset:0}.menu-category-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#170b0d88,transparent 50%)}.menu-category-image span{position:absolute;left:2rem;bottom:1.5rem;z-index:2;color:#fff;font-family:'Playfair Display',serif;font-size:4rem}.menu-category-content{padding:clamp(2rem,4vw,4.5rem);overflow:auto;max-height:calc(100vh - 145px)}.menu-category-content>header{display:flex;gap:1rem;align-items:center}.menu-category-content>header h2{margin-bottom:1rem}.menu-category-content>div{padding-bottom:1rem}.menu-tabs{z-index:35}
.map-embed{min-height:650px;border-radius:2px;overflow:hidden;background:#e9e2d6}.map-embed iframe{width:100%;height:650px;border:0;display:block}.contact-map-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw;align-items:center;background:var(--cream)}
.coming-soon-video{min-height:100vh;background:radial-gradient(circle at 50% 40%,#6b1830 0,#331017 34%,#170b0d 70%);color:#fff;position:relative;overflow:hidden;display:grid;place-items:center;padding:9rem 1.25rem 5rem;text-align:center}.coming-content{position:relative;z-index:3;max-width:950px}.coming-content .eyebrow{justify-content:center}.coming-content h1{font-size:clamp(4rem,8vw,8rem)}.coming-content h1 em{color:var(--cream)}.coming-content>p{color:#d4c9ca;max-width:720px;margin:0 auto 2rem}.coming-icon{width:100px;height:100px;border-radius:50%;margin:0 auto 2rem;display:grid;place-items:center;border:1px solid #ffffff55;background:#ffffff0d;font-size:2.3rem;color:var(--gold);animation:pulseGlow 2.8s ease-in-out infinite}.coming-orbit{position:absolute;border:1px solid #ffffff1c;border-radius:50%;animation:orbitPulse 5s ease-in-out infinite}.orbit-one{width:520px;height:520px}.orbit-two{width:760px;height:760px;animation-delay:-1.5s}.coming-tags{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:2rem 0}.coming-tags span{border:1px solid #ffffff25;padding:.65rem .9rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.coming-tags i{color:var(--gold);margin-right:.35rem}@keyframes pulseGlow{50%{transform:translateY(-8px) scale(1.05);box-shadow:0 0 70px #c5a46d45}}@keyframes orbitPulse{50%{transform:scale(1.08);opacity:.35}}
.portfolio-strip{background:var(--dark);color:#fff;padding:11rem clamp(1.25rem,6.5vw,7rem) 5rem}.portfolio-strip>div{max-width:900px}.portfolio-strip h2 em{color:var(--cream)}.portfolio-strip p{color:#cbbfc0}.footer-grid-expanded{grid-template-columns:1.35fr .7fr .75fr 1fr .9fr}.footer-grid .logo{width:235px}.footer-grid h3 i{margin-right:.35rem}.footer-grid a i{width:18px;color:var(--gold)}.footer-social{display:flex;gap:.5rem;margin-top:.7rem}.footer-social a{width:38px;height:38px;border:1px solid #ffffff25;display:grid;place-items:center}.footer-social a i{width:auto;color:#fff}.footer-menu-link{margin-top:.5rem}.whatsapp-float{position:fixed;left:1.2rem;bottom:1.2rem;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:1.75rem;z-index:45;box-shadow:0 14px 30px #0004;transition:.3s}.whatsapp-float:hover{transform:translateY(-4px) scale(1.05)}.order-tab{position:fixed;right:0;top:48%;z-index:44;background:var(--wine);color:#fff;padding:.9rem .65rem;border-radius:12px 0 0 12px;display:flex;align-items:center;gap:.5rem;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;box-shadow:0 10px 25px #0003}.order-tab i{color:var(--gold)}
@media(max-width:1200px){.footer-grid-expanded{grid-template-columns:1.2fr repeat(2,1fr)}.footer-grid-expanded>div:nth-child(4),.footer-grid-expanded>div:nth-child(5){grid-column:auto}.why-grid{grid-template-columns:1fr 1fr}.menu-preview{grid-template-columns:1fr}.preview-cards img{height:290px}}
@media(max-width:1050px){.menu-category.menu-stack-card{grid-template-columns:1fr;position:relative;top:auto;min-height:0;margin-bottom:1rem}.menu-category-image{min-height:52vh}.menu-category-content{max-height:none}.contact-map-section{grid-template-columns:1fr}.footer-grid-expanded{grid-template-columns:1fr 1fr 1fr}.footer-grid-expanded>div{grid-column:auto!important}.footer-brand{grid-column:1/-1!important}}
@media(max-width:720px){.logo{width:185px;min-width:185px}.logo img{height:64px}.moment-points,.mv-grid,.why-grid,.preview-cards{grid-template-columns:1fr}.mv-grid article{min-height:330px}.preview-cards img{height:360px}.map-embed,.map-embed iframe{min-height:460px;height:460px}.order-tab{top:auto;bottom:6.6rem}.whatsapp-float{bottom:1rem}.back-top{bottom:1rem}.footer-grid-expanded{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1!important}.menu-category-image{min-height:48vh}}
@media(max-width:470px){.footer-grid-expanded{grid-template-columns:1fr}.order-tab{padding:.75rem .55rem}.whatsapp-float{width:54px;height:54px}}


/* Home horizontal menu journey + requested refinements */
.site-header{will-change:transform;transform:translateY(0)}
.site-header.header-hidden{transform:translateY(-110%);pointer-events:none}
.moment-copy{overflow:visible!important;max-height:none!important}
.home-horizontal{height:600vh;position:relative;background:#13090b}
.horizontal-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
.horizontal-track{height:100%;display:flex;width:600vw;will-change:transform;transform:translate3d(0,0,0)}
.horizontal-panel{width:100vw;height:100vh;flex:0 0 100vw;position:relative;overflow:hidden}
.horizontal-track .hero{min-height:100vh;padding-top:8rem}
.horizontal-cue{display:flex;align-items:center;gap:.7rem;margin-top:2rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#ead7c9}
.horizontal-cue i{color:var(--gold);animation:nudgeRight 1.4s ease-in-out infinite}
@keyframes nudgeRight{50%{transform:translateX(10px)}}
.menu-story{background-image:var(--story-image);background-size:cover;background-position:center;color:#fff;display:flex;align-items:flex-end;padding:clamp(2rem,7vw,7rem)}
.menu-story:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,9,11,.88) 0%,rgba(19,9,11,.5) 45%,rgba(19,9,11,.12) 100%)}
.menu-story:after{content:'';position:absolute;right:4vw;top:5vh;width:min(32vw,440px);height:min(32vw,440px);border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 30px #ffffff0a,0 0 0 60px #ffffff08}
.menu-story-content{position:relative;z-index:2;max-width:720px}
.menu-story h2{font-size:clamp(4rem,8vw,8.5rem);margin:.5rem 0 1rem;line-height:.9;color:#fff}
.menu-story p:not(.eyebrow){max-width:620px;color:#f1e8e4;font-size:1.04rem}
.story-number{position:absolute;left:0;bottom:calc(100% + 1.1rem);font-family:'Playfair Display',serif;font-size:clamp(4rem,7vw,7rem);color:#ffffff22;line-height:1}
.intro-parallax{position:relative;background:linear-gradient(rgba(248,241,234,.92),rgba(248,241,234,.92)),url('assets/drinks.jpg') center/cover fixed;overflow:hidden}
.intro-parallax:after{content:'';position:absolute;right:-8rem;top:-8rem;width:22rem;height:22rem;border-radius:50%;background:rgba(125,35,49,.08)}
.mosaic-color{background:linear-gradient(135deg,#f7eee6 0%,#fff 60%,#ead7c8 100%)}
.parallax-bg{background-attachment:fixed}
.split-tinted{background:linear-gradient(120deg,#fff 0%,#f8efe7 60%,#ead9ca 100%)}
.parallax-image img{transform:scale(1.08);transition:transform .2s linear}
.textured-section{position:relative;background:linear-gradient(rgba(250,245,239,.94),rgba(250,245,239,.94)),url('assets/interior.jpg') center/cover fixed}
.why-parallax{position:relative;background:linear-gradient(rgba(248,238,229,.94),rgba(248,238,229,.94)),url('assets/spread.jpg') center/cover fixed}
.faq-color{background:linear-gradient(145deg,#fff 0%,#f5e8de 100%)}
.footer-portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.9rem}
.footer-portfolio-grid img{width:100%;height:78px;object-fit:cover;border-radius:4px;filter:saturate(.9);transition:.3s}
.footer-portfolio-grid img:hover{transform:scale(1.04);filter:saturate(1.15)}

@media(max-width:720px){
  .home-horizontal{height:600vh}
  .horizontal-track{width:600vw}
  .horizontal-track .hero{padding-top:7rem}
  .menu-story{padding:2rem 1.25rem 4rem;background-position:center}
  .menu-story h2{font-size:clamp(3.2rem,15vw,5rem)}
  .menu-story:after{width:55vw;height:55vw;right:-10vw;top:10vh}
  .story-number{font-size:4.2rem}
  .parallax-bg,.intro-parallax,.textured-section,.why-parallax{background-attachment:scroll}
  .footer-portfolio-grid img{height:92px}
}

/* V3 refinements */
/* Slightly calmer display scale */
h1{font-size:clamp(3.6rem,6.7vw,7.25rem)}
h2{font-size:clamp(2.55rem,4.65vw,5.35rem)}
.menu-story h2{font-size:clamp(3.6rem,6.8vw,6.6rem)}

/* Brand sizing */
.logo,.footer-grid .logo{width:200px;min-width:200px}
.logo img,.footer-grid .logo img{width:200px;height:96px;object-fit:contain}
.nav-shell{height:108px}
.mobile-menu{top:108px}

/* The category shortcuts belong to the top of Menu, never to scrolling UI */
.menu-tabs{position:relative;top:auto;z-index:2}
.menu-category.menu-stack-card{top:0;min-height:100vh;scroll-margin-top:0}
.menu-category-image{min-height:100vh}
.menu-category-content{max-height:100vh}

/* A table for every kind of moment: warm color field, no white */
.mosaic-color{background:linear-gradient(135deg,#e7cdbc 0%,#f0d9c7 46%,#d8b39c 100%)}
.mosaic-color .mosaic-copy{background:rgba(76,13,28,.06);border:1px solid rgba(76,13,28,.1)}

/* Full-bleed signature plates */
.signature-fullbleed{padding:0!important;gap:0!important;width:100%;max-width:none;grid-template-columns:1.08fr .92fr;background:#f3e5d9}
.signature-fullbleed .split-image{height:clamp(620px,82vh,860px)}
.signature-fullbleed>div:last-child{padding:clamp(4rem,8vw,8rem)}

/* Wine flip-card experience */
.why-wine{background:var(--wine);color:#fff;position:relative;overflow:hidden}
.why-wine:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,#a05b6933,transparent 35%),radial-gradient(circle at 10% 85%,#c5a46d22,transparent 30%);pointer-events:none}
.why-wine>*{position:relative;z-index:1}
.why-wine .section-heading{max-width:920px}
.why-wine .section-heading p{color:#e4d5d7}
.why-wine .section-heading .eyebrow{color:#fff!important}
.why-wine h2 em{color:var(--cream)}
.flip-grid{grid-template-columns:repeat(4,1fr);perspective:1300px}
.flip-card{background:transparent!important;padding:0!important;min-height:370px!important;perspective:1100px;box-shadow:none!important;cursor:pointer;outline:none}
.flip-card:hover,.flip-card:focus{transform:none!important;box-shadow:none!important}
.flip-card-inner{position:relative;width:100%;height:370px;transition:transform .7s cubic-bezier(.2,.75,.2,1);transform-style:preserve-3d}
.flip-card:hover .flip-card-inner,.flip-card:focus .flip-card-inner,.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;padding:2rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;border:1px solid #ffffff29;overflow:hidden}
.flip-front{background:#641327;color:#fff}
.flip-front:after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;border:1px solid #ffffff18;right:-45px;bottom:-45px}
.flip-front>i{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--wine);font-size:1.45rem;margin-bottom:auto}
.flip-front span{position:absolute;right:1.5rem;top:1.5rem;color:#ffffff60;font-family:'Playfair Display',serif;font-size:2.3rem}
.flip-front h3{font-size:1.75rem;margin:1.25rem 0 .6rem}
.flip-front p{color:#eadde0;margin-bottom:1rem}
.flip-front small{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}
.flip-front small i{margin-left:.35rem}
.flip-back{background:var(--cream);color:var(--ink);transform:rotateY(180deg);justify-content:center}
.flip-back h3{font-size:1.75rem;color:var(--wine)}
.flip-back p{color:#655b57}
.flip-back a{margin-top:1rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--wine);font-weight:700}

/* FAQ split with editorial image */
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,7rem);align-items:start}
.faq-visual{position:sticky;top:8vh;height:72vh;min-height:560px;overflow:hidden}
.faq-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(23,11,13,.82))}
.faq-visual img{width:100%;height:100%;object-fit:cover}
.faq-visual span{position:absolute;left:1.5rem;bottom:1.5rem;right:1.5rem;z-index:2;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem}
.faq-visual span i{color:var(--gold);margin-right:.5rem}
.faq-content .section-heading{margin-bottom:2rem}
.faq-list{max-width:none;margin-left:0}

/* Footer: same page menu as header + linked 4-image portfolio */
.footer-grid-expanded{grid-template-columns:1.25fr .75fr .8fr 1fr .9fr}
.footer-nav a{display:flex;align-items:center;gap:.3rem}
.footer-portfolio-grid a{display:block;height:82px;overflow:hidden;border-radius:4px}
.footer-portfolio-grid a img{height:100%;transition:.35s}
.footer-portfolio-grid a:hover img{transform:scale(1.08);filter:saturate(1.18)}

/* Expanded About page */
.about-story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:7vw;align-items:center;background:#f3e5d9}
.about-story-grid figure{margin:0;height:680px;position:relative;overflow:hidden}
.about-story-grid figcaption{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(23,11,13,.82);color:#fff;padding:.8rem 1rem;font-size:.63rem;text-transform:uppercase;letter-spacing:.1em}
.about-mv{background:linear-gradient(145deg,#fbf8f2,#ead9ca)}
.about-why{background:var(--wine);color:#fff}
.about-why h2 em{color:var(--cream)}
.about-why .eyebrow{color:#fff!important}
.about-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.about-why-grid article{background:#641327;padding:2rem;min-height:315px;border:1px solid #ffffff1f}
.about-why-grid article i{font-size:2rem;color:var(--gold);margin-bottom:3.5rem}
.about-why-grid article h3{font-size:1.55rem}
.about-why-grid article p{color:#e3d4d7}
.about-process{background:#efe0d3}
.process-heading{max-width:900px;padding-bottom:4rem}
.process-stack{position:relative}
.process-step{position:sticky;top:0;min-height:78vh;padding:clamp(3rem,7vw,7rem);display:grid;grid-template-columns:110px 110px minmax(0,760px);gap:2rem;align-content:center;color:#fff;box-shadow:0 -20px 45px #170b0d22}
.process-step>span{font-family:'Playfair Display',serif;font-size:4.5rem;color:#ffffff2f;line-height:1}
.process-step>i{width:86px;height:86px;border-radius:50%;border:1px solid #ffffff45;display:grid;place-items:center;font-size:2rem;color:var(--gold)}
.process-step h3{font-size:clamp(2rem,4vw,4.2rem);line-height:1;margin:.65rem 0 1rem}
.process-step p:not(.eyebrow){color:#eadfe0;max-width:700px}
.process-one{background:#4c0d1c;z-index:11}
.process-two{background:#351019;z-index:12}
.process-three{background:#6c2432;z-index:13}
.process-four{background:#170b0d;z-index:14}
.about-map{display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw;align-items:center;background:#fbf8f2}
.about-map .map-embed,.about-map .map-embed iframe{height:620px;min-height:620px}

@media(max-width:1050px){
  .signature-fullbleed{grid-template-columns:1fr}
  .signature-fullbleed .split-image{height:65vh}
  .flip-grid,.about-why-grid{grid-template-columns:1fr 1fr}
  .faq-section,.about-story-grid,.about-map{grid-template-columns:1fr}
  .faq-visual{position:relative;top:auto;height:58vh;min-height:440px}
  .process-step{grid-template-columns:80px 80px 1fr;min-height:70vh}
  .footer-grid-expanded{grid-template-columns:1.2fr 1fr 1fr}
}
@media(max-width:720px){
  h1{font-size:clamp(3rem,12vw,4.6rem)}
  h2{font-size:clamp(2.25rem,10vw,3.7rem)}
  .menu-story h2{font-size:clamp(3rem,13vw,4.5rem)}
  .nav-shell{height:88px}
  .logo,.footer-grid .logo{width:170px;min-width:170px}
  .logo img,.footer-grid .logo img{width:170px;height:78px}
  .mobile-menu{top:88px}
  .menu-tabs{top:auto}
  .menu-category.menu-stack-card{position:relative;min-height:0;top:auto}
  .menu-category-image{min-height:48vh}
  .menu-category-content{max-height:none}
  .flip-grid,.about-why-grid{grid-template-columns:1fr}
  .flip-card,.flip-card-inner{min-height:340px!important;height:340px}
  .faq-section{gap:2.5rem}
  .faq-visual{height:50vh;min-height:360px}
  .about-story-grid figure{height:520px}
  .process-step{position:relative;top:auto;min-height:72vh;grid-template-columns:1fr;padding:3rem 1.4rem}
  .process-step>span{position:absolute;right:1.3rem;top:1.2rem}
  .process-step>i{margin-top:2.5rem}
  .about-map .map-embed,.about-map .map-embed iframe{height:460px;min-height:460px}
  .footer-portfolio-grid a{height:94px}
}

/* V4 refinements */
.mosaic-color{
  background:linear-gradient(rgba(248,241,234,.92),rgba(248,241,234,.92)),url('assets/drinks.jpg') center/cover fixed !important;
}
.mosaic-color .mosaic-copy{
  background:rgba(255,255,255,.34);
  border:1px solid rgba(76,13,28,.08);
  backdrop-filter:blur(4px);
}

.signature-fullbleed,
.signature-fullbleed .split-image{
  overflow:hidden;
}
.signature-fullbleed .split-image{
  position:relative;
}
.signature-fullbleed .split-image img{
  will-change:transform;
}

.flip-back a{
  margin-top:1.8rem;
}

.process-heading{
  max-width:none;
  padding-bottom:4rem;
}
.process-heading-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(2rem,6vw,6rem);
  align-items:end;
}
.process-heading-copy{
  max-width:760px;
}
.process-heading-visual{
  margin:0;
  height:460px;
  position:relative;
  overflow:hidden;
  border-radius:0;
  box-shadow:0 18px 45px rgba(23,11,13,.18);
}
.process-heading-visual::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(23,11,13,.08),rgba(23,11,13,.58));
}
.process-heading-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.process-heading-visual figcaption{
  position:absolute;
  left:1.4rem;
  bottom:1.25rem;
  z-index:1;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.66rem;
}
.process-heading-visual figcaption i{
  color:var(--gold);
  margin-right:.45rem;
}

@media(max-width:1050px){
  .process-heading-grid{grid-template-columns:1fr;align-items:start;}
  .process-heading-visual{height:400px;}
}
@media(max-width:720px){
  .mosaic-color{background-attachment:scroll !important;}
  .process-heading-visual{height:300px;}
}
