:root{--nova-bg:#171b22;--nova-dark:#11151a;--nova-panel:#232832;--nova-warm:#f3eee6;--nova-ink:#262019;--nova-red:#d94738;--nova-gold:#d5ad69;--nova-muted:#c4c6c9;--nova-eyebrow-light:#a63126;--nova-eyebrow-dark:#f2d8aa}html{scroll-behavior:smooth}body{background:var(--nova-bg);color:#fff}body.landing #page-wrapper{background-image:none;background-color:var(--nova-bg)}#header{height:4.2em;line-height:4.2em;background:rgba(17,21,26,.94);backdrop-filter:blur(8px)}#header.alt{background:rgba(17,21,26,.55)}#header h1{left:1.5em;opacity:1!important;pointer-events:auto!important}.brandmark{display:flex!important;align-items:center;gap:.7rem;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem!important;letter-spacing:.24em}.brandmark small{font-family:'Open Sans',sans-serif;font-size:.48rem;letter-spacing:.18em;color:#d6d6d6;display:block;line-height:1.2}.brandmark strong{font-weight:500}.nav-book{display:inline-block!important;background:var(--nova-red);padding:0 1.35rem!important;color:#fff!important;font-weight:700}.nav-book:hover{background:#ec5a4a}.nav-active{color:var(--nova-gold)!important}.nova-hero{height:88vh;min-height:640px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;background:#15191f}.nova-hero.compact{height:66vh;min-height:520px}.hero-media{position:absolute;inset:0;background:url('../../images/banner.jpg') center/cover no-repeat}.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06) translateX(-1.8%);animation:novaPan 42s linear infinite alternate;filter:saturate(.9) contrast(1.03)}@keyframes novaPan{0%{transform:scale(1.06) translateX(-1.8%)}100%{transform:scale(1.06) translateX(1.8%)}}.nova-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(0,0,0,.18) 0,rgba(0,0,0,.58) 58%,rgba(0,0,0,.78) 100%);z-index:1}.hero-content{position:relative;z-index:2;max-width:950px;padding:7rem 2rem 3rem}.eyebrow{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase!important;color:var(--nova-eyebrow-dark)!important;margin-bottom:1rem;font-weight:600}.section-light .eyebrow{color:var(--nova-eyebrow-light)!important}.section-dark .eyebrow,.section-panel .eyebrow,.nova-hero .eyebrow{color:var(--nova-eyebrow-dark)!important}.hero-content h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-transform:none;letter-spacing:-.02em;font-size:clamp(3rem,7vw,6.5rem);line-height:.98;margin:0 0 1.3rem}.compact .hero-content h1{font-size:clamp(2.8rem,6vw,5.2rem)}.hero-content p{max-width:760px;margin:0 auto 2rem;font-size:1.08rem;line-height:1.8;color:#f1f1f1;letter-spacing:.01em}.hero-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.button.primary{background:var(--nova-red)!important}.button.primary:hover{background:#ed5d4d!important}.button.ghost{box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)!important}.section-pad{padding:6rem 0}.section-light{background:var(--nova-warm);color:var(--nova-ink)}.section-light h2,.section-light h3,.section-light h4{color:var(--nova-ink)}.section-dark{background:var(--nova-dark)}.section-panel{background:#232832}.nova-inner{width:min(1180px,calc(100% - 3rem));margin:0 auto}.section-head{max-width:760px;margin:0 auto 3.2rem;text-align:center}.section-head h2{font-family:Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0;font-size:clamp(2rem,4vw,3.35rem);font-weight:400;line-height:1.08}.section-head p{font-size:1rem;line-height:1.8}.split{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px}.split.reverse{grid-template-columns:.95fr 1.05fr}.split-media{position:relative;overflow:hidden;background:#2e3842}.split-media img{width:100%;height:100%;min-height:560px;object-fit:cover;transition:transform .8s ease}.split:hover .split-media img{transform:scale(1.035)}.split-copy{display:flex;align-items:center;padding:5rem clamp(2rem,6vw,6rem)}.split-copy .copy-inner{max-width:610px}.split-copy h2{font-family:Georgia,'Times New Roman',serif;text-transform:none;font-size:clamp(2rem,4vw,3.25rem);font-weight:400;letter-spacing:0;line-height:1.08}.split-copy p{line-height:1.9}.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.11)}.fact{padding:2.5rem 1.8rem;background:#1d222a;text-align:center}.fact strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:2.35rem;color:var(--nova-gold);font-weight:400}.fact span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;margin-top:.65rem;color:#d8dadd}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:280px;gap:1rem}.gallery figure{margin:0;overflow:hidden;position:relative;background:#2d323a}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease}.gallery figure:hover img{transform:scale(1.045);filter:brightness(1.08)}.menu-tabs{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:0 0 3rem}.menu-tab{border:1px solid rgba(38,32,25,.22);padding:.8rem 1.2rem;cursor:pointer;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--nova-ink)}.menu-tab.active{background:var(--nova-red);border-color:var(--nova-red);color:#fff}.menu-section{display:none}.menu-section.active{display:block}.menu-category{margin:0 0 4rem}.menu-category h3{font-family:Georgia,'Times New Roman',serif;text-transform:none;font-size:2.1rem;font-weight:400;border-bottom:1px solid rgba(38,32,25,.18);padding-bottom:.9rem}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3.5rem}.menu-item{padding:1.2rem 0;border-bottom:1px solid rgba(38,32,25,.12)}.menu-line{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.menu-line h4{margin:0;text-transform:none;letter-spacing:.02em;font-size:1rem}.price{font-weight:700;white-space:nowrap;color:#a63126}.menu-item p{margin:.55rem 0 0;font-size:.9rem;line-height:1.65;color:#625b54}.tag{display:inline-block;margin-top:.6rem;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid rgba(38,32,25,.22);padding:.2rem .45rem}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.offer-card{background:#fff;color:var(--nova-ink);overflow:hidden}.offer-card img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .55s ease}.offer-card:hover img{transform:scale(1.035)}.offer-copy{padding:1.6rem}.offer-copy h3{font-family:Georgia,'Times New Roman',serif;text-transform:none;font-size:1.65rem;font-weight:400;letter-spacing:0;line-height:1.1}.offer-copy p{line-height:1.7;color:#5d5650}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.info-block{padding:2rem;border-top:2px solid var(--nova-red);background:#1e232b}.info-block h3{font-family:Georgia,'Times New Roman',serif;text-transform:none;font-size:1.5rem;font-weight:400}.hours{display:grid;grid-template-columns:1fr auto;gap:.65rem 1rem}.hours span:nth-child(even){text-align:right;color:#f1d6a7}.booking-shell{max-width:980px;margin:0 auto}.booking-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:2rem}.booking-step{padding:1rem;text-align:center;background:#1e232b;border-top:2px solid transparent}.booking-step.active{border-color:var(--nova-red)}.booking-panel{background:#fff;color:var(--nova-ink);padding:2.2rem}.booking-panel h3{color:var(--nova-ink);font-family:Georgia,'Times New Roman',serif;text-transform:none;font-size:1.8rem}.party-grid,.date-grid,.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.choice{min-height:54px;border:1px solid #d8d0c6;background:#fff;color:#2c2722;display:flex;align-items:center;justify-content:center;text-align:center;padding:.7rem;cursor:pointer}.choice:hover{border-color:#a34b40}.choice.selected{background:#2e3842;color:#fff;border-color:#2e3842}.choice[disabled]{opacity:.35;cursor:not-allowed}.date-grid{grid-template-columns:repeat(7,1fr)}.date-choice{flex-direction:column;gap:.15rem;min-height:76px}.date-choice small{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.booking-summary{margin-top:1.5rem;background:#f2eee8;padding:1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.booking-summary strong{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#7d7267;margin-bottom:.35rem}.booking-summary span{font-weight:700}.booking-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;gap:1rem}.small-control{min-height:42px;padding:.55rem .9rem!important;line-height:1.2!important;height:auto!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .full{grid-column:1/-1}input[type="text"],input[type="email"],input[type="tel"],select,textarea{background:rgba(255,255,255,.06)!important}.section-light input[type="text"],.section-light input[type="email"],.section-light input[type="tel"],.section-light select,.section-light textarea{background:#fff!important;color:#2b2722!important;border:1px solid #d8d0c6!important}.demo-modal{position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.74);display:none;align-items:center;justify-content:center;padding:1.5rem}.demo-modal.open{display:flex}.modal-card{background:#fff;color:#2b2722;width:min(520px,100%);padding:2.3rem;box-shadow:0 30px 80px rgba(0,0,0,.4)}.modal-card h3{font-family:Georgia,'Times New Roman',serif;text-transform:none;color:#2b2722;font-size:1.7rem}.modal-card p{line-height:1.7}.modal-card .button{color:#2b2722!important;box-shadow:inset 0 0 0 2px #2e3842!important}.modal-card .button.primary{color:#fff!important;box-shadow:none!important}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem;text-align:left;max-width:1050px;margin:0 auto 2.5rem}.footer-grid h4{font-size:.75rem;letter-spacing:.17em}.footer-grid p,.footer-grid a{font-size:.88rem;color:#bfc3c7;border:0}.footer-brand{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;color:#fff}.nexops-credit a{color:#d1b47e!important}.muted{color:#aeb2b6}.legal-note{font-size:.72rem;color:#9aa0a5}.page-anchor{scroll-margin-top:5rem}
@media(max-width:980px){.split,.split.reverse{grid-template-columns:1fr}.split-media img{min-height:430px}.facts-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.gallery figure:first-child{grid-row:span 1}.offer-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.menu-grid{gap:0 2rem}}
@media(max-width:736px){#header{height:3.6em;line-height:3.6em}#header h1{left:1rem}.brandmark small{display:none}.nav-book{display:none!important}.nova-hero,.nova-hero.compact{height:auto;min-height:620px;padding:4rem 0 1rem}.hero-content{padding:7rem 1.4rem 3rem}.hero-content p{font-size:.98rem}.section-pad{padding:4rem 0}.nova-inner{width:min(100% - 2rem,1180px)}.split-copy{padding:3.2rem 1.4rem}.split-media img{min-height:330px}.facts-grid{grid-template-columns:1fr 1fr}.fact{padding:1.8rem 1rem}.gallery{grid-template-columns:1fr;grid-auto-rows:260px}.offer-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr}.party-grid,.time-grid{grid-template-columns:repeat(2,1fr)}.date-grid{grid-template-columns:repeat(3,1fr)}.booking-steps{grid-template-columns:1fr 1fr}.booking-panel{padding:1.2rem}.booking-summary{grid-template-columns:1fr}.booking-actions{flex-direction:column-reverse;align-items:stretch}.booking-actions .button{width:100%;text-align:center}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hero-actions .button{width:100%;max-width:320px}.nova-hero:before{background:rgba(0,0,0,.58)}}
@media(max-width:430px){.facts-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(2,1fr)}.party-grid,.time-grid{grid-template-columns:1fr 1fr}.hero-content h1{font-size:3rem}.booking-steps{grid-template-columns:1fr 1fr;font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.hero-media img{animation:none;transform:scale(1.06)}*{scroll-behavior:auto!important}}
.gallery > img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease,filter .65s ease}.gallery > img:first-child{grid-row:span 2}.gallery > img:hover{transform:scale(1.035);filter:brightness(1.08)}@media(max-width:980px){.gallery > img:first-child{grid-row:span 1}}
.choice strong,.choice small{color:inherit!important}.booking-panel .button:not(.primary){color:#2e3842!important;box-shadow:inset 0 0 0 2px #2e3842!important}.booking-panel .button:not(.primary):hover{background:#2e3842!important;color:#fff!important}.footer-logo{width:170px;max-height:70px;object-fit:contain;object-position:left center;margin-bottom:1rem;background:transparent}

.date-day,.date-month{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:inherit}.date-num{font-size:1.05rem;font-weight:700;color:inherit}


.brandmark-logo{height:100%;display:flex!important;align-items:center}.brand-logo{display:block;width:auto;height:54px;max-width:min(42vw,220px);object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.hero-media-video{background:#11151a}.hero-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.07);animation:novaVideoPan 44s linear infinite alternate;filter:saturate(.92) contrast(1.04)}
@keyframes novaVideoPan{0%{transform:scale(1.07) translateX(-1.7%)}100%{transform:scale(1.07) translateX(1.7%)}}
.review-band{padding:5rem 0}.review-highlight{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.review-copy h2{font-family:Georgia,'Times New Roman',serif;text-transform:none;font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:.8rem;letter-spacing:0;line-height:1.08}.review-copy p{line-height:1.85;color:#d5d9de;max-width:700px}.google-rating-card{background:#1e232b;border-top:2px solid var(--nova-red);padding:2rem;box-shadow:0 22px 60px rgba(0,0,0,.25)}.google-head{display:flex;align-items:center;gap:.6rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.14em;color:#d9dde1}.google-head .fa-google{color:#fff;font-size:1.1rem}.google-score{font-family:Georgia,'Times New Roman',serif;font-size:5rem;line-height:1;color:#fff;margin:.65rem 0 .4rem}.google-stars{color:#f4cb62;font-size:1.4rem;letter-spacing:.1em}.google-reviews{margin:.7rem 0 1.35rem;color:#c3c7cb;font-size:1.02rem}.mini-google-rating{display:flex;flex-direction:column;gap:.45rem}.mini-google-rating strong{font-size:2rem;font-family:Georgia,'Times New Roman',serif;color:#fff}.mini-google-rating span{color:#d7dbe0}
.map-card{overflow:hidden;background:#1e232b;box-shadow:0 24px 70px rgba(0,0,0,.25);border-top:2px solid var(--nova-red)}.map-card iframe{display:block;width:100%;height:460px;border:0}
.field-group{display:flex;flex-direction:column;gap:.45rem}.field-group label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:inherit;font-weight:700}.section-light .field-group label{color:#594f44}.section-dark .field-group label,.section-panel .field-group label{color:#d8dde3}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#a19990;opacity:1}.section-dark .form-grid input::placeholder,.section-panel .form-grid input::placeholder,.section-dark .form-grid textarea::placeholder,.section-panel .form-grid textarea::placeholder{color:#8c939b}
.info-block p a{border-bottom:none}
@media(max-width:980px){.review-highlight{grid-template-columns:1fr}.map-card iframe{height:380px}}
@media(max-width:736px){.brand-logo{height:42px;max-width:160px}.hero-video{animation-duration:36s}.google-score{font-size:4rem}.map-card iframe{height:320px}.review-band{padding:4rem 0}}
@media(prefers-reduced-motion:reduce){.hero-video{animation:none;transform:scale(1.07)}}


/* Compact Google review treatment */
.google-review-strip{background:#181d24;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:.8rem 0}
.google-review-inline{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:54px;color:#fff!important;border:0!important;text-decoration:none!important;white-space:nowrap}
.google-review-inline:hover{color:#fff!important}.google-brand{display:flex;align-items:center;gap:.45rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#d9dde1}.google-brand .fa-google{font-size:1rem;color:#fff}.google-inline-score{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:400;color:#fff}.google-inline-stars{color:#f4cb62;font-size:.95rem;letter-spacing:.05em}.google-inline-count{font-size:.82rem;color:#b9bec4}.google-inline-link{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#e6d3ad;border-left:1px solid rgba(255,255,255,.18);padding-left:1rem}
@media(max-width:736px){.google-review-strip{padding:.65rem 0}.google-review-inline{gap:.6rem;flex-wrap:wrap;white-space:normal;min-height:auto}.google-inline-link{width:100%;text-align:center;border-left:0;padding-left:0;font-size:.68rem}.google-inline-score{font-size:1.45rem}.google-inline-stars{font-size:.85rem}}

/* AUTHENTIC NOVA PHOTOGRAPHY: interior/event imagery must use real Nova source photos only. */

/* Large photography uses local 3840x2160 Nova source frames. */
.split-media img,.gallery img,.offer-card img,.hero-media img{image-rendering:auto}


/* Booking calendar refinement */
.booking-shell{max-width:1040px}
.booking-panel{padding:2.5rem 2.6rem 2.7rem;box-shadow:0 28px 75px rgba(0,0,0,.24)}
.booking-panel h3{margin-bottom:1rem;font-size:1.65rem;letter-spacing:0}
.party-grid{grid-template-columns:repeat(4,1fr)}
.party-choice{min-height:58px;font-weight:700}
.booking-calendar{border:1px solid #ded6cc;background:#fbf8f3;padding:1rem 1.1rem 1.25rem}
.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:.7rem;margin-bottom:1rem}
.calendar-toolbar h4{margin:0;text-align:center;font-family:Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0;font-size:1.45rem;font-weight:400;color:#2c2722}
.calendar-nav{width:44px;height:44px;border:1px solid #d6cec4;background:#fff;color:#2e3842;font-size:1.8rem;line-height:1;cursor:pointer;padding:0}
.calendar-nav:hover:not(:disabled){background:#2e3842;color:#fff;border-color:#2e3842}
.calendar-nav:disabled{opacity:.3;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}
.calendar-weekdays{margin-bottom:.45rem}
.calendar-weekdays span{text-align:center;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#857b70;padding:.35rem 0}
.calendar-blank{min-height:66px}
.calendar-day{position:relative;min-height:66px;border:1px solid #e1d8ce;background:#fff;color:#302a25;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.45rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.calendar-day:hover:not(:disabled){border-color:#a63126;transform:translateY(-1px)}
.calendar-day.selected{background:#2e3842;color:#fff;border-color:#2e3842;box-shadow:inset 0 -3px 0 var(--nova-red)}
.calendar-day:disabled{background:#f0ece6;color:#aaa198;border-color:#e7e0d7;cursor:not-allowed;opacity:.68}
.calendar-day.closed{background:#f5f1eb;color:#bbb2a8}
.calendar-number{font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;font-weight:700;line-height:1}
.calendar-day{box-sizing:border-box;width:100%;height:auto;min-width:0;max-width:none;overflow:hidden;line-height:1.2!important;box-shadow:none;letter-spacing:normal;white-space:normal}
.calendar-number{display:block;line-height:1.2}
.calendar-day.today{border-color:#a63126}
.calendar-day.today:disabled{opacity:1}
.calendar-day.today::after{content:"";position:absolute;left:calc(50% - 3px);bottom:7px;width:6px;height:6px;border-radius:50%;background:#a63126}
.calendar-day.today.selected::after{background:#fff}
.calendar-legend{display:flex;align-items:center;gap:.4rem;margin:.85rem 0 0;color:#756e67;font-size:.72rem;line-height:1.3}
.calendar-legend::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#a63126}
.time-grid{grid-template-columns:repeat(5,1fr)}
.time-choice{min-height:52px;font-weight:700}
.time-choice.past-time{opacity:.28;text-decoration:line-through}
.calendar-message{grid-column:1/-1;margin:.5rem 0 0;padding:1rem;background:#f2eee8;color:#756e67;text-align:center}
.booking-summary{border-top:1px solid #ded6cc;margin-top:2rem;padding:1.35rem 0 0;background:transparent}
.booking-summary strong{color:#8d8277}

/* Stronger text contrast over the homepage video only */
body.landing .hero-content{isolation:isolate}
body.landing .hero-content p{font-weight:700;text-shadow:0 2px 16px rgba(0,0,0,.45)}
body.landing .hero-content h1{text-shadow:0 3px 18px rgba(0,0,0,.42)}
.hero-content h1.seo-h1{font-family:'Open Sans',sans-serif;font-size:clamp(.9rem,1.25vw,1.1rem);font-weight:700;letter-spacing:.13em;line-height:1.4;text-transform:uppercase;color:#f2d8aa;margin:0 0 .75rem}
.hero-content .hero-tagline{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.02em;font-size:clamp(3rem,7vw,6.5rem);line-height:.98;margin:0 0 1.3rem}
.compact .hero-content .hero-tagline{font-size:clamp(2.8rem,6vw,5.2rem)}
@media(max-width:430px){.hero-content .hero-tagline{font-size:3rem}}
#header .site-brand{height:inherit;left:auto;line-height:inherit;position:static;top:auto;opacity:1;pointer-events:auto}
#header .site-brand a{border:0;display:block;height:inherit;line-height:inherit}
@media(max-width:736px){#header .site-brand a{font-size:.8em}}

@media(max-width:736px){
  .booking-panel{padding:1.25rem}
  .party-grid{grid-template-columns:repeat(2,1fr)}
  .booking-calendar{padding:.75rem .65rem 1rem}
  .calendar-weekdays,.calendar-grid{gap:.25rem}
  .calendar-weekdays span{font-size:.58rem;letter-spacing:.03em}
  .calendar-day,.calendar-blank{min-height:54px}
  .calendar-day{padding:.3rem .15rem}
  .calendar-number{font-size:1rem}
  .time-grid{grid-template-columns:repeat(3,1fr)}
  .calendar-toolbar h4{font-size:1.25rem}
  .calendar-nav{width:40px;height:40px}
}
@media(max-width:430px){.time-grid{grid-template-columns:repeat(2,1fr)}}

/* Clear, icon-only mobile navigation trigger */
.menuToggle span{display:none!important}
#header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem 0 1.5rem}
#header h1{position:static;left:auto;top:auto;flex:0 1 auto;min-width:0;margin:0}
#header nav{position:static;right:auto;top:auto;flex:0 0 auto;margin-left:auto}
#header .site-brand{flex:0 1 auto;min-width:0}
#header .brand-logo{max-width:100%}
#header nav>ul{height:100%;display:flex;align-items:center}
#header nav>ul>li{height:100%;display:flex;align-items:center}
#header nav>ul>li>a.nav-book{display:flex!important;align-items:center;justify-content:center;height:42px;line-height:1.1;margin:0;padding:0 1.35rem!important;box-sizing:border-box}
#header nav > ul > li > a.menuToggle:after{width:3rem!important;height:100%!important;background-size:2.35rem auto!important;background-position:center!important}
#header nav > ul > li > a.menuToggle{min-width:64px!important;height:100%!important;max-height:64px;padding:0 .7rem!important;display:grid!important;place-items:center!important}
@media(max-width:736px){#header{gap:.5rem;padding:0 .5rem 0 1rem}#header nav>ul>li>a.nav-book{padding:0 .7rem!important;font-size:.68em;letter-spacing:.15em}}
@media(max-width:430px){#header nav>ul>li>a.nav-book{display:none!important}#header .brand-logo{max-width:160px}}

/* Consistent menu tabs without the template's additional inset button border. */
.menu-tab{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:116px;height:46px;padding:0 1.5rem!important;border:1px solid rgba(38,32,25,.28)!important;border-radius:2px;background:transparent;box-shadow:none!important;line-height:1;font-family:inherit;font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--nova-ink);transition:background .18s,border-color .18s,color .18s}
.menu-tab:hover{background:#fff;border-color:#a63126!important;color:var(--nova-ink)}
.menu-tab.active,.menu-tab.active:hover{background:var(--nova-red);border-color:var(--nova-red)!important;color:#fff}
.menu-tab:focus{box-shadow:none!important}.menu-tab:focus-visible{outline:2px solid #a63126;outline-offset:3px}

/* CMS-managed footer social link and custom page sections */
.footer-facebook{display:inline-grid;place-items:center;width:44px;height:44px;margin-top:1rem;border:1px solid rgba(255,255,255,.34);border-radius:50%;color:#fff!important;text-decoration:none!important;font-size:1.05rem;transition:background .2s,border-color .2s,transform .2s}
.footer-facebook:hover{background:#1877f2;border-color:#1877f2;transform:translateY(-2px)}
.cms-custom-section{padding:5rem 0;background:#f4efe8;color:#2c2722}
.cms-custom-section:nth-of-type(even){background:#fff}
.cms-custom-section .nova-inner{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.cms-custom-section h2{font:400 clamp(2rem,4vw,3.3rem)/1.08 Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0;margin:0 0 1.2rem}
.cms-custom-section p{max-width:780px;line-height:1.8;color:#665d54;white-space:pre-line}
.cms-custom-section img{display:block;width:100%;max-height:680px;object-fit:cover;margin-top:2rem}
.cms-custom-section .button{margin-top:1.4rem}
.cms-custom-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.cms-custom-gallery-grid img{margin:0;aspect-ratio:4/3}
@media(max-width:736px){#header nav > ul > li > a.menuToggle:after{width:2.6rem!important;background-size:2rem auto!important}.cms-custom-section{padding:3.5rem 0}.cms-custom-gallery-grid{grid-template-columns:1fr}}

/* Public media always comes from the server-rendered CMS, never the legacy banner. */
.hero-media,#main > header,body.is-mobile.landing #banner,body.is-mobile.landing .wrapper.style4{background-image:none!important}
[hidden]{display:none!important}

/* Booking dialog: override the dark template's inherited white form text. */
#demo-modal{overflow-y:auto;padding:1rem}
#demo-modal .modal-card{box-sizing:border-box;width:min(560px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:clamp(1.5rem,4vw,2.5rem);border-radius:3px}
#demo-modal .modal-card h3{margin:0 0 .75rem;font-size:clamp(1.45rem,4vw,1.8rem);line-height:1.2;letter-spacing:0}
#demo-modal .booking-modal-summary{margin:0 0 1.65rem;color:#625a52;font-size:.98rem;line-height:1.5;letter-spacing:0}
#demo-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
#demo-modal .field-group{min-width:0;gap:.45rem}
#demo-modal .field-group label{margin:0;color:#3a332d;font-size:.72rem;line-height:1.3;letter-spacing:.1em}
#demo-modal .field-group input{box-sizing:border-box;display:block;width:100%;min-width:0;height:48px;margin:0;padding:0 .85rem;border:1px solid #cfc6bc!important;border-radius:2px;background:#fff!important;color:#262019!important;font:500 1rem/1.3 'Open Sans',Arial,sans-serif;letter-spacing:0;box-shadow:none!important;text-overflow:clip}
#demo-modal .field-group input:focus{border-color:#a63126!important;outline:2px solid rgba(166,49,38,.22);outline-offset:1px}
#demo-modal .booking-modal-actions{display:flex;gap:.75rem;align-items:stretch;margin-top:.35rem}
#demo-modal .booking-modal-actions .button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:48px;height:auto;margin:0;padding:.7rem 1.2rem;line-height:1.2;white-space:normal;text-align:center;font-size:.72rem;letter-spacing:.12em}
#demo-modal .booking-modal-actions .button.primary{flex:1 1 auto}
#demo-modal .booking-modal-actions .button:not(.primary){flex:0 0 110px}
#demo-modal #booking-error{margin:0;color:#a63126;line-height:1.5}
#demo-modal #booking-error:empty{display:none}
@media(max-width:580px){#demo-modal .modal-card{padding:1.4rem}#demo-modal .form-grid{grid-template-columns:1fr}#demo-modal .form-grid .full{grid-column:1}#demo-modal .booking-modal-actions{flex-direction:column}#demo-modal .booking-modal-actions .button,#demo-modal .booking-modal-actions .button:not(.primary){width:100%;flex:0 0 auto}}

/* Contact enquiry: a calm, readable form with the same controls as booking. */
.contact-enquiry{background:#f3eee7}
.contact-enquiry .contact-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.contact-enquiry-copy{padding-top:1.2rem}
.contact-enquiry-copy .eyebrow{margin:0 0 1rem;color:#a63126;font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.contact-enquiry-copy h2{margin:0 0 1.2rem!important;color:#262019;font:400 clamp(2.2rem,3.5vw,3.2rem)/1.1 Georgia,'Times New Roman',serif!important;letter-spacing:-.025em!important}
.contact-enquiry-copy p{max-width:410px;margin:0;color:#625a52;font-size:1rem;line-height:1.75;letter-spacing:0}
.contact-enquiry-form{min-width:0;margin:0;padding:clamp(1.5rem,3vw,2.5rem);background:#fff;border:1px solid #e1d8cd;border-top:3px solid #a63126;box-shadow:0 20px 55px rgba(38,32,25,.09)}
.contact-enquiry-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.25rem}
.contact-enquiry-form .field-group{min-width:0;gap:.45rem}
.contact-enquiry-form .field-group label{margin:0;color:#3a332d;font-size:.72rem;line-height:1.3;font-weight:800;letter-spacing:.1em}
.contact-enquiry-form .field-group input,.contact-enquiry-form .field-group textarea{box-sizing:border-box;display:block;width:100%;min-width:0;margin:0;padding:.75rem .9rem;border:1px solid #cfc6bc!important;border-radius:2px;background:#fff!important;color:#262019!important;font:500 1rem/1.45 'Open Sans',Arial,sans-serif;letter-spacing:0;box-shadow:none!important}
.contact-enquiry-form .field-group input{height:50px}
.contact-enquiry-form .field-group textarea{min-height:150px;resize:vertical}
.contact-enquiry-form .field-group input::placeholder,.contact-enquiry-form .field-group textarea::placeholder{color:#81776d!important;opacity:1}
.contact-enquiry-form .field-group input:focus,.contact-enquiry-form .field-group textarea:focus{border-color:#a63126!important;outline:2px solid rgba(166,49,38,.2);outline-offset:1px}
.contact-enquiry-form .form-grid>.full:last-child{display:flex;align-items:center;margin-top:.25rem}
.contact-enquiry-form button[type=submit]{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:50px;height:auto;margin:0;padding:.75rem 1.4rem;line-height:1.2;letter-spacing:.12em;font-size:.75rem}
@media(max-width:980px){.contact-enquiry .contact-grid{grid-template-columns:1fr;gap:1.8rem}.contact-enquiry-copy{padding-top:0}.contact-enquiry-copy p{max-width:680px}}
@media(max-width:580px){.contact-enquiry-form{padding:1.4rem}.contact-enquiry-form .form-grid{grid-template-columns:1fr}.contact-enquiry-form .form-grid .full{grid-column:1}.contact-enquiry-form button[type=submit]{width:100%}}

/* Every five-photo gallery keeps the editorial mosaic on desktop and fades
   between single photos on phones, including the last-to-first transition. */
.cms-custom-section .gallery{margin-top:2rem}
.cms-custom-section .gallery img{max-height:none;margin:0}
@media(max-width:736px){
  .gallery,.cms-custom-section .gallery{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;isolation:isolate}
  .gallery>img,.gallery>figure{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;visibility:hidden;transition:opacity 1.5s ease,visibility 1.5s}
  .gallery:not(.gallery-ready)>:first-child,.gallery>.is-active{opacity:1;visibility:visible}
  .gallery>figure img{display:block;width:100%;height:100%;margin:0}
  .gallery-controls{position:absolute;z-index:3;right:.8rem;bottom:.8rem;display:flex;gap:.4rem}
  .gallery-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(17,21,26,.65);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer}
  .gallery-controls button:hover,.gallery-controls button:focus-visible{background:#a63126}
}
@media(min-width:737px){.gallery-controls{display:none}}
@media(prefers-reduced-motion:reduce){.gallery>img,.gallery>figure{transition:none}}

/* The booking action remains in the mobile header without crowding the logo. */
@media(max-width:736px){
  #header{padding:0 .55rem;gap:.35rem}
  #header .site-brand{flex:0 1 auto;margin:0}
  #header .brand-logo{display:block;width:auto;height:38px;max-width:clamp(104px,34vw,142px)}
  #header nav{margin-left:auto}
  #header nav>ul{gap:.2rem}
  #header nav>ul>li>a.nav-book{display:flex!important;height:36px;min-height:36px;margin:0;padding:0 .55rem!important;font-size:.62rem;letter-spacing:.07em;white-space:nowrap}
  #header nav>ul>li>a.menuToggle{min-width:44px!important;width:44px!important;height:48px!important;max-height:48px;padding:0!important}
  #header nav>ul>li>a.menuToggle:after{width:44px!important;background-size:1.8rem auto!important}
}

/* Event enquiry shares the refined form system without losing its dark setting. */
.event-enquiry .contact-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.event-enquiry-copy{padding-top:1.2rem}
.event-enquiry-copy .eyebrow{margin:0 0 1rem;color:#f2d8aa;font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.event-enquiry-copy h2{margin:0 0 1.2rem!important;color:#fff;font:400 clamp(2.2rem,3.5vw,3.2rem)/1.1 Georgia,'Times New Roman',serif!important;letter-spacing:-.025em!important}
.event-enquiry-copy p{max-width:430px;margin:0 0 1.6rem;color:#d5d6d8;font-size:1rem;line-height:1.75;letter-spacing:0}
.event-enquiry-copy .event-contact-details{color:#fff;font-size:.98rem;line-height:1.8}
.event-enquiry-copy .event-contact-details a{color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}
.event-enquiry-form{min-width:0;margin:0;padding:clamp(1.5rem,3vw,2.5rem);background:#fff;border:1px solid #e1d8cd;border-top:3px solid #d94738;box-shadow:0 20px 55px rgba(0,0,0,.22)}
.event-enquiry-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.25rem}
.event-enquiry-form .field-group{min-width:0;gap:.45rem}
.event-enquiry-form .field-group label{margin:0;color:#3a332d;font-size:.72rem;line-height:1.3;font-weight:800;letter-spacing:.1em}
.event-enquiry-form .field-group input,.event-enquiry-form .field-group textarea{box-sizing:border-box;display:block;width:100%;min-width:0;margin:0;padding:.75rem .9rem;border:1px solid #cfc6bc!important;border-radius:2px;background:#fff!important;color:#262019!important;font:500 1rem/1.45 'Open Sans',Arial,sans-serif;letter-spacing:0;box-shadow:none!important}
.event-enquiry-form .field-group input{height:50px}
.event-enquiry-form .field-group textarea{min-height:160px;resize:vertical}
.event-enquiry-form .field-group input::placeholder,.event-enquiry-form .field-group textarea::placeholder{color:#81776d!important;opacity:1}
.event-enquiry-form .field-group input:focus,.event-enquiry-form .field-group textarea:focus{border-color:#a63126!important;outline:2px solid rgba(166,49,38,.2);outline-offset:1px}
.event-enquiry-form .form-grid>.full:last-child{display:flex;align-items:center;margin-top:.25rem}
.event-enquiry-form button[type=submit]{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:250px;min-height:50px;height:auto;margin:0;padding:.75rem 1.4rem;line-height:1.2;letter-spacing:.12em;font-size:.75rem}
@media(max-width:980px){.event-enquiry .contact-grid{grid-template-columns:1fr;gap:1.8rem}.event-enquiry-copy{padding-top:0}.event-enquiry-copy p{max-width:680px}}
@media(max-width:580px){.event-enquiry-form{padding:1.4rem}.event-enquiry-form .form-grid{grid-template-columns:1fr}.event-enquiry-form .form-grid .full{grid-column:1}.event-enquiry-form button[type=submit]{width:100%}}

/* Footer: social links sit immediately below the contact email. */
#footer .footer-grid{margin-bottom:1.75rem}
#footer .footer-grid>div:first-child>p:last-of-type{margin-bottom:0}
#footer .footer-socials{display:flex;align-items:center;gap:.6rem;margin-top:.55rem}
#footer .footer-socials a{box-sizing:border-box;display:inline-grid;place-items:center;width:40px;height:40px;margin:0;border:1px solid rgba(255,255,255,.34);border-radius:50%;color:#fff!important;text-decoration:none!important;font-size:1rem;transition:background .2s,border-color .2s,transform .2s}
#footer .footer-socials a:hover{background:#a63126;border-color:#a63126;transform:translateY(-2px)}
#footer .footer-socials .footer-tripadvisor img{display:block;width:21px;height:21px;filter:invert(1)}
#footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;max-width:1050px;margin:0 auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.15);text-align:left}
#footer .footer-copyright,#footer .nexops-link{color:#fff!important;font-size:.68rem;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
#footer .footer-copyright{margin:0;text-align:left}
#footer .nexops-link{display:inline-flex;align-items:center;justify-content:flex-end;gap:.7rem;text-decoration:none;border:0;text-align:right}
#footer .nexops-link img{display:block;width:94px;height:auto;background:#fff;padding:.2rem;border-radius:2px}
#footer .nexops-link:hover{color:#fff}
@media(max-width:580px){#footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:.8rem}#footer .nexops-link{justify-content:flex-start;text-align:left}}

/* Contact details are compact, independent cards; the hours never stretch to fill a column. */
.contact-overview{background:#232832}
.contact-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.1rem,3vw,2.5rem);align-items:start}
.contact-overview-primary,.contact-overview-side{display:grid;gap:1.2rem;align-content:start;min-width:0}
.contact-overview .info-block{padding:clamp(1.5rem,2.6vw,2.25rem);margin:0;min-width:0}
.contact-overview .info-block h3{margin:0 0 1.2rem;font-size:1.45rem}
.contact-overview .info-block p{margin:0 0 1rem;line-height:1.75;overflow-wrap:anywhere}
.contact-overview .info-block p:last-child{margin-bottom:0}
.contact-overview .contact-address-card .small-control{margin-top:.3rem}
.contact-overview .hours{row-gap:.45rem;line-height:1.5}
.contact-social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.contact-social-links a{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:46px;padding:.5rem .55rem;border:1px solid rgba(255,255,255,.25);border-radius:2px;color:#fff;text-decoration:none;font-size:.77rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere;transition:border-color .2s,background .2s}
.contact-social-links a:hover{border-color:var(--nova-gold);background:rgba(255,255,255,.07)}
.contact-social-links .icon{font-size:1rem}
.contact-social-links img{display:block;width:19px;height:19px;filter:invert(1)}
#contact-enquiry,#contact-map{scroll-margin-top:4.2rem}
@media(max-width:980px){.contact-overview-grid{grid-template-columns:1fr}.contact-overview-primary,.contact-overview-side{gap:1rem}}
@media(max-width:580px){.contact-social-links{grid-template-columns:1fr}.contact-social-links a{justify-content:flex-start;padding:.65rem 1rem}}

/* Legal pages share the site chrome while keeping long-form copy comfortable to read. */
.nova-hero.legal-hero{height:clamp(390px,52vh,560px);min-height:390px}
.legal-hero .hero-content{padding-top:5.5rem}
.legal-content{max-width:820px}
.legal-content h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:400;letter-spacing:0;text-transform:none;line-height:1.2;margin-bottom:1.5rem}
.legal-copy{font-size:1.02rem;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere;color:#453d36}
@media(max-width:736px){.nova-hero.legal-hero{height:auto;min-height:390px}.legal-hero .hero-content{padding:7rem 1.5rem 3.5rem}.legal-section{padding:3.5rem 0}}

/* The menu reads like a printed restaurant card: open spacing, rules and optional category photography. */
.menu-category{margin:0 0 clamp(4.5rem,8vw,7.5rem)}
.menu-category-header{display:flex;align-items:center;gap:1.2rem;margin:0 0 1.8rem;text-align:center}
.menu-category-header:before,.menu-category-header:after{content:"";flex:1;height:1px;background:rgba(181,139,70,.58)}
.menu-category-header>div{flex:0 1 auto;min-width:0}
.menu-category-header h3{margin:0;padding:0;border:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;letter-spacing:0;line-height:1.08;text-transform:none}
.menu-category-header p{margin:.55rem 0 0;color:#817468;font-size:.64rem;font-weight:700;letter-spacing:.22em;line-height:1.45;text-transform:uppercase}
.menu-category-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.menu-category--with-media .menu-category-layout{grid-template-columns:minmax(0,1fr) minmax(230px,28%)}
.menu-category--image-left .menu-category-layout{grid-template-columns:minmax(230px,28%) minmax(0,1fr)}
.menu-category--image-left .menu-category-media{grid-column:1;grid-row:1}
.menu-category--image-left .menu-category-content{grid-column:2;grid-row:1}
.menu-category-content{min-width:0}
.menu-category-media{position:relative;min-width:0;aspect-ratio:1/1;margin:0;overflow:hidden;background:#f3eee5}
.menu-category-media:after{content:"";position:absolute;inset:auto 14% 0;height:1px;background:var(--nova-gold)}
.menu-category-media img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(1.08) contrast(.94) saturate(.9)}
.menu-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,5rem)}
.menu-grid:after{content:"";position:absolute;top:.35rem;bottom:.35rem;left:50%;width:1px;background:rgba(181,139,70,.28);transform:translateX(-.5px)}
.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;min-width:0;padding:1.25rem 0 1.35rem;border:0;border-bottom:1px solid rgba(126,99,61,.2);background:transparent;box-shadow:none}
.menu-item-copy{min-width:0;padding:0}
.menu-item h4{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem;margin:0;color:#302820;font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;font-weight:700;letter-spacing:0;line-height:1.35;text-transform:none;overflow-wrap:anywhere}
.menu-item .menu-description{margin:.45rem 0 0;color:#6a6158;font-size:.84rem;line-height:1.6;letter-spacing:0}
.menu-dietary-icons{display:inline-flex;align-items:center;gap:.15rem}
.menu-dietary-icon{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;margin:0;padding:0;overflow:visible;border:0;border-radius:50%;background:transparent;color:#ad8747;cursor:pointer}
.menu-dietary-icon:hover,.menu-dietary-icon:focus-visible,.menu-dietary-icon.is-open{z-index:30}
.menu-dietary-icon svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.menu-dietary-icon:focus-visible{outline:2px solid rgba(173,135,71,.5);outline-offset:2px}
.menu-dietary-icon:after{content:attr(data-tooltip);position:absolute;z-index:20;bottom:calc(100% + 10px);left:50%;width:max-content;max-width:180px;padding:.55rem .72rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#262019;color:#fff;font-family:'Open Sans',Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.02em;line-height:1.35;text-align:center;text-transform:none;white-space:normal;box-shadow:0 10px 28px rgba(38,32,25,.2);opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .16s ease,transform .16s ease}
.menu-dietary-icon:before{content:"";position:absolute;z-index:21;bottom:calc(100% + 5px);left:50%;width:9px;height:9px;background:#262019;opacity:0;pointer-events:none;transform:translateX(-50%) rotate(45deg);transition:opacity .16s ease}
.menu-dietary-icon:hover:after,.menu-dietary-icon:focus-visible:after,.menu-dietary-icon.is-open:after{opacity:1;transform:translate(-50%,0)}
.menu-dietary-icon:hover:before,.menu-dietary-icon:focus-visible:before,.menu-dietary-icon.is-open:before{opacity:1}
.menu-prices{display:flex;align-items:flex-start;justify-content:flex-end;gap:.75rem;min-width:max-content;padding:.05rem 0 0;border:0;text-align:right}
.menu-price-option{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;min-width:0;padding:0}
.menu-price-option:not(:first-child){border:0}
.menu-price-label{color:#817468;font-size:.62rem;font-weight:700;letter-spacing:.07em;line-height:1.3;text-transform:uppercase}
.menu-price-amount{color:#a63126;font-size:1rem;font-weight:800;letter-spacing:0;line-height:1.3;white-space:nowrap}
.menu-empty{padding:2rem 0;border-top:1px solid rgba(181,139,70,.45);border-bottom:1px solid rgba(181,139,70,.45);background:transparent;color:#665c53;text-align:center}
@media(max-width:980px){.menu-category--with-media .menu-category-layout{grid-template-columns:minmax(0,1fr)}.menu-category--image-left .menu-category-media,.menu-category--image-left .menu-category-content{grid-column:auto;grid-row:auto}.menu-category--image-left .menu-category-media{order:2}}
@media(max-width:780px){.menu-category{margin-bottom:4.5rem}.menu-category-header{gap:.8rem;margin-bottom:1.2rem}.menu-grid{grid-template-columns:1fr}.menu-grid:after{display:none}.menu-item{min-height:0}}
@media(max-width:430px){.menu-item{gap:.65rem;padding:1.05rem 0 1.15rem}.menu-prices{flex-wrap:wrap;gap:.45rem}.menu-price-amount{font-size:.95rem}.menu-category-header h3{font-size:2rem}.menu-category-header p{font-size:.59rem;letter-spacing:.16em}.menu-dietary-icon:after{right:-.5rem;left:auto;transform:translateY(4px)}.menu-dietary-icon:before{right:.45rem;left:auto;transform:rotate(45deg)}.menu-dietary-icon:hover:after,.menu-dietary-icon:focus-visible:after,.menu-dietary-icon.is-open:after{transform:translateY(0)}}
.booking-deposit-notice{margin:1rem 0 0;padding:.8rem 1rem;border-left:3px solid #718176;background:#eef2ee;color:#403b37;font-size:.86rem}.booking-deposit-notice.required{border-color:#c79d52;background:#fff7e8}.booking-payment-summary{padding:.8rem 1rem;background:#fff7e8;border-left:3px solid #c79d52;color:#3a332d}.booking-payment-summary strong{color:#9b3329;font-weight:800}.field-group small{display:block;margin-top:.45rem;color:#756e67;line-height:1.4}
.party-select-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:560px}.party-select-wrap:not(.large-party-visible) .party-select-field:first-child{grid-column:1/-1;max-width:360px}.party-select-field{display:grid;gap:.55rem}.party-select-field>label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#594f44}.party-select-wrap select,.party-select-wrap input{box-sizing:border-box;width:100%;height:50px;margin:0;padding:0 .9rem;border:1px solid #cfc6bc!important;background:#fff!important;color:#262019!important}.party-select-wrap [hidden]{display:none!important}.booking-check{display:flex;align-items:flex-start;gap:.7rem;margin:.15rem 0;color:#3a332d;font-size:.9rem;line-height:1.45;cursor:pointer}.booking-check input[type="checkbox"]{-webkit-appearance:checkbox!important;-moz-appearance:checkbox!important;appearance:auto!important;display:block;float:none;flex:0 0 auto;width:20px!important;height:20px!important;margin:.08rem 0 0!important;padding:0;opacity:1;position:static;z-index:auto;accent-color:#a63126;cursor:pointer}.booking-check span{display:block;min-width:0}.booking-check input[type="checkbox"]:focus-visible{outline:2px solid rgba(166,49,38,.45);outline-offset:3px}.conditional-booking-field textarea{box-sizing:border-box;width:100%;min-height:95px;margin:0;padding:.8rem .9rem;border:1px solid #cfc6bc!important;background:#fff!important;color:#262019!important;resize:vertical}.conditional-booking-field[hidden]{display:none!important}

/* Navigation drawer: the fork-and-spoon trigger remains in the navbar and becomes the close control. */
html.nav-menu-open,
body.is-menu-visible,
body.is-menu-closing{overflow:hidden}
#header{box-sizing:border-box}
#header nav>ul{padding-right:68px}
#header nav>ul>li.special{flex:0 0 0;width:0}

#header nav>ul>li>.menuToggle{
  appearance:none;
  box-sizing:border-box;
  position:fixed;
  top:11px;
  right:1rem;
  z-index:1;
  display:grid!important;
  place-items:center;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0!important;
  overflow:visible;
  border:0!important;
  border-radius:0!important;
  outline:0;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff;
  line-height:1;
  letter-spacing:0;
  cursor:pointer;
}
#header nav>ul>li>.menuToggle:after{display:none!important;background:none!important}
#header nav>ul>li>.menuToggle:focus-visible{outline:1px solid rgba(213,173,105,.82);outline-offset:-5px}
.menuToggle .nav-utensils{position:relative;display:block!important;width:40px;height:42px;color:currentColor;filter:drop-shadow(0 1px 3px rgba(0,0,0,.42));animation:nav-utensil-spin 5.5s cubic-bezier(.45,0,.55,1) infinite}
.menuToggle .nav-utensil{
  position:absolute;
  top:1px;
  display:block!important;
  width:14px;
  height:42px;
  transform-origin:center;
  transition:left .28s ease,right .28s ease,transform .28s ease,color .2s ease,filter .2s ease;
}
.menuToggle .nav-fork{left:3px}
.menuToggle .nav-spoon{right:3px}
.menuToggle .nav-fork:before,
.menuToggle .nav-spoon:before,
.menuToggle .nav-fork:after,
.menuToggle .nav-spoon:after{content:"";position:absolute;display:block;box-sizing:border-box;transition:opacity .12s ease,top .24s ease,height .24s ease,width .24s ease,transform .24s ease}
.menuToggle .nav-fork:before{
  top:0;
  left:0;
  width:14px;
  height:13px;
  border-bottom:2px solid currentColor;
  background:linear-gradient(90deg,currentColor 0 2.5px,transparent 2.5px 5.75px,currentColor 5.75px 8.25px,transparent 8.25px 11.5px,currentColor 11.5px 14px);
}
.menuToggle .nav-fork:after{top:11px;left:5.75px;width:2.5px;height:31px;border-radius:0 0 2px 2px;background:currentColor}
.menuToggle .nav-spoon:before{top:0;left:0;width:14px;height:16px;border:2px solid currentColor;border-radius:50%}
.menuToggle .nav-spoon:after{top:14px;left:5.75px;width:2.5px;height:28px;border-radius:0 0 2px 2px;background:currentColor}
#header .menuToggle:hover{color:#fff}
#header .menuToggle:hover .nav-utensils{animation:none;filter:drop-shadow(0 0 5px rgba(255,255,255,.34))}
#header .menuToggle:hover .nav-fork{transform:translate(-3px,-5px) rotate(-10deg)}
#header .menuToggle:hover .nav-spoon{transform:translate(3px,5px) rotate(10deg)}
body.is-menu-visible #header,
body.is-menu-closing #header{z-index:10003;width:calc(100% - var(--nav-scrollbar-width,0px))}
body.is-menu-visible #header .menuToggle,
body.is-menu-closing #header .menuToggle{right:calc(1rem + var(--nav-scrollbar-width,0px))}
body.is-menu-visible #header .menuToggle .nav-utensils,
body.is-menu-closing #header .menuToggle .nav-utensils{animation:none}
body.is-menu-visible #header .menuToggle .nav-fork{left:13px;transform:rotate(45deg) scale(1.06)}
body.is-menu-visible #header .menuToggle .nav-spoon{right:13px;transform:rotate(-45deg) scale(1.06)}

@keyframes nav-utensil-spin{
  0%,82%{transform:rotate(0)}
  100%{transform:rotate(360deg)}
}

.nav-scrim{
  position:fixed;
  inset:0;
  z-index:10001;
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
  line-height:normal;
  letter-spacing:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  cursor:default;
  transition:opacity .2s ease,visibility 0s linear .2s;
}
.nav-scrim:hover,
.nav-scrim:focus,
.nav-scrim:active{background:transparent!important;box-shadow:none!important}
body.is-menu-visible .nav-scrim{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s ease-out}
body.is-menu-visible #page-wrapper{opacity:1!important}
body.is-menu-visible #page-wrapper:before{display:none!important}

#menu{
  box-sizing:border-box;
  position:fixed;
  top:0;
  right:0;
  z-index:10002;
  width:360px;
  max-width:30vw;
  height:100vh;
  height:100dvh;
  padding:124px 34px 2.5rem;
  overflow-x:hidden;
  overflow-y:auto;
  border-left:1px solid rgba(213,173,105,.12);
  background:rgba(14,17,20,.76)!important;
  color:#f1e9de;
  box-shadow:-14px 0 40px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(14px) saturate(90%);
  backdrop-filter:blur(14px) saturate(90%);
  transform:translateX(100%);
  transition:transform .24s ease-in;
  scrollbar-color:rgba(213,173,105,.32) transparent;
  scrollbar-width:thin;
}
#menu::-webkit-scrollbar{width:5px}
#menu::-webkit-scrollbar-track{background:transparent}
#menu::-webkit-scrollbar-thumb{border-radius:3px;background:rgba(213,173,105,.3)}
body.is-menu-visible #menu{transform:translateX(0);transition-duration:.3s;transition-timing-function:ease-out}
#menu .close{display:none!important}
#menu>ul{margin:0;padding:0;list-style:none}
#menu>ul>li{margin:0;padding:0;border-top:1px solid rgba(213,173,105,.1)}
#menu>ul>li:first-child{border-top:0}
#menu>ul>li>a{
  position:relative;
  display:block;
  height:auto;
  padding:19px 0;
  border:0;
  color:#f1e9de!important;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.16em;
  text-transform:uppercase;
  transform:translateX(0);
  transition:color .2s ease,transform .2s ease;
}
#menu>ul>li>a:before{
  display:none;
  content:none;
}
#menu>ul>li>a:hover,
#menu>ul>li>a:focus-visible,
#menu>ul>li>a.nav-active{color:var(--nova-gold)!important;transform:translateX(2px)}
#menu>ul>li>a:focus-visible{outline:1px solid rgba(213,173,105,.58);outline-offset:2px}
#menu>ul>li:last-child{margin-top:32px;border-top:0}
#menu>ul>li:last-child>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:45px;
  padding:.75rem 24px;
  background:var(--nova-red);
  color:#fff!important;
  font-size:11px;
  box-shadow:none;
  transform:none;
  transition:background-color .2s ease;
}
#menu>ul>li:last-child>a:before{display:none}
#menu>ul>li:last-child>a:hover,
#menu>ul>li:last-child>a:focus-visible{background:#b73429;color:#fff!important;box-shadow:none;transform:none}

@media(max-width:1100px) and (min-width:737px){#menu{width:min(400px,48vw);max-width:48vw}}
@media(max-width:736px){
  #header nav>ul{padding-right:70px}
  #header nav>ul>li>.menuToggle{top:7px;right:1rem}
  .menuToggle .nav-utensils{width:36px;height:36px}
  .menuToggle .nav-utensil{width:12px;height:36px}
  .menuToggle .nav-fork:before{width:12px;height:11px;border-bottom-width:2px;background:linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px,currentColor 5px 7px,transparent 7px 10px,currentColor 10px 12px)}
  .menuToggle .nav-fork:after{top:9px;left:5px;width:2px;height:27px}
  .menuToggle .nav-spoon:before{width:12px;height:14px;border-width:2px}
  .menuToggle .nav-spoon:after{top:12px;left:5px;width:2px;height:24px}
  body.is-menu-visible #header .menuToggle .nav-fork{left:12px}
  body.is-menu-visible #header .menuToggle .nav-spoon{right:12px}
  body.is-menu-visible #header .menuToggle,
  body.is-menu-closing #header .menuToggle{right:calc(1rem + var(--nav-scrollbar-width,0px))}
  #menu{width:min(360px,84vw);max-width:84vw;padding:106px 24px 2rem}
  #menu>ul>li>a{padding:18px 0;font-size:13px}
}
@media(max-width:360px){#menu{width:88vw;max-width:88vw;padding-right:20px;padding-left:20px}}
@media(prefers-reduced-motion:reduce){
  #menu,.nav-scrim,.menuToggle .nav-utensil,.menuToggle .nav-utensil:before,.menuToggle .nav-utensil:after,#menu>ul>li>a,#menu>ul>li>a:before{transition-duration:.01ms!important}
  .menuToggle .nav-utensils{animation:none!important}
  #header .menuToggle:hover .nav-fork,
  #header .menuToggle:hover .nav-spoon{transform:none}
  body.is-menu-visible #header .menuToggle .nav-fork{transform:rotate(45deg) scale(1.06)}
  body.is-menu-visible #header .menuToggle .nav-spoon{transform:rotate(-45deg) scale(1.06)}
}


/* Navbar logo scale refinement */
#header .brand-logo{
  height:48.6px;
  max-width:min(37.8vw,198px);
}
@media(max-width:736px){
  #header .brand-logo{
    height:34.2px;
    max-width:clamp(93.6px,30.6vw,127.8px);
  }
}

/* CMS image + text split: the reusable form of Nova's core dark section. */
.cms-custom-section.cms-custom-split{padding:0;background:var(--nova-dark);color:#fff}
.cms-custom-split .split-media{background:#2e3842}
.cms-custom-split .split-media img{height:100%;min-height:560px;max-height:none;margin:0}
.cms-custom-split .split-copy h2{color:#fff}
.cms-custom-split .split-copy p{max-width:none;color:#d8dadd}
.cms-custom-split .split-copy .eyebrow{color:#f2d8aa}
.cms-custom-content .eyebrow,.cms-custom-content h2,.cms-custom-content p{text-align:center}
.cms-custom-content p{margin-left:auto;margin-right:auto}
@media(max-width:980px){.cms-custom-split .split-media img{min-height:430px}}
@media(max-width:736px){.cms-custom-split .split-media img{min-height:330px}}
