: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-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;
}
