/* ══════════════════════════════════════════
   RESET & TOKENS
══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
:root{
  --cr:  #F0EAD6;
  --cr2: #E8DFC8;
  --cr3: #DFD4B4;
  --ink: #2E1208;
  --br:  #5C2D14;
  --mu:  #9C6E50;
  --grn: #3D6B47;
  --red: #8B2500;
  --rl:  rgba(46,18,8,.1);
  --sf:  'Playfair Display',Georgia,serif;
  --ss:  'DM Sans',sans-serif;
  --mw:  880px;
  --gx:  clamp(16px,5vw,48px);
}
body{
  background:var(--cr);color:var(--ink);
  font-family:var(--ss);font-weight:300;font-size:15px;line-height:1.75;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.w{max-width:var(--mw);margin-inline:auto;padding-inline:var(--gx)}
.eyebrow{font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mu)}
.display{font-family:var(--sf);font-weight:400;line-height:1.12;color:var(--ink)}
.display em{font-style:italic}

/* ══════════════════════════════════════════
   NAV
══════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:99;height:56px;
  background:rgba(240,234,214,.94);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--rl);
}
.nav-inner{
  max-width:var(--mw);margin-inline:auto;
  padding-inline:var(--gx);
  height:100%;display:flex;align-items:center;justify-content:space-between;
  gap:12px;
}
.nav-logo{height:26px;mix-blend-mode:multiply;flex-shrink:0}
.nav-logo-fb{font-family:var(--sf);font-size:15px;font-style:italic;color:var(--ink);flex-shrink:0}

.nav-wa{
  display:inline-flex;align-items:center;gap:6px;flex-shrink:0;
  font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);border:1px solid rgba(46,18,8,.18);
  padding:7px 14px;
  transition:background .2s,border-color .2s,color .2s;
  white-space:nowrap;
}
.nav-wa:hover{background:var(--ink);border-color:var(--ink);color:var(--cr)}
.nav-wa-icon{width:13px;height:13px;flex-shrink:0}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
.hero{
  position:relative;height:100svh;min-height:560px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('assets/supper-club/supper-0.jpg') center/cover no-repeat;
  filter:brightness(.62);transition:transform 9s ease;
}
.hero:hover .hero-bg{transform:scale(1.03)}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(46,18,8,.3) 0%,transparent 38%),
             linear-gradient(to top,rgba(46,18,8,.6) 0%,transparent 50%);
}
.hero-copy{
  position:relative;z-index:1;text-align:center;
  padding-inline:24px;
  opacity:0;animation:lift 1.1s .2s ease forwards;
}
.hero-copy .l2{
  display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:clamp(64px,14vw,128px);line-height:.88;color:rgba(240,234,214,1);
}
.hero-copy .l3{
  display:block;font-family:var(--sf);font-weight:600;
  font-size:clamp(22px,5vw,50px);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(240,234,214,.86);margin-top:8px;
}
@keyframes lift{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.hero-cta{
  display:inline-block;margin-top:36px;padding:14px 36px;
  font-family:var(--ss);font-size:9px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--cr);background:var(--ink);
  border:1px solid rgba(240,234,214,.15);
  transition:background .25s;
}
.hero-cta:hover{background:var(--br)}

/* ══════════════════════════════════════════
   DETAILS STRIP
══════════════════════════════════════════ */
.strip{background:var(--ink)}
.strip-in{
  max-width:var(--mw);margin-inline:auto;padding-inline:var(--gx);
  display:grid;grid-template-columns:repeat(5,1fr);
}
.si{padding:16px 0;border-right:1px solid rgba(240,234,214,.07);text-align:center}
.si:first-child{text-align:left}
.si:last-child{border-right:none;text-align:right}
.si-l{font-size:8px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(240,234,214,.3);margin-bottom:3px}
.si-v{font-family:var(--sf);font-size:13px;color:rgba(240,234,214,.8)}
.si-v em{font-style:italic}
.si-n{font-size:9px;color:rgba(240,234,214,.25);font-style:italic;margin-top:2px}

