:root{--forest:#0d3328;--forest-dark:#08271f;--cream:#f4f0e8;--paper:#faf8f3;--gold:#d1b079;--ink:#14342b;--muted:#64736c;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:5.7rem}body{margin:0;overflow-x:hidden}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:400}::selection{background:var(--gold);color:var(--forest-dark)}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.8rem 1rem;background:white;color:var(--forest)}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:2rem;height:5.7rem;padding:0 clamp(1.35rem,4.5vw,5rem);background:var(--forest);color:var(--cream);box-shadow:0 7px 24px rgba(4,20,15,.12)}
.brand{display:inline-flex;align-items:center;gap:.6rem;flex:none;color:#f8f2e8}.brand-symbol{display:flex;align-items:center;width:2rem;height:1.5rem;gap:.03rem}.brand-symbol i{display:block;width:.67rem;height:.67rem;flex:none;background:var(--gold);transform:rotate(45deg) scale(.76);margin-right:-.31rem}.brand-name{display:flex;flex-direction:column;align-items:center;line-height:1}.brand-name small{font-size:.52rem;letter-spacing:.2em;font-weight:700}.brand-name strong{font:400 2.1rem/.94 "Playfair Display",serif;letter-spacing:-.06em}.brand-name em{font-style:normal;font-size:.46rem;font-weight:700;letter-spacing:.18em;margin-top:.22rem}
.desktop-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.5vw,3rem);margin-left:auto}.desktop-nav a{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;position:relative;white-space:nowrap}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-.45rem;height:1px;background:var(--gold);transition:right .25s}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}.header-actions{display:flex;align-items:center;gap:1.4rem}.language-switch{display:flex;align-items:center;gap:.25rem}.language-switch button{border:0;background:none;color:rgba(255,255,255,.55);padding:.45rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;cursor:pointer}.language-switch button[aria-pressed=true]{color:var(--gold)}.language-switch span{height:.85rem;width:1px;background:rgba(255,255,255,.3)}.header-booking{display:inline-flex;align-items:center;gap:2rem;border:1px solid var(--gold);padding:.78rem 1rem;color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}.header-booking:hover{background:var(--gold);color:var(--forest)}.header-booking:active,.button:active,.menu-pick:active{transform:scale(.97)}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:45% 55%;min-height:min(48rem,calc(100svh - 5.7rem));height:calc(100svh - 5.7rem);max-height:64rem;background:var(--forest);color:var(--cream);overflow:hidden}.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3rem,5vw,6rem) clamp(2rem,5vw,7rem);isolation:isolate}.hero-copy::after{content:"";position:absolute;z-index:-1;left:-11rem;bottom:-17rem;width:38rem;height:38rem;border:1px solid rgba(209,176,121,.13);border-radius:50%;box-shadow:0 0 0 5rem rgba(209,176,121,.025),0 0 0 10rem rgba(209,176,121,.018);pointer-events:none}.hero-kicker{display:flex;align-items:center;gap:1.2rem;color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.2em;white-space:nowrap;animation:rise-in .7s ease both}.triple-diamond{display:flex;align-items:center;width:3rem}.triple-diamond i{width:.55rem;height:.55rem;background:var(--gold);transform:rotate(45deg);margin-right:.1rem}.hero h1{margin:2.4rem 0 1.8rem;font-size:clamp(4.2rem,6.25vw,8.5rem);letter-spacing:-.065em;line-height:1.01;animation:rise-in .95s .1s ease both}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--gold);font-weight:400}.hero-note{max-width:22rem;color:rgba(244,240,232,.76);font-size:1.03rem;line-height:1.7;animation:rise-in .9s .22s ease both}.hero-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2.5rem;animation:rise-in .9s .32s ease both}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.8rem;min-height:3.6rem;padding:.92rem 1.15rem;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s,transform .18s}.button-gold{background:var(--gold);color:var(--forest-dark)}.button-gold:hover{background:#edd4a9}.hero-discover{display:inline-flex;align-items:center;gap:.75rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.5);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.hero-discover:hover{color:var(--gold)}.hero-side-label{position:absolute;bottom:2.2rem;left:clamp(2rem,5vw,7rem);color:rgba(244,240,232,.42);font-size:.65rem;letter-spacing:.2em}
.hero-stage{position:relative;min-width:0;overflow:hidden;animation:stage-reveal 1.45s cubic-bezier(.76,0,.2,1) both}.hero-photo{position:absolute;inset:0;transition:opacity 1.1s ease,transform 4.5s ease;will-change:opacity,transform}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo-day img{object-position:57% center}.hero-photo-night{opacity:0;transform:scale(1.06)}.hero-photo-night img{object-position:50% 50%}.hero[data-scene=night] .hero-photo-day{opacity:0;transform:scale(1.06)}.hero[data-scene=night] .hero-photo-night{opacity:1;transform:scale(1)}.hero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,19,14,.7) 0%,transparent 36%),linear-gradient(90deg,rgba(3,25,18,.19),transparent 34%);pointer-events:none}.hero-stage-frame{position:absolute;z-index:1;inset:1.4rem;border:1px solid rgba(255,255,255,.35);pointer-events:none}.hero-stage-top,.hero-stage-caption{position:absolute;z-index:2;left:3rem;right:3rem;display:flex;align-items:center;gap:.75rem;color:#fff;font-size:.67rem;font-weight:700;letter-spacing:.18em}.hero-stage-top{top:3.1rem}.stage-line{display:block;width:2.1rem;height:1px;background:var(--gold)}.hero-stage-caption{justify-content:space-between;bottom:2.3rem;color:rgba(255,255,255,.75)}.hero-scene-controls{position:absolute;z-index:3;right:3rem;bottom:5.4rem;display:flex;background:rgba(8,39,31,.89);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(12px)}.hero-scene-controls button{display:flex;align-items:center;gap:.7rem;min-width:9.5rem;padding:1rem 1.25rem;border:0;border-right:1px solid rgba(255,255,255,.22);background:transparent;color:rgba(255,255,255,.55);cursor:pointer;transition:background .25s,color .25s}.hero-scene-controls button:last-child{border-right:0}.hero-scene-controls button[aria-pressed=true]{background:var(--gold);color:var(--forest-dark)}.hero-scene-controls button span{font-size:.62rem;letter-spacing:.08em}.hero-scene-controls button strong{font-size:.81rem;font-weight:700;letter-spacing:.06em}
.brand-ribbon{overflow:hidden;background:var(--gold);color:var(--forest);padding:.6rem 0}.ribbon-track{display:flex;width:max-content;animation:ribbon-move 32s linear infinite}.ribbon-track>span{display:block;flex:none;font:400 clamp(2rem,4.2vw,4.2rem)/1.1 "Playfair Display",serif;letter-spacing:-.05em;white-space:nowrap}.ribbon-track b{margin:0 1.8rem;font:700 .6em "DM Sans",sans-serif;letter-spacing:.03em;vertical-align:.1em}
.section-mark{display:block;color:#a98552;font-size:.73rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.experience{padding:clamp(5rem,8vw,9rem) clamp(1.4rem,7.5vw,9rem) clamp(6rem,10vw,11rem);background:var(--paper)}.experience-heading{display:grid;grid-template-columns:1fr 3fr;gap:2rem;align-items:start}.experience-heading h2{max-width:55rem;color:var(--forest);font-size:clamp(3.5rem,6.1vw,7rem);line-height:1.07;letter-spacing:-.055em}.experience-heading h2 em{font-weight:400}.experience-facts{grid-column:2;display:flex;gap:1.25rem;align-items:center;margin:1.4rem 0 3.8rem;color:#6b766e;font-size:.72rem;font-weight:700;letter-spacing:.14em}.experience-facts span:nth-child(even){color:var(--gold);font-size:.7rem}.experience-gallery{display:grid;grid-template-columns:1.36fr .7fr;gap:1.7rem;align-items:start}.experience-image{position:relative;overflow:hidden;background:var(--forest-dark)}.experience-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.experience-image:hover img{transform:scale(1.04)}.experience-image-main{height:clamp(27rem,53vw,54rem)}.experience-image-side{height:clamp(19rem,35vw,38rem);margin-top:8rem}.experience-image-main img{object-position:50% center}.experience-image-side img{object-position:50% 50%}.experience-image figcaption{position:absolute;left:1.4rem;bottom:1.4rem;padding:.7rem .9rem;background:rgba(8,39,31,.86);color:white;font-size:.75rem;letter-spacing:.04em}
.menu-section{padding:clamp(5rem,8vw,9rem) clamp(1.4rem,7.5vw,9rem);background:#ede7da}.menu-heading{display:grid;grid-template-columns:1fr 2.2fr 1fr;align-items:end;gap:2rem;margin-bottom:3rem}.menu-heading h2{font-size:clamp(3.8rem,6vw,7rem);line-height:1.05;letter-spacing:-.055em;color:var(--forest)}.menu-heading h2 em{font-weight:400}.menu-heading p{max-width:15rem;color:#65746b;line-height:1.65;font-size:1rem}.menu-feature{display:grid;grid-template-columns:58% 42%;min-height:clamp(31rem,48vw,47rem);overflow:hidden}.menu-visual{position:relative;display:grid;place-items:center;background:#f6f2e9;overflow:hidden}.menu-ghost{position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-55%);font:400 clamp(7rem,13vw,16rem) "Playfair Display",serif;letter-spacing:-.09em;color:#e4ddcf;white-space:nowrap;pointer-events:none}.menu-visual img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .26s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.menu-visual.is-changing img{opacity:.35;transform:translateY(1rem) scale(.96)}.menu-visual-index{position:absolute;z-index:2;left:2rem;bottom:1.8rem;color:#9d8159;font-size:.72rem;font-weight:700;letter-spacing:.16em}.menu-detail{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2.2rem,5vw,6rem);background:var(--forest);color:var(--cream)}.menu-detail-label{margin-bottom:2rem;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.2em}.menu-detail h3{max-width:30rem;font-size:clamp(3rem,4.6vw,6rem);line-height:1.06;letter-spacing:-.055em}.menu-detail p{max-width:28rem;margin:1.7rem 0 2.5rem;color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.7}.button-forest{background:var(--forest);color:var(--cream)}.button-forest:hover{background:#235040}.menu-detail .button-forest{background:var(--gold);color:var(--forest-dark)}.menu-detail .button-forest:hover{background:#eed4a8}.menu-picker{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #bdb3a1}.menu-pick{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:1.1rem 1rem 1.3rem;border:0;border-right:1px solid #bdb3a1;background:transparent;color:var(--forest);text-align:left;cursor:pointer;transition:background .25s,transform .18s}.menu-pick:first-child{border-left:1px solid #bdb3a1}.menu-pick[aria-pressed=true],.menu-pick:hover{background:#dcd1bf}.menu-pick .pick-number{color:#9b8059;font-size:.7rem;font-weight:700;letter-spacing:.15em}.menu-pick img{width:100%;height:8.6rem;margin:.45rem 0;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}.menu-pick:hover img{transform:scale(1.05)}.menu-pick>span:last-of-type{min-height:2.7rem;font:400 clamp(1.13rem,1.65vw,1.65rem)/1.15 "Playfair Display",serif}.menu-pick i{align-self:flex-end;font-style:normal;font-size:1.2rem;color:#9b8059}
.evenings{position:relative;min-height:clamp(37rem,62vw,53rem);display:flex;align-items:center;overflow:hidden;background:var(--forest-dark);color:white}.evenings-media,.evenings-media img{position:absolute;inset:0;width:100%;height:100%}.evenings-media img{object-fit:cover;object-position:center 45%}.evenings::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,19,.93),rgba(4,24,19,.65) 45%,rgba(4,24,19,.07))}.evenings-content{position:relative;z-index:1;padding:6rem clamp(1.4rem,7.5vw,9rem)}.evenings .section-mark{color:var(--gold)}.evenings h2{margin:2rem 0 1.3rem;font-size:clamp(4rem,7.2vw,9rem);line-height:1.05;letter-spacing:-.055em}.evenings h2 em{color:var(--gold);font-weight:400}.evenings p{max-width:26rem;color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.75}.button-outline{margin-top:2rem;border:1px solid var(--gold);color:var(--gold)}.button-outline:hover{background:var(--gold);color:var(--forest-dark)}
.visit{display:grid;grid-template-columns:1fr .72fr;gap:clamp(3rem,7vw,8rem);align-items:center;padding:clamp(5rem,9vw,10rem) clamp(1.4rem,7.5vw,9rem);background:var(--paper)}.visit h2{max-width:49rem;margin:2rem 0 2.5rem;color:var(--forest);font-size:clamp(4rem,6.2vw,7rem);line-height:1.08;letter-spacing:-.055em}.visit h2 em{font-weight:400}.visit-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.visit-map{display:inline-flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--forest);padding:.5rem 0;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.visit-card{min-height:25rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:clamp(2rem,3vw,3.5rem);border:1px solid #d2cabd;background:#eee9df}.visit-card img{width:6.5rem;height:6.5rem;border-radius:50%;object-fit:cover;mix-blend-mode:multiply}.visit-card div{display:flex;flex-direction:column;gap:1rem}.visit-card div>span{color:#977b54;font-size:.7rem;font-weight:700;letter-spacing:.2em}.visit-card strong{font:400 clamp(2rem,3.2vw,3.5rem)/1.2 "Playfair Display",serif;letter-spacing:-.04em}.visit-card>a{font-size:1rem;font-weight:700;border-bottom:1px solid var(--forest);padding-bottom:.3rem}
.footer{display:grid;grid-template-columns:1fr auto;gap:4rem;padding:4rem clamp(1.4rem,7.5vw,9rem) 2rem;background:var(--forest-dark);color:var(--cream)}.footer-brand{width:max-content}.footer-socials{display:flex;gap:2rem;align-items:start;font-size:.84rem}.footer-socials a:hover,.footer-bottom a:hover{color:var(--gold)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.55);font-size:.68rem;font-weight:600;letter-spacing:.12em}.mobile-booking-bar{display:none}
@keyframes rise-in{from{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes stage-reveal{from{clip-path:inset(0 0 100% 0);transform:scale(1.04)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}@keyframes ribbon-move{to{transform:translateX(-50%)}}
@media(max-width:1150px){.desktop-nav{gap:1.2rem}.header-booking{display:none}.hero{grid-template-columns:48% 52%}.hero-copy{padding:3rem}.hero h1{font-size:clamp(3.7rem,6.3vw,6rem)}.menu-heading{grid-template-columns:1fr 2fr}.menu-heading p{grid-column:2}.menu-detail{padding:2.5rem}}
@media(max-width:760px){html{scroll-padding-top:4.7rem}.site-header{height:4.7rem;padding:0 1.25rem}.brand-name strong{font-size:1.8rem}.desktop-nav{display:none}.header-actions{gap:.55rem}.menu-toggle{display:flex;width:2.4rem;height:2.4rem;flex-direction:column;align-items:center;justify-content:center;gap:.38rem;border:0;background:none;color:white;cursor:pointer}.menu-toggle span{width:1.45rem;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(.22rem) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-.22rem) rotate(-45deg)}.mobile-nav:not([hidden]){position:fixed;z-index:49;display:flex;flex-direction:column;top:4.7rem;left:0;right:0;padding:1rem 1.25rem 1.7rem;background:var(--forest);color:white;box-shadow:0 20px 25px rgba(0,0,0,.18)}.mobile-nav a{padding:1rem 0;border-top:1px solid rgba(255,255,255,.18);font-size:1rem}.mobile-nav .mobile-nav-booking{margin-top:.5rem;padding:1rem;background:var(--gold);color:var(--forest);border:0;text-align:center;font-weight:700}.hero{position:relative;display:block;min-height:43rem;height:calc(100svh - 4.7rem);max-height:58rem}.hero-stage{position:absolute;inset:0;animation-duration:1.1s}.hero-stage::after{background:linear-gradient(90deg,rgba(2,23,17,.68),rgba(2,23,17,.1)),linear-gradient(0deg,rgba(2,23,17,.9),transparent 42%)}.hero-stage-frame,.hero-stage-top,.hero-stage-caption{display:none}.hero-photo-day img{object-position:57% center}.hero-photo-night img{object-position:51% center}.hero-copy{position:relative;z-index:2;height:100%;justify-content:flex-start;padding:clamp(3.5rem,8vh,5.5rem) 1.45rem 9rem;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy::after{display:none}.hero-kicker{font-size:.68rem}.hero h1{margin:2.2rem 0 1.5rem;font-size:clamp(3.65rem,13.5vw,5.5rem)}.hero-note{max-width:18rem;font-size:1rem}.hero-actions{margin-top:2rem;gap:1.2rem}.hero-side-label{display:none}.hero-scene-controls{left:1.45rem;right:1.45rem;bottom:2rem}.hero-scene-controls button{flex:1;min-width:0;padding:.85rem .9rem}.brand-ribbon{padding:.55rem 0}.ribbon-track>span{font-size:2rem}.experience{padding:5.5rem 1.45rem 6rem}.experience-heading{display:block}.experience-heading h2{margin:1.6rem 0;font-size:clamp(3.4rem,11vw,5rem)}.experience-facts{gap:.65rem;flex-wrap:wrap;margin:0 0 2.5rem;font-size:.65rem}.experience-gallery{grid-template-columns:1fr;gap:1rem}.experience-image-main{height:26rem}.experience-image-side{height:19rem;margin:0 0 0 2.5rem}.experience-image figcaption{left:1rem;bottom:1rem}.menu-section{padding:5.5rem 1.45rem}.menu-heading{display:block;margin-bottom:2.4rem}.menu-heading h2{margin:1.5rem 0;font-size:clamp(3.6rem,11vw,5rem)}.menu-heading p{max-width:19rem}.menu-feature{grid-template-columns:1fr}.menu-visual{height:24rem}.menu-visual-index{left:1rem;bottom:1rem}.menu-detail{min-height:22rem;padding:2.2rem 1.5rem}.menu-detail-label{margin-bottom:1rem}.menu-detail h3{font-size:clamp(3rem,10vw,4.5rem)}.menu-detail p{margin:1rem 0 1.5rem;font-size:1rem}.menu-picker{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.menu-pick{flex:0 0 55%;scroll-snap-align:start}.menu-pick img{height:7.5rem}.evenings{min-height:38rem}.evenings::after{background:linear-gradient(0deg,rgba(4,24,19,.93),rgba(4,24,19,.36))}.evenings-content{padding:5rem 1.45rem}.evenings h2{font-size:clamp(3.6rem,11vw,5rem)}.visit{grid-template-columns:1fr;padding:5.5rem 1.45rem;gap:3rem}.visit h2{font-size:clamp(3.7rem,11vw,5rem)}.visit-card{min-height:27rem}.footer{grid-template-columns:1fr;gap:2.7rem;padding:4rem 1.45rem 7rem}.footer-socials{flex-direction:column;gap:1rem}.footer-bottom{flex-wrap:wrap;line-height:1.6}.mobile-booking-bar{position:fixed;z-index:52;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.45rem max(1.1rem,env(safe-area-inset-bottom));background:var(--gold);color:var(--forest-dark);box-shadow:0 -5px 20px rgba(0,0,0,.14);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}}
@media(max-width:390px){.brand-symbol{transform:scale(.85);margin-right:-.3rem}.brand-name strong{font-size:1.65rem}.hero h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-scene-controls button{gap:.35rem}.menu-pick{flex-basis:64%}}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-stage{clip-path:none}}
.page-top-anchor{display:block;height:0}
.menu-visual img{object-fit:cover;object-position:center}
.menu-picker{scrollbar-width:none}.menu-picker::-webkit-scrollbar{display:none}
.hero-dial{position:absolute;z-index:5;left:45%;top:49%;display:grid;place-items:center;width:9.5rem;height:9.5rem;padding:0;border:1px solid rgba(209,176,121,.75);border-radius:50%;background:var(--forest-dark);color:var(--gold);cursor:pointer;transform:translate(-50%,-50%);box-shadow:0 15px 45px rgba(0,0,0,.22);transition:background .25s,box-shadow .25s}
.hero-dial:hover,.hero-dial:focus-visible{background:#174a38;box-shadow:0 18px 50px rgba(0,0,0,.32)}
.hero-dial:active{transform:translate(-50%,-50%) scale(.96)}
.dial-ring{position:absolute;inset:0;width:100%;height:100%;animation:dial-spin 24s linear infinite}.dial-ring text{fill:var(--gold);font:700 9.5px "DM Sans",sans-serif;letter-spacing:2px}
.dial-diamonds{display:flex;align-items:center;justify-content:center;gap:.17rem}.dial-diamonds i{width:.65rem;height:.65rem;background:var(--gold);transform:rotate(45deg)}
@keyframes dial-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.hero-dial{display:none}}
@media(max-width:760px){.hero-scene-controls{bottom:8rem}}
@media(prefers-reduced-motion:reduce){.dial-ring{animation:none}}
@keyframes stage-reveal{from{clip-path:inset(5% 0 5% 0);opacity:.65;transform:scale(1.025)}to{clip-path:inset(0 0 0 0);opacity:1;transform:scale(1)}}
.desktop-nav a{font-size:.84rem}.header-booking,.button,.hero-discover,.visit-map,.mobile-booking-bar{font-size:.84rem}

/* The opening scene and section rhythm are sized to a laptop viewport. */
html{scroll-padding-top:4.6rem}
.site-header{height:4.6rem}
.brand-name strong{font-size:1.9rem}
.brand-name small{font-size:.46rem}
.brand-name em{font-size:.43rem}
.header-booking{padding:.62rem .9rem;gap:1.35rem}
.header-actions{gap:1rem}
.hero{height:calc(100svh - 4.6rem);min-height:0;max-height:54rem}
.hero-copy{padding:2.5rem clamp(2.2rem,4.8vw,6rem)}
.hero h1{margin:1.35rem 0 1.15rem;font-size:clamp(3.55rem,4.65vw,6.2rem);line-height:1.04;letter-spacing:-.06em}
.hero-note{max-width:28rem;font-size:clamp(.9rem,1.02vw,1.05rem);line-height:1.5}
.hero-actions{gap:1.25rem;margin-top:1.6rem}
.hero-side-label{bottom:1.35rem;left:clamp(2.2rem,4.8vw,6rem)}
.hero-stage-top{top:2.15rem}
.hero-scene-controls{bottom:4.5rem}
.hero-stage-caption{bottom:1.65rem}
.hero-dial{width:8.5rem;height:8.5rem}
.dial-ring text{font-size:9.5px;letter-spacing:0}
.ribbon-track b{display:inline-flex;align-items:center;justify-content:center;margin:0 1.3rem;font:700 .42em/1 "DM Sans",sans-serif;letter-spacing:.1em;vertical-align:middle}
.brand-ribbon{padding:.42rem 0}
.ribbon-track>span{font-size:clamp(1.85rem,3.6vw,3.7rem);line-height:1.1}

.experience{padding:clamp(3.3rem,5vw,5.5rem) clamp(1.4rem,7.5vw,9rem) clamp(4rem,5.5vw,6rem)}
.experience-heading{gap:1rem 2rem}
.experience-heading h2{font-size:clamp(3.4rem,4.75vw,5.8rem);max-width:60rem}
.experience-facts{margin:.5rem 0 2rem}
.experience-image-main{height:clamp(27rem,43vw,43rem)}
.experience-image-side{height:clamp(21rem,29vw,33rem);margin-top:4rem}
.menu-section{padding:clamp(3.5rem,5.5vw,6rem) clamp(1.4rem,7.5vw,9rem)}
.menu-heading{grid-template-columns:.65fr 2fr .9fr;gap:1.4rem;margin-bottom:2rem;align-items:end}
.menu-heading h2{font-size:clamp(3.5rem,4.75vw,5.8rem)}
.menu-heading-aside{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.menu-heading-aside p{max-width:18rem;line-height:1.5}
.menu-autoplay{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem 0;border:0;border-bottom:1px solid #a69276;background:none;color:var(--forest);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.menu-autoplay-icon{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border:1px solid currentColor;border-radius:50%;font-size:.65rem;letter-spacing:0}
.menu-feature{min-height:clamp(29rem,41vw,39rem)}
.menu-visual img{transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s ease}
.menu-visual #featured-food.menu-visual-entering{transform:scale(1.035);opacity:0}
.menu-visual .menu-visual-outgoing{position:absolute;inset:0;z-index:2;transform:scale(1);opacity:1;pointer-events:none}
.menu-visual .menu-visual-outgoing.is-leaving{transform:scale(.985);opacity:0}
.menu-visual-index{z-index:3}
.menu-pick{position:relative;overflow:hidden}
.menu-pick[aria-pressed=true]::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--forest);transform-origin:left;animation:menu-progress 4s linear both}
.menu-paused .menu-pick[aria-pressed=true]::after{animation-play-state:paused}
@keyframes menu-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.bar-story{display:grid;grid-template-columns:1fr 1fr;min-height:42rem;background:var(--forest-dark);color:var(--cream)}
.bar-story-media{position:relative;min-height:42rem;overflow:hidden}
.bar-story-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.bar-story-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,28,21,.55),transparent 45%)}
.bar-story-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2.5rem,5vw,6rem)}
.bar-story h2{margin:1.5rem 0 1.2rem;font-size:clamp(3.3rem,4.7vw,6rem);line-height:1.06;letter-spacing:-.055em}
.bar-story h2 em{color:var(--gold)}
.bar-story p{max-width:30rem;color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.65}
.bar-story-tiles{display:flex;gap:.8rem;margin:1.8rem 0 1.4rem}
.bar-story-tiles img{width:clamp(6rem,9vw,10rem);height:clamp(6rem,9vw,10rem);object-fit:cover;background:var(--cream)}
.bar-story-link{display:inline-flex;gap:1rem;padding-bottom:.4rem;border-bottom:1px solid var(--gold);color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.evenings{min-height:clamp(34rem,49vw,45rem)}
.evenings-media img{object-position:left center}
.evenings::after{background:linear-gradient(90deg,rgba(4,24,19,.18),rgba(4,24,19,.55) 42%,rgba(4,24,19,.94) 75%)}
.evenings-content{width:53%;margin-left:auto;padding:4rem clamp(2rem,6vw,7rem) 4rem clamp(2rem,4vw,4.5rem)}
.evenings h2{font-size:clamp(3.8rem,6vw,7rem)}
.visit{padding:clamp(4rem,6vw,7rem) clamp(1.4rem,7.5vw,9rem)}
.visit h2{font-size:clamp(3.8rem,5vw,6rem)}

@media(max-width:1150px){
  .hero-copy{padding:2.2rem}
  .hero h1{font-size:clamp(3.15rem,4.9vw,4.9rem)}
  .hero-dial{left:55%;width:7rem;height:7rem}
  .hero-side-label{left:2.2rem}
  .menu-heading{grid-template-columns:1fr 2fr}
  .menu-heading-aside{grid-column:2}
  .bar-story-copy{padding:2.5rem}
}
@media(max-width:760px){
  html{scroll-padding-top:4.25rem}
  .site-header{height:4.25rem;padding:0 1rem;gap:.5rem}
  .brand-name strong{font-size:1.65rem}
  .brand-name small{font-size:.39rem}
  .brand-name em{font-size:.39rem}
  .brand-symbol{width:1.65rem}
  .header-actions{gap:.3rem}
  .language-switch{gap:0}
  .language-switch button{padding:.3rem;font-size:.68rem}
  .mobile-nav:not([hidden]){top:4.25rem}
  .hero{min-height:38rem;height:calc(100svh - 4.25rem);max-height:56rem}
  .hero-copy{padding:clamp(2.7rem,6vh,4rem) 1.3rem 10rem}
  .hero h1{margin:1.4rem 0 1rem;font-size:clamp(3.45rem,11.6vw,5rem);line-height:1.05}
  .hero-note{max-width:19rem;font-size:.98rem;line-height:1.48}
  .hero-actions{margin-top:1.45rem;gap:.7rem}
  .hero-scene-controls{left:1.3rem;right:1.3rem;bottom:7.2rem}
  .brand-ribbon{padding:.4rem 0}
  .ribbon-track>span{font-size:1.7rem}
  .ribbon-track b{margin:0 .6rem}
  .experience{padding:3.4rem 1.3rem 4rem}
  .experience-heading h2{margin:1rem 0;font-size:clamp(3.1rem,10vw,4.8rem)}
  .experience-facts{margin:0 0 1.8rem}
  .experience-image-main{height:24rem}
  .experience-image-side{height:17rem;margin:0 0 0 2.3rem}
  .menu-section{padding:3.7rem 1.3rem 4rem}
  .menu-heading{display:block;margin-bottom:1.8rem}
  .menu-heading h2{margin:1rem 0;font-size:clamp(3.1rem,10vw,4.8rem)}
  .menu-heading-aside{gap:.5rem}
  .menu-heading-aside p{max-width:25rem}
  .menu-feature{min-height:0}
  .menu-visual{height:20rem}
  .menu-detail{min-height:19rem}
  .menu-pick{flex-basis:52%}
  .bar-story{grid-template-columns:1fr}
  .bar-story-media{min-height:25rem;height:25rem}
  .bar-story-copy{padding:3.3rem 1.3rem 3.8rem}
  .bar-story h2{font-size:clamp(3.2rem,10vw,4.8rem)}
  .bar-story-tiles img{width:6.5rem;height:6.5rem}
  .evenings{min-height:35rem}
  .evenings-media img{object-position:10% center}
  .evenings::after{background:linear-gradient(0deg,rgba(4,24,19,.94),rgba(4,24,19,.6) 50%,rgba(4,24,19,.06))}
  .evenings-content{width:100%;margin:0;padding:20rem 1.3rem 3.5rem}
  .evenings h2{font-size:clamp(3.4rem,10vw,4.9rem)}
  .visit{padding:4rem 1.3rem;gap:2rem}
  .visit h2{margin:1.3rem 0 1.8rem;font-size:clamp(3.5rem,10vw,5rem)}
}
@media(max-width:390px){
  .brand-symbol{transform:scale(.75);margin-right:-.45rem}
  .brand-name strong{font-size:1.48rem}
  .hero h1{font-size:3.3rem}
}
@media(max-height:650px) and (min-width:761px){
  .hero h1{font-size:clamp(3rem,4vw,5rem);margin:1rem 0 .8rem}
  .hero-actions{margin-top:1rem}
  .hero-copy{padding-top:1.4rem;padding-bottom:1.4rem}
  .hero-side-label{display:none}
}
@media(prefers-reduced-motion:reduce){.menu-pick[aria-pressed=true]::after{animation:none;transform:scaleX(1)}}

.experience-gallery{grid-template-columns:minmax(0,1.42fr) repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(.55rem,1vw,1rem);height:clamp(28rem,31vw,34rem);align-items:stretch}
.experience-gallery .experience-image{height:auto;min-height:0;margin:0;isolation:isolate}
.experience-gallery .experience-image-main{grid-row:1 / 3}
.experience-gallery .experience-image:not(.experience-image-main)::after,.experience-image-main::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(3,24,18,.58),transparent 38%);pointer-events:none}
.experience-image-main::after{background:linear-gradient(0deg,rgba(3,22,17,.76),transparent 37%),linear-gradient(180deg,rgba(3,22,17,.34),transparent 33%)}
.experience-gallery .experience-image img{width:100%;height:100%;object-fit:cover}
.experience-image-main img{position:absolute;inset:0;opacity:0;transform:scale(1.055);transition:opacity 1.25s ease,transform 7s ease}
.experience-gallery[data-mood=day] .experience-day,.experience-gallery[data-mood=night] .experience-night{opacity:1;transform:scale(1)}
.experience-image-main .experience-day{object-position:50% center}
.experience-image-main .experience-night{object-position:30% center}
.experience-image-bar img{object-position:50% 68%}
.experience-gallery .experience-image:not(.experience-image-main) img{transition:transform .65s ease}
.experience-gallery .experience-image:not(.experience-image-main):hover img{transform:scale(1.055)}
.experience-gallery .experience-image figcaption{z-index:2;left:1rem;bottom:1rem;padding:.55rem .7rem;background:rgba(8,39,31,.76);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.experience-gallery .experience-image-main figcaption{left:clamp(1.2rem,2vw,2rem);bottom:clamp(1.35rem,2vw,2rem);max-width:80%;padding:0;background:none;font:400 clamp(1.8rem,2.6vw,3rem)/1.1 "Playfair Display",Georgia,serif;letter-spacing:-.025em;text-transform:none;text-wrap:balance}
.experience-image-main figcaption::before{content:"";display:block;width:2.7rem;height:2px;margin-bottom:.8rem;background:var(--gold)}
.experience-gallery[data-mood=day] .experience-caption-night,.experience-gallery[data-mood=night] .experience-caption-day{display:none}
.experience-image-number{position:absolute;z-index:2;top:1.2rem;left:clamp(1.2rem,2vw,2rem);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.18em}
.experience-mood-controls{position:absolute;z-index:3;top:1rem;right:1rem;display:flex;padding:.22rem;border:1px solid rgba(255,255,255,.45);background:rgba(8,39,31,.7);backdrop-filter:blur(12px)}
.experience-mood-controls button{position:relative;min-width:5.6rem;overflow:hidden;padding:.55rem .75rem;border:0;background:none;color:#f4f0e8;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
.experience-mood-controls button[aria-pressed=true]{background:var(--gold);color:var(--forest-dark)}
.experience-mood-controls button:focus-visible{outline:2px solid white;outline-offset:3px}
.experience-gallery.is-auto .experience-mood-controls button[aria-pressed=true]::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--forest);transform-origin:left;animation:experience-progress 6.5s linear forwards}
@keyframes experience-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){
  .experience-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:clamp(20rem,45vw,22rem) repeat(2,clamp(8rem,19vw,9rem));height:auto;gap:.55rem}
  .experience-gallery .experience-image-main{grid-column:1 / -1;grid-row:1}
  .experience-gallery .experience-image figcaption{left:.65rem;bottom:.65rem;padding:.4rem .48rem;font-size:.57rem}
  .experience-gallery .experience-image-main figcaption{left:1rem;bottom:1rem;max-width:88%;padding:0;font-size:clamp(1.55rem,6vw,2.15rem)}
  .experience-image-number{top:1rem;left:1rem}
  .experience-mood-controls{top:.65rem;right:.65rem}
  .experience-mood-controls button{min-width:4.4rem;padding:.5rem .52rem;font-size:.6rem}
}
@media(max-width:390px){.experience-gallery{grid-template-rows:20rem repeat(2,8rem)}.experience-gallery .experience-image-main figcaption{max-width:91%}}

.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,20px,0)}
.motion-ready [data-reveal].is-revealed{opacity:1;transform:none;transition:opacity .7s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.18,.65,.25,1) var(--reveal-delay,0ms)}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}}
