:root{
  --cream:#e2d8cc;
  --cream-light:#efe7dc;
  --gold:#c39b62;
  --navy:#171f2d;
  --burgundy:#471328;
  --max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--navy);
  font-family:Arial,Helvetica,sans-serif;
}
img{max-width:100%;display:block}
a{color:inherit}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(226,216,204,.98);
  border-bottom:1px solid var(--gold);
  backdrop-filter:blur(12px);
}
.nav-shell{
  width:min(calc(100% - 40px),var(--max));
  min-height:118px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:26px;
}
.nav{display:flex;align-items:center;gap:34px}
.nav-right{justify-content:flex-end}
.nav a,.mobile-nav a{
  color:var(--navy);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  padding:8px 0;
  border-bottom:1px solid transparent;
}
.nav a:hover,.nav a.active,.mobile-nav a:hover{border-color:var(--gold)}
.logo-link{display:block;width:430px;max-width:38vw}
.logo-link img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.menu-toggle{
  display:none;
  border:1px solid var(--gold);
  color:var(--navy);
  background:transparent;
  padding:9px 12px;
  cursor:pointer;
}
.mobile-nav{display:none;border-top:1px solid var(--gold);padding:12px 20px 18px}
.mobile-nav.open{display:grid;gap:4px}

.hero{
  min-height:690px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-bottom:1px solid var(--gold);
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 44%,rgba(23,31,45,.24),rgba(23,31,45,.7) 68%),
    linear-gradient(180deg,rgba(23,31,45,.2),rgba(23,31,45,.74));
}
.hero-content{
  position:relative;
  z-index:2;
  color:var(--cream-light);
  text-align:center;
  width:min(930px,calc(100% - 32px));
  padding:75px 0;
}
.hero h1,.cream-section h2,.experience-card h3,.location-copy h2,.events-copy h2{
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;
  font-weight:400;
  letter-spacing:.045em;
}
.hero h1{
  margin:0;
  font-size:clamp(3rem,6.5vw,6.1rem);
  line-height:1.05;
}
.hero-kicker{font-size:1.15rem;margin:0 0 8px}
.hero-sub{font-size:1rem;margin:0 0 30px}

.key-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:20px auto;
}
.key-divider span{
  height:1px;
  width:105px;
  background:var(--gold);
}
.key-divider img{
  width:32px;
  height:32px;
  object-fit:contain;
}
.key-divider.light img{
  filter:brightness(0) saturate(100%) invert(68%) sepia(19%) saturate(1011%) hue-rotate(355deg) brightness(91%);
}
.key-divider.compact{margin:13px 0 18px;justify-content:flex-start}
.key-divider.compact span{width:65px}

.actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:190px;
  padding:15px 22px;
  border:1px solid var(--gold);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.78rem;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-navy{background:var(--burgundy);color:var(--gold)}
.btn-cream{background:var(--cream-light);color:var(--navy)}
.btn-outline-gold{background:transparent;color:var(--gold)}
.btn-cream-outline{background:rgba(255,255,255,.2);color:var(--navy)}

.cream-section{
  background:
    linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)),
    var(--cream);
  padding:58px 0 0;
}
.inner{
  width:min(calc(100% - 36px),var(--max));
  margin:auto;
}
.more-than > .inner > h2{
  text-align:center;
  margin:0;
  font-size:clamp(2rem,4vw,3.4rem);
}
.intro-copy{
  max-width:760px;
  margin:5px auto;
  text-align:center;
  line-height:1.7;
}

.experience-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin:48px 0 26px;
}
.experience-card{
  border:1px solid var(--gold);
  background:rgba(255,255,255,.16);
  position:relative;
}
.card-photo{
  aspect-ratio:1.62;
  position:relative;
  overflow:hidden;
}
.card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(23,31,45,.02),rgba(23,31,45,.18));
}
.lounge-photo{
  background:
    radial-gradient(circle at 36% 55%,rgba(195,155,98,.22),transparent 30%),
    linear-gradient(135deg,#241a18,#0d1118 48%,#39241e);
}
.ghosted-photo{
  background:
    linear-gradient(90deg,#100f14,#241a1a 48%,#090b10);
}
.airlock-photo{
  background:
    radial-gradient(circle at 50% 50%,#243f4d 0 12%,#172330 13% 24%,#0b1016 25%);
}
.symbol-medallion{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid var(--gold);
  background:var(--cream);
  display:grid;
  place-items:center;
  position:relative;
  margin:-23px auto 0;
  z-index:2;
}
.symbol-medallion img{width:29px;height:29px}
.card-copy{text-align:center;padding:8px 20px 25px}
.card-copy h3{font-size:1.9rem;margin:7px 0 8px}
.card-copy p{min-height:45px}
.card-copy a{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.75rem;
}

.escape-sip{
  border:1px solid var(--gold);
  background:linear-gradient(90deg,var(--navy) 0%, var(--burgundy) 100%);
  color:var(--cream-light);
  display:grid;
  grid-template-columns:1.05fr 1.3fr .75fr;
  align-items:stretch;
  margin:24px 0 18px;
}
.escape-image{
  min-height:280px;
  background:
    radial-gradient(circle at 30% 35%,rgba(195,155,98,.28),transparent 22%),
    linear-gradient(145deg,#3b241e,#171f2d 52%,#0f151d);
}
.escape-copy{padding:30px}
.escape-copy h2{font-size:2.25rem;margin:0;color:var(--cream-light)}
.escape-copy p{line-height:1.65}
.escape-action{display:grid;place-items:center;padding:25px}

.events-strip{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  padding:24px 8px 38px;
}
.event-symbol{
  width:62px;
  height:62px;
  border:1px solid var(--gold);
  border-radius:50%;
  display:grid;
  place-items:center;
}
.event-symbol img{width:36px}
.events-copy h2{font-size:1.85rem;margin:0 0 8px}
.events-copy p{margin:0;line-height:1.6}

.location-section{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  background:var(--navy);
  color:var(--cream-light);
  border-top:1px solid var(--gold);
}
.location-art{
  min-height:325px;
  background:
    linear-gradient(135deg,rgba(195,155,98,.12),transparent 35%),
    linear-gradient(145deg,#261a17,#111820 56%,#0c1117);
  display:grid;
  place-items:center;
}
.sign-card{
  width:min(360px,72%);
  padding:18px;
  border:1px solid var(--gold);
  background:#121820;
}
.sign-card img{width:100%;height:auto;object-fit:contain}
.location-copy{
  padding:40px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
}
.location-copy h2{font-size:2.4rem;margin:0}
.location-copy p{line-height:1.6}
.tags{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.74rem;
}

.site-footer{
  background:var(--cream);
  border-top:1px solid var(--gold);
}
.footer-inner{
  width:min(calc(100% - 36px),var(--max));
  margin:auto;
  padding:30px 0 22px;
  display:grid;
  grid-template-columns:1.25fr .8fr .9fr .8fr;
  gap:28px;
}
.footer-logo-wrap img{
  width:min(300px,100%);
  height:auto;
  object-fit:contain;
}
.footer-inner h4{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.73rem;
}
.footer-inner p{font-size:.86rem;line-height:1.8}
.footer-inner a{text-decoration:none}
.copyright{
  border-top:1px solid rgba(195,155,98,.55);
  text-align:center;
  padding:15px;
  font-size:.72rem;
  letter-spacing:.08em;
}

@media(max-width:980px){
  .nav{display:none}
  .nav-shell{grid-template-columns:auto 1fr auto;min-height:82px}
  .menu-toggle{display:block}
  .logo-link{grid-column:2;width:330px;max-width:58vw}
  .experience-grid{grid-template-columns:1fr}
  .escape-sip{grid-template-columns:1fr}
  .events-strip{grid-template-columns:1fr;text-align:center}
  .event-symbol{margin:auto}
  .location-section{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .logo-link{width:270px;max-width:72vw}
  .hero{min-height:610px}
  .hero h1{font-size:2.55rem}
  .inner{width:min(calc(100% - 22px),var(--max))}
  .key-divider span{width:62px}
  .escape-copy{padding:24px}
  .location-copy{padding:32px 20px}
  .footer-inner{grid-template-columns:1fr}
}


/* =========================================================
   EXPERIENCES PAGE
   ========================================================= */

.experience-hero{
  position:relative;
  min-height:620px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 25% 48%,rgba(71,19,40,.62),transparent 32%),
    radial-gradient(circle at 76% 44%,rgba(36,63,77,.52),transparent 31%),
    linear-gradient(115deg,#120f16,#171f2d 50%,#091117);
  border-bottom:1px solid var(--gold);
}
.experience-hero:before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at center,transparent 0 32%,rgba(5,9,13,.55) 80%);
}
.experience-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.42))}
.experience-hero-content{
  position:relative;z-index:2;text-align:center;color:var(--cream-light);
  width:min(900px,calc(100% - 36px));padding:70px 0;
}
.experience-hero h1,.experience-intro h2,.story-copy h2,.escape-sip-feature h2,.before-you-enter h2,.final-experience-cta h2{
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;font-weight:400;letter-spacing:.045em;
}
.experience-hero h1{font-size:clamp(3rem,6vw,5.7rem);line-height:1.05;margin:10px 0}
.experience-hero h1 .hero-subtitle{display:block;font-size:.42em;line-height:1.2;margin-top:.18em}
.experience-hero-content>p:last-of-type{font-size:1.08rem;line-height:1.7}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;margin:0 0 12px}
.eyebrow.gold{color:var(--gold)}
.eyebrow.navy{color:var(--navy)}
.eyebrow.burgundy{color:var(--burgundy)}

.experience-intro{padding:70px 20px;background:var(--cream);text-align:center}
.inner.narrow{max-width:820px}
.experience-intro h2{font-size:clamp(2.2rem,4vw,3.7rem);margin:0}
.experience-intro p{line-height:1.75}
.experience-meta{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--burgundy);margin-top:24px}