/* ══════════════════════════════════════════
   SECTIONS
══════════════════════════════════════════ */
.sec{padding-block:60px}
.sec-about{padding-block:52px}
.sec-hosts{padding-block:52px}
.sec-gallery-testi{padding-block:60px}
.sec-compact{padding-block:36px}
.sec-alt{background:#E2D6BB}
.sec-dark{background:var(--ink)}
.sec-hd{margin-bottom:36px}
.sec-hd .eyebrow{margin-bottom:10px}
.sec-hd .display{font-size:clamp(26px,3.8vw,44px)}
.sec-hd-sm{margin-bottom:24px}
.sec-hd-sm .eyebrow{margin-bottom:8px}
.display-sm{
  font-family:var(--sf);font-weight:400;line-height:1.18;color:var(--ink);
  font-size:clamp(19px,2.8vw,32px);
}
.display-sm em{font-style:italic}
hr.rl{border:none;border-top:1px solid var(--rl)}
.inner-rule{border:none;border-top:1px solid var(--rl);margin-block:48px}

/* ══════════════════════════════════════════
   ABOUT
══════════════════════════════════════════ */
.about-lay{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about-img{aspect-ratio:3/4;overflow:hidden;background:var(--cr2)}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.about-img:hover img{transform:scale(1.03)}
.about-txt .eyebrow{margin-bottom:14px}
.about-txt p{font-size:14px;color:var(--br);line-height:1.82}
.about-txt p+p{margin-top:12px}

/* ══════════════════════════════════════════
   WHO IS THIS FOR
══════════════════════════════════════════ */
.for-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:20px}
.for-card{background:#F5EFE2;border:1px solid var(--rl);padding:18px 16px}
.for-icon{font-size:17px;margin-bottom:7px}
.for-title{font-family:var(--sf);font-size:14px;color:var(--ink);margin-bottom:4px}
.for-desc{font-size:12px;color:var(--br);line-height:1.58}

/* ══════════════════════════════════════════
   GALLERY
══════════════════════════════════════════ */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.gi{aspect-ratio:1;overflow:hidden;background:var(--cr2);cursor:zoom-in;position:relative}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.gi:hover img{transform:scale(1.06)}
.gi::after{
  content:'';position:absolute;inset:0;
  background:rgba(46,18,8,0);transition:background .3s;pointer-events:none;
}
.gi:hover::after{background:rgba(46,18,8,.1)}

/* ══════════════════════════════════════════
   LIGHTBOX
══════════════════════════════════════════ */
.lb-ov{
  display:none;position:fixed;inset:0;
  background:rgba(14,5,2,.95);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  z-index:300;align-items:center;justify-content:center;padding:20px;
}
.lb-ov.open{display:flex}
#lb-img{
  max-width:min(90vw,960px);max-height:88svh;width:auto;height:auto;
  object-fit:contain;animation:lb-in .22s ease;
  border:1px solid rgba(240,234,214,.06);transition:opacity .12s ease;
}
@keyframes lb-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.lb-close{
  position:absolute;top:16px;right:16px;
  background:rgba(240,234,214,.1);border:1px solid rgba(240,234,214,.14);
  color:rgba(240,234,214,.6);font-size:17px;line-height:1;cursor:pointer;
  padding:7px 12px;transition:background .2s,color .2s;z-index:1;
}
.lb-close:hover{background:rgba(240,234,214,.2);color:var(--cr)}
.lb-prev,.lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(240,234,214,.08);border:1px solid rgba(240,234,214,.12);
  color:rgba(240,234,214,.5);font-size:32px;line-height:1;cursor:pointer;
  padding:10px 16px;transition:background .2s,color .2s;z-index:1;
  font-family:serif;user-select:none;
}
.lb-prev{left:12px}
.lb-next{right:12px}
.lb-prev:hover,.lb-next:hover{background:rgba(240,234,214,.16);color:var(--cr)}

