:root{
  --gold:#b8892a;
  --gold-light:#d4a94e;
  --gold-dim:#c9a84c;
  --gold-pale:#f0e6cc;
  --bg:#faf6f0;
  --bg2:#f4ede2;
  --bg3:#ede3d4;
  --cream:#fff9f2;
  --dark:#1a1208;
  --dark2:#2d1f0e;
  --text:#2d1f0e;
  --text2:#6b5535;
  --text3:#9c7c4e;
  --glass:rgba(180,140,80,0.07);
  --glass-b:rgba(180,140,80,0.18);
  --success:#2d7a55;
  --r:14px;
  --rs:8px;
  --shadow:0 4px 24px rgba(45,31,14,0.1);
  --shadow-md:0 8px 40px rgba(45,31,14,0.14);
  --shadow-gold:0 8px 32px rgba(184,137,42,0.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-weight:400;overflow-x:hidden;cursor:none;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px;}

/* PROGRESS */
#pb{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));z-index:9999;width:0%;transition:width .1s;}

/* LOADER */
#loader{position:fixed;inset:0;background:var(--dark);z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;transition:opacity .7s,visibility .7s;}
#loader.out{opacity:0;visibility:hidden;}

.ld-bar{width:100px;height:1px;background:#3a2a10;overflow:hidden;}
.ld-bar::after{content:'';display:block;width:100%;height:100%;background:var(--gold-dim);animation:ls 1.1s ease-in-out infinite;}
.ld-sub{font-size:9px;letter-spacing:6px;color:#7a6030;text-transform:uppercase;}
@keyframes lp{0%,100%{opacity:.3;}50%{opacity:1;}}
@keyframes ls{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}

/* CURSOR */
.cur{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9998;will-change:transform;}
.curR{position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid var(--gold-dim);border-radius:50%;pointer-events:none;z-index:9997;will-change:transform;transition:border-color .18s ease,background .18s ease;}
.curR.h{border-color:var(--gold);background:rgba(184,137,42,.06);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:22px 60px;display:flex;align-items:center;justify-content:space-between;transition:all .4s;background:rgba(250,246,240,.6);backdrop-filter:blur(8px);}
nav.sc{background:rgba(250,246,240,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-b);padding:14px 60px;box-shadow:0 2px 20px rgba(45,31,14,.07);}
.nl{text-decoration:none;}
.nl-m{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:5px;color:var(--dark);line-height:1;}
.nl-s{font-size:8px;letter-spacing:5px;color:var(--text3);text-transform:uppercase;display:block;margin-top:2px;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{color:var(--text2);text-decoration:none;font-size:10px;letter-spacing:3px;text-transform:uppercase;transition:color .3s;position:relative;padding-bottom:4px;font-weight:500;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--gold);transition:width .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-r{display:flex;align-items:center;gap:16px;}
.nav-cta{border:1.5px solid var(--gold);color:var(--gold);padding:10px 22px;font-size:10px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border-radius:var(--rs);transition:all .3s;font-weight:500;}
.nav-cta:hover{background:var(--gold);color:#fff;}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.hbg span{display:block;width:24px;height:1.5px;background:var(--dark);transition:all .3s;}
.hbg.o span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hbg.o span:nth-child(2){opacity:0;}
.hbg.o span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* MOBILE MENU */
.mob-menu{position:fixed;inset:0;background:var(--dark);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.175,1);}
.mob-menu.o{transform:translateX(0);}
.mob-menu a{font-family:'Cormorant Garamond',serif;font-size:44px;color:rgba(250,246,240,.5);text-decoration:none;font-style:italic;transition:color .3s;}
.mob-menu a:hover{color:var(--gold-dim);}
.mob-cta{margin-top:24px;border:1px solid var(--gold-dim) !important;color:var(--gold-dim) !important;font-family:'DM Sans',sans-serif !important;font-size:11px !important;letter-spacing:4px;text-transform:uppercase;padding:14px 40px;font-style:normal !important;border-radius:var(--rs);}

/* HERO */
#hero{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg2);}
.hero-real-bg{position:absolute;inset:0;background:url("/assets/images/hero-bg.webp") center/cover no-repeat;opacity:0.17;z-index:0;}
.hero-noise{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 55%,rgba(201,168,76,.08) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 20%,rgba(201,168,76,.04) 0%,transparent 60%);}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 100% 50% at 50% 100%,rgba(184,137,42,.06) 0%,transparent 60%);}
.hero-grid{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 80px,rgba(184,137,42,.04) 80px,rgba(184,137,42,.04) 81px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(184,137,42,.04) 80px,rgba(184,137,42,.04) 81px);}
.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.particle{position:absolute;border-radius:50%;background:var(--gold);animation:pfl linear infinite;opacity:0;}
@keyframes pfl{0%{transform:translateY(100vh);opacity:0;}10%{opacity:.4;}90%{opacity:.15;}100%{transform:translateY(-40px);opacity:0;}}
.hero-c{text-align:center;position:relative;z-index:2;padding:0 24px;max-width:100%;}
.hero-eye{font-size:9px;letter-spacing:8px;text-transform:uppercase;color:var(--gold);margin-bottom:28px;opacity:0;animation:fu 1s .3s forwards;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(60px,10vw,130px);font-weight:300;line-height:.88;color:var(--dark);opacity:0;animation:fu 1s .5s forwards;text-shadow:0 2px 20px rgba(184,137,42,0.2),0 1px 0 rgba(255,255,255,0.4);}
.hero-title em{font-style:italic;background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:sh 4s ease infinite;}
.hero-title .l2{font-size:clamp(44px,7vw,95px);display:block;}
@keyframes sh{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.hero-tw{font-size:14px;letter-spacing:2px;color:var(--text2);margin-top:28px;margin-bottom:52px;min-height:22px;opacity:0;animation:fu 1s .7s forwards;}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fu 1s .9s forwards;}
.bp{background:var(--dark);color:var(--cream);padding:16px 40px;font-size:10px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;font-weight:600;transition:all .3s;border-radius:var(--rs);position:relative;overflow:hidden;}
.bp::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-100%);transition:transform .5s;}
.bp:hover::after{transform:translateX(100%);}
.bp:hover{background:var(--dark2);transform:translateY(-3px);box-shadow:0 8px 32px rgba(45,31,14,.25);}
.bs{border:1.5px solid var(--gold);color:var(--gold);padding:16px 40px;font-size:10px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;transition:all .3s;border-radius:var(--rs);}
.bs:hover{background:var(--gold);color:var(--cream);transform:translateY(-3px);}
.hero-sc{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fu 1s 1.2s forwards;}
.hero-sc span{font-size:8px;letter-spacing:5px;color:var(--text3);text-transform:uppercase;}
.sc-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--gold-dim),transparent);animation:sca 2s ease-in-out infinite;}
@keyframes sca{0%,100%{opacity:.3;}50%{opacity:1;}}
@keyframes fu{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

/* STATS */
.stats{background:var(--cream);border-top:1px solid var(--glass-b);border-bottom:1px solid var(--glass-b);padding:40px 60px;display:flex;align-items:center;justify-content:space-around;gap:20px;}
.s-item{text-align:center;flex:1;}
.s-num{font-family:'Cormorant Garamond',serif;font-size:52px;color:var(--gold);line-height:1;font-weight:300;}
.s-lbl{font-size:9px;letter-spacing:4px;color:var(--text3);text-transform:uppercase;margin-top:6px;}
.s-div{width:1px;height:52px;background:var(--glass-b);}

/* SECTION */
section{padding:100px 60px;}
.sl{font-size:9px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:14px;}
.sl::before{content:'';width:30px;height:1.5px;background:var(--gold-dim);flex-shrink:0;}
.st{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,68px);font-weight:300;color:var(--dark);line-height:1.05;margin-bottom:16px;}
.st em{font-style:italic;color:var(--gold);}
.sd{color:var(--text2);font-size:14px;line-height:1.85;max-width:460px;}