.story-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px}
.story-section.reverse{direction:rtl}
.story-section.reverse>*{direction:ltr}
.story-art{position:relative;display:grid;place-items:center;overflow:hidden;border-right:1px solid var(--gold)}
.story-section.reverse .story-art{border-right:0;border-left:1px solid var(--gold)}
.ghosted-art{
  background:
    linear-gradient(rgba(10,9,13,.22),rgba(10,9,13,.65)),
    radial-gradient(circle at 48% 34%,rgba(195,155,98,.24),transparent 19%),
    linear-gradient(145deg,#291d1c,#12131a 55%,#090b10);
}
.airlock-art{
  background:
    radial-gradient(circle at center,#284757 0 7%,#172e3b 8% 15%,#0d1720 16% 27%,#080d12 28%),
    linear-gradient(135deg,#0d1a24,#090d12);
}
.story-number{
  position:absolute;top:28px;left:32px;
  color:rgba(195,155,98,.65);
  font-family:Georgia,serif;font-size:1rem;letter-spacing:.15em
}
.hotel-plaque,.airlock-mark{
  width:min(390px,72%);padding:42px 25px;
  border:1px solid var(--gold);
  text-align:center;color:var(--cream-light);
  box-shadow:0 0 0 8px rgba(195,155,98,.06);
}
.hotel-plaque span,.airlock-mark span{display:block;font-family:Georgia,serif;font-style:italic;font-size:1.35rem}
.hotel-plaque strong,.airlock-mark strong{
  display:block;font-family:Georgia,serif;text-transform:uppercase;
  letter-spacing:.1em;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;color:var(--gold)
}
.hotel-plaque small,.airlock-mark small{text-transform:uppercase;letter-spacing:.18em;font-size:.67rem}

.story-copy{
  padding:clamp(48px,7vw,100px);
  background:var(--navy);color:var(--cream-light);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
.story-copy.cream-copy{background:var(--cream);color:var(--navy)}
.story-copy h2{font-size:clamp(2.8rem,5vw,5rem);margin:0 0 12px}
.story-copy h3{
  font-family:Georgia,serif;font-weight:400;font-style:italic;
  font-size:1.35rem;line-height:1.45;margin:0 0 18px
}
.story-copy p{line-height:1.75;max-width:650px}
.story-rule{width:120px;height:1px;background:var(--gold);margin:0 0 24px}
.navy-rule{background:var(--navy)}
.experience-details{
  display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px;
}
.experience-details span{
  border:1px solid rgba(195,155,98,.65);
  padding:8px 12px;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;color:var(--gold)
}
.dark-details span{color:var(--navy);border-color:var(--gold)}

.escape-sip-feature{
  background:linear-gradient(110deg,#171f2d,#471328);
  color:var(--cream-light);padding:78px 20px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)
}
.escape-sip-heading{text-align:center;max-width:760px;margin:0 auto 48px}
.escape-sip-feature h2{font-size:clamp(2.6rem,5vw,4.8rem);margin:0}
.escape-lead{font-family:Georgia,serif;font-style:italic;font-size:1.25rem}
.sip-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:20px;margin-bottom:45px}
.sip-step{text-align:center;border:1px solid rgba(195,155,98,.55);padding:32px 20px;min-height:200px}
.sip-step>span{font-family:Georgia,serif;color:var(--gold);font-size:1.35rem}
.sip-step h3{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.05em}
.sip-step p{line-height:1.6;font-size:.9rem}
.sip-key img{width:38px;filter:brightness(0) saturate(100%) invert(68%) sepia(19%) saturate(1011%) hue-rotate(355deg) brightness(91%)}

.before-you-enter{background:var(--cream);padding:75px 20px;text-align:center}
.before-you-enter h2{font-size:clamp(2.2rem,4vw,3.6rem);margin:0}
.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.policy-grid article{border-top:1px solid var(--gold);padding:28px 18px 12px}
.policy-icon{
  width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;margin:0 auto 18px;font-family:Georgia,serif;color:var(--burgundy)
}
.policy-grid h3{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.05em}
.policy-grid p{font-size:.88rem;line-height:1.65}
.policy-note{max-width:880px;margin:42px auto 0;padding-top:22px;border-top:1px solid rgba(195,155,98,.6);font-size:.82rem;font-style:italic}

.final-experience-cta{
  background:var(--navy);color:var(--cream-light);text-align:center;padding:80px 20px
}
.final-experience-cta>img{
  width:64px;margin:0 auto 20px;
  filter:brightness(0) saturate(100%) invert(68%) sepia(19%) saturate(1011%) hue-rotate(355deg) brightness(91%)
}
.final-experience-cta h2{font-size:clamp(2.3rem,4vw,4rem);margin:8px 0 14px}
.final-experience-cta>p:not(.eyebrow){margin:0 0 28px}

@media(max-width:900px){
  .story-section,.story-section.reverse{grid-template-columns:1fr;direction:ltr}
  .story-art{min-height:470px;border-right:0;border-bottom:1px solid var(--gold)}
  .story-section.reverse .story-art{border-left:0;border-bottom:1px solid var(--gold)}
  .sip-grid{grid-template-columns:1fr}
  .sip-key{display:grid;place-items:center;transform:rotate(90deg)}
  .policy-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .experience-hero{min-height:560px}
  .experience-hero h1{font-size:2.65rem}
  .story-art{min-height:390px}
  .story-copy{padding:45px 24px}
  .policy-grid{grid-template-columns:1fr}
  .sip-step{min-height:auto}
}

.btn-coming-soon{
  background:rgba(23,31,45,.08);
  color:var(--navy);
  border-color:var(--gold);
  cursor:default;
  opacity:.88;
}
.btn-coming-soon-outline{
  background:transparent;
  color:var(--gold);
  border-color:var(--gold);
  cursor:default;
  opacity:.9;
}


/* =========================================================
   LOUNGE PAGE
   ========================================================= */

.lounge-hero{
  min-height:640px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 28% 50%,rgba(195,155,98,.18),transparent 25%),
    radial-gradient(circle at 70% 42%,rgba(71,19,40,.48),transparent 28%),
    linear-gradient(120deg,#141116,#171f2d 48%,#090d12);
  border-bottom:1px solid var(--gold);
}
.lounge-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.52)),
    radial-gradient(circle at center,transparent 0 30%,rgba(0,0,0,.44) 80%);
}
.lounge-hero-content{
  position:relative;z-index:2;
  width:min(900px,calc(100% - 36px));
  text-align:center;color:var(--cream-light);
}
.lounge-hero h1,.lounge-intro h2,.lounge-feature-copy h2,.menu-showcase h2,.wine-food-split h2,.escape-lounge-bridge h2,.visit-lounge h2{
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;
  font-weight:400;
  letter-spacing:.045em;
}
.lounge-hero h1{font-size:clamp(3.2rem,7vw,6.5rem);margin:0;line-height:1}
.lounge-hero-content>p:last-of-type{font-size:1.08rem;line-height:1.7}

.lounge-intro{padding:76px 20px;background:var(--cream);text-align:center}
.lounge-intro h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:0}
.lounge-intro p{line-height:1.75}