/* ══════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════ */
.testi-slider{position:relative;overflow:hidden;margin-top:32px}
.tslide{
  display:none;animation:tfade .5s ease;
  background:var(--cr);border:1px solid var(--rl);
  padding:32px 40px;position:relative;
}
.tslide::before{
  content:'"';font-family:var(--sf);font-size:68px;line-height:1;
  color:var(--cr3);position:absolute;top:10px;left:20px;
}
.tslide.active{display:block}
@keyframes tfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tstars{color:var(--br);font-size:11px;margin-bottom:12px;letter-spacing:2px}
.tquote{
  font-family:var(--sf);font-size:clamp(14px,2vw,18px);font-style:italic;
  color:var(--ink);line-height:1.62;margin-bottom:22px;padding-top:14px;max-width:640px;
}
.tauthor{display:flex;align-items:center;gap:10px}
.tav{
  width:34px;height:34px;border-radius:50%;object-fit:cover;
  border:1px solid var(--rl);filter:sepia(8%);flex-shrink:0;
}
.tname{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.testi-dots{display:flex;gap:8px;justify-content:center;margin-top:16px}
.tdot{
  width:6px;height:6px;border-radius:50%;border:none;
  background:rgba(46,18,8,.15);cursor:pointer;padding:0;
  transition:background .25s,transform .25s;
}
.tdot.active{background:var(--ink);transform:scale(1.3)}

/* ══════════════════════════════════════════
   MENU
══════════════════════════════════════════ */
.menu-lay{display:grid;grid-template-columns:5fr 4fr;gap:60px;align-items:start}
.menu-l .eyebrow{color:rgba(240,234,214,.3);margin-bottom:12px}
.menu-l .display{color:var(--cr);font-size:clamp(26px,3.8vw,44px);margin-bottom:10px}
.rtag{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px}
.blink{width:5px;height:5px;border-radius:50%;background:rgba(240,234,214,.3);animation:bk 2.4s ease-in-out infinite}
@keyframes bk{0%,100%{opacity:.25}50%{opacity:.85}}
.rtag span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(240,234,214,.3)}
.menu-desc{font-size:13px;color:rgba(240,234,214,.48);line-height:1.82;max-width:320px}
.mnote{margin-top:10px;font-size:11px;font-style:italic;color:rgba(240,234,214,.2)}
.allergy-note{
  margin-top:14px;font-size:12px;color:rgba(240,234,214,.38);line-height:1.68;
  font-style:italic;border-left:2px solid rgba(240,234,214,.12);padding-left:12px;
}
.courses{padding-top:4px}
.cr{
  display:flex;align-items:baseline;gap:10px;padding-block:13px;
  border-bottom:1px solid rgba(240,234,214,.06);
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease;
}
.cr:first-child{border-top:1px solid rgba(240,234,214,.06)}
.cr.vis{opacity:1;transform:none}
.ci{font-family:var(--sf);font-size:10px;font-style:italic;color:rgba(240,234,214,.2);min-width:16px}
.cdash{flex:1;border-bottom:1px dashed rgba(240,234,214,.08);margin-bottom:3px}
.cn{font-family:var(--sf);font-size:15px;color:var(--cr)}
.ct{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,234,214,.2);min-width:40px;text-align:right}

/* ══════════════════════════════════════════
   HOSTS
══════════════════════════════════════════ */
.hosts-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.hc{background:var(--cr);padding:40px 32px;border:1px solid var(--rl);text-align:center}
.hav{
  width:110px;height:110px;border-radius:50%;object-fit:cover;
  margin:0 auto 10px;border:2px solid var(--rl);filter:sepia(8%);
}
.h-name{font-family:var(--sf);font-size:22px;font-weight:400;color:var(--ink);margin-bottom:8px}
.h-bio{font-size:13px;color:var(--br);line-height:1.7;margin-bottom:18px}
.s-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border:1px solid var(--rl);border-radius:50%;
  color:var(--mu);transition:border-color .2s,color .2s;
}
.s-icon:hover{border-color:var(--ink);color:var(--ink)}
.s-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