/* ═══ MENU ═══ */
#menu{background:var(--bg2);}
.menu-wrap{display:grid;grid-template-columns:260px 1fr;gap:60px;align-items:start;}

/* Desktop sidebar tabs */
.d-tabs{display:flex;flex-direction:column;gap:6px;margin-top:28px;}
.d-tab{padding:14px 18px;border-radius:var(--rs);cursor:pointer;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text2);transition:all .3s;background:transparent;border:1.5px solid transparent;text-align:left;font-family:'DM Sans',sans-serif;font-weight:500;display:flex;align-items:center;gap:10px;}
.d-tab:hover{background:rgba(184,137,42,.07);border-color:var(--glass-b);}
.d-tab.act{background:rgba(184,137,42,.1);border-color:rgba(184,137,42,.3);color:var(--gold);}

/* SWIGGY-STYLE TABS (mobile + always shown on right) */
.swg-tabs{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:24px;background:var(--cream);border-radius:100px;padding:5px;border:1.5px solid var(--glass-b);width:fit-content;max-width:100%;}
.swg-tabs::-webkit-scrollbar{display:none;}
.swg-tab{padding:10px 20px;border-radius:100px;cursor:pointer;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text2);background:transparent;border:none;white-space:nowrap;font-family:'DM Sans',sans-serif;font-weight:600;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:6px;position:relative;}
.swg-tab.act{background:var(--dark);color:#f5ede0;box-shadow:0 4px 16px rgba(45,31,14,.25);transform:scale(1.02);}
.swg-tab .ti{font-size:15px;transition:transform .3s;}
.swg-tab.act .ti{transform:scale(1.15);}

/* COUNT BADGE on tab */
.t-cnt{font-size:9px;background:rgba(184,137,42,.15);color:var(--gold);border-radius:100px;padding:1px 6px;font-weight:600;}
.swg-tab.act .t-cnt{background:rgba(201,168,76,.2);color:var(--gold-dim);}

.m-panel{display:none;animation:mpf .35s ease;}
.m-panel.act{display:block;}
@keyframes mpf{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* SUBCATEGORY HEADER */
.m-subcat{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:700;margin:24px 0 12px;padding:0 4px;display:flex;align-items:center;gap:12px;}
.m-subcat::before{content:'';height:1px;width:20px;background:var(--gold-dim);}
.m-subcat::after{content:'';height:1px;flex:1;background:var(--glass-b);}
.m-subcat:first-child{margin-top:0;}

/* ROOM SERVICE BADGE */
.b-rs{background:rgba(90,60,180,.1);border:1px solid rgba(90,60,180,.3);color:#6b4fc8;}

/* MENU CARDS */
.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.m-card{padding:20px;border-radius:var(--r);background:var(--cream);border:1.5px solid var(--glass-b);transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;min-height:148px;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.m-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);transform:scaleX(0);transition:transform .4s;}
.m-card:hover{border-color:rgba(184,137,42,.4);box-shadow:var(--shadow-md);transform:translateY(-5px);}
.m-card:hover::before{transform:scaleX(1);}
.ct{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;}
.bgs{display:flex;gap:5px;flex-wrap:wrap;}
.bdg{font-size:8px;letter-spacing:1.5px;padding:3px 10px;border-radius:100px;text-transform:uppercase;font-weight:600;}
.b-s{background:rgba(184,137,42,.12);border:1px solid rgba(184,137,42,.3);color:var(--gold);}
.b-h{background:rgba(200,80,50,.1);border:1px solid rgba(200,80,50,.25);color:#c85032;}
.b-n{background:rgba(45,122,85,.1);border:1px solid rgba(45,122,85,.25);color:var(--success);}
.b-bihar{background:rgba(220,140,20,.12);border:1px solid rgba(220,140,20,.3);color:#b87a10;}
.dd{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.veg{background:#2d7a55;box-shadow:0 0 6px rgba(45,122,85,.4);}
.nv{background:#c85032;box-shadow:0 0 6px rgba(200,80,50,.35);}
.cn{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--dark);font-weight:400;margin-bottom:5px;}
.cd{font-size:11px;color:var(--text2);line-height:1.65;flex:1;}
.cf{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--glass-b);}
.cp{font-size:17px;color:var(--gold);font-weight:600;}
.c-rs{font-size:8px;letter-spacing:1px;color:#6b4fc8;background:rgba(90,60,180,.08);padding:2px 8px;border-radius:100px;border:1px solid rgba(90,60,180,.2);}
/* Room service info strip */
.rs-strip{background:linear-gradient(135deg,rgba(90,60,180,.08),rgba(184,137,42,.06));border:1px solid rgba(90,60,180,.2);border-radius:var(--rs);padding:12px 18px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text2);}
.rs-strip strong{color:var(--dark);}
.rs-icon{font-size:18px;}

/* ═══ GALLERY ═══ */
#gallery{background:var(--bg);}
.g-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;}
/* ═ GALLERY GRID ═ */
.g-grid{display:grid;gap:12px;}

/* DESKTOP */
@media(min-width:961px){
  .g-grid{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:320px 260px;}
  .gi1{grid-column:1/2;grid-row:1/3;height:calc(320px + 260px + 12px);}
  .gi2{grid-column:2/3;grid-row:1/2;height:320px;}
  .gi3{grid-column:3/4;grid-row:1/2;height:320px;}
  .gi4{grid-column:2/3;grid-row:2/3;height:260px;}
  .gi5{grid-column:3/4;grid-row:2/3;height:260px;}
}
.gi{border-radius:18px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 8px 32px rgba(15,8,2,.4);}
.g-in{width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:22px;transition:transform .55s cubic-bezier(.25,.46,.45,.94);position:relative;}
.gi:hover .g-in{transform:scale(1.05);}
/* RICH gradient backgrounds */
.ga{background:linear-gradient(160deg,#2d1a0a 0%,#4a2e10 30%,#1a0d04 100%);}
.gb{background:linear-gradient(140deg,#1c1108 0%,#3a2410 60%,#0e0905 100%);}
.gc{background:linear-gradient(150deg,#0f0a05 0%,#2e1e0c 50%,#1a1108 100%);}
.gd{background:linear-gradient(145deg,#1a1005 0%,#3d2812 60%,#120c04 100%);}
.ge{background:linear-gradient(155deg,#221507 0%,#3a2510 50%,#160f05 100%);}
/* shimmer overlay */
.g-sh{position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.08) 0%,transparent 50%,rgba(201,168,76,.04) 100%);}
.g-bot{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(6,3,1,.92) 0%,rgba(6,3,1,.55) 45%,transparent 100%);z-index:1;}
.gi::after{content:'';position:absolute;inset:0;border-radius:18px;border:2px solid rgba(201,168,76,0);transition:border-color .4s;z-index:10;pointer-events:none;}
.gi:hover::after{border-color:rgba(201,168,76,.5);}
.g-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,8,2,.95) 0%,rgba(15,8,2,.4) 50%,transparent 100%);opacity:0;transition:opacity .4s;grid-area:1/1/1/1;}
.gi:hover .g-ov{opacity:1;}
.g-info{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;z-index:3;}
.g-icon-big{font-size:56px;margin-bottom:12px;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));}
.g-lbl{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;font-style:italic;color:#f5ede0;letter-spacing:.5px;text-shadow:0 2px 14px rgba(0,0,0,.95);display:block;}
.g-sub{font-size:9px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;margin-top:3px;display:block;opacity:.9;}
.gi1 .g-lbl{font-size:26px;}
.g-cap{position:absolute;top:16px;left:18px;z-index:4;opacity:0;transform:translateY(-5px);transition:all .35s;grid-area:1/1/1/1;}
.gi:hover .g-cap{opacity:1;transform:translateY(0);}
.g-ct{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-dim);background:rgba(6,3,1,.72);padding:5px 13px;border-radius:100px;border:1px solid rgba(201,168,76,.35);}
.g-cs{font-size:9px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;margin-top:4px;}
/* Decorative dots in gallery cards */
.g-dots{position:absolute;top:20px;right:20px;display:flex;gap:5px;}
.g-dot{width:5px;height:5px;border-radius:50%;background:rgba(201,168,76,.3);}

/* ═══ EVENTS ═══ */
#events{background:var(--bg2);}
.ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:52px;}
.ev-card{padding:36px;border-radius:var(--r);background:var(--cream);border:1.5px solid var(--glass-b);position:relative;overflow:hidden;transition:all .35s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow);}
.ev-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(184,137,42,.06),transparent 60%);opacity:0;transition:opacity .4s;}
.ev-card:hover{border-color:rgba(184,137,42,.35);transform:translateY(-6px);box-shadow:var(--shadow-md);}
.ev-card:hover::after{opacity:1;}
/* colored left border accent */
.ev-card::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;background:linear-gradient(to bottom,transparent,var(--gold-dim),transparent);border-radius:0 3px 3px 0;}
.ev-badge{display:inline-flex;align-items:center;gap:8px;background:var(--dark);border-radius:100px;padding:6px 16px;margin-bottom:18px;}
.ev-day{font-family:'Bebas Neue',sans-serif;font-size:15px;color:var(--gold-dim);letter-spacing:3px;}
.ev-freq{font-size:8px;letter-spacing:3px;color:rgba(250,246,240,.4);text-transform:uppercase;}
.ev-title{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--dark);margin-bottom:10px;font-weight:400;}
.ev-desc{font-size:12px;color:var(--text2);line-height:1.8;margin-bottom:20px;}
.ev-foot{display:flex;align-items:center;justify-content:space-between;}
.ev-time{font-size:9px;letter-spacing:3px;color:var(--text3);text-transform:uppercase;font-weight:600;}
.ev-tag{font-size:8px;letter-spacing:2px;padding:4px 12px;border-radius:100px;background:rgba(184,137,42,.1);border:1px solid rgba(184,137,42,.2);color:var(--gold);text-transform:uppercase;font-weight:600;}