.lounge-feature-grid{background:var(--cream)}
.lounge-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:430px;
  border-top:1px solid rgba(195,155,98,.7);
}
.lounge-feature.reverse{grid-template-columns:.9fr 1.1fr}
.lounge-feature.reverse .lounge-feature-art{order:2}
.lounge-feature-art{
  min-height:420px;
  position:relative;
}
.cocktails-art{
  background:
    radial-gradient(circle at 55% 38%,rgba(195,155,98,.25),transparent 20%),
    linear-gradient(135deg,#2b171c,#131820 58%,#0a0d12);
}
.wine-art{
  background:
    radial-gradient(circle at 35% 45%,rgba(71,19,40,.46),transparent 22%),
    linear-gradient(135deg,#121820,#3b1b22 58%,#171f2d);
}
.food-art{
  background:
    radial-gradient(circle at 50% 50%,rgba(195,155,98,.16),transparent 25%),
    linear-gradient(140deg,#2c211a,#11161d 62%,#080b10);
}
.lounge-feature-copy{
  padding:clamp(42px,7vw,90px);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
.lounge-feature-copy h2{font-size:clamp(2.5rem,4vw,4rem);margin:0 0 14px}
.lounge-feature-copy p{line-height:1.7}
.text-link{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem;
  margin-top:12px;
  border-bottom:1px solid var(--gold);
  padding-bottom:5px;
}

.menu-showcase{
  background:linear-gradient(110deg,#171f2d,#471328);
  color:var(--cream-light);
  padding:76px 20px;
}
.menu-heading{text-align:center;max-width:780px;margin:auto}
.menu-showcase h2{font-size:clamp(2.4rem,5vw,4.5rem);margin:0}
.menu-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:45px;
}
.menu-cards article{
  border:1px solid rgba(195,155,98,.6);
  padding:28px 20px;
  min-height:160px;
  text-align:center;
}
.menu-cards h3{
  font-family:Georgia,serif;
  text-transform:uppercase;
  font-weight:400;
  letter-spacing:.05em;
  color:var(--gold);
}
.menu-cards p{font-size:.86rem;line-height:1.6}
.menu-note{text-align:center;margin:34px 0 0;font-style:italic}

.wine-food-split{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.wine-panel,.food-panel{
  padding:clamp(50px,7vw,90px);
  min-height:500px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.wine-panel{background:var(--cream);color:var(--navy)}
.food-panel{background:var(--navy);color:var(--cream-light)}
.wine-food-split h2{font-size:clamp(2.3rem,4vw,3.9rem);margin:0 0 18px}
.wine-food-split p{line-height:1.7}
.mini-list{display:grid;gap:10px;margin-top:22px}
.mini-list span{
  padding:10px 0;
  border-bottom:1px solid rgba(195,155,98,.65);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.75rem;
}
.dark-list span{color:var(--cream-light)}

.escape-lounge-bridge{
  background:
    linear-gradient(rgba(23,31,45,.86),rgba(23,31,45,.9)),
    radial-gradient(circle at center,rgba(195,155,98,.2),transparent 40%);
  color:var(--cream-light);
  padding:76px 20px;
  text-align:center;
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
}
.escape-lounge-bridge h2{font-size:clamp(2.6rem,5vw,4.8rem);margin:0}
.escape-lounge-bridge p{max-width:760px;margin:0 auto 28px;line-height:1.7}

.visit-lounge{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  background:var(--cream);
}
.visit-lounge-art{
  min-height:480px;
  background:
    radial-gradient(circle at 46% 38%,rgba(195,155,98,.2),transparent 24%),
    linear-gradient(145deg,#211817,#111820 58%,#0b0e13);
}
.visit-lounge-copy{
  padding:clamp(46px,7vw,90px);
}
.visit-lounge h2{font-size:clamp(2.5rem,4vw,4rem);margin:0 0 8px}
.address{font-size:1.05rem;line-height:1.7}
.hours-block{
  margin:28px 0;
  border-top:1px solid var(--gold);
}
.hours-block div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:12px 0;
  border-bottom:1px solid rgba(195,155,98,.55);
}
.hours-block span{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.hours-block strong{font-family:Georgia,serif;font-weight:400}

@media(max-width:900px){
  .lounge-feature,.lounge-feature.reverse{grid-template-columns:1fr}
  .lounge-feature.reverse .lounge-feature-art{order:0}
  .menu-cards{grid-template-columns:1fr 1fr}
  .wine-food-split{grid-template-columns:1fr}
  .visit-lounge{grid-template-columns:1fr}
}
@media(max-width:600px){
  .lounge-hero{min-height:560px}
  .lounge-hero h1{font-size:3rem}
  .menu-cards{grid-template-columns:1fr}
  .lounge-feature-copy,.wine-panel,.food-panel,.visit-lounge-copy{padding:42px 24px}
}


/* Actual lounge menu content */
.menu-category-nav{background:var(--cream);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);position:sticky;top:118px;z-index:30}
.menu-category-links{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;padding:16px 0}
.menu-category-links a{text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.69rem}
.detailed-menu{scroll-margin-top:170px}
.menu-light{background:var(--cream);color:var(--navy);padding:76px 20px}
.menu-light .menu-heading{text-align:center}
.menu-light .menu-heading h2,.dessert-section h2{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.045em;font-size:clamp(2.4rem,5vw,4.5rem);margin:0}
.actual-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;margin-top:42px}
.actual-menu-grid article{padding:19px 0;border-bottom:1px solid rgba(195,155,98,.42)}
.actual-menu-grid h3{display:flex;justify-content:space-between;gap:20px;margin:0 0 8px;font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.055em;color:var(--gold)}
.actual-menu-grid h3 b{font-weight:400}
.actual-menu-grid p{margin:0;line-height:1.6;font-size:.87rem}
.dark-text h3{color:var(--navy)}
.beverage-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:42px}
.subhead{font-family:Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1.65rem;border-bottom:1px solid var(--gold);padding-bottom:10px}
.spirit-free-head{margin-top:38px}
.menu-lines{display:grid}
.menu-lines>div{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 20px;padding:14px 0;border-bottom:1px solid rgba(195,155,98,.42)}
.menu-lines strong{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.05em}
.menu-lines span{grid-column:1;font-size:.78rem;line-height:1.5}
.menu-lines em{grid-column:2;grid-row:1 / span 2;font-style:normal;align-self:center}
.light-lines strong,.light-lines span,.light-lines em{color:var(--cream-light)}
.bottle-label{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:1.15rem;color:var(--burgundy);margin:24px 0 0}
.compact-lines>div{padding:10px 0}
.spirit-free-note{font-style:italic;font-size:.82rem;line-height:1.6;margin-top:24px}
.sides-row{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:35px;padding-top:25px;border-top:1px solid rgba(195,155,98,.5)}
.sides-row span{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}
.sides-row b{color:var(--gold);font-weight:400;margin-left:8px}
.dessert-section{background:var(--cream);padding:80px 20px;text-align:center}
.dessert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.dessert-grid article{border:1px solid var(--gold);padding:35px 24px}
.dessert-grid h3{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.08em}
.dessert-grid p{line-height:1.6}
.dessert-grid strong{display:block;color:var(--burgundy);font-family:Georgia,serif;font-size:1.25rem;font-weight:400}
@media(max-width:900px){
  .menu-category-nav{top:82px}
  .actual-menu-grid,.beverage-columns,.dessert-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .menu-category-links{gap:12px 18px}
  .menu-category-links a{font-size:.62rem}
  .actual-menu-grid{gap:0}
}

/* Navigation / anchor offset corrections */
html {
  scroll-padding-top: 118px;
}

#lounge-menu {
  scroll-margin-top: 118px;
}

#signature-cocktails,
#old-fashioned,
#wine,
#beer,
#food,
#dessert {
  scroll-margin-top: 182px;
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: 82px;
  }

  #lounge-menu {
    scroll-margin-top: 82px;
  }

  #signature-cocktails,
  #old-fashioned,
  #wine,
  #beer,
  #food,
  #dessert {
    scroll-margin-top: 145px;
  }
}


/* Keep the Lounge category menu available while scrolling */
.menu-category-nav{
  position:sticky;
  top:118px;
  z-index:900;
  width:100%;
  background:rgba(226,216,204,.98);
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  box-shadow:0 7px 18px rgba(23,31,45,.08);
  backdrop-filter:blur(10px);
}

.menu-category-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:14px 18px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.menu-category-links::-webkit-scrollbar{
  display:none;
}

.menu-category-links a{
  flex:0 0 auto;
  white-space:nowrap;
  padding:5px 0;
  border-bottom:1px solid transparent;
}

.menu-category-links a:hover,
.menu-category-links a:focus{
  border-bottom-color:var(--gold);
}

@media(max-width:900px){
  .menu-category-nav{
    top:82px;
  }

  .menu-category-links{
    justify-content:flex-start;
    gap:20px;
    padding:12px 16px;
  }
}


/* Reliable fixed lounge category navigation */
.menu-category-nav{
  position:relative !important;
  top:auto !important;
}

.menu-category-nav.is-fixed{
  position:fixed !important;
  left:0;
  right:0;
  top:118px !important;
  width:100%;
  z-index:990;
  background:rgba(226,216,204,.98);
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  box-shadow:0 7px 18px rgba(23,31,45,.10);
  backdrop-filter:blur(10px);
}

.menu-category-spacer{
  display:none;
}

.menu-category-spacer.active{
  display:block;
}

@media(max-width:900px){
  .menu-category-nav.is-fixed{
    top:82px !important;
  }
}


/* FINAL Lounge menu behavior:
   The category bar lives inside the sticky site header, so it remains visible
   for the entire Lounge page without relying on JavaScript. */
.lounge-page .site-header{
  position:sticky;
  top:0;
  z-index:2000;
}

.lounge-page .menu-category-nav,
.lounge-page .menu-category-nav.is-fixed{
  position:static !important;
  top:auto !important;
  left:auto;
  right:auto;
  width:100%;
  z-index:auto;
  display:block;
  background:rgba(226,216,204,.99);
  border-top:1px solid var(--gold);
  border-bottom:0;
  box-shadow:0 5px 12px rgba(23,31,45,.06);
  backdrop-filter:blur(10px);
}

.lounge-page .menu-category-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:12px 18px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.lounge-page .menu-category-links::-webkit-scrollbar{
  display:none;
}

.lounge-page .menu-category-links a{
  flex:0 0 auto;
  white-space:nowrap;
  padding:4px 0 7px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.68rem;
  border-bottom:1px solid transparent;
}

.lounge-page .menu-category-links a:hover,
.lounge-page .menu-category-links a:focus{
  border-bottom-color:var(--gold);
}

.lounge-page .menu-category-spacer{
  display:none !important;
}

/* Header is about 158px tall with the category bar on desktop. */
.lounge-page #signature-cocktails,
.lounge-page #old-fashioned,
.lounge-page #wine,
.lounge-page #beer,
.lounge-page #food,
.lounge-page #dessert{
  scroll-margin-top:165px !important;
}

@media(max-width:900px){
  .lounge-page .menu-category-links{
    justify-content:flex-start;
    gap:20px;
    padding:11px 16px;
  }

  .lounge-page #signature-cocktails,
  .lounge-page #old-fashioned,
  .lounge-page #wine,
  .lounge-page #beer,
  .lounge-page #food,
  .lounge-page #dessert{
    scroll-margin-top:132px !important;
  }
}


/* Center the Lounge hero in the initially visible viewport.
   The sticky header + category navigation already consume vertical space,
   so the hero should fill only the remaining screen height. */
.lounge-page .lounge-hero{
  min-height:calc(100vh - 158px);
  height:calc(100vh - 158px);
}

.lounge-page .lounge-hero-content{
  padding:0;
  align-self:center;
}

@media(max-width:900px){
  .lounge-page .lounge-hero{
    min-height:calc(100vh - 125px);
    height:calc(100vh - 125px);
  }
}

@media(max-width:600px){
  .lounge-page .lounge-hero{
    min-height:calc(100svh - 125px);
    height:calc(100svh - 125px);
  }
}


/* True viewport centering for Lounge hero.
   Header height is measured in JS so this stays accurate on desktop/mobile. */
:root{
  --site-header-height: 0px;
}