/* ══════════════════════════════════════════
   BOOKING TABS
══════════════════════════════════════════ */
.tabs{display:flex;border:1px solid var(--rl);margin-bottom:40px}
.tab{
  flex:1;padding:22px 16px;text-align:center;cursor:pointer;
  border-right:1px solid var(--rl);transition:background .2s,color .2s;
  background:var(--cr);position:relative;
}
.tab:last-child{border-right:none}
.tab.on{background:var(--ink);color:var(--cr)}
.tab-name{font-family:var(--sf);font-size:16px;margin-bottom:3px}
.tab-name em{font-style:italic}
.tab-sub{font-size:10px;color:var(--mu);letter-spacing:.02em}
.tab.on .tab-sub{color:rgba(240,234,214,.45)}
.new-tag{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--br);color:var(--cr);font-size:8px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;white-space:nowrap;
}
.panel{display:none}
.panel.on{display:block}

.tab-prompt{
  display:flex;align-items:center;justify-content:center;
  padding:22px;border:1px dashed rgba(46,18,8,.12);background:rgba(46,18,8,.02);
}
.tp-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}
.tp-arrow{font-size:13px;color:var(--mu);animation:nudge-up 1.6s ease-in-out infinite}
.tp-text{font-family:var(--sf);font-size:12px;font-style:italic;color:var(--mu)}
@keyframes nudge-up{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes tab-hint{0%,100%{box-shadow:0 0 0 0 rgba(92,45,20,0)}50%{box-shadow:0 0 0 6px rgba(92,45,20,.18)}}
.tabs .tab{animation:tab-hint 2.4s ease-in-out 1.2s 3}
.tabs .tab.on,.tabs .tab:hover{animation:none}

/* ══════════════════════════════════════════
   CALENDAR
══════════════════════════════════════════ */
.cal-shell{margin-bottom:32px}
.cal-head{font-family:var(--sf);font-size:19px;color:var(--ink);margin-bottom:16px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;max-width:480px}
.day-lbl{
  text-align:center;font-size:8px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--mu);padding-bottom:8px;
}
.day-lbl.wknd{color:var(--br)}
.day{
  aspect-ratio:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  font-family:var(--sf);font-size:13px;position:relative;
  border:1px solid transparent;transition:all .18s;cursor:default;gap:1px;
}
.day.empty,.day.other{color:rgba(46,18,8,.15)}
.day.avail{cursor:pointer;background:var(--cr2);border-color:var(--rl);color:var(--ink)}
.day.avail:hover{background:var(--cr);border-color:var(--br)}
.day.avail.sel{background:var(--ink);color:var(--cr);border-color:var(--ink)}
.day.past{color:rgba(46,18,8,.14);cursor:not-allowed;background:rgba(46,18,8,.02)}
.day.full{background:rgba(46,18,8,.04);color:rgba(46,18,8,.28);cursor:not-allowed;border-color:var(--rl)}
.day-num{font-size:13px;line-height:1}
.day-seats{font-size:7px;letter-spacing:.03em;color:var(--mu);font-family:var(--ss);font-weight:400}
.day.avail.sel .day-seats{color:rgba(240,234,214,.55)}
.day.almost .day-seats{color:#8B2500;font-weight:600;font-size:7px}
.day.almost{background:rgba(139,37,0,.07);border-color:rgba(139,37,0,.22)!important}
#cal-err{font-size:12px;color:var(--red);font-style:italic;margin-top:8px;display:none}
.cal-loading{font-size:12px;color:var(--mu);font-style:italic;margin-bottom:10px;
  display:flex;align-items:center;gap:6px}
.cal-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--mu);animation:bk 1.2s ease-in-out infinite}

