/*
Theme Name: Ember & Oak
Theme URI: https://forgefive.co.uk/
Author: ForgeFive
Description: Reservation-led cinematic WordPress theme for an open-fire steakhouse.
Version: 4.1
Text Domain: ember-oak
*/
:root{--ink:#080706;--coal:#100e0c;--paper:#efe7d7;--muted:#a79b8b;--ember:#dd5b20;--gold:#c79a5c;--line:rgba(239,231,215,.16);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}body.eo-menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.eo-site{overflow:hidden}.eo-noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.eo-embers{position:fixed;inset:0;z-index:30;pointer-events:none}.eo-ember{position:absolute;bottom:-20px;border-radius:50%;background:#ff7b2c;box-shadow:0 0 12px #ff651c;opacity:0;animation:rise linear infinite}@keyframes rise{0%{transform:translate3d(0,0,0);opacity:0}10%{opacity:.7}75%{opacity:.2}100%{transform:translate3d(var(--drift),-110vh,0) scale(.2);opacity:0}}
.eo-header{position:fixed;z-index:60;top:0;left:0;right:0;height:82px;display:grid;grid-template-columns:240px 1fr 120px;align-items:center;border-bottom:1px solid transparent;padding:0 32px;transition:.4s}.eo-header.is-scrolled{height:68px;background:rgba(8,7,6,.92);backdrop-filter:blur(18px);border-color:var(--line)}.eo-brand{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:18px;letter-spacing:.16em}.eo-brand i{color:var(--ember);font-weight:400}.eo-nav{justify-self:center;display:flex;gap:36px}.eo-nav a{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#d5caba;position:relative}.eo-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--ember);transition:.3s}.eo-nav a:hover:after{right:0}.eo-header-book{justify-self:end;display:flex;align-items:center;gap:16px;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.eo-header-book b{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);font-size:15px}.eo-menu-toggle{display:none;background:none;border:0;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:9px}.eo-mobile-nav{display:none}
.eo-arrival{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:end;padding:130px 6vw 74px;isolation:isolate}.eo-arrival-media{position:absolute;inset:0;z-index:-4;background:url('https://images.unsplash.com/photo-1544025162-d76694265947?auto=format&fit=crop&w=2400&q=92') center 42%/cover no-repeat;animation:heroZoom 16s ease-out both}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}.eo-arrival-vignette{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(5,4,3,.94) 0%,rgba(5,4,3,.67) 46%,rgba(5,4,3,.38) 68%,rgba(5,4,3,.78) 100%),linear-gradient(0deg,#080706 0%,transparent 38%)}.eo-smoke{position:absolute;z-index:-2;width:65vw;height:65vw;border-radius:50%;filter:blur(80px);opacity:.16;background:radial-gradient(circle,rgba(255,255,255,.6),transparent 66%);animation:smoke 12s ease-in-out infinite alternate}.eo-smoke--one{left:18%;top:5%}.eo-smoke--two{right:-20%;bottom:-28%;animation-delay:-6s}@keyframes smoke{to{transform:translate(8%,4%) scale(1.15);opacity:.08}}.eo-arrival-copy{max-width:900px;padding-right:6vw}.eo-kicker{margin:0 0 22px;color:var(--gold);font-size:9px;letter-spacing:.28em;text-transform:uppercase}.eo-arrival h1,.eo-experience h2,.eo-counter h2,.eo-fire-room h2,.eo-cellar h2,.eo-reservation-room h2{margin:0;font-family:var(--serif);font-weight:400}.eo-arrival h1{font-size:clamp(72px,9.3vw,154px);line-height:.7;letter-spacing:-.055em}.eo-arrival h1 span{display:block}.eo-arrival h1 em{display:block;margin-left:18%;color:var(--gold);font-size:.52em;font-weight:400}.eo-lede{max-width:520px;margin:34px 0 28px;color:#c8bcae;line-height:1.75;font-size:14px}.eo-text-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.35);font-size:9px;text-transform:uppercase;letter-spacing:.2em}.eo-text-link b{color:var(--ember);font-size:14px}.eo-booking-dock{align-self:end;background:rgba(12,10,8,.9);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px);box-shadow:0 40px 90px rgba(0,0,0,.45)}.eo-dock-top{display:flex;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.18em;font-size:9px}.eo-dock-top small{color:#7fc79b;font-size:8px}.eo-book-search label{display:grid;grid-template-columns:90px 1fr;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}.eo-book-search label span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.18em}.eo-book-search input,.eo-book-search select{width:100%;border:0;background:transparent;color:#fff;outline:0;text-align:right}.eo-book-search select option{background:#111}.eo-book-search button{width:100%;display:flex;justify-content:space-between;padding:20px 24px;border:0;background:var(--ember);color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:9px;cursor:pointer}.eo-book-search button i{font-style:normal;font-size:15px}.eo-next{display:grid;grid-template-columns:1fr auto;gap:5px 15px;padding:22px 24px;border-bottom:1px solid var(--line)}.eo-next span{grid-column:1;font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.eo-next strong{font-family:var(--serif);font-size:22px;font-weight:400}.eo-time-pill{grid-column:2;grid-row:1/3;align-self:center;border:1px solid var(--gold);background:none;color:var(--paper);padding:9px 12px;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.eo-dock-note{margin:0;padding:18px 24px;color:#7d7369;font-size:9px;line-height:1.6}.eo-service-line{position:absolute;left:6vw;bottom:28px;display:flex;gap:16px;align-items:center;color:#81776c;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.eo-service-line i{width:28px;height:1px;background:#635a52}
.eo-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0e0b09}.eo-marquee div{white-space:nowrap;padding:20px 0;font-family:var(--serif);font-size:23px;color:#6e6257;letter-spacing:.18em;animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.eo-experience{position:relative;min-height:1100px;padding:130px 6vw;display:grid;grid-template-columns:.35fr 1fr .8fr;grid-template-rows:auto 1fr auto;gap:5vw;background:#0b0908}.eo-experience-index{font-size:8px;letter-spacing:.22em;color:#756b61}.eo-experience-title h2{font-size:clamp(70px,9vw,136px);line-height:.78}.eo-experience-title h2 em,.eo-counter h2 em,.eo-cellar h2 em,.eo-reservation-room h2 em{color:var(--gold);font-weight:400}.eo-portrait{grid-column:2;grid-row:2;margin:60px 0 0;align-self:start}.eo-portrait img{width:100%;height:620px;object-fit:cover;filter:saturate(.72) contrast(1.08)}.eo-portrait figcaption{margin-top:13px;font-family:var(--serif);font-size:18px;color:#8f8174}.eo-experience-copy{grid-column:3;grid-row:2;align-self:center}.eo-experience-copy p{font-family:var(--serif);font-size:25px;line-height:1.45;color:#c1b4a5}.eo-experience-copy p+p{font-family:var(--sans);font-size:12px;line-height:1.8;color:#8c8176}.eo-ritual{grid-column:1/4;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:50px}.eo-ritual span{display:flex;gap:28px;padding:26px 0;border-right:1px solid var(--line);font-family:var(--serif);font-size:22px}.eo-ritual span:last-child{border:0}.eo-ritual b{color:var(--ember);font-family:var(--sans);font-size:8px;letter-spacing:.16em}
.eo-counter{padding:130px 6vw;background:#efe8da;color:#191512}.eo-counter-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:75px}.eo-counter h2{font-size:clamp(72px,8vw,124px);line-height:.78}.eo-counter-head>p{max-width:390px;color:#685f56;line-height:1.8;font-size:12px}.eo-counter .eo-kicker{color:#9b5d31}.eo-cut-stage{display:grid;grid-template-columns:.65fr 1.4fr .8fr;min-height:670px;border-top:1px solid rgba(25,21,18,.25);border-bottom:1px solid rgba(25,21,18,.25)}.eo-cut-tabs{display:flex;flex-direction:column}.eo-cut-tabs button{flex:1;position:relative;padding:20px 30px 20px 52px;border:0;border-bottom:1px solid rgba(25,21,18,.18);background:none;text-align:left;color:#5f554c;font-family:var(--serif);font-size:31px;cursor:pointer}.eo-cut-tabs button span{position:absolute;left:4px;top:29px;font-family:var(--sans);font-size:8px;color:#9d8d7d}.eo-cut-tabs button small{display:block;margin-top:5px;font-family:var(--sans);font-size:8px;text-transform:uppercase;letter-spacing:.15em}.eo-cut-tabs button.is-active{background:#191512;color:#f2eadc}.eo-cut-tabs button.is-active:after{content:"";position:absolute;right:-12px;top:50%;width:24px;height:1px;background:#191512}.eo-cut-visual{position:relative;overflow:hidden}.eo-cut-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600891964092-4316c288032e?auto=format&fit=crop&w=1500&q=90') center/cover;transition:opacity .35s,transform .8s}.eo-cut-stamp{position:absolute;right:25px;bottom:25px;width:85px;height:85px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#efe8da;color:#191512;font-family:var(--serif);font-size:25px;line-height:.65;box-shadow:0 12px 45px rgba(0,0,0,.18)}.eo-cut-stamp small{font-family:var(--sans);font-size:7px;text-transform:uppercase;letter-spacing:.1em}.eo-cut-info{padding:55px 0 40px 52px}.eo-cut-info h3{margin:0;font-family:var(--serif);font-size:54px;font-weight:400}.eo-cut-info>p{color:#685f56;line-height:1.8;font-size:12px}.eo-cut-info dl{margin:35px 0}.eo-cut-info dl div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(25,21,18,.18)}.eo-cut-info dt{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#8b7d70}.eo-cut-info dd{margin:0;font-family:var(--serif);font-size:18px}.eo-cut-info .eo-text-link{border-color:#63584f}
.eo-fire-room{min-height:1000px;position:relative;display:grid;grid-template-columns:.8fr 1.5fr .8fr;gap:4vw;align-items:center;padding:120px 6vw;background:radial-gradient(circle at 50% 63%,rgba(198,55,13,.28),transparent 31%),#070504;overflow:hidden}.eo-fire-copy h2{font-size:clamp(63px,7vw,108px);line-height:.82}.eo-fire-copy>p:last-child{max-width:360px;color:#94877a;line-height:1.8;font-size:12px}.eo-fire-core{position:relative;height:720px}.eo-grate{position:absolute;left:3%;right:3%;bottom:29%;height:210px;transform:perspective(600px) rotateX(64deg);background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(134,111,90,.65) 40px 47px);z-index:3}.eo-coal-bed{position:absolute;left:4%;right:4%;bottom:13%;height:170px;background:radial-gradient(ellipse at center,#ff792b 0 2%,#b83412 10%,#3a160d 31%,transparent 66%);filter:blur(2px);box-shadow:0 -30px 150px rgba(221,91,32,.4);animation:coal 2.4s ease-in-out infinite alternate}@keyframes coal{to{filter:blur(4px) brightness(1.24);transform:scale(1.03)}}.eo-flame{position:absolute;bottom:26%;width:70px;height:210px;border-radius:55% 45% 58% 42%;background:linear-gradient(#ffe09a 0 12%,#ef7223 40%,rgba(192,44,9,.05) 78%);filter:blur(7px);transform-origin:bottom;opacity:.68;animation:flame 1.2s ease-in-out infinite alternate}.eo-flame.f1{left:22%}.eo-flame.f2{left:47%;height:260px;animation-duration:1.55s}.eo-flame.f3{left:70%;height:180px;animation-duration:1.05s}@keyframes flame{to{transform:translateY(-35px) scaleX(.72) rotate(7deg);opacity:.95}}.eo-heat-label{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);text-align:center}.eo-heat-label span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}.eo-heat-label strong{font-family:var(--serif);font-size:72px;font-weight:400}.eo-doneness-panel>span{display:block;margin-bottom:18px;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}.eo-doneness{border-top:1px solid var(--line)}.eo-doneness button{width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:none;color:#786f66;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer}.eo-doneness button.is-active{color:#fff;padding-left:13px}.eo-finish-readout{margin-top:35px}.eo-finish-readout strong{font-family:var(--serif);font-size:65px;font-weight:400}.eo-finish-readout p{color:#8e8378;font-size:11px;line-height:1.7}
.eo-cellar{position:relative;min-height:850px;padding:130px 8vw 130px 16vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw;background:linear-gradient(90deg,rgba(7,5,6,.96),rgba(19,8,9,.68)),url('https://images.unsplash.com/photo-1510812431401-41d2bd2722f3?auto=format&fit=crop&w=2200&q=90') center/cover}.eo-bottle-rail{position:absolute;left:5vw;top:0;bottom:0;width:60px;border-left:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-around;align-items:center;color:#665a56;font-size:8px;letter-spacing:.18em}.eo-bottle-rail span{writing-mode:vertical-rl}.eo-cellar h2{font-size:clamp(72px,8vw,122px);line-height:.8}.eo-cellar-copy>p{color:#a89b91}.eo-cellar select{width:100%;margin-top:30px;padding:17px 0;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;outline:0}.eo-cellar select option{background:#140f0f}.eo-wine-reveal{position:relative;padding:55px;border:1px solid rgba(199,154,92,.35);background:rgba(9,6,6,.58);backdrop-filter:blur(14px)}.eo-vintage{position:absolute;right:-20px;top:-70px;font-family:var(--serif);font-size:120px;color:rgba(255,255,255,.06)}.eo-wine-reveal small{color:var(--gold);font-size:8px;text-transform:uppercase;letter-spacing:.2em}.eo-wine-reveal h3{font-family:var(--serif);font-size:54px;font-weight:400;margin:18px 0}.eo-wine-reveal p{color:#a89b91;line-height:1.8;font-size:12px}.eo-wine-reveal strong{display:block;margin-top:30px;font-family:var(--serif);font-size:32px;font-weight:400}
.eo-reservation-room{padding:130px 6vw;background:#e9dfcf;color:#1d1814}.eo-res-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.eo-reservation-room .eo-kicker{color:#9e5f35}.eo-reservation-room h2{font-size:clamp(74px,8vw,124px);line-height:.78}.eo-seat-options{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(29,24,20,.24);border-bottom:1px solid rgba(29,24,20,.24)}.eo-seat{min-height:300px;padding:30px;text-align:left;border:0;border-right:1px solid rgba(29,24,20,.2);background:transparent;color:#655a50;cursor:pointer;transition:.35s}.eo-seat:last-child{border:0}.eo-seat b{display:block;font-size:8px;letter-spacing:.16em}.eo-seat span{display:block;margin-top:120px;font-family:var(--serif);font-size:31px}.eo-seat small{display:block;margin-top:8px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.eo-seat.is-selected{background:#1a1512;color:#f0e7d8;transform:translateY(-14px);box-shadow:0 25px 50px rgba(42,27,18,.16)}.eo-res-console{margin-top:70px;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:50px}.eo-res-summary>span{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#8b7d70}.eo-res-summary h3{font-family:var(--serif);font-size:36px;font-weight:400;margin:8px 0}.eo-res-summary p{color:#7e7166;font-size:10px}.eo-availability{display:flex;gap:8px}.eo-availability button{padding:15px 18px;border:1px solid rgba(29,24,20,.25);background:transparent;color:#1d1814;cursor:pointer}.eo-availability button.is-picked{background:#1d1814;color:#fff}.eo-confirm-btn{min-width:240px;padding:20px 24px;display:flex;justify-content:space-between;border:0;background:var(--ember);color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:9px;cursor:pointer}.eo-confirm{display:none;grid-column:1/-1;padding:18px;border:1px solid rgba(29,24,20,.25);font-size:11px}.eo-confirm.is-visible{display:block}
.eo-footer{position:relative;padding:100px 6vw 30px;background:#070605}.eo-footer-mark{font-family:var(--serif);font-size:clamp(130px,22vw,340px);line-height:.65;color:#15110e;letter-spacing:-.08em}.eo-footer-mark span{color:#3c2015}.eo-footer-info{display:grid;grid-template-columns:repeat(3,1fr);max-width:780px;margin:80px 0 60px}.eo-footer-info small{color:var(--gold);font-size:8px;text-transform:uppercase;letter-spacing:.18em}.eo-footer-info p{color:#887d72;line-height:1.8;font-size:11px}.eo-footer-book{position:absolute;right:6vw;bottom:115px;width:230px;height:230px;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid rgba(199,154,92,.5);font-family:var(--serif);font-size:27px}.eo-footer-book span{display:block;color:var(--ember)}.eo-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;color:#5f574f;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.eo-reveal{opacity:0;transform:translateY(45px);transition:opacity .9s,transform .9s}.eo-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1050px){.eo-header{grid-template-columns:1fr auto auto}.eo-nav{display:none}.eo-menu-toggle{display:block}.eo-mobile-nav{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#080706;transform:translateY(-100%);transition:.5s}.eo-mobile-nav.is-open{transform:none}.eo-mobile-nav nav{display:flex;flex-direction:column;align-items:center;gap:24px;font-family:var(--serif);font-size:42px}.eo-close{position:absolute;right:25px;top:25px;border:0;background:none;color:#fff;font-size:30px}.eo-arrival{grid-template-columns:1fr;padding-bottom:60px}.eo-arrival-copy{margin-bottom:60px}.eo-booking-dock{width:min(520px,100%)}.eo-experience{grid-template-columns:.2fr 1fr}.eo-experience-copy{grid-column:2;grid-row:3}.eo-ritual{grid-column:1/3}.eo-cut-stage{grid-template-columns:.7fr 1.3fr}.eo-cut-info{grid-column:1/3;padding-left:0}.eo-fire-room{grid-template-columns:1fr 1fr}.eo-fire-core{grid-column:1/3;grid-row:2}.eo-cellar{padding-left:12vw}.eo-seat-options{grid-template-columns:1fr 1fr}.eo-seat{border-bottom:1px solid rgba(29,24,20,.2)}.eo-res-console{grid-template-columns:1fr}.eo-confirm-btn{width:100%}}
@media(max-width:700px){.eo-header{height:68px;padding:0 18px}.eo-header-book span{display:none}.eo-arrival{padding:110px 18px 35px;align-items:start}.eo-arrival h1{font-size:clamp(62px,21vw,96px);margin-top:110px}.eo-arrival h1 em{margin-left:8%}.eo-lede{font-size:12px}.eo-service-line{display:none}.eo-booking-dock{margin-top:40px}.eo-marquee div{font-size:17px}.eo-experience,.eo-counter,.eo-fire-room,.eo-cellar,.eo-reservation-room{padding:90px 20px}.eo-experience{display:block;min-height:auto}.eo-experience-title h2,.eo-counter h2,.eo-fire-room h2,.eo-cellar h2,.eo-reservation-room h2{font-size:clamp(60px,18vw,88px)}.eo-portrait{margin:45px 0}.eo-portrait img{height:440px}.eo-experience-copy p{font-size:22px}.eo-ritual{display:block}.eo-ritual span{border-right:0;border-bottom:1px solid var(--line)}.eo-counter-head{display:block}.eo-counter-head>p{margin-top:30px}.eo-cut-stage{display:block}.eo-cut-tabs{display:grid;grid-template-columns:1fr 1fr}.eo-cut-tabs button{min-height:115px;padding:18px}.eo-cut-tabs button span{display:none}.eo-cut-tabs button.is-active:after{display:none}.eo-cut-visual{height:420px}.eo-cut-info{padding:38px 0}.eo-fire-room{display:block}.eo-fire-core{height:530px}.eo-fire-copy{margin-bottom:20px}.eo-cellar{display:block;background-position:62% center}.eo-bottle-rail{display:none}.eo-wine-reveal{margin-top:55px;padding:30px}.eo-vintage{font-size:80px;top:-50px}.eo-seat-options{display:block}.eo-seat{width:100%;min-height:160px;border-right:0}.eo-seat span{margin-top:55px}.eo-seat.is-selected{transform:none}.eo-availability{overflow:auto;padding-bottom:8px}.eo-res-console{gap:28px}.eo-footer{padding:80px 20px 30px}.eo-footer-info{grid-template-columns:1fr 1fr;gap:25px}.eo-footer-book{position:relative;right:auto;bottom:auto;width:180px;height:180px;margin:40px auto}.eo-footer-bottom{display:block;line-height:2}.eo-footer-mark{font-size:150px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.eo-embers{display:none}}

/* v3 cinematic flame and reservation redesign */
.eo-flame-story{position:relative;min-height:150vh;padding:150px 7vw 120px;overflow:hidden;background:#080503}.eo-flame-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 80%,rgba(229,84,20,.32),transparent 32%),linear-gradient(#080503 0%,#130803 58%,#050302 100%)}.eo-flame-glow{position:absolute;left:8%;right:8%;bottom:-8%;height:58%;filter:blur(28px);background:radial-gradient(ellipse at center,#ff772d 0%,#7d2608 24%,rgba(50,10,0,.25) 48%,transparent 72%);animation:eoFireBreathe 3.8s ease-in-out infinite}.eo-flame-smoke{position:absolute;inset:0;opacity:.3;background:radial-gradient(ellipse at 35% 48%,rgba(255,255,255,.11),transparent 22%),radial-gradient(ellipse at 64% 42%,rgba(255,255,255,.08),transparent 24%);filter:blur(45px);animation:eoSmokeDrift 14s ease-in-out infinite alternate}.eo-flame-sparks:before,.eo-flame-sparks:after{content:"";position:absolute;inset:25% 10% 0;background-image:radial-gradient(circle,#ffb069 0 1px,transparent 2px);background-size:90px 110px;opacity:.25;animation:eoSparkLift 9s linear infinite}.eo-flame-sparks:after{background-size:130px 150px;animation-duration:13s;animation-delay:-5s}.eo-flame-intro{position:relative;z-index:2;max-width:900px}.eo-flame-intro h2{font-family:var(--serif);font-size:clamp(74px,11vw,180px);font-weight:400;line-height:.74;letter-spacing:-.06em;margin:25px 0 45px}.eo-flame-intro h2 em{color:var(--ember);font-weight:400}.eo-flame-intro>p:last-child{max-width:560px;margin-left:auto;color:#c4b7a7;font-size:18px;line-height:1.8}.eo-flame-chapters{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin-top:210px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.eo-flame-step{min-height:260px;padding:34px 26px;border-right:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px)}.eo-flame-step:last-child{border-right:0}.eo-flame-step span{color:var(--ember);font-size:10px;letter-spacing:.2em}.eo-flame-step strong{display:block;margin-top:80px;font-family:var(--serif);font-size:42px;font-weight:400}.eo-flame-step p{color:#9d8e80;font-size:12px;line-height:1.7}.eo-finish-console{position:relative;z-index:2;display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:end;margin-top:140px;padding-top:50px;border-top:1px solid rgba(255,255,255,.15)}.eo-finish-console>div:first-child strong{display:block;font-family:var(--serif);font-size:100px;font-weight:400;color:var(--ember)}
@keyframes eoFireBreathe{50%{transform:scale(1.08) translateY(-2%);opacity:.82}}@keyframes eoSmokeDrift{to{transform:translate3d(6%,-4%,0) scale(1.15)}}@keyframes eoSparkLift{to{transform:translateY(-300px);opacity:0}}
.eo-reservation-room{padding-top:150px}.eo-res-head{max-width:1000px}.eo-res-head>p:last-child{max-width:540px;color:#74685c;line-height:1.8}.eo-reservation-timeline{display:grid;grid-template-columns:280px 1fr;margin-top:80px;border:1px solid rgba(29,24,20,.25);background:#e8decd}.eo-date-card{padding:32px;border-right:1px solid rgba(29,24,20,.2)}.eo-date-card span,.eo-date-card small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:8px;color:#8b6b47}.eo-date-card strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;margin:18px 0}.eo-time-strip{display:grid;grid-template-columns:repeat(5,1fr)}.eo-time-strip button{border:0;border-right:1px solid rgba(29,24,20,.15);background:transparent;padding:24px 12px;cursor:pointer;transition:.3s}.eo-time-strip button:last-child{border-right:0}.eo-time-strip button span{display:block;font-family:var(--serif);font-size:28px}.eo-time-strip button small{display:block;margin-top:10px;text-transform:uppercase;letter-spacing:.12em;font-size:7px;color:#8b7660}.eo-time-strip button:hover,.eo-time-strip button.is-picked{background:#20140d;color:#fff}.eo-time-strip button.is-picked small{color:#e8ad76}.eo-res-card-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(4,3,2,.78);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:.45s}.eo-res-card-overlay.is-open{opacity:1;visibility:visible}.eo-card-close{position:absolute;right:28px;top:24px;border:0;background:none;color:#fff;font-size:34px;cursor:pointer}.eo-res-card{width:min(720px,100%);padding:56px;background:#e9dfce;color:#211811;box-shadow:0 40px 120px rgba(0,0,0,.6);transform:translateY(40px) rotateX(8deg);transition:.55s}.eo-res-card-overlay.is-open .eo-res-card{transform:none}.eo-card-mark{font-family:var(--serif);font-size:24px;letter-spacing:.15em}.eo-card-mark i{color:var(--ember)}.eo-res-card h3{font-family:var(--serif);font-size:68px;line-height:.82;font-weight:400;margin:25px 0 40px}.eo-card-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(29,24,20,.2);margin-bottom:30px}.eo-card-details div{background:#e9dfce;padding:18px}.eo-card-details small,.eo-res-card label span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:7px;color:#8d7051}.eo-card-details strong{display:block;margin-top:7px;font-family:var(--serif);font-size:20px;font-weight:500}.eo-res-card label{display:block;margin-top:18px}.eo-res-card input{width:100%;border:0;border-bottom:1px solid rgba(29,24,20,.3);background:transparent;padding:12px 0;outline:none}.eo-card-submit{width:100%;margin-top:30px;border:0;background:#20140d;color:#fff;padding:19px 22px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.14em;font-size:9px;cursor:pointer}.eo-card-note{display:block;margin-top:14px;color:#8a7a69;font-size:8px}
@media(max-width:900px){.eo-flame-chapters{grid-template-columns:1fr 1fr}.eo-flame-step:nth-child(2){border-right:0}.eo-flame-step:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.eo-finish-console{grid-template-columns:1fr}.eo-reservation-timeline{grid-template-columns:1fr}.eo-date-card{border-right:0;border-bottom:1px solid rgba(29,24,20,.2)}.eo-time-strip{overflow:auto;grid-template-columns:repeat(5,minmax(130px,1fr))}}@media(max-width:700px){.eo-flame-story{min-height:auto;padding:110px 20px 80px}.eo-flame-intro h2{font-size:clamp(62px,18vw,92px)}.eo-flame-intro>p:last-child{margin-left:0}.eo-flame-chapters{margin-top:110px;display:block}.eo-flame-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);min-height:180px}.eo-flame-step strong{margin-top:45px}.eo-finish-console{margin-top:80px}.eo-finish-console>div:first-child strong{font-size:72px}.eo-res-card{padding:34px 24px}.eo-res-card h3{font-size:50px}.eo-card-details{grid-template-columns:1fr}}

/* v3.1 booking-first custom availability board */
.eo-booking-dock--calendar{width:min(690px,46vw);padding:0;background:rgba(15,10,7,.9);border:1px solid rgba(241,221,194,.22);box-shadow:0 35px 100px rgba(0,0,0,.48);backdrop-filter:blur(22px)}
.eo-booking-dock--calendar .eo-dock-top{padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.13)}
.eo-booking-stepbar{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(255,255,255,.12)}
.eo-booking-stepbar span{padding:12px 18px;color:#75695e;font-size:8px;letter-spacing:.16em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.09)}
.eo-booking-stepbar span:last-child{border-right:0}.eo-booking-stepbar .is-current{color:#f1d5b5;background:rgba(218,91,28,.09)}
.eo-calendar-head{display:flex;justify-content:space-between;align-items:end;padding:20px 24px 12px}.eo-calendar-head small,.eo-selected-date span,.eo-party-picker>span,.eo-time-menu-head span{display:block;color:#8f8174;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.eo-calendar-head strong{display:block;margin-top:5px;font-family:var(--serif);font-size:23px;font-weight:400}
.eo-availability-key{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.eo-availability-key span{position:relative;padding-left:11px;color:#a59789;font-size:7px;letter-spacing:.1em;text-transform:uppercase}.eo-availability-key span:before{content:"";position:absolute;left:0;top:2px;width:6px;height:6px;border-radius:50%}.eo-availability-key .is-good:before{background:#5c9b63}.eo-availability-key .is-limited:before{background:#d6a633}.eo-availability-key .is-full:before{background:#a33d35}
.eo-date-carousel{display:grid;grid-template-columns:repeat(7,1fr);padding:0 24px 22px;gap:7px}.eo-date-option{position:relative;min-height:82px;padding:11px 6px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02);color:#f4eadf;text-align:center;cursor:pointer;transition:.25s}.eo-date-option:hover:not(:disabled){border-color:rgba(226,126,67,.65);transform:translateY(-2px)}.eo-date-option small{display:block;color:#8f8174;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.eo-date-option strong{display:block;margin-top:7px;font-family:var(--serif);font-size:28px;font-weight:400}.eo-date-option i{display:block;width:7px;height:7px;margin:8px auto 0;border-radius:50%;font-style:normal}.eo-date-option[data-status="good"] i{background:#5c9b63}.eo-date-option[data-status="limited"] i{background:#d6a633}.eo-date-option[data-status="full"] i{background:#a33d35}.eo-date-option[data-status="full"]{opacity:.48;cursor:not-allowed}.eo-date-option.is-selected{border-color:#d96729;background:#29140b;box-shadow:inset 0 -3px #d96729}
.eo-booking-controls{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.eo-party-picker,.eo-selected-date{min-height:72px;padding:15px 24px}.eo-party-picker{display:grid;grid-template-columns:1fr 30px 26px 30px auto;align-items:center;border-right:1px solid rgba(255,255,255,.12)}.eo-party-picker>span{grid-column:1/-1}.eo-party-picker button{width:28px;height:28px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;cursor:pointer}.eo-party-picker strong{font-family:var(--serif);font-size:24px;font-weight:400;text-align:center}.eo-party-picker small{color:#8f8174;font-size:9px}.eo-selected-date strong{display:block;margin-top:8px;font-family:var(--serif);font-size:20px;font-weight:400}
.eo-time-menu-wrap{padding:20px 24px}.eo-time-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.eo-time-menu-head small{color:#a69789;font-size:8px}.eo-time-menu{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.eo-time-option{position:relative;min-height:58px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);color:#fff;cursor:pointer;transition:.22s}.eo-time-option span{display:block;font-family:var(--serif);font-size:20px}.eo-time-option small{display:block;margin-top:3px;font-size:6px;letter-spacing:.1em;text-transform:uppercase}.eo-time-option[data-status="good"] small{color:#79b980}.eo-time-option[data-status="limited"] small{color:#e1b544}.eo-time-option[data-status="full"] small{color:#c75d55}.eo-time-option[data-status="full"]{opacity:.4;text-decoration:line-through;cursor:not-allowed}.eo-time-option:hover:not(:disabled),.eo-time-option.is-selected{border-color:#db702f;background:#2b150a}.eo-time-option.is-selected:after{content:"";position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#db702f}
.eo-reserve-now{width:calc(100% - 48px);margin:0 24px 18px;padding:17px 18px;display:flex;justify-content:space-between;border:0;background:#d56427;color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:9px;cursor:pointer;transition:.25s}.eo-reserve-now:disabled{background:#302820;color:#776b61;cursor:not-allowed}.eo-reserve-now:not(:disabled):hover{background:#ee7935}.eo-reserve-now i{font-style:normal}.eo-booking-dock--calendar .eo-dock-note{padding:0 24px 20px;margin:0}
.eo-booking-coda{display:flex;justify-content:space-between;align-items:end;padding:95px 7vw;background:#17100b;border-top:1px solid rgba(255,255,255,.1)}.eo-booking-coda p{max-width:650px;margin:0;font-family:var(--serif);font-size:clamp(42px,5vw,82px);line-height:.92}.eo-booking-coda a{color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:9px;border-bottom:1px solid #d56427;padding-bottom:8px}.eo-booking-coda a span{margin-left:18px;color:#d56427}
.eo-card-experiences{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0 10px;padding:0;border:0;background:rgba(29,24,20,.2)}.eo-card-experiences legend{grid-column:1/-1;width:100%;padding:0 0 9px;background:#e9dfce;color:#8d7051;text-transform:uppercase;letter-spacing:.15em;font-size:7px}.eo-card-experiences label{margin:0!important;padding:14px;background:#e9dfce;cursor:pointer}.eo-card-experiences input{position:absolute;opacity:0}.eo-card-experiences label span{color:#211811!important;font-family:var(--serif);font-size:16px!important;letter-spacing:0!important;text-transform:none!important}.eo-card-experiences label:has(input:checked){background:#211811}.eo-card-experiences label:has(input:checked) span{color:#fff!important}
@media(max-width:1100px){.eo-booking-dock--calendar{width:min(720px,100%)}.eo-date-carousel{grid-template-columns:repeat(7,1fr)}}
@media(max-width:700px){.eo-booking-dock--calendar{margin-top:30px}.eo-calendar-head{align-items:start;gap:14px}.eo-availability-key{gap:7px}.eo-date-carousel{grid-template-columns:repeat(4,1fr);padding:0 14px 16px}.eo-date-option{min-height:72px}.eo-booking-controls{grid-template-columns:1fr}.eo-party-picker{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.eo-time-menu-wrap{padding:18px 14px}.eo-time-menu-head{display:block}.eo-time-menu-head small{margin-top:7px}.eo-time-menu{grid-template-columns:repeat(3,1fr)}.eo-reserve-now{width:calc(100% - 28px);margin-left:14px;margin-right:14px}.eo-booking-dock--calendar .eo-dock-note{padding-left:14px;padding-right:14px}.eo-booking-coda{display:block;padding:75px 20px}.eo-booking-coda a{display:inline-block;margin-top:35px}.eo-card-experiences{grid-template-columns:1fr}}

/* v3.2 layout, modal and luxury menu refinements */
.eo-arrival{grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);gap:clamp(28px,4vw,76px)}
.eo-arrival-copy{min-width:0;padding-right:0}.eo-booking-dock--calendar{width:100%;max-width:680px;justify-self:end;min-width:0}
.eo-hero-links{display:flex;flex-wrap:wrap;gap:22px 32px}.eo-text-link--quiet{border-bottom-color:rgba(255,255,255,.16);color:#a99d90}
.eo-menu-preview{position:relative;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:7vw;padding:130px 7vw;background:#e9dfce;color:#211811}
.eo-menu-preview:before{content:"MENU";position:absolute;left:2vw;top:20px;font-family:var(--serif);font-size:clamp(110px,18vw,300px);line-height:1;color:rgba(72,43,25,.045);pointer-events:none}
.eo-menu-intro{position:sticky;top:120px;align-self:start}.eo-menu-preview .eo-kicker{color:#9a5e32}.eo-menu-intro h2{margin:0;font-family:var(--serif);font-size:clamp(65px,7vw,112px);line-height:.78;font-weight:400;letter-spacing:-.045em}.eo-menu-intro h2 em{color:#a45d2c;font-weight:400}.eo-menu-intro>p{max-width:390px;margin:34px 0;color:#77695c;line-height:1.8;font-size:12px}.eo-menu-note{display:grid;gap:10px;padding-top:24px;border-top:1px solid rgba(33,24,17,.18);color:#8d7865;font-size:8px;letter-spacing:.15em;text-transform:uppercase}
.eo-menu-sheet{position:relative;border-top:1px solid rgba(33,24,17,.35);border-bottom:1px solid rgba(33,24,17,.35);padding:14px 0 0}.eo-menu-sheet:before{content:"E&O";position:absolute;right:0;top:-48px;font-family:var(--serif);font-size:22px;letter-spacing:.16em;color:#9a5e32}.eo-menu-column{display:grid;grid-template-columns:1fr 1fr;gap:46px}.eo-menu-column+.eo-menu-column{margin-top:48px}.eo-menu-course>span{display:block;padding-bottom:12px;border-bottom:1px solid rgba(33,24,17,.2);color:#9a5e32;font-size:8px;letter-spacing:.22em;text-transform:uppercase}.eo-menu-course article{display:flex;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid rgba(33,24,17,.12)}.eo-menu-course h3{margin:0;font-family:var(--serif);font-size:23px;font-weight:500}.eo-menu-course p{margin:5px 0 0;color:#887869;font-size:9px;line-height:1.5}.eo-menu-course strong{font-family:var(--serif);font-size:20px;font-weight:500}.eo-menu-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;color:#806f60;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.eo-menu-footer a{color:#211811;border-bottom:1px solid #a45d2c;padding-bottom:5px}.eo-menu-footer b{color:#a45d2c}
.eo-doneness{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;border-top:0}.eo-doneness button{min-height:62px;padding:12px 8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#c9bfb4;text-align:center;line-height:1.35}.eo-doneness button:hover{border-color:rgba(230,124,60,.65);background:rgba(221,91,32,.12);color:#fff}.eo-doneness button.is-active{padding-left:8px;border-color:#e27636;background:#d85f24;color:#fff;box-shadow:0 8px 28px rgba(216,95,36,.22)}
.eo-res-card-overlay{overflow-y:auto;overscroll-behavior:contain;place-items:start center;padding:72px 24px 32px}.eo-res-card{max-height:none;margin:auto 0;position:relative}.eo-card-close{position:fixed;z-index:3;width:48px;height:48px;right:24px;top:18px;border:1px solid rgba(255,255,255,.3);background:rgba(10,8,6,.72);border-radius:50%;line-height:1;color:#fff}.eo-card-submit{position:relative;z-index:1}.eo-card-submit.is-confirmed{background:#315f43}.eo-card-submit:disabled{opacity:.55;cursor:not-allowed}.eo-card-feedback{display:none;margin:18px 0 0;padding:14px;border:1px solid rgba(49,95,67,.28);background:rgba(49,95,67,.08);color:#315f43;font-size:10px;line-height:1.6}.eo-card-feedback.is-visible{display:block}
@media(max-width:1250px){.eo-arrival{grid-template-columns:minmax(0,1fr) minmax(420px,520px);padding-left:4vw;padding-right:4vw}.eo-arrival h1{font-size:clamp(68px,8.5vw,125px)}}
@media(max-width:1050px){.eo-arrival{grid-template-columns:1fr;gap:36px}.eo-booking-dock--calendar{justify-self:start;max-width:760px}.eo-arrival-copy{margin-bottom:0}.eo-menu-preview{grid-template-columns:1fr;gap:60px}.eo-menu-intro{position:relative;top:auto}}
@media(max-width:700px){.eo-arrival{padding-left:14px;padding-right:14px}.eo-arrival h1{margin-top:78px}.eo-booking-dock--calendar{max-width:100%}.eo-calendar-head{padding-left:14px;padding-right:14px}.eo-booking-stepbar span{padding:11px 8px;text-align:center;font-size:7px}.eo-hero-links{display:grid;gap:16px}.eo-menu-preview{padding:90px 20px}.eo-menu-column{grid-template-columns:1fr;gap:42px}.eo-menu-column+.eo-menu-column{margin-top:42px}.eo-menu-footer{display:block}.eo-menu-footer a{display:inline-block;margin-top:18px}.eo-doneness{grid-template-columns:1fr 1fr}.eo-doneness button:last-child{grid-column:1/-1}.eo-res-card-overlay{padding:76px 12px 24px}.eo-card-close{right:12px;top:14px}.eo-res-card{width:100%;padding:30px 20px}.eo-res-card h3{font-size:46px;margin-bottom:28px}.eo-card-details div{padding:14px}}

/* v3.3 reservation flow, expanded menu and themed footer */
.eo-booking-dock--calendar{width:100%;max-width:520px;min-height:570px;display:flex;flex-direction:column}.eo-booking-stepbar{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.eo-booking-stepbar button{border:0;border-right:1px solid var(--line);padding:13px 8px;background:transparent;color:#6f655c;font-size:7px;letter-spacing:.14em;text-transform:uppercase}.eo-booking-stepbar button:last-child{border-right:0}.eo-booking-stepbar button.is-current{background:#1d130d;color:#f1c294}.eo-booking-stage{position:relative;flex:1;min-height:405px}.eo-booking-panel{display:none;min-height:405px}.eo-booking-panel.is-active{display:flex;flex-direction:column;animation:eoPanelIn .28s ease both}@keyframes eoPanelIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}.eo-booking-next{margin:auto 24px 20px;padding:17px 18px;border:0;background:#d56427;color:#fff;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.eo-booking-next:disabled{background:#302820;color:#776b61}.eo-booking-actions{margin-top:auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:0 24px 20px}.eo-booking-actions .eo-booking-next{margin:0}.eo-booking-back{border:0;background:transparent;color:#b8aa9b;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.eo-booking-back--last{margin:0 24px 20px}.eo-booking-panel .eo-reserve-now{margin-top:auto}.eo-selected-date small{display:block;margin-top:7px;color:#d79a70;font-family:var(--sans);font-size:9px}.eo-menu-sheet{display:grid;gap:44px}.eo-menu-course--featured>span,.eo-menu-course--dessert>span{font-size:10px;color:#6f3d20}.eo-menu-course>span b{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:10px;border:1px solid rgba(33,24,17,.28);border-radius:50%;font-family:var(--serif);font-size:11px}.eo-menu-course--featured article{padding:24px 0}.eo-menu-extras{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding:34px 0;border-top:1px solid rgba(33,24,17,.22);border-bottom:1px solid rgba(33,24,17,.22)}.eo-menu-course--dessert{padding-top:4px}.eo-booked-state{display:none;text-align:center;padding:20px 0 6px}.eo-res-card.is-booked> :not(.eo-booked-state):not(.eo-card-mark):not(.eo-card-note){display:none}.eo-res-card.is-booked .eo-booked-state{display:block;animation:eoBookedIn .6s ease both}@keyframes eoBookedIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.eo-booked-seal{width:118px;height:118px;margin:5px auto 28px;border:1px solid #8f4b27;border-radius:50%;display:grid;place-items:center;transform:scale(1.5) rotate(-16deg);opacity:0}.eo-booked-seal.is-stamped{animation:eoStamp .7s cubic-bezier(.2,.9,.25,1.2) forwards}@keyframes eoStamp{to{transform:scale(1) rotate(-5deg);opacity:1}}.eo-booked-seal span{width:92px;height:92px;border:1px dashed #8f4b27;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:26px}.eo-booked-state h4{margin:12px 0 18px;font-family:var(--serif);font-size:44px;font-weight:400}.eo-booked-state>p:not(.eo-kicker){max-width:410px;margin:0 auto 28px;color:#756454;line-height:1.7}.eo-card-done{min-width:180px;border:0;background:#211811;color:#fff;padding:16px;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.eo-footer{position:relative;padding:0 6vw 30px;background:#080706;border-top:1px solid rgba(255,255,255,.12)}.eo-footer-fireline{height:3px;background:linear-gradient(90deg,transparent,#7d3218,#e36f2c,#7d3218,transparent);box-shadow:0 0 34px rgba(227,111,44,.5)}.eo-footer-top{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:80px 0 65px}.eo-footer-brand p{color:#938579;line-height:1.7}.eo-footer-info{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.eo-footer-info small{color:#b47950;text-transform:uppercase;letter-spacing:.18em;font-size:8px}.eo-footer-info p{color:#c2b5a8;font-size:11px;line-height:1.8}.eo-footer-book{display:flex;align-items:center;justify-content:space-between;padding:31px 36px;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 90% 50%,rgba(204,85,33,.18),transparent 28%),#100c09;overflow:hidden}.eo-footer-book span{display:flex;align-items:baseline;gap:18px;font-family:var(--serif);font-size:clamp(30px,4vw,62px);line-height:1}.eo-footer-book small{font-family:var(--sans);color:#a88469;font-size:8px;text-transform:uppercase;letter-spacing:.16em}.eo-footer-book b{flex:0 0 70px;height:70px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;color:#e37a3d;font-size:13px;white-space:nowrap}.eo-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-top:26px;color:#72675e;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.eo-footer-bottom span:last-child{text-align:right}
@media(max-width:1050px){.eo-booking-dock--calendar{max-width:680px}.eo-footer-top{grid-template-columns:1fr}.eo-footer-info{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.eo-booking-dock--calendar{min-height:540px}.eo-booking-stage,.eo-booking-panel{min-height:385px}.eo-date-carousel{grid-template-columns:repeat(4,1fr)}.eo-booking-next{margin-left:14px;margin-right:14px}.eo-booking-actions{padding-left:14px;padding-right:14px}.eo-menu-extras{grid-template-columns:1fr;gap:38px}.eo-footer{padding-left:20px;padding-right:20px}.eo-footer-top{padding:58px 0 45px}.eo-footer-info{grid-template-columns:1fr 1fr;gap:26px 16px}.eo-footer-book{padding:24px 20px}.eo-footer-book span{display:block;font-size:34px}.eo-footer-book small{display:block;margin-bottom:10px}.eo-footer-book b{flex-basis:52px;height:52px;font-size:9px}.eo-footer-bottom{grid-template-columns:1fr;gap:10px}.eo-footer-bottom span:last-child{text-align:left}.eo-res-card{padding-bottom:34px}.eo-booked-state h4{font-size:37px}}
@media(max-width:420px){.eo-date-carousel{grid-template-columns:repeat(3,1fr)}.eo-time-menu{grid-template-columns:repeat(2,1fr)}.eo-booking-dock--calendar{min-height:590px}.eo-booking-stage,.eo-booking-panel{min-height:430px}.eo-footer-info{grid-template-columns:1fr}.eo-footer-book b{display:none}}

/* v3.4 two-step reservation, fortnight calendar and rebuilt footer CTA */
.eo-booking-dock--calendar{max-width:560px;min-height:600px}
.eo-booking-stepbar{grid-template-columns:1fr 1fr}
.eo-booking-stage{min-height:438px}.eo-booking-panel{min-height:438px}
.eo-calendar-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;padding:5px 24px 14px;color:#a99b8d;text-align:center;font-size:8px;letter-spacing:.16em;text-transform:uppercase}
.eo-calendar-nav button{width:42px;height:38px;border:1px solid rgba(255,255,255,.18);background:#17120e;color:#e9a16f;font-size:16px;cursor:pointer}
.eo-calendar-nav button:disabled{opacity:.25;cursor:not-allowed}
.eo-date-carousel{grid-template-columns:repeat(7,1fr);gap:6px;padding:0 24px 16px}
.eo-date-option{min-height:78px;padding:9px 4px}.eo-date-option strong{font-size:21px}.eo-date-option em{display:block;margin-top:2px;color:#786e65;font-style:normal;font-size:7px;text-transform:uppercase;letter-spacing:.1em}
.eo-booking-panel[data-panel="2"] .eo-time-menu-wrap{padding-bottom:8px}.eo-booking-panel[data-panel="2"] .eo-booking-controls{margin:0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eo-booking-actions--final{grid-template-columns:auto 1fr;padding-top:16px}.eo-booking-actions--final .eo-reserve-now{margin:0;min-width:0;width:100%}.eo-reserve-now:disabled{opacity:.38;cursor:not-allowed}
.eo-footer-book{min-height:138px;padding:32px 42px;background:linear-gradient(100deg,#100c09 0%,#17100b 58%,#2b160c 100%);border-color:rgba(225,130,72,.28);overflow:visible}
.eo-footer-book span{display:block;min-width:0}.eo-footer-book small{display:block;margin-bottom:12px}.eo-footer-book strong{display:block;font-family:var(--serif);font-size:clamp(38px,5vw,74px);font-weight:400;line-height:.92;color:#efe4d4;white-space:normal}
.eo-footer-book b{width:72px;flex-basis:72px;border-color:rgba(229,125,61,.48);border-radius:0;color:#e37a3d;font-size:20px}
.eo-footer-book:hover b{background:#d86628;color:#fff}
@media(max-width:700px){.eo-booking-dock--calendar{min-height:620px}.eo-booking-stage,.eo-booking-panel{min-height:450px}.eo-date-carousel{grid-template-columns:repeat(7,1fr);gap:4px;padding-left:10px;padding-right:10px}.eo-date-option{min-width:0;min-height:70px;padding:7px 1px}.eo-date-option small{font-size:6px}.eo-date-option strong{font-size:18px}.eo-date-option em{font-size:6px}.eo-calendar-nav{padding-left:10px;padding-right:10px}.eo-booking-panel[data-panel="2"] .eo-booking-controls{margin-left:14px;margin-right:14px}.eo-booking-actions--final{grid-template-columns:1fr;gap:10px}.eo-booking-actions--final .eo-booking-back{order:2;padding:8px}.eo-footer-book{min-height:0;padding:28px 22px}.eo-footer-book strong{font-size:38px}.eo-footer-book b{display:grid;flex-basis:52px;width:52px;height:52px}}
@media(max-width:420px){.eo-date-carousel{grid-template-columns:repeat(7,1fr)}.eo-booking-dock--calendar{min-height:650px}.eo-booking-stage,.eo-booking-panel{min-height:480px}.eo-footer-book strong{font-size:32px}}

/* v3.5 focused homepage, interactive pairing and mobile-first hospitality flow */
.eo-signature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(520px,.88fr);min-height:900px;background:#0b0908;border-top:1px solid var(--line)}
.eo-signature-image{position:relative;min-height:900px;background:url('https://images.unsplash.com/photo-1600891964092-4316c288032e?auto=format&fit=crop&w=1800&q=92') center/cover no-repeat;transition:background-image .35s ease;isolation:isolate}
.eo-signature-image:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 58%,rgba(11,9,8,.86)),linear-gradient(0deg,rgba(8,7,6,.72),transparent 45%)}
.eo-signature-number{position:absolute;top:44px;left:44px;font-family:var(--serif);font-size:90px;color:rgba(255,255,255,.18);line-height:1}
.eo-signature-caption{position:absolute;left:42px;right:42px;bottom:38px;display:flex;gap:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.35);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#e7dbcd}
.eo-signature-content{padding:110px 6vw 90px;display:flex;flex-direction:column;justify-content:center}
.eo-signature-content h2{margin:0;font-family:var(--serif);font-size:clamp(72px,7vw,118px);font-weight:400;line-height:.76}
.eo-signature-content h2 em{color:var(--gold);font-weight:400}
.eo-signature-lede{max-width:540px;margin:30px 0 42px;color:#a99c8f;font-size:12px;line-height:1.85}
.eo-pair-selector{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.eo-pair-selector button{min-height:112px;padding:18px 20px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:#8e8277;text-align:left;cursor:pointer;transition:.25s}
.eo-pair-selector button span{display:block;margin-bottom:13px;color:#6d6259;font-size:7px;letter-spacing:.18em}
.eo-pair-selector button strong{display:block;font-family:var(--serif);font-size:27px;font-weight:400;color:#d9cfc1}
.eo-pair-selector button small{display:block;margin-top:4px;font-size:7px;letter-spacing:.12em;text-transform:uppercase}
.eo-pair-selector button:hover,.eo-pair-selector button.is-active{background:#efe7d7;color:#66594d}
.eo-pair-selector button.is-active strong{color:#211811}
.eo-pair-result{display:grid;grid-template-columns:105px 1fr;gap:30px;margin-top:34px;padding-top:34px;border-top:1px solid var(--line)}
.eo-wine-silhouette{position:relative;min-height:230px;display:flex;align-items:flex-end;justify-content:center}
.eo-wine-silhouette i{display:block;width:48px;height:190px;border-radius:8px 8px 15px 15px;background:linear-gradient(90deg,#090909,#2b201b 48%,#0d0b0a);box-shadow:inset 6px 0 10px rgba(255,255,255,.05),0 25px 40px rgba(0,0,0,.4)}
.eo-wine-silhouette i:before{content:"";position:absolute;left:41px;top:7px;width:23px;height:48px;background:#17100d;border-radius:3px 3px 0 0}
.eo-wine-silhouette span{position:absolute;bottom:70px;width:40px;padding:5px 0;background:#ddd1bd;color:#211811;text-align:center;font-family:var(--serif);font-size:14px}
.eo-pair-copy>small{color:#a66f48;font-size:8px;letter-spacing:.2em;text-transform:uppercase}
.eo-pair-copy h3{margin:8px 0 12px;font-family:var(--serif);font-size:42px;font-weight:400}
.eo-pair-copy>p{margin:0;color:#9d9185;font-size:11px;line-height:1.8}
.eo-pair-copy dl{margin:24px 0 0}.eo-pair-copy dl div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.eo-pair-copy dt{color:#746a61;font-size:7px;letter-spacing:.15em;text-transform:uppercase}.eo-pair-copy dd{margin:0;font-family:var(--serif);font-size:17px;color:#e2d7c7}
.eo-fire-wall{position:relative;min-height:820px;padding:110px 6vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:end;gap:8vw;overflow:hidden;isolation:isolate;background:#090706}
.eo-fire-wall-bg{position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1514516816566-de580c621376?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;filter:saturate(.75) contrast(1.15)}
.eo-fire-wall-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,5,4,.96),rgba(7,5,4,.58) 55%,rgba(7,5,4,.82)),linear-gradient(0deg,#080706,transparent 55%)}
.eo-fire-wall-copy{max-width:820px}.eo-fire-wall-copy h2{margin:0;font-family:var(--serif);font-size:clamp(72px,8vw,132px);font-weight:400;line-height:.78}.eo-fire-wall-copy h2 em{color:#e17b3b;font-weight:400}.eo-fire-wall-copy>p:last-child{max-width:540px;margin:32px 0 0;color:#b2a597;line-height:1.8;font-size:12px}
.eo-tonight-board{align-self:end;padding:30px;border:1px solid rgba(237,184,139,.28);background:rgba(17,11,8,.8);backdrop-filter:blur(18px);box-shadow:0 25px 80px rgba(0,0,0,.35)}
.eo-tonight-board small{display:block;color:#c18055;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.eo-tonight-board strong{display:block;margin:20px 0 10px;font-family:var(--serif);font-size:36px;font-weight:400;line-height:1}.eo-tonight-board>span{display:block;margin-top:8px;color:#9e9184;font-size:10px;line-height:1.5}.eo-tonight-board a{display:flex;justify-content:space-between;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:8px;letter-spacing:.17em;text-transform:uppercase}.eo-tonight-board a b{color:#e47737;font-size:14px}
.eo-mobile-reserve{display:none}

@media(max-width:1100px){
 .eo-signature{grid-template-columns:1fr}.eo-signature-image{min-height:650px}.eo-signature-image:after{background:linear-gradient(0deg,#0b0908,transparent 35%)}.eo-signature-content{padding-top:80px}.eo-fire-wall{grid-template-columns:1fr}.eo-tonight-board{max-width:520px}
}
@media(max-width:700px){
 body{padding-bottom:66px}.eo-site{overflow:visible}.eo-header{grid-template-columns:1fr auto auto}.eo-header-book{display:none}.eo-mobile-nav nav{font-size:34px}
 .eo-arrival{min-height:auto;padding:92px 14px 26px;background:#080706}.eo-arrival-media{height:580px;background-position:58% center}.eo-arrival-vignette{height:650px;background:linear-gradient(0deg,#080706 2%,rgba(8,7,6,.2) 60%,rgba(8,7,6,.7))}.eo-arrival-copy{padding:0;margin:0 0 26px}.eo-arrival h1{margin-top:100px;font-size:clamp(58px,19vw,82px);line-height:.73}.eo-arrival h1 em{margin-left:4%;font-size:.58em}.eo-lede{margin-top:24px;max-width:330px}.eo-hero-links{grid-template-columns:1fr 1fr;gap:12px}.eo-text-link{font-size:7px;gap:8px}
 .eo-booking-dock--calendar{margin-top:20px;min-height:0;max-width:none}.eo-booking-stage,.eo-booking-panel{min-height:450px}.eo-dock-top{padding:18px 16px}.eo-calendar-head{padding-top:18px}.eo-date-carousel{gap:3px}.eo-date-option{min-height:66px}.eo-date-option strong{font-size:16px}.eo-calendar-nav{grid-template-columns:38px 1fr 38px}.eo-calendar-nav button{width:38px;height:36px}.eo-booking-next{margin-bottom:14px}.eo-dock-note{font-size:8px}
 .eo-menu-preview{padding:72px 18px}.eo-menu-intro h2{font-size:clamp(58px,18vw,82px)}.eo-menu-intro>p{font-size:11px}.eo-menu-note{display:grid;gap:8px}.eo-menu-sheet{gap:30px}.eo-menu-course{padding-top:8px}.eo-menu-course article{padding:18px 0}.eo-menu-course article h3{font-size:20px}.eo-menu-course article p{font-size:9px}.eo-menu-extras{gap:26px;padding:26px 0}.eo-menu-footer{font-size:8px}
 .eo-signature{display:block;min-height:0}.eo-signature-image{min-height:72svh;background-position:center}.eo-signature-number{top:24px;left:20px;font-size:62px}.eo-signature-caption{left:18px;right:18px;bottom:20px;gap:14px;justify-content:space-between;font-size:6px}.eo-signature-content{padding:72px 18px}.eo-signature-content h2{font-size:clamp(66px,20vw,88px)}.eo-signature-lede{margin:25px 0 30px}.eo-pair-selector{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-left:0;border-bottom:1px solid var(--line);padding-bottom:4px}.eo-pair-selector button{flex:0 0 72%;min-height:100px;scroll-snap-align:start;border-left:1px solid var(--line)}.eo-pair-result{grid-template-columns:74px 1fr;gap:18px}.eo-wine-silhouette{min-height:190px}.eo-wine-silhouette i{width:40px;height:160px}.eo-wine-silhouette i:before{left:27px;top:1px;width:20px}.eo-wine-silhouette span{bottom:55px;width:34px;font-size:12px}.eo-pair-copy h3{font-size:32px}.eo-pair-copy dl div{display:block}.eo-pair-copy dd{margin-top:4px}
 .eo-fire-wall{min-height:760px;padding:90px 18px 72px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}.eo-fire-wall-copy h2{font-size:clamp(65px,18vw,88px)}.eo-fire-wall-copy>p:last-child{font-size:11px}.eo-tonight-board{margin-top:50px;padding:24px 20px}.eo-tonight-board strong{font-size:31px}
 .eo-footer{padding-bottom:30px}.eo-footer-book{display:none}.eo-footer-top{padding-top:50px}.eo-mobile-reserve{position:fixed;left:0;right:0;bottom:0;z-index:65;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#d76227;color:#fff;border-top:1px solid rgba(255,255,255,.2);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.eo-mobile-reserve b{font-size:16px}.eo-res-card-overlay{z-index:100}.eo-res-card{max-height:calc(100svh - 96px)}
}
@media(max-width:390px){
 .eo-arrival{padding-left:10px;padding-right:10px}.eo-arrival h1{font-size:17vw}.eo-hero-links{grid-template-columns:1fr}.eo-booking-stepbar button{padding:12px 4px}.eo-date-option small,.eo-date-option em{font-size:5px}.eo-date-option strong{font-size:14px}.eo-signature-content,.eo-menu-preview,.eo-fire-wall{padding-left:14px;padding-right:14px}.eo-pair-selector button{flex-basis:82%}.eo-pair-result{grid-template-columns:62px 1fr}.eo-wine-silhouette i{width:34px}.eo-wine-silhouette i:before{left:21px}.eo-pair-copy h3{font-size:28px}
}

/* v3.6 restrained footer and premium cellar bottle */
.eo-wine-silhouette{position:relative;min-height:252px;display:flex;align-items:flex-end;justify-content:center;perspective:600px}
.eo-bottle-shadow{position:absolute;left:50%;bottom:4px;width:92px;height:20px;transform:translateX(-50%);border-radius:50%;background:rgba(0,0,0,.72);filter:blur(10px)}
.eo-bottle{position:relative;width:66px;height:238px;filter:drop-shadow(0 26px 24px rgba(0,0,0,.52));transform:rotate(-1.5deg)}
.eo-bottle-glass{position:absolute;left:5px;right:5px;bottom:0;height:184px;border-radius:20px 20px 16px 16px;background:linear-gradient(90deg,#070908 0%,#15231b 18%,#243c2c 42%,#101b15 69%,#050706 100%);border:1px solid rgba(210,205,172,.13);box-shadow:inset 8px 0 12px rgba(255,255,255,.035),inset -9px 0 12px rgba(0,0,0,.45),inset 0 -8px 12px rgba(0,0,0,.35)}
.eo-bottle-shoulder{position:absolute;left:13px;right:13px;top:41px;height:47px;border-radius:45% 45% 12px 12px;background:linear-gradient(90deg,#09100d,#253d2d 45%,#09100d);transform:skewY(-1deg);border-top:1px solid rgba(224,215,177,.08)}
.eo-bottle-neck{position:absolute;left:24px;top:9px;width:18px;height:55px;border-radius:4px 4px 8px 8px;background:linear-gradient(90deg,#080d0b,#2b4432 48%,#090c0a);box-shadow:inset 3px 0 rgba(255,255,255,.04)}
.eo-bottle-foil{position:absolute;z-index:2;left:22px;top:0;width:22px;height:30px;border-radius:3px 3px 5px 5px;background:linear-gradient(90deg,#35130f,#7b3828 45%,#2b100d);border-top:2px solid #a86849;box-shadow:inset 3px 0 rgba(255,255,255,.09)}
.eo-bottle-highlight{position:absolute;z-index:3;left:13px;top:67px;width:6px;height:120px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.025));filter:blur(.4px);opacity:.75}
.eo-bottle-label{position:absolute;z-index:4;left:10px;right:10px;bottom:53px;min-height:76px;padding:10px 4px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#efe6d3,#cfc1a5);color:#251a13;text-align:center;border:1px solid rgba(255,255,255,.55);box-shadow:0 2px 7px rgba(0,0,0,.25)}
.eo-bottle-label:before,.eo-bottle-label:after{content:"";position:absolute;left:7px;right:7px;height:1px;background:rgba(69,42,27,.28)}
.eo-bottle-label:before{top:6px}.eo-bottle-label:after{bottom:6px}
.eo-bottle-label small{font-family:var(--serif);font-size:6px;letter-spacing:.05em;text-transform:uppercase}
.eo-bottle-label b{margin:4px 0 2px;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1}
.eo-bottle-label em{font-style:normal;font-size:4px;letter-spacing:.15em;text-transform:uppercase}

.eo-footer{position:relative;padding:0 6vw 26px;background:#060504;border-top:1px solid rgba(255,255,255,.08);overflow:hidden}
.eo-footer:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 74px,rgba(255,255,255,.008) 75px);pointer-events:none}
.eo-footer-emberline{position:relative;height:1px;background:linear-gradient(90deg,transparent,rgba(145,63,30,.55),rgba(224,111,53,.85),rgba(145,63,30,.55),transparent)}
.eo-footer-emberline span{position:absolute;left:18%;top:-2px;width:4px;height:4px;border-radius:50%;background:#e17b3b;box-shadow:0 0 10px #e17b3b;animation:eoFooterSpark 8s linear infinite}
@keyframes eoFooterSpark{0%{left:8%;opacity:0}12%{opacity:1}82%{opacity:.55}100%{left:88%;opacity:0}}
.eo-footer-main{position:relative;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(180px,.5fr) minmax(430px,1.25fr);gap:7vw;padding:76px 0 70px}
.eo-footer-wordmark{display:flex;align-items:baseline;gap:9px;width:max-content;font-family:var(--serif);font-size:clamp(35px,4.2vw,62px);line-height:1;color:#e3d7c7}
.eo-footer-wordmark i{color:#8f4b2a;font-size:.7em;font-style:italic}
.eo-footer-identity p{margin:15px 0 0;color:#746b62;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.eo-footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:8px}
.eo-footer-nav a,.eo-footer-details a{position:relative;color:#afa398;font-size:10px;letter-spacing:.06em}
.eo-footer-nav a:after,.eo-footer-details a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:#a85b34;transition:right .25s ease}
.eo-footer-nav a:hover:after,.eo-footer-details a:hover:after{right:0}
.eo-footer-details{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:38px}
.eo-footer-details small{display:block;margin-bottom:17px;color:#9f6847;font-size:7px;letter-spacing:.2em;text-transform:uppercase}
.eo-footer-details p,.eo-footer-details address{margin:0 0 8px;color:#8f847a;font-size:10px;line-height:1.75;font-style:normal}
.eo-footer-details section:first-child p{display:flex;justify-content:space-between;gap:22px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.eo-footer-details p span{color:#7f756c}.eo-footer-details p b{color:#c2b6a8;font-weight:400;white-space:nowrap}
.eo-footer-bottom{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07);color:#59524c;font-size:7px;letter-spacing:.13em;text-transform:uppercase}
.eo-footer-bottom>span:last-child{text-align:right}.eo-footer-bottom a{color:inherit}.eo-footer-closing{font-family:var(--serif);font-size:12px;letter-spacing:.03em;text-transform:none;color:#756b62}

@media(max-width:1000px){.eo-footer-main{grid-template-columns:1fr 1fr}.eo-footer-details{grid-column:1/-1}.eo-footer-bottom{grid-template-columns:1fr 1fr}.eo-footer-closing{display:none}}
@media(max-width:700px){
 .eo-wine-silhouette{min-height:206px}.eo-bottle{width:56px;height:202px}.eo-bottle-glass{height:155px}.eo-bottle-shoulder{top:36px;height:39px;left:11px;right:11px}.eo-bottle-neck{left:20px;width:16px;height:48px}.eo-bottle-foil{left:18px;width:20px;height:26px}.eo-bottle-highlight{top:58px;height:98px}.eo-bottle-label{left:8px;right:8px;bottom:42px;min-height:66px}.eo-bottle-label b{font-size:16px}
 .eo-footer{padding-left:18px;padding-right:18px}.eo-footer-main{display:block;padding:54px 0 45px}.eo-footer-identity{padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.07)}.eo-footer-wordmark{font-size:43px}.eo-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.07)}.eo-footer-nav a{padding:10px 0}.eo-footer-details{display:grid;grid-template-columns:1fr 1fr;gap:32px 22px;padding-top:32px}.eo-footer-details section:first-child{grid-column:1/-1}.eo-footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px;line-height:1.6}.eo-footer-bottom>span:last-child{text-align:left}.eo-footer-closing{display:block;order:-1;font-size:13px;color:#746b62}
}
@media(max-width:390px){.eo-footer-details{grid-template-columns:1fr}.eo-footer-details section:first-child{grid-column:auto}.eo-footer-nav{grid-template-columns:1fr}.eo-footer-wordmark{font-size:38px}}


/* v3.7 restored classic wine bottle — brighter glass, clear neck, refined label */
.eo-wine-silhouette{
  position:relative;
  min-height:250px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.eo-bottle-shadow{
  position:absolute;
  left:50%;
  bottom:2px;
  width:86px;
  height:16px;
  transform:translateX(-50%);
  border-radius:50%;
  background:rgba(0,0,0,.58);
  filter:blur(9px);
}
.eo-bottle-classic{
  position:relative;
  width:66px;
  height:228px;
  filter:drop-shadow(0 24px 22px rgba(0,0,0,.5));
}
.eo-bottle-classic i{
  position:absolute;
  left:8px;
  right:8px;
  bottom:0;
  height:178px;
  display:block;
  border:1px solid rgba(221,196,145,.25);
  border-radius:42% 42% 18px 18px / 13% 13% 8% 8%;
  background:
    linear-gradient(90deg,
      #11130f 0%,
      #253428 15%,
      #465b43 34%,
      #243729 57%,
      #10140f 82%,
      #070907 100%);
  box-shadow:
    inset 7px 0 10px rgba(255,255,255,.08),
    inset -8px 0 13px rgba(0,0,0,.42),
    inset 0 -10px 14px rgba(0,0,0,.28);
}
.eo-bottle-classic i::before{
  content:"";
  position:absolute;
  left:50%;
  top:-52px;
  width:16px;
  height:62px;
  transform:translateX(-50%);
  border:1px solid rgba(221,196,145,.22);
  border-bottom:0;
  border-radius:4px 4px 2px 2px;
  background:linear-gradient(90deg,#151a14,#53624b 45%,#182019 72%,#0b0d0b);
  box-shadow:inset 3px 0 5px rgba(255,255,255,.08);
}
.eo-bottle-classic i::after{
  content:"";
  position:absolute;
  left:50%;
  top:-59px;
  width:22px;
  height:24px;
  transform:translateX(-50%);
  border-radius:3px 3px 1px 1px;
  background:linear-gradient(90deg,#3a1512,#8f4937 44%,#481b16);
  border-top:2px solid #bd7d5d;
  box-shadow:inset 3px 0 rgba(255,255,255,.1);
}
.eo-bottle-classic::before{
  content:"";
  position:absolute;
  z-index:2;
  left:16px;
  top:65px;
  width:5px;
  height:102px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.27),rgba(255,255,255,.025));
  filter:blur(.3px);
  opacity:.8;
}
.eo-classic-label{
  position:absolute;
  z-index:3;
  left:12px;
  right:12px;
  bottom:52px;
  min-height:72px;
  padding:9px 4px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#2c2018;
  text-align:center;
  background:linear-gradient(145deg,#f1e8d8,#d6c5a7);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 3px 8px rgba(0,0,0,.26),inset 0 0 0 2px rgba(87,55,32,.08);
}
.eo-classic-label::before,
.eo-classic-label::after{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  height:1px;
  background:rgba(82,49,28,.3);
}
.eo-classic-label::before{top:6px}
.eo-classic-label::after{bottom:6px}
.eo-classic-label small{
  font-family:var(--serif);
  font-size:6px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.eo-classic-label strong{
  margin:5px 0 4px;
  font-family:var(--serif);
  font-size:18px;
  line-height:1;
  font-weight:400;
}
.eo-classic-label em{
  max-width:45px;
  font-style:normal;
  font-size:4px;
  line-height:1.35;
  letter-spacing:.11em;
  text-transform:uppercase;
}
@media(max-width:700px){
  .eo-wine-silhouette{min-height:205px}
  .eo-bottle-classic{width:56px;height:192px}
  .eo-bottle-classic i{left:7px;right:7px;height:150px}
  .eo-bottle-classic i::before{left:50%;top:-45px;width:14px;height:53px;transform:translateX(-50%)}
  .eo-bottle-classic i::after{left:50%;top:-51px;width:20px;height:21px;transform:translateX(-50%)}
  .eo-bottle-classic::before{left:14px;top:55px;height:84px}
  .eo-classic-label{left:10px;right:10px;bottom:42px;min-height:62px;padding:8px 3px 7px}
  .eo-classic-label strong{font-size:16px}
  .eo-classic-label small{font-size:5px}
  .eo-classic-label em{font-size:3.5px}
}

/* v3.8 bottle geometry correction: centred joined neck and aligned foil */
.eo-bottle-classic i::before,
.eo-bottle-classic i::after{box-sizing:border-box}
.eo-bottle-classic i::before{z-index:1}
.eo-bottle-classic i::after{z-index:2}


/* v3.9 definitive bottle-neck rebuild — real centred elements */
.eo-bottle-classic i::before,
.eo-bottle-classic i::after{
  content:none !important;
  display:none !important;
}
.eo-bottle-neck-piece,
.eo-bottle-foil-piece{
  position:absolute;
  left:50%;
  display:block;
  box-sizing:border-box;
  transform:translateX(-50%);
  pointer-events:none;
}
.eo-bottle-neck-piece{
  z-index:0;
  top:5px;
  width:17px;
  height:62px;
  border:1px solid rgba(221,196,145,.22);
  border-bottom:0;
  border-radius:4px 4px 3px 3px;
  background:linear-gradient(90deg,#111711 0%,#3f563f 38%,#52674c 50%,#1b281e 72%,#0a0d0a 100%);
  box-shadow:inset 3px 0 5px rgba(255,255,255,.08),inset -3px 0 5px rgba(0,0,0,.35);
}
.eo-bottle-foil-piece{
  z-index:2;
  top:0;
  width:23px;
  height:29px;
  border-radius:4px 4px 2px 2px;
  border-top:2px solid #bd7d5d;
  background:linear-gradient(90deg,#35120f 0%,#874532 42%,#9a5840 51%,#451914 100%);
  box-shadow:inset 3px 0 rgba(255,255,255,.1),0 2px 2px rgba(0,0,0,.18);
}
/* Body begins at 50px; neck ends at 67px, creating a visible 17px join. */
.eo-bottle-classic i{z-index:1}
@media(max-width:700px){
  .eo-bottle-neck-piece{top:4px;width:15px;height:54px}
  .eo-bottle-foil-piece{top:0;width:21px;height:24px}
}


/* v4.1 — single-piece SVG wine bottle */
.eo-bottle-classic,.eo-bottle-neck-piece,.eo-bottle-foil-piece{display:none!important}
.eo-bottle-svg-wrap{position:relative;width:112px;height:322px;display:flex;align-items:flex-end;justify-content:center;filter:none}
.eo-bottle-svg{display:block;width:100%;height:100%;overflow:visible;transform:translateY(3px);transition:opacity .28s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.eo-pair-result.is-changing .eo-bottle-svg{opacity:0;transform:translateY(18px) rotate(2deg)}
.eo-svg-brand{font-family:Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:1.4px;fill:#2c2018}
.eo-svg-vintage{font-family:Georgia,'Times New Roman',serif;font-size:31px;fill:#2c2018}
.eo-svg-reserve{font-family:Arial,sans-serif;font-size:6px;letter-spacing:1.7px;fill:#5f412c}
.eo-svg-origin{font-family:Arial,sans-serif;font-size:4.5px;letter-spacing:1.15px;fill:#6e523e}
@media(max-width:700px){.eo-bottle-svg-wrap{width:74px;height:220px}.eo-pair-result{grid-template-columns:84px 1fr}}
@media(max-width:390px){.eo-bottle-svg-wrap{width:64px;height:194px}.eo-pair-result{grid-template-columns:70px 1fr}}

/* v4.1 mobile viewport and reservation overlay stability */
html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.eo-site,
.eo-arrival,
.eo-booking-dock,
.eo-booking-stage,
.eo-booking-panel,
.eo-menu-preview,
.eo-signature,
.eo-fire-wall,
.eo-footer{
  min-width:0;
  max-width:100%;
}
img,svg,video,canvas{max-width:100%;height:auto}
.eo-date-carousel,.eo-time-menu,.eo-card-details,.eo-card-experiences{min-width:0}

.eo-res-card-overlay{
  position:fixed;
  inset:0;
  width:100%;
  height:100dvh;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
}
.eo-res-card{
  width:min(720px,100%);
  max-width:100%;
  max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.eo-card-close{
  position:fixed;
  top:max(10px,env(safe-area-inset-top));
  right:max(10px,env(safe-area-inset-right));
  z-index:130;
}

@media(max-width:700px){
  body{width:100%;overflow-x:clip}
  body.eo-menu-open{overflow:hidden;touch-action:none}
  .eo-site{width:100%;overflow-x:clip}
  .eo-arrival{width:100%;grid-template-columns:minmax(0,1fr)}
  .eo-arrival-copy,.eo-booking-dock--calendar{width:100%;min-width:0}
  .eo-booking-dock--calendar{overflow:hidden}
  .eo-date-carousel{width:100%;max-width:100%}
  .eo-date-option{width:100%;min-width:0}
  .eo-booking-actions,.eo-booking-controls{min-width:0}
  .eo-booking-actions button,.eo-reserve-now{max-width:100%;white-space:normal}

  .eo-res-card-overlay{
    align-items:flex-end;
    padding:max(54px,calc(env(safe-area-inset-top) + 44px)) 10px max(10px,env(safe-area-inset-bottom));
  }
  .eo-res-card{
    width:100%;
    max-height:calc(100dvh - max(64px,calc(env(safe-area-inset-top) + 54px)) - max(10px,env(safe-area-inset-bottom)));
    padding:28px 18px max(24px,env(safe-area-inset-bottom));
    border-radius:18px 18px 0 0;
    transform:translateY(32px);
  }
  .eo-res-card-overlay.is-open .eo-res-card{transform:none}
  .eo-res-card h3{font-size:clamp(40px,13vw,54px);line-height:.86;margin:20px 0 26px}
  .eo-card-details{grid-template-columns:1fr 1fr}
  .eo-card-details div{min-width:0;padding:13px 10px}
  .eo-card-details strong{font-size:17px;overflow-wrap:anywhere}
  .eo-card-experiences{display:grid;grid-template-columns:1fr;gap:8px}
  .eo-res-card input{font-size:16px}
  .eo-card-submit,.eo-card-done{min-height:50px}
  .eo-card-close{width:42px;height:42px;font-size:28px}
  .eo-booked-state{padding-top:4px}
  .eo-booked-seal{width:92px;height:92px;margin-bottom:20px}
  .eo-booked-seal span{width:72px;height:72px;font-size:22px}
  .eo-booked-state h4{font-size:36px}
}

@media(max-width:390px){
  .eo-res-card-overlay{padding-left:6px;padding-right:6px}
  .eo-res-card{padding-left:15px;padding-right:15px}
  .eo-card-details{grid-template-columns:1fr}
  .eo-card-details div{padding:11px 10px}
}