.lounge-page .lounge-hero{
  min-height:calc(100svh - var(--site-header-height)) !important;
  height:calc(100svh - var(--site-header-height)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}

.lounge-page .lounge-hero-content{
  position:relative;
  top:auto !important;
  transform:none !important;
  margin:0 auto !important;
  padding:0 18px !important;
  align-self:auto !important;
}


/* Homepage hero video: show more of the original frame */
body:not(.lounge-page):not(.experiences-page) .hero-video{
  object-fit:contain;
  object-position:center center;
  background:#171f2d;
}

/* Keep the hero filled visually behind any letterboxing */
body:not(.lounge-page):not(.experiences-page) .hero{
  background:#171f2d;
}


/* Homepage hero video: balanced crop.
   Slightly enlarge the full frame so edge lettering is covered without
   returning to the heavy crop of object-fit: cover. */
body:not(.lounge-page):not(.experiences-page) .hero{
  overflow:hidden;
  background:#171f2d;
}

body:not(.lounge-page):not(.experiences-page) .hero-video{
  object-fit:contain;
  object-position:center center;
  width:104%;
  height:104%;
  max-width:none;
  left:-2%;
  top:-2%;
  transform:scale(1.045);
  transform-origin:center center;
}

/* A touch more crop on narrow mobile screens where the frame edges are more visible. */
@media(max-width:620px){
  body:not(.lounge-page):not(.experiences-page) .hero-video{
    width:108%;
    height:108%;
    left:-4%;
    top:-4%;
    transform:scale(1.06);
  }
}


/* Homepage video — wider cinematic presentation.
   Keep the source image relatively unzoomed and make the hero itself
   shallower, which lets the video appear larger horizontally without
   magnifying/cropping it as aggressively. */
body:not(.lounge-page):not(.experiences-page) .hero{
  min-height:0 !important;
  height:clamp(500px, 64vw, 690px) !important;
  max-height:calc(100svh - 118px);
  overflow:hidden;
  background:#171f2d;
}

body:not(.lounge-page):not(.experiences-page) .hero-video{
  position:absolute;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.01) !important;
  transform-origin:center center;
}

/* Desktop: emphasize width and reduce vertical crop. */
@media(min-width:901px){
  body:not(.lounge-page):not(.experiences-page) .hero{
    height:min(66vw, 680px) !important;
  }
}

/* Mobile remains tall enough for the hero copy while avoiding excessive zoom. */
@media(max-width:900px){
  body:not(.lounge-page):not(.experiences-page) .hero{
    height:clamp(500px, 82svh, 650px) !important;
    max-height:none;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-video{
    transform:scale(1.015) !important;
  }
}


/* FINAL homepage video treatment — NO CROPPING.
   The complete source frame is always visible. Any difference between the
   video's aspect ratio and the browser window is filled by the navy hero
   background rather than by enlarging/cropping the video. */
body:not(.lounge-page):not(.experiences-page) .hero{
  position:relative;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:16 / 9;
  max-height:none !important;
  overflow:hidden;
  background:#171f2d !important;
  display:grid;
  place-items:center;
}

body:not(.lounge-page):not(.experiences-page) .hero-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  scale:1 !important;
}

/* Keep the hero content centered over the complete video frame. */
body:not(.lounge-page):not(.experiences-page) .hero-content{
  position:relative;
  z-index:2;
  align-self:center;
  justify-self:center;
}