/* ══════════════════════════════════════════
   GUEST COUNTER
══════════════════════════════════════════ */
.g-row{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}
.g-lbl{font-size:13px;color:var(--br)}
.g-ctr{display:flex;align-items:center;border:1px solid var(--rl)}
.g-btn{
  width:36px;height:36px;background:var(--cr2);border:none;cursor:pointer;
  font-size:17px;color:var(--ink);display:flex;align-items:center;justify-content:center;
  transition:background .18s;
}
.g-btn:hover{background:var(--cr)}
.g-btn:disabled{opacity:.3;cursor:not-allowed}
.g-num{
  width:42px;height:36px;display:flex;align-items:center;justify-content:center;
  font-family:var(--sf);font-size:18px;color:var(--ink);
  border-left:1px solid var(--rl);border-right:1px solid var(--rl);
}
.g-total{font-size:13px;font-family:var(--sf);color:var(--ink)}
.g-err{
  font-size:12px;color:var(--red);background:rgba(139,37,0,.05);
  border:1px solid rgba(139,37,0,.14);padding:10px 12px;margin-top:8px;
  line-height:1.6;display:none;font-style:italic;
}

/* ══════════════════════════════════════════
   FORM FIELDS
══════════════════════════════════════════ */
.fgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:20px;align-items:start}
.fgrid .span2{grid-column:span 2}
.ff{display:flex;flex-direction:column}
.ff label{
  font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mu);margin-bottom:7px;display:block;
}
.ff input,.ff select,.ff textarea{
  background:var(--cr);border:1px solid rgba(46,18,8,.12);padding:11px 13px;
  font-family:var(--ss);font-size:14px;color:var(--ink);outline:none;
  appearance:none;-webkit-appearance:none;transition:border-color .2s,background .2s;
  border-radius:0;width:100%;box-sizing:border-box;line-height:1.4;display:block;
}
.ff textarea{resize:vertical;min-height:90px;padding-top:11px}
.ff select{
  height:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239C6E50' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:28px;
}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--ink);background:var(--cr2)}
.mbl{border:1px solid var(--rl);padding:24px 20px;background:var(--cr);margin-bottom:16px}
.mbl-title{font-family:var(--sf);font-size:14px;color:var(--ink);margin-bottom:14px;
  padding-bottom:10px;border-bottom:1px solid var(--rl)}
.radio-group{display:flex;gap:14px;flex-wrap:wrap;padding:5px 0}
.radio-option{
  display:flex;align-items:center;gap:6px;cursor:pointer;
  font-size:13px;font-weight:300;color:var(--br);
}
.radio-option input[type="radio"]{
  width:15px;height:15px;min-width:15px;padding:0;margin:0;
  border-radius:50%;cursor:pointer;accent-color:var(--ink);
  appearance:auto;-webkit-appearance:auto;
}