/* ═══ RESERVATION ═══ */
#reservation{background:var(--bg);}
.res-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start;}
.r-cards{display:flex;flex-direction:column;gap:12px;margin-top:32px;}
.r-card{padding:26px;border-radius:var(--r);background:var(--cream);border:1.5px solid var(--glass-b);box-shadow:var(--shadow);}
.r-card h4{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--dark);margin-bottom:14px;}
.ir{display:flex;gap:12px;margin-bottom:10px;align-items:flex-start;}
.ii{font-size:14px;flex-shrink:0;margin-top:1px;}
.it{font-size:12px;color:var(--text2);line-height:1.6;}
.it strong{color:var(--dark);display:block;font-weight:500;}

/* Steps */
.steps{display:flex;align-items:center;margin-bottom:32px;}
.stp{display:flex;align-items:center;gap:8px;}
.sn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;border:1.5px solid var(--glass-b);color:var(--text3);transition:all .3s;font-weight:600;background:var(--cream);}
.stp.a .sn{background:var(--dark);border-color:var(--dark);color:#f5ede0;}
.stp.d .sn{background:var(--success);border-color:var(--success);color:#fff;}
.slb{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);}
.stp.a .slb{color:var(--dark);}
.sln{flex:1;height:1.5px;background:var(--glass-b);margin:0 10px;}

.fs{display:none;animation:mpf .3s ease;}
.fs.act{display:block;}

/* Float inputs */
.fg{position:relative;margin-bottom:14px;}
.fg input,.fg select,.fg textarea{width:100%;background:var(--cream);border:1.5px solid var(--glass-b);color:var(--text);padding:22px 18px 10px;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:all .3s;border-radius:var(--rs);appearance:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);background:#fff;}
.fg input.v{border-color:var(--success);}
.fg label{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text3);transition:all .25s;pointer-events:none;letter-spacing:.5px;}
.fg input:focus~label,.fg input:not(:placeholder-shown)~label,.fg select:focus~label{top:10px;transform:none;font-size:8px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;}.fg select.has-val~label{top:10px;font-size:8px;color:var(--gold-dim);}
.fg textarea{padding-top:22px;resize:none;height:96px;}
.fg textarea~label{top:20px;transform:none;}
.fg textarea:focus~label,.fg textarea:not(:placeholder-shown)~label{top:8px;font-size:8px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;}
.fg .vi{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--success);opacity:0;transition:opacity .3s;font-size:14px;}
.fg input.v~.vi{opacity:1;}
.sw{position:relative;}
.sw::after{content:'▾';position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none;}
.sw select option{background:#faf6f0;}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.sb-btns{display:flex;gap:10px;margin-top:8px;}
.bnx,.bsb{flex:1;padding:16px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;font-weight:600;background:var(--dark);color:#f5ede0;border-radius:var(--rs);transition:all .3s;}
.bnx:hover,.bsb:hover{background:var(--dark2);transform:translateY(-2px);box-shadow:0 6px 24px rgba(45,31,14,.2);}
.bpv{padding:16px 20px;border:1.5px solid var(--glass-b);background:transparent;color:var(--text2);cursor:pointer;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;border-radius:var(--rs);transition:all .3s;}
.bpv:hover{border-color:var(--gold);color:var(--gold);}
.sb-ok{display:none;text-align:center;padding:40px 20px;}
.sb-ok.show{display:block;animation:mpf .5s ease;}
.sb-ok .oi{font-size:52px;display:block;margin-bottom:16px;}
.sb-ok h3{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--dark);margin-bottom:10px;}
.sb-ok p{font-size:13px;color:var(--text2);}

/* ═══ CONTACT ═══ */
#contact{background:var(--bg2);}
.con-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
.c-cards{display:flex;flex-direction:column;gap:10px;margin-top:32px;}
.c-card{padding:20px 24px;border-radius:var(--r);background:var(--cream);border:1.5px solid var(--glass-b);display:flex;gap:16px;align-items:center;transition:all .3s;text-decoration:none;color:inherit;box-shadow:var(--shadow);}
.c-card:hover{border-color:rgba(184,137,42,.35);transform:translateX(6px);box-shadow:var(--shadow-md);}
.c-ic{width:44px;height:44px;border-radius:var(--rs);background:var(--bg3);border:1.5px solid var(--glass-b);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.c-lb{font-size:9px;letter-spacing:3px;color:var(--text3);text-transform:uppercase;margin-bottom:3px;font-weight:500;}
.c-vl{font-size:14px;color:var(--dark);font-weight:500;}
.map-box{border-radius:var(--r);overflow:hidden;border:1.5px solid var(--glass-b);height:380px;background:linear-gradient(145deg,#1a1005,#2d1e0a);position:relative;display:flex;align-items:center;justify-content:center;margin-top:32px;box-shadow:var(--shadow-md);}
.map-box::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(201,168,76,.025) 40px,rgba(201,168,76,.025) 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(201,168,76,.025) 40px,rgba(201,168,76,.025) 41px);}
.mc{text-align:center;position:relative;z-index:1;}
.mc .pin{font-size:44px;display:block;animation:pb 2s ease-in-out infinite;}
.mc p{font-size:10px;letter-spacing:4px;color:rgba(201,168,76,.6);text-transform:uppercase;margin-top:8px;}
.mc a{display:inline-block;margin-top:14px;color:var(--gold-dim);text-decoration:none;font-size:10px;letter-spacing:3px;text-transform:uppercase;border:1px solid rgba(201,168,76,.3);padding:10px 22px;border-radius:var(--rs);transition:all .3s;}
.mc a:hover{background:var(--gold-dim);color:var(--dark);}
@keyframes pb{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* ═══ DIRECTIONS ═══ */
#directions{background:var(--bg);}
.dir-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;}
.dir-card{padding:28px 28px 24px;border-radius:var(--r);background:var(--cream);border:1.5px solid var(--glass-b);display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow);transition:all .3s;}
.dir-card:hover{border-color:rgba(184,137,42,.35);transform:translateY(-5px);box-shadow:var(--shadow-md);}
.dir-ic{width:48px;height:48px;border-radius:var(--rs);background:var(--bg3);border:1.5px solid var(--glass-b);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dir-ct{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px;}
.dir-steps{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;}
.dir-steps li{font-size:13px;color:var(--text2);line-height:1.7;padding-left:20px;position:relative;}
.dir-steps li::before{content:counter(step);counter-increment:step;position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:rgba(184,137,42,.12);border:1px solid rgba(184,137,42,.25);color:var(--gold);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.dir-steps{counter-reset:step;}
.dir-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:44px;}

/* WA */
.wa-d{position:fixed;bottom:32px;right:32px;z-index:500;background:#25D366;color:#fff;padding:13px 22px;border-radius:100px;text-decoration:none;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 8px 32px rgba(37,211,102,.35);transition:all .3s;}
.wa-d:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(37,211,102,.45);}
.wa-m{display:none;position:fixed;bottom:0;left:0;right:0;z-index:500;}
.wa-m a{display:flex;align-items:center;justify-content:center;gap:10px;background:#25D366;color:#fff;padding:16px;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;text-decoration:none;}

/* FOOTER */
footer{background:var(--dark);padding:64px 60px 40px;}
.ft-m{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:44px;}
.ft-lo{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--gold-dim);letter-spacing:4px;}
.ft-tg{font-family:'Cormorant Garamond',serif;font-size:15px;color:rgba(245,237,224,.4);font-style:italic;margin-top:6px;}
.ft-dv{width:40px;height:1px;background:rgba(201,168,76,.3);margin:18px 0;}
.ft-ab{font-size:12px;color:rgba(245,237,224,.35);line-height:1.8;max-width:260px;}
.ft-sc{display:flex;gap:10px;margin-top:22px;}
.sc-b{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);border:2px solid transparent;position:relative;}
.sc-b::after{content:'';position:absolute;inset:-3px;border-radius:50%;opacity:0;transition:opacity .3s;z-index:-1;}
.sc-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);box-shadow:0 0 12px rgba(253,29,29,.4);}
.sc-fb{background:#1877F2;box-shadow:0 0 12px rgba(24,119,242,.5);}
.sc-yt{background:#FF0000;box-shadow:0 0 12px rgba(255,0,0,.5);}
.sc-wa{background:#25D366;box-shadow:0 0 12px rgba(37,211,102,.5);}
.sc-ig:hover{transform:translateY(-5px) scale(1.12);box-shadow:0 0 24px rgba(253,29,29,.7),0 0 40px rgba(252,176,69,.3);}
.sc-fb:hover{transform:translateY(-5px) scale(1.12);box-shadow:0 0 24px rgba(24,119,242,.8);}
.sc-yt:hover{transform:translateY(-5px) scale(1.12);box-shadow:0 0 24px rgba(255,0,0,.8);}
.sc-wa:hover{transform:translateY(-5px) scale(1.12);box-shadow:0 0 24px rgba(37,211,102,.8);}
.ft-col h5{font-size:8px;letter-spacing:5px;color:rgba(201,168,76,.6);text-transform:uppercase;margin-bottom:18px;}
.ft-col ul{list-style:none;}
.ft-col li{margin-bottom:10px;}
.ft-col a{color:rgba(245,237,224,.35);text-decoration:none;font-size:13px;transition:color .3s;}
.ft-col a:hover{color:var(--gold-dim);}
.ft-nl input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:rgba(245,237,224,.7);padding:11px 14px;font-family:'DM Sans',sans-serif;font-size:12px;outline:none;border-radius:var(--rs) var(--rs) 0 0;border-bottom:none;transition:border-color .3s;}
.ft-nl input:focus{border-color:rgba(201,168,76,.3);}
.ft-nl input::placeholder{color:rgba(245,237,224,.2);}
.ft-nl button{width:100%;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.2);color:var(--gold-dim);padding:11px;font-size:9px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;transition:all .3s;border-radius:0 0 var(--rs) var(--rs);}
.ft-nl button:hover{background:var(--gold-dim);color:var(--dark);}
.ft-bot{display:flex;align-items:center;justify-content:space-between;padding-top:28px;border-top:1px solid rgba(255,255,255,.06);}
.ft-bot p{font-size:11px;color:rgba(245,237,224,.2);}
.ft-bot a{color:rgba(201,168,76,.4);text-decoration:none;}
.btt{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.btt:hover{border-color:rgba(201,168,76,.3);color:var(--gold-dim);transform:translateY(-3px);}

/* REVEAL */
.rv{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease;}
.rv.vis{opacity:1;transform:translateY(0);}
.rl{opacity:0;transform:translateX(-32px);transition:opacity .75s ease,transform .75s ease;}
.rl.vis{opacity:1;transform:translateX(0);}
.rr{opacity:0;transform:translateX(32px);transition:opacity .75s ease,transform .75s ease;}
.rr.vis{opacity:1;transform:translateX(0);}

/* ═══ ANNOUNCEMENT BAR ═══ */
#ann-bar{background:linear-gradient(90deg,var(--dark) 0%,#2d1e08 50%,var(--dark) 100%);border-bottom:1px solid rgba(184,137,42,.25);overflow:hidden;transition:max-height .4s ease,padding .4s ease;max-height:60px;}
.ann-inner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 20px;}
.ann-icon{font-size:16px;flex-shrink:0;}
.ann-txt{font-size:11px;letter-spacing:.5px;color:rgba(245,237,224,.75);}
.ann-txt strong{color:var(--gold-dim);}
.ann-btn{padding:5px 16px;background:var(--gold);color:var(--dark);border-radius:100px;font-size:9px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;font-weight:700;transition:all .3s;white-space:nowrap;flex-shrink:0;}
.ann-btn:hover{background:var(--gold-light);transform:scale(1.05);}
.ann-cls{background:none;border:none;color:rgba(245,237,224,.35);font-size:20px;cursor:pointer;padding:0 6px;margin-left:4px;transition:color .2s;flex-shrink:0;line-height:1;}
.ann-cls:hover{color:rgba(245,237,224,.8);}

/* ═══ OPEN/CLOSED STATUS ═══ */
.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:100px;font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-left:10px;vertical-align:middle;}
.status-open{background:rgba(45,122,85,.12);border:1px solid rgba(45,122,85,.3);color:var(--success);}
.status-open::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--success);display:inline-block;animation:pulse-g 2s ease-in-out infinite;}
.status-closed{background:rgba(200,80,50,.1);border:1px solid rgba(200,80,50,.25);color:#c85032;}
.status-closed::before{content:'';width:6px;height:6px;border-radius:50%;background:#c85032;display:inline-block;}
@keyframes pulse-g{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(45,122,85,.4);}50%{opacity:.6;box-shadow:0 0 0 4px rgba(45,122,85,0);}}

/* ═══ TESTIMONIALS ═══ */
#testimonials{background:var(--bg);}
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;}
.tm-card{padding:28px;border-radius:var(--r);background:var(--cream);border:1.5px solid var(--glass-b);box-shadow:var(--shadow);transition:all .35s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;}
.tm-card::before{content:'\201C';position:absolute;top:-18px;left:20px;font-family:'Cormorant Garamond',serif;font-size:120px;color:var(--gold);opacity:.07;line-height:1;pointer-events:none;}
.tm-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(184,137,42,.3);}
.tm-stars{color:var(--gold);font-size:14px;letter-spacing:3px;margin-bottom:14px;}
.tm-text{font-size:13px;color:var(--text2);line-height:1.85;font-style:italic;margin-bottom:20px;flex:1;}
.tm-author{display:flex;gap:14px;align-items:center;border-top:1px solid var(--glass-b);padding-top:16px;}
.tm-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dim),var(--gold-light));color:var(--dark);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
.tm-name{font-size:14px;font-weight:600;color:var(--dark);}
.tm-loc{font-size:9px;color:var(--text3);letter-spacing:2px;text-transform:uppercase;margin-top:3px;}
.tm-cta{text-align:center;margin-top:48px;}

