@import url('https://fonts.cdnfonts.com/css/royal-tomato');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');
:root{--bg:#050505;--panel:#111111;--panel2:#151515;--text:#f6f5f2;--muted:#8e8a84;--line:#222;--white:#fff;--soft:#1a1a1a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;font-size:14px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3,h4{font-family:'Royal Tomato','DM Serif Display',Georgia,serif;letter-spacing:-.035em;line-height:.95;margin:0}h1{font-size:clamp(3rem,7vw,7rem)}h2{font-size:clamp(2.3rem,5vw,4.5rem)}h3{font-size:clamp(1.4rem,2.4vw,2rem)}p{margin:0;color:#b5b1ac}.container-xl{width:100%;max-width:1280px;padding-left:32px;padding-right:32px}.section{padding:110px 0}.eyebrow{display:inline-flex;align-items:center;border:1px solid #2b2b2b;border-radius:999px;padding:6px 12px;font-size:10px;letter-spacing:.1em;text-transform:none;color:#aaa}.btn-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid #383838;border-radius:999px;padding:12px 20px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;transition:.25s}.btn-pill:hover{background:#fff;color:#000;border-color:#fff}.btn-light{background:#fff;color:#050505;border-color:#fff}.btn-light:hover{background:#d9d9d9}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(5,5,5,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.03)}.site-header .navbar{padding:18px 0}.brand-logo{width:100px;object-fit:contain}.nav-link{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#aaa!important;padding:.4rem .85rem!important}.nav-link:hover,.nav-link.active{color:#fff!important}.navbar-toggler{border:1px solid #333;padding:8px 10px}.navbar-toggler:focus{box-shadow:none}.hero-spacer{padding-top:88px}.hero-dark{background:#0d0d0d;border-top:1px solid #141414;border-bottom:1px solid #171717}.hero-title{padding:84px 0 74px}.hero-title .sub{max-width:540px;margin-top:18px;font-size:14px}.hero-grid{display:grid;grid-template-columns:1fr 2.35fr 1fr;gap:18px;align-items:stretch}.hero-grid .hero-img{height:330px;overflow:hidden;border-radius:14px}.hero-grid .hero-img img{width:100%;height:100%;object-fit:cover}.hero-grid .hero-center{height:330px;overflow:hidden;border-radius:14px}.hero-grid .hero-center img{width:100%;height:100%;object-fit:cover}.review-row{display:flex;align-items:center;gap:14px;margin:12px 0 20px}.stars{letter-spacing:4px;font-size:12px}.review-copy{font-size:10px;color:#8c8983}.intro-split{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}.intro-media{position:relative;min-height:420px}.intro-main{width:78%;height:420px;object-fit:cover;border-radius:14px}.intro-small{position:absolute;right:0;bottom:0;width:34%;height:220px;object-fit:cover;border-radius:14px;border:8px solid var(--bg)}.logo-orb{position:absolute;right:18%;top:-18px;width:76px;height:76px;border:1px solid #363636;background:#0d0d0d;border-radius:50%;padding:12px}.feature-list{margin-top:26px;border-top:1px solid #252525}.feature-row{padding:16px 0;border-bottom:1px solid #202020}.feature-row strong{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:600}.feature-row small{display:block;color:#777;font-size:11px;margin-top:2px}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{border:1px solid #1c1c1c;border-radius:14px;overflow:hidden;background:#080808}.feature-card .thumb{height:220px;overflow:hidden}.feature-card .thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}.feature-card:hover img{transform:scale(1.04)}.feature-body{padding:20px}.feature-meta{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#777;margin-bottom:6px}.feature-body p{font-size:11px;margin-top:6px}.dark-band{background:#151515}.coffee-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:70px;align-items:start}.accordion-list{display:flex;flex-direction:column;gap:8px}.acc-item{border:1px solid #282828;border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;color:#bcb8b0}.acc-item.active{background:#fff;color:#000}.acc-item small{display:block;font-size:11px}.gallery-slider{position:relative;width:100vw;margin-left:calc(50% - 50vw)}
.gallery-viewport{overflow:hidden;width:100%;}
.gallery-strip{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 4px;}
.gallery-strip::-webkit-scrollbar{display:none}
.gallery-strip .g{flex:0 0 calc((100% - 48px)/5);height:290px;border-radius:12px;overflow:hidden;scroll-snap-align:start;}
.gallery-strip img{width:100%;height:100%;object-fit:cover}
.gallery-nav{position:absolute;inset:50% 12px auto 12px;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}
.gallery-nav button{pointer-events:auto;width:42px;height:42px;border:1px solid #333;background:rgba(5,5,5,.82);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:16px;backdrop-filter:blur(8px);}
.gallery-nav button:hover{background:#fff;color:#000}
.book-card{display:grid;grid-template-columns:1.3fr .85fr;border-radius:14px;overflow:hidden;background:#0e0e0e;border:1px solid #1e1e1e}.book-copy{padding:44px}.book-copy p{margin-top:12px;max-width:400px}.book-image{min-height:260px}.book-image img{width:100%;height:100%;object-fit:cover}.footer{padding-top:20px}.footer-watermark{font-family:'Royal Tomato','DM Serif Display',Georgia,serif;font-size:clamp(4rem,14vw,11rem);white-space:nowrap;overflow:hidden;color:#181818;line-height:.8;margin-bottom:30px}.footer-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr;gap:40px;padding-bottom:34px}.footer h4{font-family:'Outfit',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:16px}.footer p,.footer li{font-size:11px;color:#9b9791}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:5px 0}.footer-bottom{border-top:1px solid #242424;padding:16px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#777}.page-hero{padding:155px 0 86px;background:#0b0b0b;border-bottom:1px solid #171717}.page-hero .lead{max-width:560px;margin-top:18px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy p+p{margin-top:18px}.landscape img{width:100%;object-fit:cover}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.number{font-size:10px;color:#777;margin-bottom:14px}.experience-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.experience-split img{width:100%;height:500px;border-radius:14px;object-fit:cover}.checks{padding-left:18px;margin:20px 0 0;color:#b8b3ad}.checks li{margin:7px 0}.favorites{background:#0d0d0d;border:1px solid #171717;border-radius:14px;padding:60px}.favorite-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.favorite-item{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;border:1px solid #1d1d1d;background:#070707;border-radius:10px;padding:8px}.favorite-item img{width:64px;height:64px;border-radius:8px;object-fit:cover}.favorite-item .meta{font-size:9px;letter-spacing:.12em;color:#777;text-transform:uppercase}.favorite-item strong{display:block;font-size:13px;margin-top:3px}.visit-card{border:1px solid #1e1e1e;border-radius:14px;padding:34px;display:grid;grid-template-columns:1fr 1fr .7fr;gap:30px;align-items:end}.label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#777;margin-bottom:5px}.bigline{font-size:14px;color:#eee}.menu-head{padding:150px 0 50px;text-align:center;border-bottom:1px solid #222}.menu-head .lead{margin:18px auto 28px;max-width:600px}.category-nav{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}.cat-btn{border:1px solid #1d1d1d;border-radius:10px;padding:20px 10px;background:#070707;color:#ddd;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.cat-btn.active{background:#fff;color:#000}.menu-section{padding:42px 0 90px}.menu-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.menu-item .img-wrap{position:relative;height:270px;border-radius:14px;overflow:hidden}.menu-item img{width:100%;height:100%;object-fit:cover}.price{position:absolute;right:10px;bottom:10px;background:#fff;color:#000;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.menu-item h3{font-size:18px;margin-top:14px}.menu-item small{display:block;color:#777;margin-top:3px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.contact-card{border:1px solid #1d1d1d;border-radius:12px;padding:22px}.contact-card .icon{width:30px;height:30px;border:1px solid #333;border-radius:50%;display:grid;place-items:center;margin-bottom:16px}.contact-card strong{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.contact-card p{font-size:11px;margin-top:5px}.form-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.form-card{border:1px solid #1d1d1d;border-radius:12px;padding:22px;background:#080808}.form-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#85817c;margin-bottom:6px}.form-control,.form-select,.form-control:focus,.form-select:focus{background:#111;border:1px solid #242424;color:#eee;border-radius:8px;box-shadow:none}.form-control::placeholder{color:#62605c}.message-stack{border-top:1px solid #222;margin-top:24px}.message-row{padding:14px 0;border-bottom:1px solid #222}.message-row strong{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.message-row span{display:block;color:#ddd;margin-top:3px}.map-card{display:grid;grid-template-columns:1.25fr .75fr;border-radius:14px;overflow:hidden;border:1px solid #1d1d1d;background:#0d0d0d}.map-image{min-height:320px}.map-image img{width:100%;height:100%;object-fit:cover}.map-copy{padding:40px}.map-copy p{margin:12px 0 20px}.divider{height:1px;background:#222;margin:60px 0}
@media(max-width:991.98px){.section{padding:80px 0}.hero-grid{grid-template-columns:1fr 1.8fr 1fr}.hero-grid .hero-img,.hero-grid .hero-center{height:250px}.intro-split,.about-copy,.experience-split,.form-split,.coffee-grid{grid-template-columns:1fr;gap:45px}.intro-media{min-height:380px}.intro-main{height:380px}.cards-3,.three-col{grid-template-columns:1fr}.gallery-strip .g{height:230px;flex-basis:calc((100% - 24px)/3)}.menu-grid{grid-template-columns:repeat(2,1fr)}.category-nav{grid-template-columns:repeat(3,1fr)}.contact-cards{grid-template-columns:repeat(2,1fr)}.book-card{grid-template-columns:1fr}.book-image{min-height:220px}.footer-grid{grid-template-columns:repeat(2,1fr)}.favorite-grid{grid-template-columns:1fr}.visit-card{grid-template-columns:1fr 1fr}.page-hero{padding-top:130px}}
@media(max-width:575.98px){body{font-size:13px}.section{padding:66px 0}.site-header .navbar{padding:12px 0}.nav-link{padding:.75rem 0!important}.hero-spacer{padding-top:70px}.hero-title{padding:62px 0 50px}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-grid .hero-img{display:none}.hero-grid .hero-center{height:260px}.hero-grid .hero-center+*{display:none}.review-row{margin-top:18px}.intro-media{min-height:330px}.intro-main{width:82%;height:330px}.intro-small{width:42%;height:175px}.logo-orb{width:64px;height:64px;right:16%;top:-12px}.title-row{align-items:start;flex-direction:column;gap:18px}.feature-card .thumb{height:190px}.gallery-strip .g{height:210px;flex-basis:calc((100% - 8px)/2)}.footer-watermark{font-size:4.1rem}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-bottom{flex-direction:column;align-items:flex-start}.menu-head{padding:120px 0 35px}.category-nav{grid-template-columns:repeat(2,1fr)}.menu-grid{grid-template-columns:1fr 1fr;gap:14px}.menu-item .img-wrap{height:190px}.menu-item h3{font-size:15px}.contact-cards{grid-template-columns:1fr}.form-split{gap:35px}.map-card{grid-template-columns:1fr}.map-image{min-height:230px}.map-copy{padding:28px}.favorites{padding:35px 20px}.visit-card{grid-template-columns:1fr}.btn-pill{padding:10px 15px}}


/* Responsive refinement / Figma alignment */
.hero-grid{width:100vw;margin-left:calc(50% - 50vw);}
.hero-grid{padding-left:0;padding-right:0;}
.gallery-strip{padding-left:0;}
.hero-grid .hero-img,.hero-grid .hero-center{border-radius:14px;}
.hero-grid .hero-img:first-child{border-radius:0 14px 14px 0;}
.hero-grid .hero-img:last-child{border-radius:14px 0 0 14px;}
.gallery-strip .g:first-child{border-radius:0 12px 12px 0;}
.gallery-strip .g:last-child{border-radius:12px 0 0 12px;}

@media(max-width:991.98px){
  .container-xl{padding-left:28px;padding-right:28px;}
  .hero-grid{width:100vw;margin-left:calc(50% - 50vw);}
  .hero-grid .hero-img:first-child,.hero-grid .hero-img:last-child,
  .gallery-strip .g:first-child,.gallery-strip .g:last-child{border-radius:12px;}
}
@media(max-width:575.98px){
  .container-xl{padding-left:18px;padding-right:18px;}
  .section{padding-top:64px;padding-bottom:64px;}
  .hero-title{padding-top:58px;padding-bottom:46px;}
  .hero-grid{margin-top:34px!important;}
  .gallery-strip{gap:10px;padding-right:18px;}
  .gallery-strip .g{height:190px;flex:0 0 78vw;border-radius:10px!important;}
  .hero-grid .hero-center{border-radius:10px;}
  .intro-split,.about-copy,.experience-split,.form-split,.coffee-grid{gap:32px;}
  .contact-cards{gap:10px;}
  .contact-card{padding:18px;}
}

/* Figma typography + icon refinement */
body, button, input, textarea, select, .btn-pill, .nav-link, .eyebrow, .label, .meta, .price,
.form-label, .cat-btn, .contact-card strong, .feature-meta, .review-copy, .number, .footer h4,
.footer p, .footer li, .footer-bottom { font-family:'Outfit',sans-serif; }
h1,h2,h3,h4,.footer-watermark { font-family:'Royal Tomato',sans-serif; font-weight:400; }
.btn-pill i, .cat-btn i { font-size:0.9em; line-height:1; }
.feature-row{display:flex;align-items:center;gap:14px;}
.feature-row .feature-icon{width:28px;height:28px;min-width:28px;border:1px solid #2c2c2c;border-radius:50%;display:grid;place-items:center;color:#8d8983;font-size:12px;}
.feature-row > div{flex:1;}
.category-nav .cat-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:70px;}
.category-nav .cat-btn i{font-size:15px;}
.footer-follow{display:flex;gap:8px;margin-top:14px;align-items:center;}
.footer-follow-label{margin-right:3px;}
.footer-follow a{width:28px;height:28px;border:1px solid #333;border-radius:50%;display:grid;place-items:center;color:#aaa;font-size:11px;transition:.2s;}
.footer-follow a:hover{color:#fff;border-color:#777;}
.review-avatars{display:flex;align-items:center;margin-bottom:3px;}
.review-avatars img{width:24px;height:24px;border-radius:50%;border:2px solid var(--bg);object-fit:cover;margin-left:-6px;}
.review-avatars img:first-child{margin-left:0;}
@media(max-width:575.98px){
  .category-nav .cat-btn{min-height:64px;}
  .feature-row .feature-icon{width:26px;height:26px;min-width:26px;}
}

.checks{list-style:none;padding-left:0}.checks li{display:flex;gap:8px;align-items:flex-start}.checks i{color:#888;margin-top:4px;font-size:12px}.contact-card .icon i{font-size:12px}

/* Gallery slider final pass */
.gallery-slider .gallery-strip{width:100%;margin-left:0;}
.gallery-slider .gallery-nav button{opacity:.92;}
@media (min-width:992px){
  .gallery-slider .gallery-nav{display:none;}
}
@media (max-width:991.98px){
  .gallery-strip{scroll-snap-type:x mandatory;}
  .gallery-slider{width:100vw;margin-left:calc(50% - 50vw);}
}
@media (max-width:575.98px){
  .gallery-strip{padding-left:18px;padding-right:18px;gap:10px;overflow-x:auto;}
  .gallery-strip .g{flex:0 0 78vw;height:190px;border-radius:10px!important;}
  .gallery-nav{inset:50% 10px auto 10px;}
  .gallery-nav button{width:38px;height:38px;font-size:14px;}
}


/* ===== V5 FINAL RESPONSIVE / GALLERY / FOOTER FIXES ===== */
html, body { max-width: 100%; overflow-x: clip; }
body { overflow-x: clip; }

/* Full-bleed sections without 100vw overflow */
.hero-grid,
.gallery-slider {
  width: calc(100% + 64px);
  max-width: none;
  margin-left: -32px;
}

/* Desktop gallery: slightly cropped at both viewport edges */
.gallery-slider { position: relative; overflow: hidden; }
.gallery-viewport { overflow: hidden; }
.gallery-strip {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  padding: 0 0 4px;
  overscroll-behavior-x: contain;
}
.gallery-strip .g {
  flex: 0 0 21.2vw;
  max-width: 21.2vw;
  height: 290px;
  scroll-snap-align: start;
  flex-shrink: 0;
}
.gallery-strip .g:first-child { margin-left: -8vw; }
.gallery-nav { display:flex !important; }
.gallery-nav button { opacity: .95; }

/* Footer watermark: large, centered, intentionally cropped like the design */
.footer-watermark {
  width: 100%;
  text-align: center;
  font-family: 'Royal Tomato', sans-serif;
  font-size: clamp(7rem, 22vw, 21rem);
  line-height: .78;
  letter-spacing: -.045em;
  white-space: nowrap;
  overflow: hidden;
  color: #181818;
  margin: 0 0 30px;
}

@media (max-width: 991.98px) {
  .hero-grid,
  .gallery-slider {
    width: calc(100% + 56px);
    margin-left: -28px;
  }
  .gallery-strip .g {
    flex-basis: 30vw;
    max-width: 30vw;
    height: 230px;
  }
  .gallery-strip .g:first-child { margin-left: -10vw; }
}

@media (max-width: 575.98px) {
  .hero-grid,
  .gallery-slider {
    width: calc(100% + 36px);
    margin-left: -18px;
  }

  /* Mobile: active image centered with ~20% previous and ~20% next image visible */
  .gallery-slider { overflow: hidden; }
  .gallery-viewport { overflow: hidden; }
  .gallery-strip {
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 40vw 4px 0;
  }
  .gallery-strip .g {
    flex: 0 0 60vw;
    max-width: 60vw;
    height: 190px;
    border-radius: 10px !important;
    scroll-snap-align: start;
  }
  .gallery-strip .g:first-child { margin-left: -40vw; }
  .gallery-nav { inset: 50% 10px auto 10px; }
  .gallery-nav button { width: 38px; height: 38px; font-size: 14px; }

  .footer-watermark {
    font-size: 26vw;
    line-height: .78;
    margin-bottom: 24px;
  }
}


/* ===== V6 FIGMA MATCH / FULL-BLEED STRIPS ===== */
/* Keep normal content sections inside the centered Bootstrap container. */

/* Home hero image strip: full viewport width, not container width. */
.hero-grid {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(0, 6fr) minmax(90px, 1fr);
  gap: 14px;
}
.hero-grid .hero-img,
.hero-grid .hero-center { min-width: 0; }
.hero-grid .hero-img img,
.hero-grid .hero-center img { width:100%; height:100%; object-fit:cover; }
.hero-grid .hero-img { height: 300px; }
.hero-grid .hero-center { height: 300px; }
.hero-grid .hero-img:first-child { border-radius: 0 14px 14px 0; }
.hero-grid .hero-img:last-child { border-radius: 14px 0 0 14px; }

/* Gallery is also a full viewport-width visual strip. */
.gallery-slider {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden;
}
.gallery-viewport { width:100%; overflow:hidden; }
.gallery-strip {
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:12px;
  width:max-content;
  min-width:100%;
  padding:0 0 4px !important;
  overflow:visible !important;
  scroll-snap-type:none;
}
.gallery-strip .g {
  flex:0 0 clamp(180px, 16.8vw, 265px) !important;
  max-width:none !important;
  height: 250px !important;
  scroll-snap-align:none;
}
.gallery-strip .g:first-child { margin-left:-5vw !important; }
.gallery-strip .g img { width:100%; height:100%; object-fit:cover; }
.gallery-nav { display:none !important; }

/* Typography accents from the Figma artwork. */
.hero-heading { letter-spacing:-.03em; }
.hero-heading .hero-outline {
  color:transparent;
  -webkit-text-stroke:1.35px #f6f5f2;
  text-stroke:1.35px #f6f5f2;
}
.muted-heading { color:#5e5a55; }

/* Footer wordmark: large, centered, but kept fully legible. */
.footer-watermark {
  width:100%;
  text-align:center;
  font-size:clamp(5.2rem, 10.8vw, 10.5rem) !important;
  line-height:.8;
  letter-spacing:-.045em;
  white-space:nowrap;
  overflow:hidden;
  color:#1b1b1b;
  margin:0 0 34px !important;
}

/* Prevent accidental horizontal overflow while preserving viewport strips. */
html, body { max-width:100%; overflow-x:hidden !important; }

@media (max-width: 991.98px) {
  .hero-grid { grid-template-columns:minmax(70px,1fr) minmax(0,6fr) minmax(70px,1fr); gap:10px; }
  .hero-grid .hero-img, .hero-grid .hero-center { height:240px; }
  .gallery-strip .g { flex-basis:30vw !important; height:220px !important; }
}

@media (max-width: 575.98px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap:10px;
  }
  /* Mobile hero remains a centered image slider/card rather than stacking all three. */
  .hero-grid .hero-img { display:block; height:220px; }
  .hero-grid .hero-center { height:220px; }
  .hero-grid .hero-img:first-child { order:1; }
  .hero-grid .hero-center { order:2; }
  .hero-grid .hero-img:last-child { order:3; }

  /* Show the hero as a horizontal three-panel strip on mobile. */
  .hero-grid {
    display:flex !important;
    gap:10px;
    overflow:hidden;
    padding:0 0 3px !important;
  }
  .hero-grid .hero-img,
  .hero-grid .hero-center {
    flex:0 0 76vw;
    height:220px;
  }
  .hero-grid .hero-img:first-child { margin-left:-58vw; border-radius:0 10px 10px 0; }
  .hero-grid .hero-center { border-radius:10px; }
  .hero-grid .hero-img:last-child { border-radius:10px 0 0 10px; }

  .gallery-slider { width:100vw !important; }
  .gallery-strip {
    width:max-content;
    min-width:100%;
    gap:10px;
    padding:0 0 4px !important;
  }
  .gallery-strip .g {
    flex:0 0 60vw !important;
    width:60vw;
    height:190px !important;
    border-radius:10px !important;
    scroll-snap-align:center;
  }
  .gallery-strip .g:first-child { margin-left:-40vw !important; }
  .footer-watermark {
    font-size:22vw !important;
    margin-bottom:24px !important;
  }
}

/* ===== V7 HOME FINAL PASS ===== */
/* Hero typography: match Figma hierarchy and keep the desktop lockup on one line. */
@media (min-width: 992px) {
  .hero-title .row > div:first-child { flex: 0 0 62%; max-width: 62%; }
  .hero-title .row > div:last-child { flex: 0 0 38%; max-width: 38%; }
  .hero-heading {
    font-size: clamp(3.8rem, 4.5vw, 5.7rem) !important;
    line-height: .9;
  }
  .hero-heading .hero-outline,
  .hero-heading strong {
    display: inline-block;
    white-space: nowrap;
  }
  .hero-title .review-row { align-items: flex-end; }
  .hero-title .review-row p { max-width: 390px; }
}

/* Home hero image strip: use the wide crop so the café sign is actually visible. */
.hero-grid .hero-center img {
  object-position: center center !important;
}

/* Gallery: fill the viewport like the Figma carousel rather than ending after image 5. */
@media (min-width: 992px) {
  .gallery-slider { overflow: hidden; }
  .gallery-viewport { overflow: hidden; }
  .gallery-strip {
    width: max-content !important;
    min-width: 0 !important;
    gap: 12px;
    transform: translateX(-3.5vw);
  }
  .gallery-strip .g {
    flex: 0 0 16.6vw !important;
    max-width: none !important;
    height: 250px !important;
  }
  .gallery-strip .g:first-child { margin-left: 0 !important; }
}

/* Footer wordmark: larger and intentionally bleeds toward both edges like the design. */
.footer-watermark {
  font-size: clamp(6.5rem, 16vw, 18rem) !important;
  line-height: .76 !important;
  letter-spacing: -.05em !important;
  margin-bottom: 28px !important;
  transform: translateX(-1.2%);
}

@media (max-width: 991.98px) {
  .footer-watermark { font-size: 18vw !important; }
}

@media (max-width: 575.98px) {
  /* Mobile keeps the hero carousel horizontal and avoids text collisions. */
  .hero-title .row { align-items: flex-start !important; }
  .hero-heading { font-size: clamp(3rem, 14vw, 4.2rem) !important; line-height: .88; }
  .hero-heading .hero-outline,
  .hero-heading strong { white-space: normal; }
  .hero-title .review-row { align-items: flex-start; }
  .gallery-strip .g { flex-basis: 60vw !important; }
  .footer-watermark { font-size: 24vw !important; }
}

/* ===== V8 SLIDER FINAL FIXES ===== */
.hero-carousel{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;}
.hero-viewport{width:100%;overflow:hidden;}
.hero-track{display:flex;gap:14px;align-items:stretch;will-change:transform;transition:transform .55s cubic-bezier(.22,.61,.36,1);}
.hero-slide{flex:0 0 76vw;height:330px;border-radius:14px;overflow:hidden;}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-nav{position:absolute;inset:50% 18px auto 18px;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:3;}
.hero-nav button,.gallery-nav button{pointer-events:auto;width:42px;height:42px;border:1px solid #3a3a3a;background:rgba(5,5,5,.72);color:#fff;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(8px);}
.hero-nav button:hover,.gallery-nav button:hover{background:#fff;color:#000;}

.gallery-slider{position:relative;width:100vw !important;margin-left:calc(50% - 50vw) !important;overflow:hidden;}
.gallery-viewport{overflow:hidden;width:100%;}
.gallery-track{display:flex;gap:12px;align-items:stretch;will-change:transform;transition:transform .55s cubic-bezier(.22,.61,.36,1);}
.gallery-card{flex:0 0 18vw;height:250px;border-radius:12px;overflow:hidden;}
.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-nav{display:flex !important;position:absolute;inset:50% 18px auto 18px;transform:translateY(-50%);justify-content:space-between;pointer-events:none;z-index:3;}

/* Figma footer wordmark: oversized, centered, full-bleed, clipped naturally by the viewport. */
.footer-watermark-wrap{width:100vw;overflow:hidden;}
.footer-watermark{
  width:max-content !important;
  min-width:100vw;
  position:relative;
  left:50%;
  transform:translateX(-50%) !important;
  text-align:center;
  font-family:'Royal Tomato',sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(9rem,16.8vw,20rem) !important;
  line-height:.72 !important;
  letter-spacing:-.065em !important;
  white-space:nowrap;
  color:#161616 !important;
  margin:0 0 32px !important;
}

@media (min-width:992px){
  .hero-track{transform:translateX(calc(50vw - 38vw - 7vw));}
  .hero-nav{display:flex;}
  .gallery-track{transform:translateX(-4vw);}
}

@media (max-width:991.98px){
  .hero-slide{flex-basis:76vw;height:240px;}
  .gallery-card{flex-basis:28vw;height:220px;}
}

@media (max-width:575.98px){
  .hero-slide{flex-basis:76vw;height:220px;border-radius:10px;}
  .hero-nav,.gallery-nav{inset:50% 10px auto 10px;}
  .hero-nav button,.gallery-nav button{width:38px;height:38px;font-size:14px;}
  .gallery-track{gap:10px;}
  .gallery-card{flex-basis:60vw;height:190px;border-radius:10px;}
  .footer-watermark{font-size:27vw !important;line-height:.7 !important;letter-spacing:-.07em !important;}
}

/* ===== V7.1 WORKING HERO + GALLERY + FIGMA FOOTER ===== */
.hero-carousel{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;}
.hero-viewport{overflow:hidden;width:100%;}
.hero-track{display:flex;align-items:stretch;gap:14px;width:max-content;transform:translate3d(0,0,0);transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform;padding:0;}
.hero-slide{flex:0 0 72vw;height:330px;border-radius:14px;overflow:hidden;}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-slide:nth-child(2) img{object-position:center center;}
.hero-nav{position:absolute;inset:50% 14px auto 14px;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:3;}
.hero-nav button{pointer-events:auto;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(5,5,5,.55);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;transition:.2s;}
.hero-nav button:hover{background:#fff;color:#000;}

.gallery-slider{position:relative;width:100vw !important;margin-left:calc(50% - 50vw) !important;overflow:hidden;}
.gallery-viewport{width:100%;overflow:hidden;}
.gallery-strip{display:flex !important;gap:12px !important;width:max-content !important;min-width:0 !important;overflow:visible !important;transform:translate3d(0,0,0);transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform;padding:0 !important;}
.gallery-card{flex:0 0 16.8vw;width:16.8vw;height:250px;border-radius:12px;overflow:hidden;}
.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-card:first-child{margin-left:-5vw;}
.gallery-nav{display:flex !important;}
.gallery-nav button{opacity:.95;}

.footer-wordmark-wrap{width:100%;overflow:hidden;padding:0;margin:0 0 26px;}
.footer-wordmark-track{display:flex;align-items:center;justify-content:center;width:max-content;white-space:nowrap;font-family:'Royal Tomato',sans-serif;line-height:1.025;letter-spacing:1.745px;text-transform:uppercase;transform:rotate(-1.6deg);transform-origin:center center;will-change:transform;}
.footer-wordmark-track span{display:block;flex:0 0 auto;font-size:clamp(56px,4.43vw,85.15px);font-weight:400;letter-spacing:1.745px;}
.footer-wordmark-track .wordmark-center{color:#292929;}
.footer-wordmark-track .wordmark-side{color:transparent;-webkit-text-stroke:.95px #242424;text-stroke:.95px #242424;opacity:.95;}
.footer-wordmark-track .wordmark-side:first-child{margin-right:-2px;}
.footer-wordmark-track .wordmark-side:last-child{margin-left:-2px;}

@media (min-width:992px){
  .footer-wordmark-track{margin-left:50%;transform:translateX(-50%) rotate(-1.6deg);}
}

@media (max-width:575.98px){
  .hero-carousel{margin-top:34px !important;}
  .hero-track{gap:10px;}
  .hero-slide{flex-basis:78vw;height:220px;border-radius:10px;}
  .hero-nav{inset:50% 8px auto 8px;}
  .hero-nav button{width:38px;height:38px;font-size:14px;}

  .gallery-card{flex-basis:60vw;width:60vw;height:190px;border-radius:10px;}
  .gallery-card:first-child{margin-left:-20vw;}
  .gallery-strip{gap:10px !important;}
  .gallery-nav{inset:50% 8px auto 8px;}
  .gallery-nav button{width:38px;height:38px;font-size:14px;}

  .footer-wordmark-wrap{margin-bottom:24px;}
  .footer-wordmark-track{justify-content:flex-start;margin-left:-62vw;transform:rotate(-1.6deg);}
  .footer-wordmark-track span{font-size:23vw;letter-spacing:1px;}
  .footer-wordmark-track .wordmark-side{-webkit-text-stroke:.7px #242424;text-stroke:.7px #242424;}
}

/* ===== V8 USER FEEDBACK FIXES ===== */
/* Hero slider: 600px desktop height, responsive below desktop. */
.hero-carousel{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;touch-action:pan-y;}
.hero-viewport{width:100%;overflow:hidden;}
.hero-track{display:flex;gap:14px;align-items:stretch;width:max-content;transform:translate3d(0,0,0);transition:transform .58s cubic-bezier(.22,.61,.36,1);will-change:transform;}
.hero-slide{flex:0 0 72vw;height:600px;border-radius:14px;overflow:hidden;flex-shrink:0;}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;}
.hero-slide:nth-child(1) img{object-position:center center;}
.hero-slide:nth-child(2) img{object-position:center center;}
.hero-slide:nth-child(3) img{object-position:center center;}
.hero-nav{position:absolute;inset:50% 18px auto 18px;transform:translateY(-50%);display:flex!important;justify-content:space-between;pointer-events:none;z-index:5;}
.hero-nav button{pointer-events:auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.22);background:rgba(5,5,5,.56);color:#fff;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(8px);}
.hero-nav button:hover{background:#fff;color:#000;}

/* Gallery: seamless looping track; no dead-space after repeated next/prev. */
.gallery-slider{position:relative;width:100vw!important;margin-left:calc(50% - 50vw)!important;overflow:hidden;touch-action:pan-y;}
.gallery-viewport{width:100%;overflow:hidden;}
.gallery-strip{display:flex!important;flex-wrap:nowrap!important;align-items:stretch;gap:12px!important;width:max-content!important;min-width:0!important;overflow:visible!important;padding:0!important;transform:translate3d(0,0,0);transition:transform .58s cubic-bezier(.22,.61,.36,1);will-change:transform;}
.gallery-card{flex:0 0 18vw;width:18vw;height:290px;border-radius:12px;overflow:hidden;flex-shrink:0;}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;}
.gallery-nav{display:flex!important;position:absolute;inset:50% 18px auto 18px;transform:translateY(-50%);justify-content:space-between;pointer-events:none;z-index:5;}
.gallery-nav button{pointer-events:auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);background:rgba(5,5,5,.56);color:#fff;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(8px);}
.gallery-nav button:hover{background:#fff;color:#000;}

/* Footer: repeating Figma wordmark that continuously scrolls with no gap. */
.footer-wordmark-wrap{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding:0;margin-bottom:28px;}
.footer-wordmark-track{display:flex;align-items:center;width:max-content;white-space:nowrap;font-family:'Royal Tomato',sans-serif;line-height:.98;letter-spacing:1.745px;text-transform:uppercase;will-change:transform;transform:translateX(var(--footer-start));animation:footerWordmarkLoop 18s linear infinite;}
.footer-wordmark-group{display:flex;align-items:center;flex:0 0 auto;width:max-content;}
.footer-wordmark-track span{display:block;flex:0 0 auto;font-family:'Royal Tomato',sans-serif;font-size:clamp(72px,8.8vw,150px);font-weight:400;line-height:.98;letter-spacing:1.745px;}
.footer-wordmark-track .wordmark-center{color:#292929;}
.footer-wordmark-track .wordmark-side{color:transparent;-webkit-text-stroke:.95px #242424;text-stroke:.95px #242424;opacity:.95;}
.footer-wordmark-group .wordmark-side:first-child{margin-right:-2px;}
.footer-wordmark-group .wordmark-side:last-child{margin-left:-2px;}
@keyframes footerWordmarkLoop{
  from{transform:translateX(var(--footer-start));}
  to{transform:translateX(calc(var(--footer-start) - var(--footer-group-width)));}
}

@media (max-width:991.98px){
  .hero-slide{flex-basis:82vw;height:420px;border-radius:12px;}
  .gallery-card{flex-basis:34vw;width:34vw;height:240px;}
  .footer-wordmark-track span{font-size:11vw;}
}
@media (max-width:575.98px){
  .hero-carousel{margin-top:34px!important;}
  .hero-track{gap:10px;}
  .hero-slide{flex-basis:80vw;height:300px;border-radius:10px;}
  .hero-nav{inset:50% 8px auto 8px;}
  .hero-nav button,.gallery-nav button{width:38px;height:38px;font-size:14px;}
  .gallery-strip{gap:10px!important;}
  .gallery-card{flex-basis:80vw;width:80vw;height:190px;border-radius:10px;}
  .gallery-nav{inset:50% 8px auto 8px;}
  .footer-wordmark-track span{font-size:24vw;letter-spacing:1px;}
  .footer-wordmark-wrap{margin-bottom:24px;}
}

/* Keep the subtle Figma rotation while the whole wordmark marquee loops. */
@keyframes footerWordmarkLoopRotated{
  from{transform:translateX(var(--footer-start)) rotate(-1.6deg);}
  to{transform:translateX(calc(var(--footer-start) - var(--footer-group-width))) rotate(-1.6deg);}
}
.footer-wordmark-track{animation-name:footerWordmarkLoopRotated;transform-origin:center center;}

/* ===== V9 FINAL MOBILE GALLERY ===== */
@media (max-width:575.98px){
  /* One centered gallery image with ~10vw preview visible on each side. */
  .gallery-slider{width:100vw !important;margin-left:calc(50% - 50vw) !important;overflow:hidden !important;}
  .gallery-viewport{width:100% !important;overflow:hidden !important;}
  .gallery-strip{
    gap:10px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
  }
  .gallery-card,
  .gallery-strip .gallery-card{
    flex:0 0 80vw !important;
    width:80vw !important;
    height:190px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:10px !important;
  }
  /* JS centers the active card; with an 80vw card this leaves ~10vw on both sides. */
  .gallery-nav{inset:50% 8px auto 8px !important;}
  .gallery-nav button{width:38px !important;height:38px !important;font-size:14px !important;}
}

/* V10 common shell alignment */
.site-header{border-bottom:0!important;}
.about-page .landscape + .section{border-top:0!important;}

/* V11 Menu Page refinements */
.category-scroll-wrap{width:100%;}
.category-nav{grid-template-columns:repeat(9,minmax(0,1fr));}
.category-nav .cat-btn{min-width:0;white-space:nowrap;}
.category-nav .cat-btn i{font-size:16px;line-height:1;}
.category-nav .cat-btn span{font-family:'Outfit',sans-serif;font-size:9px;letter-spacing:.12em;}
.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.menu-item small{font-size:10px;color:#777;display:block;margin-top:4px;}

@media (max-width: 991.98px){
  .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .category-nav{grid-template-columns:repeat(5,minmax(120px,1fr));}
}

@media (max-width: 767.98px){
  .category-scroll-wrap{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-right:-20px;
    padding-right:20px;
  }
  .category-scroll-wrap::-webkit-scrollbar{display:none;}
  .category-nav{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    width:max-content;
    min-width:max-content;
    padding:2px 0 8px;
  }
  .category-nav .cat-btn{
    flex:0 0 120px;
    min-width:120px;
  }
  .menu-grid{grid-template-columns:1fr;gap:22px;}
  .menu-item .img-wrap{height:250px;}
}

@media (max-width: 575.98px){
  .menu-grid{grid-template-columns:1fr;}
  .menu-item .img-wrap{height:235px;}
}


/* V13: reliable Mains fork-and-knife icon (inline SVG; avoids missing icon-font glyphs) */
.cat-btn .cat-icon-forkknife{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 8px;flex:0 0 auto;}

/* Contact / footer clickable contact details */
.contact-inline-link, .footer-contact-link {
  color: inherit;
  text-decoration: none;
}
.contact-inline-link:hover, .footer-contact-link:hover {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-credit-link{color:inherit;text-decoration:none;transition:color .2s ease}.footer-credit-link:hover{color:#fff;text-decoration:underline}
.footer-bottom{justify-content:center!important;align-items:center;text-align:center;gap:28px;flex-wrap:wrap;}
@media(max-width:575.98px){.footer-bottom{flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;}}


/* ==============================
   V19 - subtle motion layer
   Layout and component sizing are intentionally unchanged.
   ============================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Header / hero load */
.site-header, .hero-content {
  animation: wdFadeDown .65s cubic-bezier(.22,.61,.36,1) both;
}
.hero-content .hero-kicker,
.hero-content h1,
.hero-content p,
.hero-content .hero-actions {
  animation: wdFadeUp .72s cubic-bezier(.22,.61,.36,1) both;
}
.hero-content h1 { animation-delay: .08s; }
.hero-content p { animation-delay: .16s; }
.hero-content .hero-actions { animation-delay: .24s; }

/* Scroll reveal: elements opt-in through .wd-reveal */
.wd-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .72s ease, transform .72s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.wd-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}
.wd-reveal[data-reveal-delay="1"] { transition-delay: .08s; }
.wd-reveal[data-reveal-delay="2"] { transition-delay: .16s; }
.wd-reveal[data-reveal-delay="3"] { transition-delay: .24s; }

/* Image motion */
.gallery-card img,
.menu-card img,
.about-image img,
.contact-image img,
.table-image img,
.feature-image img {
  transition: transform .6s cubic-bezier(.22,.61,.36,1), filter .45s ease;
}
.gallery-card:hover img,
.menu-card:hover img,
.about-image:hover img,
.contact-image:hover img,
.table-image:hover img,
.feature-image:hover img {
  transform: scale(1.03);
}

/* Buttons / links */
a.btn, .btn, .text-link, .menu-category, .icon-btn {
  transition: transform .25s ease, opacity .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
}
a.btn:hover, .btn:hover, .text-link:hover {
  transform: translateY(-2px);
}
.icon-btn:hover, .menu-category:hover {
  transform: translateY(-1px);
}

/* Menu category content transition */
[data-menu-content] {
  transition: opacity .3s ease, transform .3s ease;
}
[data-menu-content].wd-switching {
  opacity: 0;
  transform: translateY(8px);
}

@keyframes wdFadeUp {
  from { opacity: 0; transform: translate3d(0, 22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes wdFadeDown {
  from { opacity: 0; transform: translate3d(0, -14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* V20 — Menu item grid animation */
.menu-item-animate {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  transition: opacity .68s cubic-bezier(.22,.61,.36,1), transform .68s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--menu-item-delay, 0ms);
  will-change: opacity, transform;
}

.menu-item-animate.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.menu-item-animate:hover {
  transform: translate3d(0, -4px, 0) scale(1.005);
  transition: transform .3s cubic-bezier(.22,.61,.36,1);
}

.menu-grid-switching {
  animation: wdMenuGridPulse .26s ease both;
}

@keyframes wdMenuItemIn {
  from { opacity: 0; transform: translate3d(0, 26px, 0) scale(.985); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes wdMenuGridPulse {
  0% { opacity: .72; }
  100% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-item-animate,
  .menu-grid-switching {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* V24 Hero Video Banner */
.hero-video-banner{position:relative;isolation:isolate;min-height:clamp(620px,88vh,820px);margin:0;overflow:hidden;background:#050505;display:flex;align-items:flex-end}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-3;background:#050505}
.hero-video-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 34%,rgba(0,0,0,.24) 68%,rgba(0,0,0,.38) 100%),linear-gradient(0deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.06) 45%,rgba(0,0,0,.18) 100%)}
.hero-video-content{width:100%;padding-top:130px;padding-bottom:90px;position:relative;z-index:1}
.hero-video-copy{max-width:760px}
.hero-video-copy .hero-heading{max-width:760px}
.hero-video-lead{max-width:560px;margin-top:22px;font-size:16px;color:#ddd7d0}
.hero-video-secondary{background:rgba(5,5,5,.34);color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.hero-video-secondary:hover{background:#fff;color:#000;border-color:#fff}
@media (max-width:767.98px){
  .hero-video-banner{min-height:700px;align-items:flex-end}
  .hero-video{object-position:58% center}
  .hero-video-overlay{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.68) 58%,rgba(0,0,0,.38) 100%),linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.18) 100%)}
  .hero-video-content{padding-top:120px;padding-bottom:58px}
  .hero-video-copy{max-width:100%}
  .hero-video-lead{font-size:14px;max-width:92%;margin-top:18px}
}

/* V25 — Menu category group headings */
.menu-group{margin-top:46px;}
.menu-group:first-child{margin-top:0;}
.menu-group-title{display:flex;align-items:center;gap:16px;margin-bottom:18px;font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#c5c0b8;font-weight:500;}
.menu-group-title i{height:1px;flex:1;background:#292929;}
.menu-group .menu-grid{margin-top:0;}
.menu-item h3{min-height:1.25em;}
@media(max-width:575.98px){
  .menu-group{margin-top:36px;}
  .menu-group-title{margin-bottom:14px;}
}

/* V27.2 — Menu group layout fix */
#menuItems.menu-grid {
  display: block;
}
#menuItems > .menu-group {
  width: 100%;
}
#menuItems > .menu-group + .menu-group {
  margin-top: 46px;
}
#menuItems > .menu-group .menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 991.98px) {
  #menuItems > .menu-group .menu-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  #menuItems > .menu-group .menu-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* Reservation date picker */
input[name=reservation_date]{
  cursor:pointer;
  color-scheme:dark;
}
input[name=reservation_date]::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(2);
  opacity:1;
  cursor:pointer;
}