/* flatpickr */
#pd-date{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239C6E50' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 12px center !important;
  padding-right:36px !important;-webkit-appearance:none !important;appearance:none !important;
}
.flatpickr-calendar{font-family:'DM Sans',sans-serif;border:1px solid rgba(46,18,8,.1);box-shadow:none}
.flatpickr-day.selected{background:#2E1208;border-color:#2E1208}
.flatpickr-day:hover{background:#E8DFC8}
.flatpickr-months{background:#F0EAD6}
.flatpickr-current-month{font-family:'Playfair Display',serif}
.flatpickr-calendar.open{margin-top:2px}

/* ══════════════════════════════════════════
   PAYMENT BLOCK
══════════════════════════════════════════ */
.pay-row{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:start;margin-bottom:28px}
.p-amt{font-family:var(--sf);font-size:clamp(38px,5.5vw,62px);font-weight:400;color:var(--ink);line-height:1}
.p-amt sup{font-size:.35em;vertical-align:super}
.p-sub{font-size:12px;color:var(--mu);margin-top:4px;letter-spacing:.03em}
.steps{margin-top:18px;display:flex;flex-direction:column;gap:11px}
.step{display:flex;gap:10px}
.s-n{font-family:var(--sf);font-size:13px;font-style:italic;color:var(--mu);min-width:14px;padding-top:1px}
.s-c{font-size:13px;color:var(--br);line-height:1.58}
.s-c strong{font-weight:500;color:var(--ink);display:block}
.qr-blk{display:flex;flex-direction:column;align-items:center;gap:10px}
.qrf{width:116px;height:116px;padding:5px;border:1px solid var(--rl);background:#fff}
.qrf img{width:100%;height:100%;object-fit:contain}
.upi-row{display:inline-flex;align-items:center;gap:6px;background:var(--cr2);
  border:1px solid var(--rl);padding:5px 10px}
.upi-txt{font-family:monospace;font-size:11px;color:var(--ink)}
.cp-btn{background:none;border:none;cursor:pointer;padding:1px;color:var(--mu);
  display:flex;align-items:center;transition:color .2s}
.cp-btn:hover{color:var(--ink)}
.cp-btn svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.6}
.cp-toast{font-size:9px;color:var(--mu);opacity:0;transition:opacity .3s}
.no-refund-note{
  font-size:11px;color:var(--red);font-style:italic;margin-top:10px;line-height:1.62;
  padding:8px 12px;border-left:2px solid rgba(139,37,0,.28);background:rgba(139,37,0,.04);
}

/* ══════════════════════════════════════════
   WHAT HAPPENS AFTER
══════════════════════════════════════════ */
.after-row{display:flex;border:1px solid var(--rl);margin-top:10px;margin-bottom:14px}
.after-item{flex:1;padding:13px 14px;border-right:1px solid var(--rl);
  display:flex;align-items:flex-start;gap:8px}
.after-item:last-child{border-right:none}
.after-icon{font-size:14px;margin-top:2px;flex-shrink:0}
.after-text{font-size:11px;color:var(--br);line-height:1.52}
.after-text strong{font-weight:500;color:var(--ink);display:block;font-size:11px}

/* ══════════════════════════════════════════
   PRIVATE DINING
══════════════════════════════════════════ */
.pd-intro{font-size:14px;color:var(--br);line-height:1.82;max-width:520px;margin-bottom:24px}
.pd-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:28px}
.pd-feat{background:var(--cr2);border:1px solid var(--rl);padding:18px 16px}
.pd-feat .fi{font-size:17px;margin-bottom:7px}
.pd-feat .ft{font-family:var(--sf);font-size:14px;color:var(--ink);margin-bottom:4px}
.pd-feat .fd{font-size:12px;color:var(--br);line-height:1.58}
.wa-private{margin-top:16px;text-align:center}
.wa-text{font-size:12px;color:var(--mu);margin-bottom:5px}
.wa-link{font-size:13px;font-style:italic;color:var(--ink);
  border-bottom:1px solid var(--ink);padding-bottom:2px;transition:opacity .2s}
.wa-link:hover{opacity:.6}

/* ══════════════════════════════════════════
   GIFTING
══════════════════════════════════════════ */
.gift-banner{background:var(--ink);padding:32px;margin-bottom:28px;text-align:center;position:relative;overflow:hidden}
.gift-banner::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% -20%,rgba(156,110,80,.2) 0%,transparent 65%)}
.gift-banner-inner{position:relative;z-index:1}
.gift-icon{font-size:24px;margin-bottom:10px}
.gift-title{font-family:var(--sf);font-size:clamp(19px,3vw,28px);color:var(--cr);margin-bottom:7px}
.gift-title em{font-style:italic}
.gift-sub{font-size:13px;color:rgba(240,234,214,.45);max-width:380px;margin-inline:auto;line-height:1.68}
.gift-validity{margin-top:8px;font-size:11px;color:rgba(240,234,214,.3);font-style:italic}
.voucher-card{background:var(--cr);border:1px solid var(--rl);padding:24px;
  margin-bottom:24px;position:relative;overflow:hidden}
.voucher-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--ink),var(--br),var(--mu))}
.vc-label{font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);margin-bottom:4px}
.vc-title{font-family:var(--sf);font-size:clamp(15px,2.2vw,22px);color:var(--ink);margin-bottom:2px}
.vc-sub{font-size:12px;color:var(--br);font-style:italic}
.vc-badge{position:absolute;top:18px;right:18px;width:44px;height:44px;
  border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;
  font-family:var(--sf);font-size:8px;color:var(--cr);text-align:center;line-height:1.3}