/* ═══ FAQ ═══ */
#faq{background:var(--bg2);}
.faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start;}
.faq-list{margin-top:8px;}
.faq-item{border-bottom:1px solid var(--glass-b);}
.faq-item:first-child{border-top:1px solid var(--glass-b);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--dark);font-weight:500;transition:color .3s;gap:16px;}
.faq-q:hover{color:var(--gold);}
.faq-arr{font-size:24px;font-weight:300;color:var(--gold-dim);transition:transform .35s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;line-height:1;}
.faq-q[aria-expanded="true"] .faq-arr{transform:rotate(45deg);}
.faq-q[aria-expanded="true"]{color:var(--gold);}
.faq-a{max-height:0;overflow:hidden;font-size:13px;color:var(--text2);line-height:1.85;transition:max-height .4s ease,padding-bottom .4s ease;}
.faq-a.open{max-height:300px;padding-bottom:20px;}

/* ─── MAP BOX IFRAME ─── */
.map-box iframe{display:block;width:100%;height:100%;min-height:360px;border:0;}

/* ═══ MOBILE ═══ */
@media(max-width:960px){
  nav{padding:18px 20px;width:100%;left:0;right:0;}
  nav.sc{padding:13px 20px;}
  .nav-links,.nav-cta{display:none;}
  .hbg{display:flex;}
  #hero{min-height:100vh;width:100%;padding:0;}
  .hero-c{width:100%;padding:0 20px;}
  section{padding:64px 20px;width:100%;}
  .stats{padding:28px 20px;gap:10px;width:100%;}
  .s-num{font-size:36px;}
  .s-lbl{font-size:8px;letter-spacing:2px;}
  .menu-wrap{grid-template-columns:1fr;gap:16px;}
  .d-tabs{display:none;}
  .swg-tabs{width:100%;border-radius:12px;}
  .swg-tab{flex:1;justify-content:center;padding:10px 8px;font-size:10px;gap:4px;}
  .t-cnt{display:none;}
  .m-grid{grid-template-columns:1fr;}
  .g-grid{grid-template-columns:1fr 1fr;grid-template-rows:210px 170px 170px;gap:10px;}
  .gi1{height:210px;}.gi2,.gi3,.gi4,.gi5{height:170px;}
  .g-in{height:100%!important;min-height:100%!important;}
  .gi1{grid-column:1/3;grid-row:1/2;}
  .gi2{grid-column:1/2;grid-row:2/3;}
  .gi3{grid-column:2/3;grid-row:2/3;}
  .gi4{grid-column:1/2;grid-row:3/4;}
  .gi5{grid-column:2/3;grid-row:3/4;}
  .gi1 .g-lbl{font-size:22px;}
  .g-lbl{font-size:15px;}
  .g-sub{font-size:8px;letter-spacing:2px;}
  .g-hdr{flex-direction:column;align-items:flex-start;gap:12px;}
  .g-hdr .sd{display:none;}
  .ev-grid{grid-template-columns:1fr;}
  .res-wrap{grid-template-columns:1fr;gap:32px;}
  .con-wrap{grid-template-columns:1fr;}
  .dir-grid{grid-template-columns:1fr;}
  .ft-m{grid-template-columns:1fr 1fr;gap:28px;}
  .ft-bot{flex-direction:column;gap:14px;text-align:center;}
  .wa-d{display:none;}
  .wa-m{display:block;}
  body{cursor:auto;padding-bottom:56px;overflow-x:hidden;}body.js-cursor{cursor:none;}
  .cur,.curR{display:none;}
  .r2{grid-template-columns:1fr;}
  .slb{display:none;}
  .hero-btns{flex-direction:column;align-items:center;gap:12px;}
  .hero-title{font-size:clamp(52px,14vw,80px);}
}
@media(max-width:960px){
  .ann-inner{gap:10px;padding:9px 12px;}
  .ann-txt{font-size:10px;text-align:center;}
  .tm-grid{grid-template-columns:1fr;}
  .faq-wrap{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:500px){
  .hero-title{font-size:52px;}
  .stats{flex-wrap:wrap;justify-content:center;}
  .s-div{display:none;}
  .s-item{min-width:40%;}
  .ft-m{grid-template-columns:1fr;}
  .swg-tab .ti{display:none;}
  .swg-tab{font-size:9px;padding:10px 6px;}
  #ann-bar{max-height:none;}
  .ann-inner{flex-direction:column;gap:8px;padding:10px 16px;}
  .ann-txt{font-size:10px;}
}

/* ═══ EXIT INTENT POPUP ═══ */
#exit-popup{position:fixed;inset:0;z-index:99998;background:rgba(26,18,8,0.85);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
#exit-popup.show{display:flex;}
.exit-card{background:var(--cream);border-radius:20px;padding:48px 40px;text-align:center;max-width:440px;width:90%;border:1.5px solid rgba(184,137,42,0.35);box-shadow:0 24px 80px rgba(0,0,0,0.4);position:relative;animation:exitSlide 0.45s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes exitSlide{from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}}
.exit-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:24px;color:var(--text3);cursor:pointer;}
.exit-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px;}
.exit-emoji{font-size:52px;margin-bottom:16px;display:block;}
.exit-title{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--dark);margin-bottom:8px;}
.exit-sub{font-size:16px;color:var(--gold);font-weight:600;margin-bottom:8px;}
.exit-note{font-size:11px;color:var(--text2);letter-spacing:1px;margin-bottom:28px;}
.exit-btns{display:flex;flex-direction:column;gap:10px;}
.exit-primary{background:var(--dark);color:var(--cream);padding:16px 32px;border:none;border-radius:var(--rs);font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;cursor:pointer;text-decoration:none;display:block;transition:all 0.3s;}
.exit-secondary{background:transparent;color:var(--text3);border:none;font-size:12px;cursor:pointer;padding:8px;text-decoration:underline;}
.exit-secondary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px;}