/* On phones, preserve the full video rather than switching back to cover. */
@media(max-width:900px){
  body:not(.lounge-page):not(.experiences-page) .hero{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-video{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    transform:none !important;
  }
}


/* Homepage hero — preserve and center the complete frame */
body:not(.lounge-page):not(.experiences-page) .hero{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#171f2d !important;
}

body:not(.lounge-page):not(.experiences-page) .hero-video{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:50% 50% !important;
  transform:translate(-50%,-50%) !important;
  transform-origin:center center !important;
}

body:not(.lounge-page):not(.experiences-page) .hero-content{
  position:relative !important;
  z-index:2 !important;
  margin:auto !important;
  align-self:center !important;
  justify-self:center !important;
}

/* Keep the full centered frame on mobile as well. */
@media(max-width:900px){
  body:not(.lounge-page):not(.experiences-page) .hero{
    aspect-ratio:16 / 9 !important;
    height:auto !important;
    min-height:0 !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-video{
    top:50% !important;
    left:50% !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:translate(-50%,-50%) !important;
  }
}


/* =========================================================
   UPCOMING EVENTS PAGE
   ========================================================= */

.events-hero{
  min-height:620px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 40%,rgba(71,19,40,.52),transparent 28%),
    radial-gradient(circle at 72% 48%,rgba(195,155,98,.16),transparent 24%),
    linear-gradient(125deg,#11151d,#171f2d 52%,#0b0f15);
  border-bottom:1px solid var(--gold);
}
.events-hero-overlay{
  position:absolute;inset:0;
  background:radial-gradient(circle at center,transparent 0 28%,rgba(0,0,0,.48) 82%);
}
.events-hero-content{
  position:relative;z-index:2;
  width:min(900px,calc(100% - 36px));
  text-align:center;color:var(--cream-light);
}
.events-hero h1,.events-intro h2,.calendar-toolbar h2,.selected-events h2,.all-events-section h2,.events-cta h2{
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;font-weight:400;letter-spacing:.045em;
}
.events-hero h1{font-size:clamp(3rem,6.5vw,6rem);margin:0}
.events-hero-content>p:last-of-type{font-size:1.05rem;line-height:1.7;max-width:720px;margin:0 auto 28px}

.events-intro{padding:72px 20px;background:var(--cream);text-align:center}
.events-intro h2{font-size:clamp(2.1rem,4vw,3.6rem);margin:0}
.events-intro p{line-height:1.75}

.events-calendar-section{padding:65px 20px;background:var(--cream)}
.calendar-toolbar{
  display:flex;justify-content:space-between;align-items:end;gap:25px;
  padding-bottom:22px;border-bottom:1px solid var(--gold);
}
.calendar-toolbar h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}
.calendar-controls{display:flex;gap:8px;flex-wrap:wrap}
.calendar-controls button{
  border:1px solid var(--gold);background:transparent;color:var(--navy);
  min-width:46px;padding:10px 13px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-weekdays{border-left:1px solid rgba(195,155,98,.5);margin-top:24px}
.calendar-weekdays span{
  padding:10px;text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;
  border-top:1px solid rgba(195,155,98,.5);border-right:1px solid rgba(195,155,98,.5);
}
.calendar-grid{border-left:1px solid rgba(195,155,98,.5)}
.calendar-day{
  position:relative;min-height:105px;padding:13px;
  border:0;border-right:1px solid rgba(195,155,98,.5);border-bottom:1px solid rgba(195,155,98,.5);
  background:rgba(255,255,255,.12);color:var(--navy);text-align:left;cursor:pointer;
}
.calendar-day:hover,.calendar-day.selected{background:rgba(195,155,98,.12)}
.calendar-day.outside-month{opacity:.36}
.calendar-day-number{font-family:Georgia,serif;font-size:1rem}
.calendar-key{
  position:absolute;right:12px;bottom:10px;
  width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;color:var(--burgundy);
}
.calendar-help{text-align:center;font-style:italic;font-size:.78rem;margin:18px 0 0}

.selected-events{
  padding:65px 20px;background:linear-gradient(110deg,#171f2d,#471328);color:var(--cream-light);
}
.selected-heading{text-align:center;margin-bottom:32px}
.selected-events h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}
.event-card-grid{display:grid;gap:18px;max-width:1000px;margin:auto}
.event-card{
  display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center;
  border:1px solid rgba(195,155,98,.55);padding:22px;
}
.event-date-chip{text-align:center;border-right:1px solid rgba(195,155,98,.5);padding-right:22px}
.event-date-chip span{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}
.event-date-chip strong{display:block;font-family:Georgia,serif;font-weight:400;margin-top:8px}
.event-card-copy h3{
  font-family:Georgia,serif;text-transform:uppercase;font-weight:400;letter-spacing:.05em;
  margin:0 0 8px;color:var(--gold);font-size:1.5rem;
}
.event-card-copy p{margin:6px 0;line-height:1.55;font-size:.9rem}
.event-location{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem!important}
.btn-event{color:var(--gold);background:transparent;min-width:150px}
.no-events{text-align:center;font-style:italic;opacity:.8}

.all-events-section{padding:76px 20px;background:var(--cream)}
.all-events-heading{text-align:center;margin-bottom:35px}
.all-events-section h2{font-size:clamp(2.2rem,4vw,3.6rem);margin:0}
.event-list{max-width:1000px;margin:auto;border-top:1px solid var(--gold)}
.event-row{
  display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;
  padding:20px 0;border-bottom:1px solid rgba(195,155,98,.55);
}
.event-row-date{text-align:center}
.event-row-date span{display:block;font-size:.68rem;letter-spacing:.14em;color:var(--burgundy)}
.event-row-date strong{display:block;font-family:Georgia,serif;font-size:2rem;font-weight:400}
.event-row-main h3{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;margin:0 0 5px}
.event-row-main p{margin:0;font-size:.82rem}
.event-row>a{text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.events-loading{text-align:center;font-style:italic}

.events-cta{
  background:var(--navy);color:var(--cream-light);text-align:center;padding:78px 20px;
}
.events-cta>img{
  width:60px;margin:0 auto 18px;
  filter:brightness(0) saturate(100%) invert(68%) sepia(19%) saturate(1011%) hue-rotate(355deg) brightness(91%);
}
.events-cta h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:8px 0 14px}
.events-cta>p:not(.eyebrow){margin:0 auto 26px;max-width:700px}

@media(max-width:800px){
  .calendar-day{min-height:82px;padding:9px}
  .event-card{grid-template-columns:90px 1fr}
  .event-card .btn{grid-column:1/-1;justify-self:start}
  .event-row{grid-template-columns:72px 1fr}
  .event-row>a{grid-column:2}
}
@media(max-width:600px){
  .events-hero{min-height:540px}
  .events-hero h1{font-size:2.8rem}
  .calendar-toolbar{align-items:flex-start;flex-direction:column}
  .calendar-weekdays span{font-size:.54rem;padding:8px 3px}
  .calendar-day{min-height:62px;padding:6px}
  .calendar-key{width:20px;height:20px;right:5px;bottom:5px;font-size:.7rem}
  .event-card{grid-template-columns:1fr}
  .event-date-chip{text-align:left;border-right:0;border-bottom:1px solid rgba(195,155,98,.5);padding:0 0 12px}
  .event-card .btn{grid-column:auto;width:100%}
  .event-row{grid-template-columns:58px 1fr;gap:14px}
}


/* =========================================================
   ABOUT PAGE
   ========================================================= */

.about-hero{
  min-height:620px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 28% 42%,rgba(71,19,40,.48),transparent 27%),
    radial-gradient(circle at 72% 45%,rgba(195,155,98,.14),transparent 23%),
    linear-gradient(125deg,#141116,#171f2d 50%,#0b0e13);
  border-bottom:1px solid var(--gold);
}
.about-hero-overlay{
  position:absolute;inset:0;
  background:radial-gradient(circle at center,transparent 0 28%,rgba(0,0,0,.47) 82%);
}
.about-hero-content{
  position:relative;z-index:2;
  width:min(900px,calc(100% - 36px));
  text-align:center;color:var(--cream-light);
}
.about-hero h1,.about-intro h2,.about-copy h2,.philosophy-section h2,.downtown-section h2,.about-cta h2{
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;font-weight:400;letter-spacing:.045em;
}
.about-hero h1{
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:1.05;margin:0;
}
.about-hero-content>p:last-of-type{
  max-width:700px;margin:0 auto;
  font-size:1.05rem;line-height:1.7;
}

.about-intro{
  padding:76px 20px;
  text-align:center;background:var(--cream);
}
.about-intro h2{
  font-size:clamp(2.2rem,4vw,3.7rem);margin:0;
}
.about-intro p{line-height:1.8}

.about-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:560px;
  border-top:1px solid rgba(195,155,98,.7);
}
.about-split.reverse{direction:rtl}
.about-split.reverse>*{direction:ltr}
.about-art{
  min-height:520px;
  position:relative;
}
.lounge-about-art{
  background:
    radial-gradient(circle at 35% 42%,rgba(195,155,98,.2),transparent 22%),
    linear-gradient(145deg,#281918,#151a22 60%,#090c11);
}
.experiences-about-art{
  background:
    radial-gradient(circle at 55% 42%,rgba(36,63,77,.28),transparent 23%),
    linear-gradient(135deg,#0d1720,#171f2d 48%,#2b1820);
}
.about-copy{
  padding:clamp(50px,7vw,95px);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  background:var(--cream);color:var(--navy);
}
.about-copy.dark-copy{
  background:var(--navy);color:var(--cream-light);
}
.about-copy h2{
  font-size:clamp(2.4rem,4vw,4rem);
  margin:0 0 18px;
}
.about-copy p{line-height:1.75}
.light-link{color:var(--cream-light)}

.philosophy-section{
  background:var(--cream);
  padding:78px 20px;
}
.philosophy-heading{text-align:center;max-width:780px;margin:auto}
.philosophy-section h2{
  font-size:clamp(2.2rem,4vw,3.7rem);margin:0;
}
.philosophy-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:24px;margin-top:48px;
}
.philosophy-grid article{
  border:1px solid var(--gold);
  padding:34px 26px;
  text-align:center;
}
.philosophy-grid img{
  width:44px;margin:0 auto 18px;
}
.philosophy-grid h3{
  font-family:Georgia,serif;
  text-transform:uppercase;font-weight:400;letter-spacing:.05em;
}
.philosophy-grid p{font-size:.9rem;line-height:1.7}

.downtown-section{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  background:linear-gradient(110deg,#171f2d,#471328);
  color:var(--cream-light);
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
}
.downtown-copy{
  padding:clamp(55px,7vw,95px);
  display:flex;flex-direction:column;justify-content:center;
}
.downtown-section h2{
  font-size:clamp(2.5rem,4vw,4rem);margin:0 0 18px;
}
.downtown-copy p{line-height:1.75;max-width:720px}
.downtown-art{
  min-height:500px;
  background:
    radial-gradient(circle at 50% 42%,rgba(195,155,98,.18),transparent 24%),
    linear-gradient(145deg,#30201a,#111820 58%,#090d12);
}

.about-cta{
  background:var(--navy);color:var(--cream-light);
  text-align:center;padding:82px 20px;
}
.about-cta>img{
  width:60px;margin:0 auto 18px;
  filter:brightness(0) saturate(100%) invert(68%) sepia(19%) saturate(1011%) hue-rotate(355deg) brightness(91%);
}
.about-cta h2{
  font-size:clamp(2.3rem,4vw,3.9rem);margin:8px 0 14px;
}
.about-cta>p:not(.eyebrow){
  max-width:700px;margin:0 auto 28px;line-height:1.7;
}

@media(max-width:900px){
  .about-split,.about-split.reverse{
    grid-template-columns:1fr;direction:ltr;
  }
  .about-art{min-height:420px}
  .philosophy-grid{grid-template-columns:1fr}
  .downtown-section{grid-template-columns:1fr}
}
@media(max-width:600px){
  .about-hero{min-height:540px}
  .about-hero h1{font-size:2.7rem}
  .about-copy,.downtown-copy{padding:44px 24px}
  .about-art,.downtown-art{min-height:360px}
}


/* =========================================================
   FINAL AUDIT CORRECTIONS
   Preserve the restored centered-home baseline while making
   the primary header structurally identical across all pages.
   ========================================================= */

/* Lounge categories are a separate sticky secondary navigation,
   so the main branded header remains identical site-wide. */
.lounge-page .menu-category-nav,
.lounge-page .menu-category-nav.is-fixed{
  position:sticky !important;
  top:118px !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  z-index:900 !important;
  display:block !important;
  background:rgba(226,216,204,.99) !important;
  border-top:1px solid var(--gold) !important;
  border-bottom:1px solid var(--gold) !important;
  box-shadow:0 5px 12px rgba(23,31,45,.06) !important;
}

@media(max-width:900px){
  .lounge-page .menu-category-nav,
  .lounge-page .menu-category-nav.is-fixed{
    top:82px !important;
  }
}

/* With the category bar outside the header, the Lounge hero uses the
   viewport below both navigation rows without changing the primary header. */
.lounge-page .lounge-hero{
  min-height:calc(100svh - var(--site-header-height) - 45px) !important;
  height:calc(100svh - var(--site-header-height) - 45px) !important;
}

/* Make keyboard focus visible on navigation and buttons. */
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}


/* HOME — Lounge card photograph only.
   Replaces the existing dark placeholder in the Lounge card.
   Card structure, dimensions, symbol, copy, border, and link remain unchanged. */
.lounge-photo{
  background-image:url("../assets/lounge-card.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.lounge-photo::after{
  background:linear-gradient(180deg,rgba(23,31,45,.02),rgba(23,31,45,.12)) !important;
}

/* Compact top banner test — layout and nav sizing otherwise unchanged */
:root{--site-header-height:102px !important;}
.site-header,.site-header .nav-shell{
  height:102px !important;
  min-height:102px !important;
}
.site-header .nav-shell{
  padding-top:4px !important;
  padding-bottom:4px !important;
}
.site-header .logo-link,
.site-header .logo-link img{max-height:94px !important;}

@media(min-width:901px){
  .lounge-page .menu-category-nav,
  .lounge-page .menu-category-nav.is-fixed{top:102px !important;}
}
@media(max-width:900px){
  :root{--site-header-height:76px !important;}
  .site-header,.site-header .nav-shell{
    height:76px !important;
    min-height:76px !important;
  }
  .site-header .logo-link,
  .site-header .logo-link img{max-height:70px !important;}
  .lounge-page .menu-category-nav,
  .lounge-page .menu-category-nav.is-fixed{top:76px !important;}
}


/* HOME — exact facade photo in the existing Find the Door image area.
   No layout, dimensions, copy, buttons, or neighboring sections are changed. */
.location-section .location-art{
  background-image:url("../assets/cipher-facade.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* HOME — Ghosted card photograph only.
   Uses the existing photo area above Ghosted; card layout and copy remain unchanged. */
.experience-card .ghosted-photo{
  background-image:url("../assets/ghosted-card.jpg") !important;
  background-size:cover !important;
  background-position:center 52% !important;
  background-repeat:no-repeat !important;
}
.experience-card .ghosted-photo::after{
  background:linear-gradient(180deg,rgba(23,31,45,.01),rgba(23,31,45,.10)) !important;
}


/* HOME — approved Escape + Sip image only.
   Fills the existing .escape-image area; section layout/copy/actions remain unchanged. */
.escape-sip .escape-image{
  background-image:url("../assets/escape-sip-card.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* LOUNGE MENU — public website version without prices.
   Menu item names and descriptions remain unchanged. */
.lounge-page .actual-menu-grid h3{
  justify-content:flex-start !important;
}
.lounge-page .menu-lines > div{
  grid-template-columns:minmax(150px,.9fr) minmax(0,1.6fr) !important;
}
.lounge-page .menu-lines > div > em{
  display:none !important;
}
.lounge-page .sides-row{
  justify-content:center !important;
}
.lounge-page .dessert-grid article > strong{
  display:none !important;
}


/* Lounge — Salads + Sides subsection heading */
.lounge-page .sides-subhead{
  margin:34px 0 14px;
  text-align:center;
  font:inherit;
  font-size:1.05rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
}


/* ABOUT — real lounge photograph in the existing Lounge artwork slot only. */
.about-page .lounge-about-art{
  background-image:url("../assets/about-lounge-photo.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* ABOUT — exact immersive-experiences collage cropped from supplied artwork.
   Existing section structure, copy, sizing and layout remain unchanged. */
.about-page .immersive-about-art,
.about-page .experiences-about-art,
.about-page .escape-about-art{
  background-image:url("../assets/about-immersive-experiences.jpg") !important;
  background-size:contain !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* ABOUT — make the existing Immersive Experiences crop fill its entire
   existing artwork space. No section/layout/content changes. */
.about-page .immersive-about-art,
.about-page .experiences-about-art,
.about-page .escape-about-art{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* ABOUT — licensed Historic Downtown McKinney photograph in the existing
   final Downtown artwork space. */
.about-page .downtown-art{
  background-image:
    linear-gradient(rgba(23,31,45,.13),rgba(23,31,45,.13)),
    url("../assets/historic-downtown-mckinney.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.about-page .photo-credit{
  margin-top:24px !important;
  font-size:.62rem !important;
  line-height:1.5 !important;
  opacity:.72 !important;
}
.about-page .photo-credit a{
  color:inherit !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}


/* LOUNGE — licensed Downtown McKinney streetscape in the existing
   left-side Meet Us Downtown artwork area. */
.lounge-page .visit-lounge-art{
  background-image:
    linear-gradient(rgba(23,31,45,.08),rgba(23,31,45,.08)),
    url("https://upload.wikimedia.org/wikipedia/commons/f/f4/McKinney_downtown.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.lounge-page .visit-photo-credit{
  margin:18px 0 20px !important;
  font-size:.60rem !important;
  line-height:1.5 !important;
  opacity:.68 !important;
}
.lounge-page .visit-photo-credit a{
  color:inherit !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}


/* LOUNGE — use the existing Cipher Lounge facade photograph in the
   left-side Meet Us Downtown artwork area. */
.lounge-page .visit-lounge-art{
  background-image:url("../assets/cipher-facade.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* LEGAL PAGES + FOOTER LINKS */
.footer-legal{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  margin-top:18px;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.72;
}
.footer-legal a{color:inherit;text-decoration:none}
.footer-legal a:hover{text-decoration:underline;text-underline-offset:3px}

.legal-page{
  background:#171f2d;
  color:#e2d8cc;
}
.legal-page .site-header{
  position:relative;
}
.legal-hero{
  max-width:900px;
  margin:0 auto;
  padding:90px 28px 55px;
  text-align:center;
}
.legal-hero .eyebrow{
  color:#c39b62;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
}
.legal-hero h1{
  margin:10px 0 20px;
  color:#e2d8cc;
  font-size:clamp(2.5rem,6vw,4.8rem);
}
.legal-hero > p:not(.eyebrow):not(.legal-date){
  max-width:720px;
  margin:0 auto;
  line-height:1.8;
  opacity:.88;
}
.legal-date{
  margin-top:24px;
  color:#c39b62;
  font-size:.72rem;
  letter-spacing:.06em;
}
.legal-content{
  width:min(920px,calc(100% - 40px));
  margin:0 auto 90px;
  padding:46px clamp(24px,5vw,64px);
  border:1px solid rgba(195,155,98,.35);
  background:rgba(8,13,22,.24);
}
.legal-section{
  padding:0 0 30px;
  margin:0 0 30px;
  border-bottom:1px solid rgba(195,155,98,.18);
}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{
  margin:0 0 12px;
  color:#c39b62;
  font-size:1.25rem;
}
.legal-section p{
  margin:0;
  line-height:1.85;
  opacity:.9;
}
.legal-footer{
  padding:30px 24px 42px;
  text-align:center;
  border-top:1px solid rgba(195,155,98,.25);
  font-size:.75rem;
  line-height:1.8;
  opacity:.78;
}
.legal-footer a{color:#c39b62;text-decoration:none}
.legal-footer a:hover{text-decoration:underline}
@media(max-width:700px){
  .legal-hero{padding:60px 20px 38px}
  .legal-content{width:calc(100% - 24px);padding:30px 20px;margin-bottom:55px}
}


/* Legal pages — content only.
   Header and footer intentionally use the exact same site components as all other pages. */
.legal-page .legal-hero{
  padding-top:70px;
}
.legal-page .site-footer{
  margin-top:0;
}


/* FINAL FOOTER LINK FIX — one consistent footer across every page */
.site-footer a{
  color:inherit;
  text-decoration:none;
}
.site-footer a:hover,
.site-footer a:focus-visible{
  color:#c39b62;
  text-decoration:underline;
  text-underline-offset:3px;
}
.site-footer .footer-legal{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  margin:20px 0 8px;
}


/* Privacy + Terms footer visual correction.
   Legal pages use light text globally; restore the normal dark footer text
   used on every other Cipher Lounge page. */
.legal-page .site-footer{
  color:var(--navy);
}
.legal-page .site-footer .footer-inner p,
.legal-page .site-footer .footer-inner a,
.legal-page .site-footer .footer-legal,
.legal-page .site-footer .footer-legal a,
.legal-page .site-footer .copyright{
  color:var(--navy);
}
.legal-page .site-footer .footer-inner h4{
  color:var(--gold);
}
.legal-page .site-footer a:hover,
.legal-page .site-footer a:focus-visible{
  color:var(--gold);
}


/* FINAL LEGAL FOOTER FIX
   Use the site's actual --navy variable; --ink is not defined. */
body.legal-page .site-footer{
  background:var(--cream) !important;
  color:var(--navy) !important;
}
body.legal-page .site-footer .footer-inner,
body.legal-page .site-footer .footer-inner p,
body.legal-page .site-footer .footer-inner a,
body.legal-page .site-footer .footer-legal,
body.legal-page .site-footer .footer-legal a,
body.legal-page .site-footer .copyright{
  color:var(--navy) !important;
  opacity:1;
}
body.legal-page .site-footer .footer-inner h4{
  color:var(--gold) !important;
}


/* LOUNGE — Happy Hour */
.lounge-page .happy-hour-section{
  border-top:1px solid rgba(195,155,98,.35);
  border-bottom:1px solid rgba(195,155,98,.35);
}
.lounge-page .happy-hour-time{
  margin:16px 0 0;
  text-align:center;
  color:var(--navy);
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lounge-page .happy-hour-grid{
  width:min(920px,100%);
  margin:34px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.lounge-page .happy-hour-grid article{
  padding:26px 18px;
  text-align:center;
  border:1px solid rgba(195,155,98,.55);
  background:rgba(255,255,255,.18);
}
.lounge-page .happy-hour-grid strong{
  display:block;
  margin-bottom:8px;
  color:var(--burgundy);
  font-size:1.18rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lounge-page .happy-hour-grid span{
  display:block;
  color:var(--navy);
  line-height:1.5;
}
@media(max-width:800px){
  .lounge-page .happy-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:480px){
  .lounge-page .happy-hour-grid{grid-template-columns:1fr;}
}

.reviews-hero{background:var(--navy);color:var(--cream);padding:90px 24px;text-align:center}.reviews-hero .inner{max-width:820px;margin:auto}.reviews-hero h1{font-size:clamp(2.7rem,6vw,5rem);margin:10px 0 20px}.reviews-choice{background:var(--cream);padding:70px 24px}.reviews-choice .inner{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-card{border:1px solid rgba(195,155,98,.55);padding:42px;text-align:center}.review-card h2,.review-card p{color:var(--navy)}.gift-card-cta{background:var(--navy);color:var(--cream);padding:70px 24px;text-align:center}.gift-card-cta .inner{max-width:780px;margin:auto}.gift-card-cta h2{font-size:clamp(2rem,4vw,3.5rem)}.gift-fineprint{max-width:680px;margin:24px auto 0;font-size:.72rem;line-height:1.6;opacity:.7}.newsletter-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.newsletter-modal.is-open{display:flex}.newsletter-backdrop{position:absolute;inset:0;background:rgba(8,13,22,.76)}.newsletter-dialog{position:relative;z-index:1;width:min(520px,100%);background:var(--cream);color:var(--navy);padding:52px 42px 40px;text-align:center;border:1px solid var(--gold);box-shadow:0 25px 80px rgba(0,0,0,.35)}.newsletter-dialog h2{font-size:2.3rem}.newsletter-close{position:absolute;right:15px;top:10px;border:0;background:none;color:var(--navy);font-size:2rem;cursor:pointer}.newsletter-later{display:block;margin:18px auto 0;border:0;background:none;color:var(--navy);text-decoration:underline;cursor:pointer}@media(max-width:700px){.reviews-choice .inner{grid-template-columns:1fr}.newsletter-dialog{padding:46px 24px 32px}}


/* Upcoming Events — closing CTA heading */
.events-night-heading{
  font-size:clamp(1.85rem,3.6vw,3rem) !important;
}

.site-footer .footer-social{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.65rem;margin:22px 0 6px;color:var(--navy);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.site-footer .footer-social>span:first-child{color:var(--gold);font-weight:600}
.site-footer .footer-social a{color:var(--navy);text-decoration:none}
.site-footer .footer-social a:hover,.site-footer .footer-social a:focus-visible{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* Lounge cocktail photography */
.cocktail-gallery{
  width:min(1080px,calc(100% - 40px));
  margin:34px auto 46px;
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  grid-auto-rows:235px;
  gap:14px;
}
.cocktail-photo{position:relative;margin:0;overflow:hidden;border:1px solid rgba(195,155,98,.55);background:#0b1420}
.cocktail-photo-feature{grid-row:span 2}
.cocktail-photo-wide{grid-column:span 2}
.cocktail-photo img{width:100%;height:100%;display:block;object-fit:cover}
.cocktail-photo figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;
  background:linear-gradient(transparent,rgba(5,10,17,.88));
  color:#e7c27b;font-family:Georgia,serif;font-size:.88rem;
  letter-spacing:.08em;text-transform:uppercase;
}
.old-fashioned-feature{
  width:min(620px,calc(100% - 40px));height:340px;margin:30px auto 42px;
  overflow:hidden;border:1px solid rgba(195,155,98,.55);
}
.old-fashioned-feature img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
@media(max-width:800px){
  .cocktail-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .cocktail-photo-feature{grid-row:span 1}
  .cocktail-photo-wide{grid-column:span 1}
}
@media(max-width:480px){
  .cocktail-gallery{grid-template-columns:1fr;grid-auto-rows:260px}
  .old-fashioned-feature{height:300px}
}


/* REFINED COCKTAIL GALLERY — standardized images, no cropping */
.lounge-page .cocktail-gallery-standardized{
  width:min(1080px,calc(100% - 40px));
  margin:34px auto 48px;
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

.lounge-page .cocktail-gallery-standardized .cocktail-photo{
  flex:0 1 calc(33.333% - 18px);
  max-width:330px;
  aspect-ratio:1/1;
  margin:0;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(195,155,98,.62);
  background:#0d141d;
}

.lounge-page .cocktail-gallery-standardized .cocktail-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain !important;
  object-position:center center !important;
  background:#0d141d;
}

.lounge-page .cocktail-gallery-standardized .cocktail-photo figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:30px 14px 12px;
  background:linear-gradient(transparent,rgba(5,10,17,.88));
  color:#e7c27b;
  font-family:Georgia,serif;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}

/* Old Fashioned feature uses the same standardized, uncropped image treatment */
.lounge-page .old-fashioned-feature{
  width:min(420px,calc(100% - 40px)) !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  margin:30px auto 42px;
  overflow:hidden;
  border:1px solid rgba(195,155,98,.62);
  background:#0d141d;
}
.lounge-page .old-fashioned-feature img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain !important;
  object-position:center center !important;
  background:#0d141d;
}

@media(max-width:800px){
  .lounge-page .cocktail-gallery-standardized .cocktail-photo{
    flex-basis:calc(50% - 12px);
    max-width:none;
  }
}
@media(max-width:480px){
  .lounge-page .cocktail-gallery-standardized{
    width:min(360px,calc(100% - 28px));
  }
  .lounge-page .cocktail-gallery-standardized .cocktail-photo{
    flex-basis:100%;
  }
}


/* HOME — Ghosted card image correction.
   Use the selected Phoenix Hotel image in the actual card-photo background. */
.experience-card .ghosted-photo{
  background-image:url("../assets/ghosted-phoenix-hotel-home.png") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* Google Maps address links */
.address-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(195,155,98,.55);
  transition:color .18s ease,border-color .18s ease;
}
.address-link:hover,
.address-link:focus-visible{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

/* Optional images supplied through IMAGE: in Google Calendar descriptions */
.event-card-image{width:100%;height:220px;overflow:hidden;border-bottom:1px solid rgba(195,155,98,.45);background:#111a27}
.event-card-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.event-row-image{width:92px;height:92px;flex:0 0 92px;overflow:hidden;border:1px solid rgba(195,155,98,.45);background:#111a27}
.event-row-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
@media(max-width:640px){.event-card-image{height:190px}.event-row-image{width:72px;height:72px;flex-basis:72px}}


/* Calendar inline-layout safety */
@media(max-width:720px){
  .event-card.has-image > div:last-child{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .event-card.has-image .event-date-chip{
    border-right:0 !important;
    border-bottom:1px solid rgba(195,155,98,.45) !important;
    padding-bottom:12px !important;
  }
}


/* Toast Tables reservation widget mount point */
#toast-booking-widget{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* RESOVA EMBEDDED ESCAPE BOOKING PAGE */
.escape-booking-page{
  background:var(--navy);
  color:var(--cream);
}
.escape-booking-hero{
  padding:78px 24px 46px;
  text-align:center;
  background:linear-gradient(180deg,rgba(9,15,24,.98),rgba(23,31,45,.98));
}
.escape-booking-hero .inner{
  max-width:820px;
  margin:0 auto;
}
.escape-booking-hero h1{
  margin:8px 0 18px;
  font-size:clamp(2.6rem,6vw,4.6rem);
  color:var(--cream);
}
.escape-booking-hero p:last-child{
  max-width:700px;
  margin:0 auto;
  line-height:1.75;
  opacity:.88;
}
.escape-booking-shell{
  padding:0 24px 80px;
  background:var(--navy);
}
.escape-booking-shell .inner{
  max-width:1180px;
  margin:0 auto;
}
.escape-booking-frame{
  background:var(--cream);
  border:1px solid rgba(195,155,98,.55);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  min-height:760px;
  padding:18px;
}
#resova-wrapper{
  min-height:720px;
}
@media(max-width:700px){
  .escape-booking-hero{padding:56px 18px 34px}
  .escape-booking-shell{padding:0 10px 50px}
  .escape-booking-frame{padding:8px;min-height:680px}
  #resova-wrapper{min-height:640px}
}


/* WHO'S WHO BOURBON FEATURE ONLY */
.bourbon-feature-section{
  padding:64px 24px;
  background:linear-gradient(135deg,#171f2d 0%,#2b1b2a 55%,#4a1226 100%);
  color:#e2d8cc;
}
.bourbon-feature-section .inner{
  max-width:1180px;
  margin:0 auto;
}
.bourbon-feature-card{
  border:1px solid #c39b62;
  outline:1px solid rgba(195,155,98,.45);
  outline-offset:-12px;
  padding:62px 72px;
  text-align:center;
}
.bourbon-feature-card h2{
  margin:18px auto 24px;
  font-size:clamp(2.2rem,5vw,4.4rem);
  font-weight:400;
  letter-spacing:.04em;
  color:#e2d8cc;
}
.bourbon-feature-copy{
  max-width:930px;
  margin:24px auto 0;
  font-size:1.08rem;
  line-height:1.9;
  color:rgba(226,216,204,.88);
}
.bourbon-feature-prize{
  max-width:900px;
  margin:32px auto 0;
  color:#c39b62;
  text-transform:uppercase;
  letter-spacing:.14em;
  line-height:1.7;
}
@media(max-width:700px){
  .bourbon-feature-section{padding:38px 14px}
  .bourbon-feature-card{padding:46px 24px}
  .bourbon-feature-copy{font-size:1rem}
}


/* HOME — rolling seven-day events preview */
.home-week-events{
  margin-top:24px;
  padding:48px 34px 42px;
  background:var(--cream);
  border:1px solid rgba(195,155,98,.45);
}
.home-week-events-heading{
  max-width:760px;
  margin:0 auto 28px;
  text-align:center;
}
.home-week-events-heading h2{
  margin:8px 0 10px;
  color:var(--navy);
}
.home-week-events-heading > p:last-child{
  margin:0;
  color:var(--navy);
  opacity:.76;
}
.home-week-event-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  max-width:1050px;
  margin:0 auto;
}
.home-week-card{
  min-width:0;
  border:1px solid rgba(195,155,98,.45);
  background:rgba(255,255,255,.26);
  overflow:hidden;
}
.home-week-card-image{
  width:100%;
  aspect-ratio:16/8;
  overflow:hidden;
  background:#111a27;
  border-bottom:1px solid rgba(195,155,98,.35);
}
.home-week-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.home-week-card-body{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:20px;
}
.home-week-date{
  padding-right:14px;
  border-right:1px solid rgba(195,155,98,.45);
  text-align:center;
}
.home-week-date span{
  display:block;
  margin-bottom:5px;
  color:var(--burgundy);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.12em;
}
.home-week-date strong{
  display:block;
  color:var(--navy);
  font-size:.95rem;
  white-space:nowrap;
}
.home-week-copy h3{
  margin:0 0 6px;
  color:var(--navy);
  font-size:1.18rem;
}
.home-week-copy p{
  margin:0;
  color:var(--navy);
  font-size:.84rem;
  opacity:.72;
}
.home-week-link,
.home-week-empty a{
  color:var(--burgundy);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-week-link:hover,
.home-week-empty a:hover{
  color:var(--gold);
}
.home-week-empty,
.home-week-loading{
  grid-column:1/-1;
  margin:0;
  padding:26px;
  text-align:center;
  color:var(--navy);
}
.home-week-empty p{
  margin:0 0 10px;
}
.home-week-events-action{
  margin-top:28px;
  text-align:center;
}
@media(max-width:780px){
  .home-week-events{padding:38px 18px 34px}
  .home-week-event-list{grid-template-columns:1fr}
}
@media(max-width:520px){
  .home-week-card-body{
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
    padding:16px;
  }
  .home-week-card-body .home-week-link{
    grid-column:2;
    justify-self:start;
  }
}


/* HOME — compact horizontal rolling events row */
.home-week-events{
  margin-top:18px !important;
  padding:34px 24px 30px !important;
}

.home-week-events-heading{
  margin-bottom:20px !important;
}

.home-week-event-list{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:2px 2px 12px !important;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

.home-week-card{
  flex:0 0 290px !important;
  width:290px !important;
  min-width:290px !important;
  scroll-snap-align:start;
}

.home-week-card-image{
  aspect-ratio:16/7 !important;
}

.home-week-card-body{
  display:block !important;
  padding:16px !important;
}

.home-week-date{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding:0 0 10px !important;
  margin-bottom:10px !important;
  border-right:0 !important;
  border-bottom:1px solid rgba(195,155,98,.35) !important;
  text-align:left !important;
}

.home-week-date span,
.home-week-date strong{
  display:inline !important;
  margin:0 !important;
}

.home-week-copy h3{
  font-size:1.05rem !important;
}

.home-week-copy p{
  font-size:.8rem !important;
}

.home-week-link{
  display:inline-block !important;
  margin-top:10px !important;
}

.home-week-events-action{
  margin-top:18px !important;
}

.home-week-empty,
.home-week-loading{
  flex:0 0 100%;
  width:100%;
}

@media(max-width:700px){
  .home-week-events{
    padding:30px 14px 26px !important;
  }
  .home-week-card{
    flex-basis:245px !important;
    width:245px !important;
    min-width:245px !important;
  }
}

.home-week-swipe-hint{
  color:var(--burgundy);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  white-space:nowrap;
}


/* HOME — true compact upcoming-events rail */
.home-week-events-compact{
  margin-top:14px;
  padding:24px 26px 20px;
  background:var(--cream);
  border:1px solid rgba(195,155,98,.4);
}
.home-week-events-compact-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  max-width:1100px;
  margin:0 auto 14px;
}
.home-week-events-compact-head .eyebrow{
  margin:0 0 3px;
}
.home-week-events-compact-head h2{
  margin:0;
  color:var(--navy);
  font-size:clamp(1.35rem,2.4vw,2rem);
}
.home-week-view-all{
  flex:0 0 auto;
  color:var(--burgundy);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
}
.home-week-event-rail{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  max-width:1100px;
  margin:0 auto;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.home-week-mini-card{
  flex:0 0 235px;
  min-width:235px;
  min-height:76px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(195,155,98,.42);
  background:rgba(255,255,255,.28);
  color:var(--navy);
  text-decoration:none;
  scroll-snap-align:start;
}
.home-week-mini-card:hover{
  border-color:var(--gold);
  transform:translateY(-1px);
}
.home-week-mini-image{
  flex:0 0 54px;
  width:54px;
  height:54px;
  overflow:hidden;
  background:#111a27;
}
.home-week-mini-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-week-mini-date{
  flex:0 0 50px;
  text-align:center;
  border-right:1px solid rgba(195,155,98,.35);
  padding-right:9px;
}
.home-week-mini-date small,
.home-week-mini-copy small{
  display:block;
  font-size:.59rem;
  line-height:1.25;
  letter-spacing:.05em;
  opacity:.7;
}
.home-week-mini-date strong{
  display:block;
  margin-top:2px;
  font-size:.72rem;
}
.home-week-mini-copy{
  min-width:0;
  flex:1 1 auto;
}
.home-week-mini-copy > strong{
  display:block;
  overflow:hidden;
  font-size:.82rem;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-week-mini-copy small{
  margin-top:4px;
}
.home-week-mini-arrow{
  flex:0 0 auto;
  color:var(--burgundy);
  font-size:.9rem;
}
.home-week-compact-status,
.home-week-compact-empty{
  flex:0 0 100%;
  margin:0;
  padding:14px;
  color:var(--navy);
  font-size:.82rem;
  text-align:center;
  text-decoration:none;
}
@media(max-width:640px){
  .home-week-events-compact{
    padding:20px 14px 16px;
  }
  .home-week-events-compact-head{
    align-items:center;
  }
  .home-week-events-compact-head h2{
    font-size:1.25rem;
  }
  .home-week-view-all{
    font-size:.6rem;
  }
  .home-week-mini-card{
    flex-basis:210px;
    min-width:210px;
    min-height:70px;
  }
  .home-week-mini-image{
    flex-basis:46px;
    width:46px;
    height:46px;
  }
}


/* MOBILE-FIRST HOME NAVIGATION
   Desktop stays unchanged. On phones the first viewport immediately offers
   Lounge, Experiences, and Reserve actions instead of requiring a scroll. */
.mobile-home-quick-nav{
  display:none;
}

@media(max-width:700px){
  body:not(.lounge-page):not(.experiences-page) .hero{
    height:calc(100svh - 72px) !important;
    min-height:520px !important;
    max-height:720px !important;
    aspect-ratio:auto !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-content{
    width:min(100% - 30px,480px) !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    padding:28px 0 112px !important;
    box-sizing:border-box !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero h1{
    margin:0 !important;
    font-size:clamp(2rem,9vw,2.75rem) !important;
    line-height:1.02 !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero .key-divider{
    margin:14px 0 !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-kicker{
    margin:0 0 5px !important;
    font-size:.98rem !important;
  }

  body:not(.lounge-page):not(.experiences-page) .hero-sub{
    max-width:310px !important;
    margin:0 !important;
    font-size:.88rem !important;
    line-height:1.45 !important;
  }

  /* The regular desktop-style hero buttons are replaced by the compact
     mobile destination rail below. */
  body:not(.lounge-page):not(.experiences-page) .hero-content > .actions{
    display:none !important;
  }

  .mobile-home-quick-nav{
    position:absolute !important;
    left:12px !important;
    right:12px !important;
    bottom:14px !important;
    z-index:4 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .mobile-home-quick-nav a{
    min-width:0 !important;
    padding:11px 6px 10px !important;
    border:1px solid rgba(195,155,98,.9) !important;
    background:rgba(23,31,45,.88) !important;
    color:#e2d8cc !important;
    text-decoration:none !important;
    text-align:center !important;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
  }

  .mobile-home-quick-nav a:active{
    transform:translateY(1px);
  }

  .mobile-home-quick-nav span{
    display:block !important;
    color:#e2d8cc !important;
    font-size:.72rem !important;
    font-weight:700 !important;
    letter-spacing:.07em !important;
    line-height:1.15 !important;
    text-transform:uppercase !important;
  }

  .mobile-home-quick-nav small{
    display:block !important;
    margin-top:4px !important;
    color:#c39b62 !important;
    font-size:.56rem !important;
    letter-spacing:.02em !important;
    line-height:1.15 !important;
  }
}

@media(max-width:390px){
  .mobile-home-quick-nav{
    left:8px !important;
    right:8px !important;
    gap:5px !important;
  }
  .mobile-home-quick-nav a{
    padding-left:3px !important;
    padding-right:3px !important;
  }
  .mobile-home-quick-nav span{
    font-size:.66rem !important;
  }
}
.event-booking-page{background:#f5efe4}.event-hero{min-height:72vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:url("../assets/about-lounge-photo.jpg") center 52%/cover no-repeat;color:#fff}.event-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,35,.48),rgba(10,20,35,.78))}.event-hero-content{position:relative;z-index:1;max-width:900px;padding:90px 24px}.event-hero h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.95;margin:.15em 0 .25em}.event-hero p:not(.eyebrow){font-size:1.15rem;line-height:1.7;max-width:760px;margin:0 auto 28px}.event-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:#6d2438;margin:0 0 10px}.light-text{color:#d5b77a}.event-section,.event-food,.event-how{padding:85px 0}.event-section h2,.event-food h2,.event-how h2,.event-spaces h2,.event-occasions h2,.event-inquiry-section h2,.event-final-cta h2{font-size:clamp(2.1rem,4vw,3.6rem);margin:0 0 18px}.event-lead{max-width:760px;margin:0 auto 40px;text-align:center;line-height:1.7}.event-section>.inner>h2,.event-section>.inner>.event-eyebrow{text-align:center}.event-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.event-option-card{background:#fff;border:1px solid rgba(20,35,59,.14);box-shadow:0 12px 35px rgba(20,35,59,.08)}.event-card-image{height:250px;background-size:cover;background-position:center}.event-lounge-image{background-image:url("../assets/lounge-card.jpg")}.event-escape-image{background-image:url("../assets/ghosted-phoenix-hotel-home.png")}.event-team-image{background-image:url("../assets/escape-sip-card.jpg")}.event-card-body{padding:28px}.event-card-body h3{font-size:1.55rem;margin:0 0 7px}.event-card-tagline{font-weight:700;color:#6d2438}.event-card-body p{line-height:1.65}.event-best-for{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:#6b665f}.event-card-body a{font-weight:700;text-decoration:none;color:#6d2438}.event-spaces,.event-occasions,.event-inquiry-section,.event-final-cta{background:#14233b;color:#fff;padding:85px 0}.event-spaces .inner,.event-occasions .inner{text-align:center}.event-space-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(213,183,122,.45);margin-top:40px}.event-space-grid>div{background:#14233b;padding:34px 26px}.event-space-grid h3{color:#d5b77a;margin-top:0}.event-space-grid p{line-height:1.65}.event-split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.event-split p{line-height:1.75}.event-food-photo{min-height:430px;background:url("../assets/cocktail-blackberry-bramble-std.jpg") center/cover no-repeat}.event-pill-row{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.event-pill-row span{border:1px solid rgba(20,35,59,.25);padding:8px 12px;font-size:.82rem}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.occasion-grid span{border:1px solid rgba(213,183,122,.55);padding:18px 12px;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em}.event-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px}.event-steps strong{display:block;color:#6d2438;font-size:2.1rem;margin-bottom:15px}.event-steps h3{font-size:1.15rem}.event-steps p{line-height:1.6}.event-inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.event-inquiry-copy{position:sticky;top:130px}.event-inquiry-copy p{line-height:1.7}.event-contact-note{margin-top:30px}.event-contact-note a{color:#d5b77a}.event-form{background:#f5efe4;color:#14233b;padding:34px}.event-form label,.event-form legend{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:16px}.event-form input,.event-form select,.event-form textarea{width:100%;box-sizing:border-box;margin-top:7px;padding:13px 12px;border:1px solid #c8bca8;background:#fff;color:#14233b;font:inherit}.event-form textarea{resize:vertical}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.event-form fieldset{border:1px solid #c8bca8;margin:0 0 18px;padding:18px}.event-form legend{padding:0 8px;margin:0}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-grid label{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:500;margin:0}.check-grid input{width:auto;margin:0}.event-form-note{font-size:.78rem;line-height:1.55;color:#6b665f;margin-top:18px}.event-final-cta{text-align:center;border-top:1px solid rgba(213,183,122,.35)}.event-final-cta img{width:42px;margin-bottom:18px}.event-final-cta p{font-size:1.08rem;margin-bottom:26px}

/* BOOK AN EVENT — MOBILE RESPONSIVE FIX */
@media (max-width: 760px) {

  .event-booking-page {
    overflow-x: hidden;
  }

  .event-booking-page .event-hero-content,
  .event-booking-page .event-section > .inner,
  .event-booking-page .event-spaces > .inner,
  .event-booking-page .event-occasions > .inner,
  .event-booking-page .event-inquiry-section > .inner,
  .event-booking-page .event-final-cta > .inner {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
  }

  .event-booking-page .event-hero {
    min-height: auto;
  }

  .event-booking-page .event-hero-content {
    padding-top: 55px;
    padding-bottom: 55px;
  }

  .event-booking-page .event-hero h1 {
    font-size: clamp(2.3rem, 11vw, 3.5rem);
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .event-booking-page .event-section h2,
  .event-booking-page .event-spaces h2,
  .event-booking-page .event-occasions h2,
  .event-booking-page .event-inquiry-section h2 {
    font-size: clamp(1.9rem, 8vw, 2.6rem);
    line-height: 1.1;
  }

  .event-booking-page .event-space-grid,
  .event-booking-page .occasion-grid,
  .event-booking-page .event-steps,
  .event-booking-page .event-inquiry-grid {
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .event-booking-page .event-split {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }

  .event-booking-page .event-card,
  .event-booking-page .event-option-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .event-booking-page .event-card-image {
    height: 230px;
  }

  .event-booking-page .event-card-body {
    padding: 24px 20px;
  }

  .event-booking-page .form-grid.two {
    grid-template-columns: 1fr !important;
  }

  .event-booking-page .event-inquiry-copy {
    position: static;
  }

  .event-booking-page .event-form {
    width: 100%;
    box-sizing: border-box;
  }

  .event-booking-page img {
    max-width: 100%;
  }
}


/* BOOK AN EVENT — MOBILE CARD GRID CORRECTION */
@media (max-width: 760px) {
  .event-booking-page .event-option-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .event-booking-page .event-option-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .event-booking-page .event-card-image {
    width: 100% !important;
    height: 240px !important;
    background-size: cover !important;
    background-position: center !important;
  }
}