.vc-meta{display:flex;margin-top:16px;border-top:1px solid var(--rl);padding-top:12px;flex-wrap:wrap;gap:0}
.vc-mi{flex:1;min-width:70px;padding-right:8px}
.vc-ml{font-size:8px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin-bottom:2px}
.vc-mv{font-family:var(--sf);font-size:13px;color:var(--ink)}
.vc-footer-note{font-size:10px;color:var(--mu);font-style:italic;margin-top:12px;
  border-top:1px solid var(--rl);padding-top:10px;line-height:1.6}

/* ══════════════════════════════════════════
   SUBMIT BTN
══════════════════════════════════════════ */
.btn{
  width:100%;margin-top:18px;
  font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cr);background:var(--ink);border:none;padding:14px;cursor:pointer;
  transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:8px;
}
.btn:hover{opacity:.75}
.btn:disabled{opacity:.38;cursor:not-allowed}
.btn.loading::after{content:'';display:inline-block;width:10px;height:10px;
  border:2px solid rgba(240,234,214,.2);border-top-color:var(--cr);
  border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}

/* ══════════════════════════════════════════
   MODALS
══════════════════════════════════════════ */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(46,18,8,.54);
  backdrop-filter:blur(8px);z-index:200;align-items:center;justify-content:center;padding:20px}
.modal-box{background:var(--cr);max-width:360px;width:100%;
  padding:40px 32px;text-align:center;animation:lift .3s ease both}
.m-icon{font-size:22px;margin-bottom:12px}
.m-title{font-family:var(--sf);font-size:24px;color:var(--ink);margin-bottom:10px}
.m-body{font-size:13px;color:var(--br);line-height:1.7;margin-bottom:22px}
.modal-actions{display:flex;justify-content:center}
.modal-btn{width:auto!important;padding:11px 36px!important;margin-top:0!important;display:inline-flex!important}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.ftr{background:var(--ink);padding-block:52px;text-align:center;
  padding-bottom:calc(52px + env(safe-area-inset-bottom))}
.ftr-wm{display:block;margin-bottom:14px;line-height:1}
.ftr-wm .f1{display:block;font-family:var(--sf);font-size:9px;font-weight:300;
  letter-spacing:.30em;text-transform:uppercase;color:rgba(240,234,214,.28)}
.ftr-wm .f2{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:34px;font-weight:400;color:rgba(240,234,214,.7)}
.ftr-wm .f3{display:block;font-family:var(--sf);font-size:9px;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:rgba(240,234,214,.28)}
.ftr-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,234,214,.2);margin-bottom:20px}
.ftr-icons{display:flex;gap:10px;justify-content:center;margin-bottom:18px}
.ftr-icons a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(240,234,214,.1);border-radius:50%;color:rgba(240,234,214,.32);transition:all .2s}
.ftr-icons a:hover{border-color:rgba(240,234,214,.4);color:rgba(240,234,214,.7)}
.ftr-icons a svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.ftr-copy{font-size:11px;color:rgba(240,234,214,.2);line-height:1.9}