/* ═══ SCARCITY BAR ═══ */
.scar-bar{background:linear-gradient(90deg,#1a0a02,#2d1505,#1a0a02);background-size:200% 100%;padding:12px 24px;text-align:center;font-size:12px;color:rgba(245,237,224,0.85);letter-spacing:1px;border-top:1px solid rgba(184,137,42,0.2);border-bottom:1px solid rgba(184,137,42,0.2);animation:scarShimmer 3s linear infinite;}
@keyframes scarShimmer{0%{background-position:0% 0%;}100%{background-position:100% 0%;}}
.scar-bar strong{color:var(--gold-dim);}
.scar-bar a{color:var(--gold);text-decoration:none;font-weight:600;margin-left:8px;}

/* ═══ WHATSAPP FAB UPGRADE ═══ */
#fab-wa{position:relative;}
#fab-wa::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(37,211,102,0.5);animation:waPulse 2s ease-in-out infinite;}
@keyframes waPulse{0%,100%{transform:scale(1);opacity:0.6;}50%{transform:scale(1.2);opacity:0;}}
.wa-tooltip{position:absolute;right:60px;top:50%;transform:translateY(-50%);background:var(--dark);color:var(--cream);font-size:10px;letter-spacing:2px;white-space:nowrap;padding:6px 14px;border-radius:100px;opacity:0;pointer-events:none;transition:opacity 0.3s;border:1px solid rgba(184,137,42,0.3);}
#fab-wa:hover .wa-tooltip{opacity:1;}
@media(max-width:960px){#fab-wa{width:56px!important;height:56px!important;}}

/* ═══ GALLERY LIGHTBOX ═══ */
#lightbox{position:fixed;inset:0;z-index:99999;background:rgba(10,5,0,0.96);display:none;align-items:center;justify-content:center;flex-direction:column;opacity:0;transition:opacity 0.3s;}
#lightbox.show{display:flex;opacity:1;}
#lb-img{width:90vw;max-width:1000px;height:65vh;background:center/contain no-repeat;border-radius:12px;border:1px solid rgba(184,137,42,0.3);transition:background-image 0.3s;}
#lb-caption{color:var(--gold-dim);font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;margin-top:20px;letter-spacing:2px;}
#lb-close{position:absolute;top:24px;right:32px;background:none;border:none;color:rgba(245,237,224,0.6);font-size:48px;cursor:pointer;line-height:1;transition:color 0.2s;z-index:1;}
#lb-close:hover{color:var(--gold);}
#lb-prev,#lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(184,137,42,0.15);border:1px solid rgba(184,137,42,0.3);color:var(--gold-dim);font-size:36px;width:52px;height:52px;border-radius:50%;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;}
#lb-prev{left:24px;}
#lb-next{right:24px;}
#lb-prev:hover,#lb-next:hover{background:rgba(184,137,42,0.3);color:var(--gold);}
@media(max-width:600px){#lb-prev{left:8px;}#lb-next{right:8px;}#lb-prev,#lb-next{font-size:28px;width:40px;height:40px;}}

/* ═══ TESTIMONIALS CAROUSEL ═══ */
.tm-carousel{display:none;}
@media(max-width:960px){
  .tm-grid{display:none!important;}
  .tm-carousel{display:block;position:relative;overflow:hidden;min-height:280px;}
  .tm-carousel .tm-card{position:absolute;inset:0;opacity:0;transform:translateY(16px);transition:all 0.5s ease;pointer-events:none;}
  .tm-carousel .tm-card.active{opacity:1;transform:translateY(0);pointer-events:auto;}
  .tm-dots{display:flex;justify-content:center;gap:8px;margin-top:20px;}
  .tm-dot{width:8px;height:8px;border-radius:50%;background:rgba(184,137,42,0.25);border:none;cursor:pointer;transition:all 0.3s;}
  .tm-dot.active{background:var(--gold);width:24px;border-radius:100px;}
}

/* ═══ DJ NIGHT COUNTDOWN ═══ */
.ev-countdown{margin:16px 0;padding:14px 18px;background:rgba(26,18,8,0.06);border-radius:var(--rs);border:1px solid rgba(184,137,42,0.2);}
.ec-label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);display:block;margin-bottom:10px;}
.ec-blocks{display:flex;align-items:center;gap:8px;}
.ec-block{text-align:center;min-width:44px;}
.ec-block span:first-child{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--gold);font-weight:300;line-height:1;display:block;}
.ec-u{font-size:8px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;margin-top:2px;}
.ec-sep{font-size:20px;color:rgba(184,137,42,0.4);align-self:flex-start;margin-top:4px;}

/* ═══ TONIGHT'S SPECIAL BADGE ═══ */
.b-tonight{background:rgba(107,79,200,0.12);border:1px solid rgba(107,79,200,0.3);color:#6b4fc8;}

/* ═══ RESERVATION FORM PREVIEW ═══ */
.form-preview{background:linear-gradient(135deg,rgba(184,137,42,0.06),rgba(184,137,42,0.03));border:1px solid rgba(184,137,42,0.2);border-radius:var(--rs);padding:14px 18px;margin-bottom:20px;min-height:48px;transition:all 0.3s;}
.fp-inner{display:flex;align-items:center;gap:10px;}
.fp-icon{font-size:16px;flex-shrink:0;}
.fp-text{font-size:13px;color:var(--text2);letter-spacing:0.5px;line-height:1.5;}

/* ═══ MICRO-INTERACTIONS POLISH ═══ */

/* Nav CTA button shimmer on hover */
.nav-cta { overflow: hidden; position: relative; }
.nav-cta::after {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent,
    rgba(255,255,255,0.15), transparent);
  transform: skewX(-20deg);
  transition: left 0.5s;
}
.nav-cta:hover::after { left: 150%; }

/* Menu card tap feedback on mobile */
@media(max-width:960px) {
  .m-card:active {
    transform: scale(0.97);
    transition: transform 0.1s;
  }
  .ev-card:active { transform: scale(0.98); }
}

/* Smooth page scroll enhancement */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* Stats numbers count-up animation base */
.s-num { transition: color 0.3s; }

/* Gallery item cursor upgrade */
.gi { cursor: zoom-in; }

/* Button press effect */
.bp:active, .bs:active, .bnx:active, .bsb:active {
  transform: translateY(-1px) scale(0.98);
}

/* Footer newsletter button upgrade */
#nl-btn:focus { outline: 2px solid var(--gold); outline-offset: 2px; }

/* Accessibility: focus visible */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}