/* ══════════════════════════════════════════
   REVEAL
══════════════════════════════════════════ */
.rev{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.rev.vis{opacity:1;transform:none}
.rev{opacity:1!important;transform:none!important}

/* ══════════════════════════════════════════
   ERROR FIELDS
══════════════════════════════════════════ */
.ferr{display:none;color:var(--red);font-size:11px;margin-top:5px;
  font-style:italic;line-height:1.4;text-transform:none;letter-spacing:0}

/* ══════════════════════════════════════════
   MOBILE  ≤ 660px
══════════════════════════════════════════ */
@media(max-width:660px){

  /* Nav */
  .nav-wa span{display:none}
  .nav-wa{padding:7px 9px;border-radius:50%}
  .nav-wa-icon{width:15px;height:15px}

  /* Hero */
  .hero-copy .l2{font-size:clamp(58px,17vw,96px)}
  .hero-copy .l3{font-size:clamp(19px,5.5vw,36px);letter-spacing:.14em}
  .hero-cta{margin-top:32px;padding:13px 28px;font-size:8px;letter-spacing:.2em}

  /* Strip — 2-col grid */
  .strip-in{grid-template-columns:1fr 1fr}
  .si{
    padding:11px 8px;
    border-right:1px solid rgba(240,234,214,.07);
    border-bottom:1px solid rgba(240,234,214,.06);
    text-align:center;
  }
  .si:first-child,.si:last-child{text-align:center}
  /* Remove right border on 2nd col */
  .si:nth-child(2n){border-right:none}
  /* Remove bottom border on last row */
  .si:nth-last-child(-n+2){border-bottom:none}

  /* Section padding */
  .sec{padding-block:40px}
  .sec-about{padding-block:36px}
  .sec-hosts{padding-block:36px}
  .sec-gallery-testi{padding-block:40px}
  .sec-compact{padding-block:28px}
  .inner-rule{margin-block:32px}

  /* About */
  .about-lay{grid-template-columns:1fr;gap:20px}
  .about-img{aspect-ratio:4/3}

  /* Who this is for */
  .for-grid{grid-template-columns:1fr 1fr}

  /* Gallery — 2 col on mobile for bigger photos */
  .gal{grid-template-columns:repeat(3,1fr)}

  /* Lightbox */
  .lb-prev{left:4px;font-size:24px;padding:7px 11px}
  .lb-next{right:4px;font-size:24px;padding:7px 11px}
  .lb-close{top:8px;right:8px}
  #lb-img{max-width:96vw;max-height:80svh}

  /* Testimonials */
  .tslide{padding:24px 18px 20px}
  .tquote{font-size:14px}

  /* Menu */
  .menu-lay{grid-template-columns:1fr;gap:32px}
  .allergy-note{max-width:100%}

  /* Hosts */
  .hosts-grid{grid-template-columns:1fr}
  .hc{padding:28px 20px}

  /* Tabs */
  .tabs{flex-direction:column}
  .tab{border-right:none;border-bottom:1px solid var(--rl);padding:18px 16px}
  .tab:last-child{border-bottom:none}
  .tab-name{font-size:15px}

  /* Calendar */
  .cal-grid{max-width:100%}
  .day{min-height:40px}
  .day-num{font-size:12px}
  .day-lbl{font-size:7px;letter-spacing:.06em;padding-bottom:6px}

  /* Payment */
  .pay-row{grid-template-columns:1fr;gap:20px}
  .qr-blk{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px}
  .qrf{width:100px;height:100px}

  /* After row */
  .after-row{flex-direction:column}
  .after-item{border-right:none;border-bottom:1px solid var(--rl)}
  .after-item:last-child{border-bottom:none}

  /* Forms */
  .fgrid{grid-template-columns:1fr;row-gap:14px}
  .fgrid .span2{grid-column:span 1}
  /* Prevent iOS zoom on inputs */
  .ff input,.ff select,.ff textarea{font-size:16px}
  .mbl{padding:18px 14px}

  /* Private feats */
  .pd-feats{grid-template-columns:1fr}

  /* Voucher */
  .vc-meta{flex-direction:column;gap:10px}
  .vc-badge{width:38px;height:38px;font-size:7px;top:16px;right:16px}

  /* Safe area for sticky nav */
  body{padding-bottom:0}
}

/* ══════════════════════════════════════════
   VERY SMALL  ≤ 360px
══════════════════════════════════════════ */
@media(max-width:360px){
  .hero-copy .l2{font-size:54px}
  .hero-copy .l3{font-size:18px}
  .for-grid{grid-template-columns:1fr}
}

/* misc */
.loader{width:12px;height:12px;border:2px solid #ccc;border-top:2px solid #000;
  border-radius:50%;animation:spin 0.6s linear infinite}
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.4);display:none;align-items:center;justify-content:center;z-index:9999}
