
/* ──────────────────────────────────────────────────────────────
   RICK'S SEATTLE — homepage
   Cantina direction · red only · script logo · real interiors
   Committed single-theme: warm cream is the brand ground, so every
   colour is painted explicitly rather than following viewer theme.
   ────────────────────────────────────────────────────────────── */
:root{
  /* Brand guide §13 layer one — unchanged */
  --bone:#EDE9E1; --shale:#C3BDB1; --platinum:#A8A9A4; --gargoyle:#7C7568;
  --bosco:#4C4C4E; --iron:#3D3B45; --blackout:#131318;
  --gold:#A78A50; --gold-deep:#3E372C;
  /* The one new colour */
  --red:#71090B; --red-deep:#71090B; --red-hover:#8C0D10;
  --red-bright:#DD002D;
  /* Working roles built from the above */
  --cream:var(--bone); --paper:#F6F4EF; --sand:var(--shale);
  --ink:#131318; --ink2:#5F594F; --ink3:#7C7568; --line:#CFC9BC;
  /* sticky nav height — anchors land flush beneath it */
  --navh:102px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:var(--navh,79px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{margin:0;background:var(--cream);color:var(--ink);
  font-family:Barlow,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
img{display:block;max-width:100%}

.wrap{max-width:1220px;margin:0 auto;padding:0 24px}

.disp{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;line-height:.88;letter-spacing:-.012em;margin:0;text-wrap:balance}
.label{font-family:Yellowtail,"Brush Script MT",cursive;font-weight:400;
  font-size:clamp(24px,2.6vw,32px);line-height:1.05;letter-spacing:0;text-transform:none;
  color:var(--red-deep);margin:0}
.label::after{content:"";display:block;width:30px;height:2px;background:var(--gold);margin-top:11px}

/* ── utility bar ── */
.util{background:var(--shale);color:var(--blackout)}
.util .wrap{display:flex;align-items:center;justify-content:center;padding:7px 24px}
.utillink{display:inline-block;font-family:Yellowtail,"Brush Script MT",cursive;
  font-size:clamp(20px,2.2vw,26px);line-height:1.15;color:var(--blackout);
  text-decoration:none;padding:2px 6px}
.utillink:hover{color:var(--red-deep)}
.utillink:focus-visible{outline:3px solid var(--blackout);outline-offset:2px}

/* ── nav ── */
.nav{background:var(--blackout);border-bottom:3px solid var(--red-bright);position:sticky;top:0;z-index:50}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,1.6vw,24px);padding:9px 24px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:150px;height:auto}
.menu{display:flex;flex-wrap:nowrap;gap:clamp(13px,1.5vw,24px);
  font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:clamp(15px,1.25vw,18px);
  letter-spacing:.06em;text-transform:uppercase;color:var(--shale)}
.nav .menu a{white-space:nowrap}
.nav .wrap>.brand{flex:none}
.menu a:hover{color:var(--red-bright)}
.navcta{background:var(--red);color:#fff;padding:9px 20px;border-radius:3px;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:18px;
  letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.navcta:hover{background:var(--red-hover)}
.burger{display:none;width:30px;height:20px;position:relative}
.burger i{position:absolute;left:0;right:0;height:3px;background:#fff;display:block}
.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:8.5px}.burger i:nth-child(3){top:17px}

/* ── hero: image only, no copy ── */
.hero{position:relative;background:var(--blackout);overflow:hidden;line-height:0}
.hero img{width:100%;height:auto;aspect-ratio:1920/924;object-fit:cover}

/* ── placeholders (only where no asset exists yet) ── */
.ph{position:relative;width:100%;background:var(--sand);overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center}
.ph::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,rgba(0,0,0,.055) 0 1px,transparent 1px 12px)}
.ph::after{content:"";position:absolute;inset:10px;border:2px dashed rgba(167,138,80,.55);
  pointer-events:none}
.ph .in{position:relative;z-index:2;padding:16px}
.ph .mark{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:16px;
  text-transform:uppercase;color:var(--gold-deep);letter-spacing:.02em;margin:0;line-height:1}
.ph .note{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink3);margin:6px 0 0}
.ph.sm{aspect-ratio:4/3}
.ph.wide{aspect-ratio:16/10}

/* ── real photography ── */
.photo{position:relative;width:100%;margin:0;border-radius:4px;overflow:hidden;
  background:var(--sand);line-height:0}
.photo img{width:100%;height:100%;display:block;object-fit:cover}
.photo.wide{aspect-ratio:16/10}
.photo.sm{aspect-ratio:4/3}

.banner{background:var(--blackout);padding:0 0 4px}
.banner .photo.wide{aspect-ratio:auto;max-height:440px}
.banner .photo img{max-height:440px;object-position:center 42%}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:46px 22px 16px;line-height:1.3;
  background:linear-gradient(0deg,rgba(19,19,24,.9) 20%,transparent);
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--bone)}
@media (max-width:700px){.banner .photo.wide,.banner .photo img{max-height:260px}}

/* ── statement ── */
.say{padding:60px 0 54px;text-align:center;background:var(--cream)}
.say .label::after{margin-inline:auto}
.say h1{font-size:clamp(40px,7.4vw,86px)}
.say h1 em{font-style:italic;color:var(--red-bright)}
.say .lede{font-family:"Barlow Condensed",sans-serif;font-size:clamp(19px,2.2vw,24px);font-weight:400;
  line-height:1.4;color:var(--ink2);max-width:56ch;margin:22px auto 0}
.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;background:var(--red);color:#fff;padding:14px 30px;border-radius:3px;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:21px;
  letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.btn:hover{background:var(--red-hover)}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);padding:12px 28px}
.btn.ghost:hover{background:var(--ink);color:var(--bone)}
.btn.ghost.light{color:var(--bone);border-color:var(--gold)}
.btn.ghost.light:hover{background:var(--gold);color:var(--blackout);border-color:var(--gold)}

/* ── sections ── */
.sec{padding:58px 0}
.sec.dark{background:var(--blackout);color:var(--bone)}
.sec.paper{background:var(--paper)}
.sec-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin:0 0 28px}
.sec h2{font-size:clamp(32px,5.2vw,58px)}
.sec h2 em{font-style:italic;color:var(--red-bright)}
.sec.dark h2{color:#fff}
.sec.dark h2 em{color:var(--red-bright)}
.sec-top .sub{font-family:"Barlow Condensed",sans-serif;font-size:19px;color:var(--ink2);
  margin:8px 0 0;max-width:52ch}
.sec.dark .sec-top .sub{color:var(--platinum)}
.sec.dark .label{color:var(--gold)}
.link{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-style:italic;font-size:20px;
  text-transform:uppercase;letter-spacing:.04em;color:var(--red-deep);white-space:nowrap}
.sec.dark .link{color:var(--gold)}
.link:hover{text-decoration:underline;text-underline-offset:4px}

/* ── inside the room ── */
.inside{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rm{position:relative;border-radius:4px;overflow:hidden;background:var(--bosco);
  border:2px solid var(--iron)}
.rm img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.rm .cap{position:absolute;left:0;right:0;bottom:0;padding:36px 16px 15px;
  background:linear-gradient(0deg,rgba(19,19,24,.94) 24%,transparent)}
.rm .t{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:0 0 3px}
.rm .d{font-family:Barlow,sans-serif;font-size:15px;color:var(--shale);margin:0;line-height:1.35}

/* ── the week ── */
.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.night{background:var(--paper);border:2px solid var(--ink);border-radius:4px;overflow:hidden;
  display:flex;flex-direction:column}
.night .b{padding:14px 16px 18px;flex:1;display:flex;flex-direction:column}
.night .day{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red-deep);margin:0 0 3px}
.night .nm{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:27px;
  line-height:.94;text-transform:uppercase;margin:0 0 8px;color:var(--ink)}
.night .tx{font-size:15px;line-height:1.4;color:var(--ink2);margin:0 0 12px;flex:1}
.night .mt{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:15px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink3);margin:0}
.night.on{background:var(--red);border-color:var(--red)}
.night.on .day{color:#FFD9DB}
.night.on .nm,.night.on .tx{color:#fff}
.night.on .tx{opacity:.92}
.night.on .mt{color:#FFC9CC}
.night.on .ph{background:var(--red-deep)}
.night.on .ph::before{background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 1px,transparent 1px 12px)}
.night.on .ph::after{border-color:rgba(255,255,255,.45)}
.night.on .ph .mark{color:#fff}

/* ── two-up ── */
.two{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.two.rev .txt{order:2}
.two h3{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:clamp(28px,4vw,46px);line-height:.92;text-transform:uppercase;margin:10px 0 14px}
.two p{margin:0 0 18px;color:var(--ink2);max-width:46ch}
.sec.dark .two p{color:var(--platinum)}
.shot{border-radius:4px;overflow:hidden;background:var(--bosco);border:2px solid var(--iron)}
.shot img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.shot.port{max-width:400px;margin-inline:auto}
.shot.port img{height:auto;aspect-ratio:4/5;object-position:center 22%}
.shotcap{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:14px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink3);margin:10px 0 0;text-align:center}
.sec.dark .shotcap{color:var(--gargoyle)}

/* priced list */
.plist{list-style:none;margin:0 0 22px;padding:0;max-width:46ch}
.plist li{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:baseline;padding:11px 0;
  border-bottom:1px solid var(--line)}
.sec.dark .plist li{border-bottom-color:var(--iron)}
.plist li:last-child{border-bottom:0}
.plist .n{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:21px;text-transform:uppercase}
.plist .d{display:block;font-family:Barlow,sans-serif;font-weight:400;font-size:14.5px;
  text-transform:none;letter-spacing:0;color:var(--ink3);line-height:1.35;margin-top:1px}
.sec.dark .plist .d{color:var(--gargoyle)}
.plist .pr{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:23px;
  color:var(--red);font-variant-numeric:tabular-nums}
.sec.dark .plist .pr{color:var(--gold)}

/* rooms */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.room{border:2px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--paper)}
.room .b{padding:14px 16px 17px}
.room .rn{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:25px;
  text-transform:uppercase;margin:0 0 6px;line-height:1}
.room .rp{display:flex;gap:16px;flex-wrap:wrap;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--red-deep);
  font-variant-numeric:tabular-nums;margin:0}
.room .rp span:first-child{color:var(--gold-deep)}

/* ── skyline band ── */
.sky{position:relative;overflow:hidden;background:var(--blackout)}
.sky video,.sky img.poster{width:100%;height:clamp(230px,26vw,330px);object-fit:cover;display:block}
.sky .tint{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(19,19,24,.94) 0%,rgba(113,9,11,.78) 52%,rgba(113,9,11,.42) 100%)}
.sky .over{position:absolute;inset:0;display:flex;align-items:center}
.sky .over .wrap{width:100%}
.sky h2{font-size:clamp(28px,4.6vw,52px);color:#fff;margin:0}
.sky p{font-family:"Barlow Condensed",sans-serif;font-size:clamp(17px,2vw,21px);color:var(--shale);
  margin:10px 0 0;max-width:44ch;line-height:1.4}

/* ── visit ── */
.visit{background:var(--blackout);color:var(--bone);padding:56px 0;
  border-top:3px solid var(--red-bright)}
.visit h2{font-size:clamp(32px,5.4vw,60px);color:#fff}
.vwrap{display:block}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:26px}
.vgrid dt{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:0 0 7px}
.vgrid dd{margin:0;font-size:17px;line-height:1.5}
.vgrid dd b{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:26px;
  display:block;text-transform:uppercase;line-height:1.05;margin-bottom:2px}
.vgrid dd a{color:inherit;text-decoration:none}
.vgrid dd a:hover{color:var(--gold)}

/* ── map ── */
.map{position:relative;background:var(--blackout);padding:0}
.mapbox{position:relative;height:clamp(340px,42vw,470px);overflow:hidden;
  border-top:1px solid var(--iron);background:var(--bosco)}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.mapfall{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:8px;background:var(--shale);
  background-image:linear-gradient(rgba(19,19,24,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(19,19,24,.07) 1px,transparent 1px);background-size:46px 46px}
.mapfall .pin{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  background:var(--red-bright);box-shadow:0 6px 14px -4px rgba(19,19,24,.5)}
.mapfall p{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:10px 0 0}
.mapfall small{font-family:Barlow,sans-serif;font-size:13.5px;color:var(--ink2);letter-spacing:0;
  text-transform:none}
.mapcard{position:absolute;left:clamp(16px,3vw,34px);top:max(56%,215px);transform:translateY(-50%);z-index:2;
  background:var(--bone);border-left:5px solid var(--red-bright);border-radius:3px;
  padding:18px 22px 20px;max-width:330px;box-shadow:0 18px 40px -18px rgba(0,0,0,.65)}
.mapcard .t{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:26px;line-height:1;text-transform:uppercase;color:var(--ink);margin:0 0 6px}
.mapcard .a{font-size:15.5px;line-height:1.45;color:var(--ink2);margin:0 0 4px}
.mapcard .h{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:15px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px}
.mapcard .go{display:inline-block;background:var(--red);color:#fff;padding:10px 20px;border-radius:3px;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:17px;
  letter-spacing:.04em;text-transform:uppercase}
.mapcard .go:hover{background:var(--red-hover)}
@media (max-width:620px){
  .mapcard{position:static;transform:none;max-width:none;border-radius:0;box-shadow:none}
  .mapbox{height:300px}
}


/* ── bar tiers & cocktail ladders ── */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0 0}
.tier{border:1px solid var(--iron);border-radius:4px;padding:15px 17px 17px;background:#1B1B21}
.tier .th{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--iron)}
.tier .tn{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:22px;text-transform:uppercase;color:#fff;line-height:1}
.tier .tp{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.08em;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.tier ul{list-style:none;margin:0;padding:0}
.tier li{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;
  padding:4px 0;color:var(--shale);font-variant-numeric:tabular-nums}
.tier li b{font-weight:500;color:var(--bone)}
.tier li i{font-style:normal;color:var(--gold)}
.tier .more{margin:10px 0 0;font-size:13.5px;color:var(--gargoyle);font-style:italic}

.ladders{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 0}
.lad{border:1px solid var(--iron);border-radius:4px;padding:15px 17px 17px}
.lad .ln{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:21px;text-transform:uppercase;color:#fff;margin:0 0 3px;line-height:1}
.lad .ld{font-size:13.5px;color:var(--gargoyle);margin:0 0 10px;line-height:1.35}
.lad ul{list-style:none;margin:0;padding:0}
.lad li{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:4px 0;
  color:var(--shale);font-variant-numeric:tabular-nums}
.lad li b{font-weight:500;color:var(--bone)}
.legend{margin:18px 0 0;font-size:14px;color:var(--gargoyle)}
.legend i{font-style:normal;color:var(--gold)}
@media (max-width:1000px){.tiers,.ladders{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tiers,.ladders{grid-template-columns:1fr}}

/* ── footer ── */
.foot{background:var(--blackout);color:var(--gargoyle);padding:38px 0 46px;
  border-top:1px solid var(--iron)}
.foot .top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;
  padding-bottom:22px;border-bottom:1px solid var(--iron)}
.foot .brandrow{display:flex;align-items:center;gap:16px}
.foot .footmark{width:38px;height:38px;object-fit:contain;flex:none}
.foot .menu{color:var(--platinum);flex-wrap:wrap;font-size:18px;gap:26px}
.foot .fine{margin:20px 0 0;font-size:14.5px;line-height:1.6;max-width:70ch}
.foot .fine b{color:var(--shale);font-weight:600}
.foot .social{display:flex;gap:12px;margin-top:22px}
.foot .social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:50%;border:1px solid rgba(255,255,255,.22);color:var(--platinum);
  transition:background .2s,color .2s,border-color .2s}
.foot .social a:hover{background:var(--red-bright);border-color:var(--red-bright);color:#fff}
.foot .legal{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.foot .legal a{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:14px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--gargoyle)}
.foot .legal a:hover{color:var(--red-bright)}

/* ── FAQ accordion ── */
.faqlist{max-width:860px;margin:0 auto}
.faqitem{border-bottom:1px solid var(--line)}
.faqitem summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:16px;padding:22px 4px;font-family:"Barlow Condensed",sans-serif;
  font-weight:700;font-size:clamp(17px,2vw,20px);color:var(--ink)}
.faqitem summary::-webkit-details-marker{display:none}
.faqitem summary::after{content:"+";font-size:26px;line-height:1;color:var(--red-deep);
  flex:none;font-family:Barlow,sans-serif;font-weight:400}
.faqitem[open] summary::after{content:"–"}
.faqitem summary:hover{color:var(--red-deep)}
.faqitem .a{margin:0 0 22px;padding-right:34px;color:var(--ink2);line-height:1.65}
.faqfoot{text-align:center;margin-top:36px;font-size:14px;color:var(--ink3);line-height:1.7}
.faqfoot b{color:var(--ink2)}

/* ── legal / plain-copy pages ── */
.legalcopy{max-width:820px;margin:0 auto}
.legalcopy .updated{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
  letter-spacing:.06em;font-size:14px;color:var(--ink3);margin:0 0 30px}
.legalcopy h2{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;font-size:clamp(22px,2.8vw,28px);letter-spacing:-.01em;
  color:var(--red-deep);margin:38px 0 14px}
.legalcopy h2:first-of-type{margin-top:0}
.legalcopy p,.legalcopy li{color:var(--ink2);line-height:1.75;margin:0 0 14px}
.legalcopy ul{padding-left:22px;margin:0 0 18px}
.legalcopy a.link{font-weight:600}

/* ── responsive ── */
section[id],div[id]{scroll-margin-top:0}
@media (max-width:1000px){
  .week{grid-template-columns:repeat(2,1fr)}
  .rooms,.inside{grid-template-columns:1fr 1fr}
  .vwrap{grid-template-columns:1fr}
}
@media (max-width:760px){
  :root{--navh:85px}
  body{font-size:16px}
  .menu{display:none}
  .burger{display:block}
  .two{grid-template-columns:1fr;gap:22px}
  .two.rev .txt{order:0}
  .navcta{font-size:16px;padding:8px 15px}
  .brand img{width:118px}
  .util .wrap{padding:6px 16px}
  .inside{grid-template-columns:1fr}
}
@media (max-width:520px){
  .week,.rooms{grid-template-columns:1fr}
  .vgrid{grid-template-columns:1fr}
}


/* ── video hero ── */
.vhero{position:relative;overflow:hidden;background:var(--blackout);
  background-image:url("hero-room-poster.jpg");background-size:cover;
  background-position:center 42%;background-repeat:no-repeat;
  min-height:clamp(500px,74vh,760px);display:flex;align-items:center;
  border-bottom:3px solid var(--red-bright)}
.vhero video,.vhero .poster{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 42%;z-index:0}
.vhero .shade{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.6) 45%,rgba(0,0,0,.78)),rgba(0,0,0,.25)}
.vhero .tagline .nl{display:inline}
@media(max-width:760px){.vhero .tagline .nl{display:block}}
.vhero .vin{position:relative;z-index:2;width:100%;padding:76px 0 70px;text-align:center}
.vhero .tagline{font-family:Yellowtail,"Brush Script MT",cursive;
  font-size:clamp(34px,4vw,48px);line-height:1;color:var(--gold);margin:0;
  text-shadow:0 2px 12px rgba(0,0,0,.95),0 0 26px rgba(0,0,0,.8),0 0 3px rgba(0,0,0,.9)}
.vhero h1{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;line-height:.88;letter-spacing:-.012em;text-wrap:balance;
  font-size:clamp(44px,8vw,96px);color:#fff;margin:16px 0 0;
  text-shadow:0 2px 16px rgba(0,0,0,.9),0 0 38px rgba(0,0,0,.75),0 0 4px rgba(0,0,0,.85)}
.vhero h1 em{font-style:italic;color:var(--red-bright)}
.vhero .lede{font-family:"Barlow Condensed",sans-serif;font-weight:400;
  font-size:clamp(19px,2.2vw,25px);line-height:1.4;color:#EDE9E1;
  max-width:56ch;margin:22px auto 0;
  text-shadow:0 1px 10px rgba(0,0,0,.95),0 0 24px rgba(0,0,0,.8),0 0 3px rgba(0,0,0,.9)}
.vhero .kicker{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;letter-spacing:.04em;color:var(--red-bright);font-size:30px;
  margin:22px 0 0;text-shadow:0 2px 14px rgba(0,0,0,.6)}
@media(max-width:700px){.vhero .kicker{font-size:23px}}
.vhero .btns{gap:14px;margin-top:34px}
.vhero .btn{border-radius:100px;padding:17px 38px;font-size:22px}
.vhero .btn.big{background:var(--red-bright);
  box-shadow:0 12px 30px -10px rgba(221,0,45,.85),0 0 0 1px rgba(255,255,255,.08) inset}
.vhero .btn.big:hover{background:#F0033A;box-shadow:0 14px 34px -10px rgba(221,0,45,.95)}
.vhero .btn.ghost{color:#fff;border:2px solid rgba(255,255,255,.7);background:rgba(19,19,24,.28);
  backdrop-filter:blur(2px);padding:15px 36px}
.vhero .btn.ghost:hover{background:#fff;color:var(--blackout);border-color:#fff}
@media (prefers-reduced-motion:reduce){.vhero video{display:none}}

/* ── full-width promo band ── */
.promo{display:block;background:var(--blackout);line-height:0;
  border-top:3px solid var(--red-bright);border-bottom:3px solid var(--red-bright)}
.promo img{width:100%;height:auto;display:block;aspect-ratio:1920/924}



/* ── events: rotating flyers ── */
.evwrap{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.evtxt h2{font-size:clamp(34px,5.4vw,62px)}
.evtxt p.body{margin:18px 0 0;color:var(--platinum);max-width:44ch;font-size:16.5px;line-height:1.6}
.nextup{display:flex;align-items:center;gap:14px;margin:26px 0 28px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold)}
.nextup::before{content:"";width:34px;height:2px;background:var(--red-bright);flex:none}

.evcar{position:relative}
.evstage{position:relative;aspect-ratio:1/1;border-radius:6px;overflow:hidden;
  border:1px solid var(--iron);background:var(--bosco)}
.evslide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease;
  display:block;text-decoration:none}
.evslide.on{opacity:1;visibility:visible}
.evslide img{width:100%;height:100%;object-fit:cover;display:block}
.evdate{position:absolute;left:14px;top:14px;z-index:3;background:rgba(19,19,24,.88);
  color:#fff;border-radius:100px;padding:6px 15px;font-family:"Barlow Condensed",sans-serif;
  font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.evslide::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(19,19,24,0);
  transition:background .25s ease}
.evcta{position:absolute;right:16px;bottom:16px;z-index:3;background:var(--red-bright);color:#fff;
  border-radius:100px;padding:13px 24px;font-family:"Barlow Condensed",sans-serif;font-weight:900;
  font-style:italic;font-size:17px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;
  opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;
  box-shadow:0 10px 22px -10px rgba(221,0,45,.8)}
.evslide:hover::after,.evslide:focus-visible::after{background:rgba(19,19,24,.42)}
.evslide:hover .evcta,.evslide:focus-visible .evcta{opacity:1;transform:translateY(0)}

.evfoot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:18px}
.evname{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:26px;
  text-transform:uppercase;color:#fff;margin:0;line-height:1}
.evsub{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:14px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gargoyle);margin:6px 0 0}
.evdots{display:flex;gap:8px;flex:none}
.evdot{width:34px;height:4px;border:0;padding:0;background:var(--iron);cursor:pointer;
  border-radius:2px;transition:background .2s ease}
.evdot.on{background:var(--red-bright)}
.evdot:hover{background:var(--gargoyle)}

@media (hover:none){.evcta{opacity:1;transform:none}}

/* events on a light ground */
.sec.paper .evtxt p.body{color:var(--ink2)}
.sec.paper .evstage{border-color:var(--line);background:var(--sand)}
.sec.paper .evname{color:var(--ink)}
.sec.paper .evsub{color:var(--ink3)}
.sec.paper .evdot{background:var(--line)}
.sec.paper .evdot.on{background:var(--red-bright)}
.sec.paper .evdot:hover{background:var(--gargoyle)}
.sec.paper .nextup{color:var(--gold-deep)}
@media (max-width:900px){.evwrap{grid-template-columns:1fr;gap:34px}}

/* ── events index ── */
.evgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.evcard{display:block;text-decoration:none;color:inherit}
.evcard .shot{position:relative;aspect-ratio:1/1;border-radius:6px;overflow:hidden;
  border:1px solid var(--iron);background:var(--bosco)}
.evcard .shot img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.evcard:hover .shot img{transform:scale(1.04)}
.evcard .evname{margin-top:14px;font-size:24px}
@media (max-width:820px){.evgrid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}

/* ── bundles ── */
.bundles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bcard{display:flex;flex-direction:column;background:var(--bone);border:2px solid var(--ink);
  border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .15s ease, box-shadow .15s ease}
.bcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(19,19,24,.65)}
.bcard.feat{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(221,0,45,.16)}
.bimg{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--bosco)}
.bimg img{width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.9)}
.bimg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(19,19,24,.94) 6%,rgba(19,19,24,.15) 62%)}
.btag{position:absolute;left:12px;top:12px;z-index:2;background:rgba(19,19,24,.85);
  color:var(--gold);border:1px solid var(--gold);border-radius:100px;padding:4px 11px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.18em;text-transform:uppercase}
.bcard.feat .btag{background:var(--red-bright);color:#fff;border-color:var(--red-bright)}
.bprice{position:absolute;right:12px;top:12px;z-index:2;background:var(--blackout);
  color:var(--gold);border-radius:100px;padding:6px 15px;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:20px;
  line-height:1;font-variant-numeric:tabular-nums}
.bover{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 18px 15px}
.bover .bt{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:30px;line-height:.94;text-transform:uppercase;color:#fff;margin:0}
.bover .bg{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:6px 0 0}
.bbody{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}
.bbody p{margin:0 0 15px;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.bbody ul{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line);
  padding-top:14px;display:flex;flex-direction:column;gap:7px}
.bbody li{position:relative;padding-left:16px;font-size:15px;color:var(--ink)}
.bbody li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;
  background:var(--red-bright)}
.bbtn{margin-top:auto;display:block;text-align:center;background:var(--red-bright);color:#fff;
  padding:17px 20px;border-radius:100px;font-family:"Barlow Condensed",sans-serif;
  font-weight:900;font-style:italic;font-size:21px;letter-spacing:.05em;text-transform:uppercase;
  box-shadow:0 8px 18px -8px rgba(221,0,45,.7)}
.bcard:hover .bbtn{background:var(--red);box-shadow:0 10px 22px -8px rgba(113,9,11,.8)}
.btn.big{padding:18px 40px;border-radius:100px;font-size:24px;background:var(--red-bright);
  box-shadow:0 10px 22px -10px rgba(221,0,45,.7)}
.btn.big:hover{background:var(--red)}
@media (max-width:980px){
  .bundles-grid{grid-template-columns:1fr 1fr}
  .bundles-grid > :last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - 8px)}
}
@media (max-width:620px){
  .bundles-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}
  .bundles-grid > :last-child:nth-child(odd){width:auto}
}

/* ── single bundle page ── */
.bhero{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}
.bhero .shotwrap{border:2px solid var(--ink);border-radius:4px;overflow:hidden;position:relative}
.bhero .shotwrap img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:brightness(.62)}
.bigprice{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:clamp(56px,9vw,104px);line-height:.85;color:var(--red-bright);margin:0;
  font-variant-numeric:tabular-nums}
.incl{list-style:none;margin:22px 0 0;padding:0;border-top:2px solid var(--ink)}
.incl li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;
  border-bottom:1px solid var(--line);font-size:17px}
.incl li b{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:21px;
  text-transform:uppercase}
.incl li span{font-variant-numeric:tabular-nums;color:var(--ink2)}
.otherb{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}
@media (max-width:820px){.bhero{grid-template-columns:1fr}}
@media (max-width:560px){.otherb{grid-template-columns:1fr}}

/* ── sub-page header ── */
.phead{background:var(--blackout);border-bottom:3px solid var(--red-bright);padding:46px 0 42px}
.phead h1{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:clamp(40px,7vw,78px);line-height:.9;text-transform:uppercase;color:#fff;margin:12px 0 0}
.phead h1 em{font-style:italic;color:var(--red-bright)}
.phead .sub{font-family:"Barlow Condensed",sans-serif;font-size:clamp(18px,2.2vw,22px);
  color:var(--platinum);margin:16px 0 0;max-width:56ch;line-height:1.4}
.phead.vidhead{position:relative;overflow:hidden;isolation:isolate;
  padding:74px 0 68px;min-height:460px;display:flex;align-items:center}
.phead.vidhead>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 55%;z-index:0;pointer-events:none}
.phead.vidhead>.shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(19,19,24,.94) 0%,rgba(19,19,24,.86) 46%,rgba(19,19,24,.62) 100%),
             rgba(19,19,24,.34)}
.phead.vidhead>.wrap{position:relative;z-index:2;width:100%}
.phead.vidhead .sub{color:var(--bone)}
.phead.vidhead h1{text-shadow:0 2px 20px rgba(0,0,0,.6)}
@media (prefers-reduced-motion:reduce){.phead.vidhead>video{display:none}}
@media (max-width:700px){
  .phead.vidhead{padding:52px 0 48px;min-height:450px}
  .phead.vidhead>.shade{background:linear-gradient(180deg,rgba(19,19,24,.9),rgba(19,19,24,.8)),rgba(19,19,24,.4)}
}

.menucols{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.menucols .plist{max-width:none}
.grp{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--red-deep);margin:30px 0 4px}
.sec.dark .grp{color:var(--gold)}
.grp:first-child{margin-top:0}
.fine-note{font-size:14.5px;color:var(--ink3);margin:26px 0 0;max-width:70ch;line-height:1.55}
.sec.dark .fine-note{color:var(--gargoyle)}
.menu a.on{color:var(--red-bright)}
@media (max-width:820px){.menucols{grid-template-columns:1fr;gap:0}}


/* ═══════════ CLAIM YOUR PASS ═══════════ */
.pass{background:var(--paper);color:var(--ink);padding:96px 0 104px;text-align:center}
.pass .label{color:var(--gold-deep);margin:0}
.pass .label::before,.pass .label::after{display:none}
.pass .disp{margin:16px 0 0;color:var(--ink);
  font-size:clamp(44px,7.4vw,92px);line-height:.88;letter-spacing:-.015em}
.pass .disp br{display:block}
.passlede{max-width:620px;margin:18px auto 0;color:var(--ink2);font-size:18px;line-height:1.6}
.passcard{max-width:1040px;margin:40px auto 0;background:var(--bone);border:1px solid var(--line);
  border-radius:26px;padding:38px 38px 34px;text-align:left;
  box-shadow:0 18px 40px -28px rgba(19,19,24,.45)}
.passrow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fld{display:block}
.fld .flab{display:none}
.passcard input[type=text],.passcard input[type=email],.passcard input[type=tel]{
  width:100%;box-sizing:border-box;background:#fff;color:var(--ink);
  border:1px solid var(--line);border-radius:100px;padding:16px 22px;
  font-family:Barlow,sans-serif;font-size:16px;line-height:1.2;outline:none}
.passcard input::placeholder{color:#8A8478}
.passcard input:focus{border-color:var(--red-bright);
  box-shadow:0 0 0 3px rgba(221,0,45,.28)}
.consent-head{font-family:Barlow,sans-serif;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;font-size:12px;color:var(--gold-deep);margin:30px 0 10px}
.consent-head i,.fld .flab i{font-style:normal;color:var(--red-deep);margin-left:2px}
.consent{margin:0;font-size:13px;line-height:1.7;color:var(--ink2)}
.consent a{color:var(--red-deep);text-decoration:underline}
.consent a:hover{color:var(--ink)}
.agree{display:flex;align-items:center;gap:11px;margin:20px 0 0;cursor:pointer;
  font-size:15px;color:var(--ink)}
.agree input{width:19px;height:19px;accent-color:var(--red-bright);cursor:pointer;flex:none}
.passbtn{margin:26px 0 0}
.passcard .btn.big{border:0;cursor:pointer;font-family:"Barlow Condensed",sans-serif;
  font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.03em;
  color:#fff;display:inline-block}
.passfine{margin:18px 0 0;font-size:12.5px;color:var(--ink3)}
@media(max-width:900px){
  .passrow{grid-template-columns:repeat(2,1fr)}
  .passcard{padding:28px 22px 26px;border-radius:20px}
}
@media(max-width:560px){
  .passrow{grid-template-columns:1fr}
  .pass{padding:72px 0 78px}
  .passcard .btn.big{width:100%;text-align:center}
}

/* ═══════════ CART + CHECKOUT ═══════════ */
.navcart{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:16px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--shale);border:2px solid var(--iron);
  border-radius:100px;padding:7px 15px;white-space:nowrap}
.navcart:hover{color:#fff;border-color:var(--red-bright)}
.navcart.has{color:#fff;border-color:var(--red-bright)}
.navcart .n{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;
  border-radius:100px;background:var(--red-bright);color:#fff;font-size:13px;line-height:1}

.shop{background:var(--paper);padding:52px 0 96px;min-height:52vh}
.shop .crumb{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);margin:0 0 18px;display:inline-block}
.shop .crumb:hover{color:var(--red-deep)}
.shopgrid{display:grid;grid-template-columns:1fr 400px;gap:34px;align-items:start;margin-top:26px}

/* line items */
.lines{display:flex;flex-direction:column;gap:14px}
.line{display:grid;grid-template-columns:104px 1fr auto;gap:18px;align-items:center;
  background:var(--bone);border:1px solid var(--line);border-radius:14px;padding:16px}
.line .thumb{width:104px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--sand)}
.line .thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.line .nm{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:25px;text-transform:uppercase;margin:0;line-height:1;color:var(--ink)}
.line .meta{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:6px 0 12px}
.line .ctrls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.line .price{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:27px;color:var(--red-deep);align-self:flex-start}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;
  background:#fff;overflow:hidden}
.qty button{width:38px;height:38px;border:0;background:transparent;cursor:pointer;
  font-size:19px;line-height:1;color:var(--ink);font-family:Barlow,sans-serif}
.qty button:hover{background:var(--sand)}
.qty input{width:40px;height:38px;border:0;text-align:center;background:transparent;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:18px;color:var(--ink);
  -moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dfield{height:40px;border:1px solid var(--line);border-radius:100px;background:#fff;
  padding:0 16px;font-family:Barlow,sans-serif;font-size:15px;color:var(--ink);outline:none}
.dfield:focus{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(221,0,45,.18)}
.rm-line{background:none;border:0;cursor:pointer;padding:6px 2px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink3)}
.rm-line:hover{color:var(--red-deep);text-decoration:underline}

/* summary rail */
.sumry{background:var(--bone);border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  position:sticky;top:calc(var(--navh,102px) + 16px)}
.sumry h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);margin:0 0 18px}
.srow{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:15.5px;color:var(--ink2)}
.srow b{color:var(--ink);font-weight:600}
.srow .good{color:var(--red-deep);font-weight:600}
.sumry .rule{height:1px;background:var(--line);margin:14px 0}
.stotal{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:4px 0 20px}
.stotal .l{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:24px;text-transform:uppercase;color:var(--ink)}
.stotal .v{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:42px;line-height:1;color:var(--red-deep)}
.sumry .btn.big{display:block;text-align:center;width:100%;box-sizing:border-box;border:0;cursor:pointer;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;letter-spacing:.03em;color:#fff}
.sumry .btn.big[disabled]{background:var(--sand);color:var(--ink3);box-shadow:none;cursor:not-allowed}
.sublink{display:block;text-align:center;margin:14px 0 0;font-family:"Barlow Condensed",sans-serif;
  font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.sublink:hover{color:var(--red-deep)}
.secure{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding-top:18px;
  border-top:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--ink3)}
.secure svg{flex:none;margin-top:1px}
.askq{text-align:center;margin:20px 0 0;font-size:14.5px;color:var(--ink3)}
.askq a{color:var(--red-deep);font-weight:600}

/* empty state */
.empty{background:var(--bone);border:1px dashed var(--line);border-radius:18px;
  padding:56px 30px;text-align:center}
.empty p{margin:0 0 22px;font-size:17px;color:var(--ink2)}

/* checkout steps */
.step{background:var(--bone);border:1px solid var(--line);border-radius:18px;
  padding:26px 26px 28px;margin:0 0 16px}
.step > h2{display:flex;align-items:center;gap:13px;margin:0 0 20px;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:26px;
  text-transform:uppercase;color:var(--ink)}
.step .num{display:grid;place-items:center;width:32px;height:32px;border-radius:100px;flex:none;
  background:var(--red-deep);color:#fff;font-size:17px;font-style:normal;font-weight:900}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld2{display:block}
.fld2 span{display:block;font-family:Barlow,sans-serif;font-weight:600;font-size:14px;
  color:var(--ink2);margin:0 0 7px}
.fld2 span i{font-style:normal;color:var(--red-deep)}
.fld2 input,.fld2 textarea,.fld2 select{width:100%;box-sizing:border-box;background:#fff;
  color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:13px 16px;
  font-family:Barlow,sans-serif;font-size:16px;line-height:1.3;outline:none}
.fld2 textarea{min-height:104px;resize:vertical}
.fld2 input:focus,.fld2 textarea:focus{border-color:var(--red-bright);
  box-shadow:0 0 0 3px rgba(221,0,45,.18)}
.fld2 .hint{display:block;margin:7px 0 0;font-size:13px;color:var(--ink3);font-weight:400}
.handoff{display:flex;gap:15px;align-items:flex-start;background:var(--paper);
  border:1px solid var(--line);border-radius:14px;padding:19px}
.handoff .t{font-family:Barlow,sans-serif;font-weight:700;font-size:16.5px;color:var(--ink);margin:0 0 6px}
.handoff p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink2)}
.cards{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.cards span{border:1px solid var(--line);border-radius:100px;padding:6px 15px;
  font-family:Barlow,sans-serif;font-weight:600;font-size:13.5px;color:var(--ink2);background:#fff}
.agrees{display:flex;flex-direction:column;gap:15px}
.agrees label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;
  font-size:15px;line-height:1.55;color:var(--ink2)}
.agrees input{width:19px;height:19px;flex:none;margin-top:1px;accent-color:var(--red-bright);cursor:pointer}
.agrees a{color:var(--red-deep);text-decoration:underline}
.mini{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:14px 0;border-bottom:1px solid var(--line)}
.mini .nm{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:19px;text-transform:uppercase;color:var(--red-deep);margin:0}
.mini .q{font-family:Barlow,sans-serif;font-size:13.5px;color:var(--ink3);margin:4px 0 0}
.mini .p{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:20px;color:var(--ink);white-space:nowrap}
.formnote{margin:18px 0 0;font-size:13px;line-height:1.6;color:var(--ink3)}

@media (max-width:980px){
  .shopgrid{grid-template-columns:1fr}
  .sumry{position:static}
}
@media (max-width:620px){
  .line{grid-template-columns:76px 1fr;gap:14px}
  .line .thumb{width:76px}
  .line .price{grid-column:2;justify-self:start}
  .frow{grid-template-columns:1fr}
  .step{padding:20px 18px 22px}
}
.buybox{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.buybox .btn.big{border:0;cursor:pointer;font-family:"Barlow Condensed",sans-serif;
  font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.03em;color:#fff}
.buybox .qty{height:56px}
.buybox .qty button{width:44px;height:54px;font-size:21px}
.buybox .qty input{height:54px;font-size:19px;width:46px}
.addedmsg{margin:14px 0 0;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep)}
.addedmsg a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.navcart{display:none}}

/* ═══════════ AGE GATE ═══════════ */
html.age-locked{overflow:hidden}
html.age-locked::before{content:"";position:fixed;inset:0;z-index:9998;background:#131318}
html.age-locked body .agegate{visibility:visible}
.agegate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  padding:28px 20px;overflow:auto;background:var(--blackout);
  background-image:linear-gradient(180deg,rgba(19,19,24,.90),rgba(19,19,24,.97)),
    url("hero-room-poster.jpg");
  background-size:cover;background-position:center 42%}
.agbox{width:100%;max-width:620px;text-align:center;
  padding:calc(env(safe-area-inset-top,0px) + 8px) 0 calc(env(safe-area-inset-bottom,0px) + 8px)}
.aglogo{width:min(230px,58vw);height:auto;margin:0 auto 26px}
.agkicker{font-family:Yellowtail,"Brush Script MT",cursive;font-size:clamp(22px,3.4vw,30px);
  line-height:1;color:var(--gold);margin:0}
.agtitle{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;line-height:.9;letter-spacing:-.012em;
  font-size:clamp(38px,6.6vw,68px);color:#fff;margin:12px 0 0}
.agtitle em{font-style:italic;color:var(--red-bright)}
.agcopy{font-family:"Barlow Condensed",sans-serif;font-size:clamp(17px,2vw,20px);line-height:1.45;
  color:var(--shale);max-width:44ch;margin:18px auto 0}
.agbtns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;margin:32px 0 0}
.agbtns .btn{border:0;cursor:pointer;border-radius:100px;padding:17px 36px;font-size:21px;
  font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;letter-spacing:.03em;color:#fff}
.agbtns .btn.big{background:var(--red-bright);
  box-shadow:0 12px 30px -10px rgba(221,0,45,.85)}
.agbtns .btn.big:hover{background:#F0033A}
.agbtns .btn.ghost{background:transparent;color:var(--shale);
  border:2px solid rgba(255,255,255,.4);padding:15px 34px}
.agbtns .btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.7)}
.agfine{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gargoyle);margin:30px 0 0}
@media (max-width:520px){
  .agbtns{flex-direction:column}
  .agbtns .btn{width:100%}
}
@media (max-width:820px){.menucols .cocktailshot{margin-bottom:44px!important}}

/* careers + auditions */
.applywrap{max-width:900px}
.applyform{margin-top:34px}
.rolechips{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 0}
.rolechips span{border:1px solid var(--line);border-radius:100px;padding:7px 15px;background:#fff;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink2)}
.chkhead{margin:22px 0 10px;font-family:Barlow,sans-serif;font-weight:600;font-size:14px;color:var(--ink2)}
.chkhead span{display:block;font-weight:400;font-size:13px;color:var(--ink3);margin-top:3px}
.chks{display:flex;flex-wrap:wrap;gap:10px}
.chks label{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:100px;
  padding:10px 16px;background:#fff;cursor:pointer;font-size:15px;color:var(--ink2)}
.chks input{width:17px;height:17px;accent-color:var(--red-bright);margin:0}
.fld2 select{appearance:auto;cursor:pointer}
.fld2 select:focus{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(221,0,45,.18)}
.frow3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dob{display:flex;gap:12px;max-width:340px}
.dob input{flex:1 1 0;min-width:0;width:auto!important;text-align:center}
.dob input:last-child{flex:1.5 1 0}
.fld2 span span{display:inline;margin:0}
.audlist{margin:14px 0 0;padding-left:20px;color:var(--ink2);font-size:17px;line-height:1.8}
.applydone{margin-top:30px}
.applydone h2{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:30px;
  text-transform:uppercase;margin:0 0 10px;color:var(--ink)}
.applydone p{margin:0;color:var(--ink2);line-height:1.6}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:820px){.frow3{grid-template-columns:1fr}.chks label{font-size:14px;padding:9px 14px}}

/* visit section + uber card */
.vwrap.vsplit{display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:center}
.vsplit .vgrid{grid-template-columns:1fr 1fr;row-gap:26px}
.ubercard{background:#1D1D24;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:28px 30px 30px;
  box-shadow:0 26px 60px -26px rgba(0,0,0,.6);color:#fff}
.ubtop{display:flex;gap:18px;align-items:center}
.ublogo{flex:none;width:60px;height:60px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;
  font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.02em}
.ubeye{margin:0 0 5px;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:13px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold)}
.ubercard h3{margin:0;font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(28px,3vw,36px);line-height:1;color:#fff}
.ubcopy{margin:16px 0 0;font-family:Barlow,sans-serif;font-size:16px;line-height:1.55;color:#CFC9BE}
.ubgo{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:var(--red-bright);color:#fff;border-radius:100px;
  padding:14px 28px;font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;font-size:19px;
  letter-spacing:.03em;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .2s}
.ubgo:hover{background:#B80025;transform:translateY(-1px)}
@media (max-width:980px){
  .vwrap.vsplit{grid-template-columns:1fr;gap:40px}
  .vsplit .ubercard{order:-1;max-width:520px}
}
@media (max-width:520px){
  .vsplit .vgrid{grid-template-columns:1fr}
  .ubercard{padding:24px 22px 26px}
}

/* free pass: messages + popup */
.passmsg{margin:14px 0 0;font-size:14.5px;font-weight:600;color:var(--ink2)}
.passmsg.bad{color:var(--red-deep)}
.passmsg a{color:inherit;text-decoration:underline}
.passdone{text-align:center;padding:14px 0 6px}
.passdone .t{margin:0 0 6px;font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;font-size:30px;color:var(--ink)}
.passdone p{margin:0;color:var(--ink2)}
html.pop-open{overflow:hidden}
.passpop{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:18px;
  background:rgba(10,10,14,.72);opacity:0;transition:opacity .25s ease}
.passpop.on{opacity:1}
.ppbox{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 36px);overflow:auto;
  background:var(--paper);border-radius:26px;border-top:5px solid var(--red-bright);padding:38px 36px 30px;text-align:center;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7);transform:translateY(14px) scale(.98);transition:transform .25s ease}
.passpop.on .ppbox{transform:none}
.ppx{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;
  font-size:30px;line-height:1;color:var(--ink2);cursor:pointer}
.ppx:hover{background:rgba(0,0,0,.06);color:var(--ink)}
.ppkick{margin:0;font-family:Yellowtail,"Brush Script MT",cursive;font-size:30px;color:var(--gold-deep)}
.ppttl{margin:6px 0 0;font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(40px,8vw,62px);line-height:.9;color:var(--ink)}
.ppttl em{font-style:italic;color:var(--red-bright)}
.pplede{max-width:460px;margin:14px auto 0;color:var(--ink2);font-size:16px;line-height:1.55}
.ppform.passcard{margin:22px 0 0;padding:0;background:none;border:0;box-shadow:none;max-width:none}
.ppform .passrow{grid-template-columns:1fr 1fr;gap:12px}
.ppform .consent{margin-top:16px;font-size:12px}
.ppform .agree{margin-top:14px}
.ppform .passbtn{margin-top:18px}
.ppform .btn.big{width:100%;text-align:center}
.ppform .passfine{text-align:center;margin-top:12px}
@media (max-width:560px){
  .ppbox{padding:34px 20px 22px;border-radius:20px}
  .ppform .passrow{grid-template-columns:1fr;gap:10px}
  .ppform .passcard input{padding:14px 18px}
}

.bachgrid .bimg img{filter:brightness(.74) saturate(1);object-position:center 60%}

/* ═══════════ MOBILE CONVERSION LAYER ═══════════ */
.mbar,.mdrawer{display:none}
.nav .burger{cursor:pointer}
@media (max-width:760px){
  /* bottom action bar */
  .mbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:800;
    background:rgba(19,19,24,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    border-top:2px solid var(--red-bright);padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 30px -12px rgba(0,0,0,.7);transition:transform .22s ease}
  html.has-mbar body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  html.typing .mbar,html.pop-open .mbar,html.menu-open .mbar{transform:translateY(120%)}
  .mbi{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    min-height:54px;padding:4px 2px;border:0;background:none;color:#E9E4DA;text-decoration:none;cursor:pointer;
    font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
    -webkit-tap-highlight-color:transparent}
  .mbi svg{width:22px;height:22px;fill:currentColor}
  .mbi:active{opacity:.7}
  .mbi.main{background:var(--red-bright);color:#fff;border-radius:16px;margin:0 3px;min-height:62px;transform:translateY(-10px);
    box-shadow:0 10px 24px -8px rgba(221,0,45,.75);font-size:12.5px}
  .mbi b{position:absolute;top:2px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;
    background:var(--red-bright);color:#fff;font:700 11px/18px Barlow,sans-serif;text-align:center}
  /* drawer menu */
  .mdrawer{display:flex;flex-direction:column;position:fixed;inset:0;z-index:950;background:var(--blackout);
    padding:14px 22px calc(26px + env(safe-area-inset-bottom));overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .mdrawer.on{opacity:1;visibility:visible;transform:none}
  html.menu-open{overflow:hidden}
  .mdtop{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}
  .mdtop img{width:112px;height:auto}
  .mdx{width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:30px;line-height:1;cursor:pointer}
  .mdlinks{display:flex;flex-direction:column;padding:4px 0}
  .mdlinks a{padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.07);color:#fff;text-decoration:none;
    font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:22px;letter-spacing:.01em}
  .mdlinks a:active{color:var(--red-bright)}
  .mdcart span{display:inline-block;margin-left:8px;min-width:24px;padding:0 7px;border-radius:12px;background:var(--red-bright);
    font:700 14px/24px Barlow,sans-serif;font-style:normal;text-align:center;vertical-align:middle}
  .mdacts{display:grid;gap:10px;margin-top:16px}
  .mdbtn{display:block;width:100%;text-align:center;padding:14px 20px;border-radius:100px;border:2px solid var(--gold);background:none;color:#fff;
    font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:19px;letter-spacing:.03em;text-decoration:none;cursor:pointer}
  .mdbtn.red{background:var(--red-bright);border-color:var(--red-bright)}
  .mdbtn.ghost{border-color:rgba(255,255,255,.3)}
  .mdfine{margin:20px 0 0;text-align:center;color:var(--gargoyle);font-size:13.5px;line-height:1.6}
  /* nudge when the bar sends someone to Add to cart */
  #add-cart.pulse{animation:mpulse 1.6s ease}
}
@keyframes mpulse{0%,100%{box-shadow:0 0 0 0 rgba(221,0,45,0)}30%{box-shadow:0 0 0 10px rgba(221,0,45,.35)}60%{box-shadow:0 0 0 0 rgba(221,0,45,0)}}

/* House Legend badge (signature dishes) */
.hl{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;margin:-3px 0 0 6px;padding:4px 10px 4px 8px;
  border-radius:100px;background:var(--gold);color:#16130E;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-style:normal;font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.hl svg{width:13px;height:13px;fill:currentColor;flex:none}
.plist .n .hl{display:inline-flex}
.grp .hl{margin-left:8px;letter-spacing:.14em}
.plist li.legend-item .n{color:inherit}
.hlkey{margin:0 0 22px;font-size:14.5px;color:var(--ink2);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.hlkey .hl{margin:0 6px 0 0}
.sec.dark .hlkey{color:var(--shale)}

/* ---- Checkout: Cybersource secure card fields ---- */
.cc-field{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 16px;height:50px;
  display:flex;align-items:center;box-sizing:border-box}
.cc-field iframe{width:100%!important;height:24px!important}
.cc-field.focus{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(221,0,45,.18)}
.cc-field.bad{border-color:var(--red-deep)}
.cc-wait{font-style:normal;font-size:14px;color:var(--ink3)}
.fld2 select{height:50px}
.billh{font-family:Barlow,sans-serif;font-weight:700;font-size:16px;color:var(--ink);margin:26px 0 12px}
#co-submit:disabled{opacity:.6;cursor:wait}
.paydone{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;max-width:640px;margin:0 auto}
.paydone .k{font-family:Barlow,sans-serif;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red-deep);margin:0 0 8px}
.paydone h2{margin:0 0 14px}
.paydone p{font-size:16px;line-height:1.6;color:var(--ink2);margin:0 0 12px}
.paydone .btn{margin-top:8px}

/* ---- Visit-date calendar + grand reopening notice ---- */
.vpick{margin-top:34px}
.reopen{display:flex;gap:12px;align-items:flex-start;background:var(--blackout);color:#fff;
  border-radius:14px;padding:15px 18px;margin:12px 0 16px;max-width:520px}
.reopen .star{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red-bright);
  display:grid;place-items:center;font-size:14px;line-height:1;margin-top:1px}
.reopen p{margin:0;font-size:15px;line-height:1.5;color:#d9d4ca}
.reopen b{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:2px}
.vcal{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px;max-width:380px}
.vcal.need{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(221,0,45,.18)}
.vc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.vc-title{margin:0;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:20px;
  text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
.vc-nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;
  font-size:24px;line-height:1;color:var(--ink);cursor:pointer;padding:0 0 3px}
.vc-nav:hover:not(:disabled){border-color:var(--ink)}
.vc-nav:disabled{opacity:.3;cursor:default}
.vc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.vc-dow{text-align:center;font-family:Barlow,sans-serif;font-weight:700;font-size:12px;color:var(--ink3);padding:4px 0}
.vc-day{position:relative;aspect-ratio:1;min-height:38px;border:0;border-radius:10px;background:var(--paper);
  font-family:Barlow,sans-serif;font-weight:600;font-size:15px;color:var(--ink);cursor:pointer;padding:0}
.vc-day:hover:not(:disabled){background:#eee6d8;box-shadow:inset 0 0 0 1.5px var(--ink)}
.vc-day:disabled{background:none;color:#c2bcb0;cursor:default;font-weight:400}
.vc-day.closed{text-decoration:line-through}
.vc-day.open::after{content:"";position:absolute;left:50%;bottom:5px;width:5px;height:5px;margin-left:-2.5px;
  border-radius:50%;background:var(--gold)}
.vc-day.sel{background:var(--red-bright);color:#fff}
.vc-day.sel::after{background:#fff}
.vc-key{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 2px 0;font-size:12.5px;color:var(--ink3)}
.vc-key span{display:inline-block;width:7px;height:7px;border-radius:50%}
.vc-key .k-open{background:var(--gold)}
.vc-key .k-closed{width:12px;height:1.5px;border-radius:0;background:#c2bcb0;margin-left:10px}
.vnote{font-size:14.5px;line-height:1.55;color:var(--ink2);margin:12px 0 0;max-width:52ch}
.vnote b{color:var(--ink)}
.vsel{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:18px;color:var(--ink);margin:12px 0 0}
.vsel.err{color:var(--red-bright)}
/* bachelor page: date step above the packages */
.bachdate{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start;background:var(--cream);
  border:1px solid var(--line);border-radius:20px;padding:28px 30px;margin:0 0 34px}
.bachdate h3,.bachstep{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;font-size:26px;letter-spacing:.02em;margin:0 0 4px;color:var(--ink)}
.bachstep{margin:0 0 16px}
.bachdate h3 .num,.bachstep .num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:var(--red);color:#fff;font-size:17px;font-style:normal;margin-right:10px;vertical-align:3px}
button.bbtn{width:100%;border:0;cursor:pointer}
.bachadded{text-align:center;margin:22px 0 0}
@media (max-width:860px){
  .bachdate{grid-template-columns:1fr;gap:18px;padding:22px 18px}
  .vcal{max-width:none}
}
.howto{list-style:none;counter-reset:h;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:520px}
.howto li{counter-increment:h;position:relative;padding-left:40px;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.howto li::before{content:counter(h);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;
  border:1.5px solid var(--ink);display:grid;place-items:center;font-family:"Barlow Condensed",sans-serif;
  font-weight:800;font-size:14px;color:var(--ink)}
.howto b{color:var(--ink)}
/* bundle pages: calendar replaces the photo in the right column */
.bigprice{white-space:nowrap}
.bpick .vcal{max-width:none}
.bpick .reopen{max-width:none}
.bpick .buybox{margin-top:24px}
@media (max-width:820px){.bpick{margin-top:6px}}
.bpick .vc-day{aspect-ratio:auto;height:50px;min-height:0}
.vc-day.sel,.vc-day.sel:hover:not(:disabled){background:var(--red-bright);color:#fff;box-shadow:none}
/* bundle pages: info + CTA on the left, calendar on the right (desktop) */
.bhero3{grid-template-areas:"info pick" "buy pick";grid-template-rows:auto 1fr}
.bhero3>div:first-child{grid-area:info}
.bhero3>.bpick{grid-area:pick}
.bhero3>.bbuy{grid-area:buy;align-self:start}
.bhero3 .bbuy .buybox{margin-top:4px}
@media (max-width:820px){
  .bhero3{grid-template-areas:"info" "pick" "buy";grid-template-rows:auto}
  .bhero3 .bbuy .buybox{margin-top:0}
}
/* bundle cards: cocktail photos (lighter than the room shots) */
.bimg img.bpic{filter:brightness(.8) saturate(1.05);object-position:center 70%}

.chefline{margin:6px 0 0;font-size:15px;color:var(--ink2)}
.chefline .link{font-size:15px}
.sec.dark .chefline{color:var(--platinum)}
.hl[title^="Fan"]{background:#DD002D;color:#fff}

/* launch fixes */
.vhero .formerly{margin:14px auto 0;font-size:17px;letter-spacing:.02em;color:#E9E4DA;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.vhero .formerly a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.nav .menu a.navpass{color:var(--gold)}
.foot .fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.two>*,.evwrap>*,.vsplit>*{min-width:0}
@media (max-width:760px){
  .vhero .vin{padding:40px 0 48px}
  .vhero .btns{margin-top:22px}
  .foot .legal a{display:inline-block;padding:8px 0}
  .vhero .lede{font-size:17px}
}
@media (max-width:1199px){.nav .menu a.navpass{display:none}}
@media (max-width:760px){.link{white-space:normal;max-width:100%}}
.bachlist{list-style:none;padding:0;margin:18px 0}
.bachlist li{position:relative;padding:7px 0 7px 26px;border-bottom:1px solid rgba(255,255,255,.08)}
.bachlist li::before{content:"";position:absolute;left:4px;top:15px;width:9px;height:9px;border-radius:50%;background:var(--red-bright)}
.preopen{font-weight:600;border-left:3px solid var(--red-bright);padding-left:12px;margin-top:14px}
.sec.dark .faqitem{border-color:rgba(255,255,255,.14)}
.sec.dark .faqitem summary{color:#fff}
.sec.dark .faqitem .a{color:var(--platinum)}
a.addr{color:inherit;text-decoration:underline;text-decoration-color:rgba(184,150,90,.6);text-underline-offset:3px}
a.addr:hover{color:var(--gold)}
.vgrid a.addr{text-decoration:none}
.vgrid a.addr:hover b{color:var(--gold)}

/* Homepage bottle service CTA */
.bscta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px}
.bscta .btn.big{box-shadow:0 12px 30px -10px rgba(221,0,45,.85)}
.bscta .btn.big:hover{background:#F0033A;box-shadow:0 14px 34px -10px rgba(221,0,45,.95)}
.bsphone{font-family:"Barlow Condensed",sans-serif;font-size:18px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;border-bottom:1px solid currentColor}
.bsphone:hover{color:#fff}
@media (max-width:640px){.bscta .btn.big{width:100%;text-align:center;box-sizing:border-box}}

/* Food photo slider */
.foodslide img{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.foodslide img.on{opacity:1}
.foodslide .fscap{z-index:3}
.fsnav{position:absolute;right:18px;bottom:18px;z-index:4;display:flex;gap:8px;line-height:0}
.fsnav button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.fsnav button.on{background:var(--gold);transform:scale(1.25)}
.fsarrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(19,19,24,.55);color:#fff;font-size:28px;line-height:38px;cursor:pointer;opacity:0;transition:opacity .2s}
.fsarrow.prev{left:12px}.fsarrow.next{right:12px}
.foodslide:hover .fsarrow,.fsarrow:focus-visible{opacity:1}
@media (hover:none){.fsarrow{opacity:.85}}

/* No entertainment fee badge */
.nofee{display:inline-flex;align-items:center;gap:10px;margin:16px 0 4px;padding:8px 16px;border-radius:100px;
  background:var(--red-bright);color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:17px;
  letter-spacing:.05em;text-transform:uppercase;line-height:1.2}
.nofee b{font-weight:800}
p.nofee,p.nofee b,.txt p.nofee,.sec p.nofee{color:#fff}
.lunchtop p.nofee{margin-top:18px}
.txt .nofee{margin:4px 0 18px}

/* Kitchen: lunch header with slider, full-width spread */
.lunchtop{align-items:center}
.spread{margin:0;background:var(--blackout);line-height:0}
.spread img{width:100%;height:auto;display:block;aspect-ratio:16/9;max-height:720px;object-fit:cover}

/* Hero lede as separate lines */
.vhero .lede.herolines{max-width:960px;line-height:1.35}
.vhero .lede.herolines span{display:block}
.vhero h1 .hdate{display:block;color:#E1B224;font-size:.72em;margin-top:.12em}
.foot .fine.smsline{font-size:16px;color:var(--bone)}
.foot .fine.smsline b{color:#E1B224;font-weight:700}
.sec .txt p.nofee,.sec.dark .txt p.nofee,.sec.dark p.nofee{color:#fff}

/* Room section: centered while photos are pending */
.sec.centered .sec-top{flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sec.centered .sec-top .sub{margin-inline:auto;max-width:780px;text-wrap:balance}
.sec.centered .sec-top>div{width:100%}
.sec.centered .label::after{margin-inline:auto}

/* ── Grand Re-Opening full-screen pop-up ── */
.promopop{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;background:var(--blackout);
  opacity:0;transition:opacity .3s ease}
.promopop.on{opacity:1}
.promopop .prbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.promopop .prshade{position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 55% at 50% 50%,rgba(0,0,0,.45),rgba(0,0,0,0) 75%),
             linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.1) 40%,rgba(0,0,0,.4))}
.promopop .prx{position:absolute;top:18px;right:20px;z-index:3;width:48px;height:48px;border:2px solid rgba(255,255,255,.75);
  border-radius:50%;background:rgba(19,19,24,.4);color:#fff;font-size:30px;line-height:42px;cursor:pointer;padding:0}
.promopop .prx:hover{background:#fff;color:var(--blackout)}
.promopop .prin{position:relative;z-index:2;text-align:center;padding:24px 20px;max-width:1100px}
.promopop .prtag{font-family:Yellowtail,"Brush Script MT",cursive;font-size:clamp(34px,4vw,52px);line-height:1;
  color:var(--gold);margin:0;text-shadow:0 2px 12px rgba(0,0,0,.95),0 0 26px rgba(0,0,0,.85),0 0 3px rgba(0,0,0,.9)}
.promopop .prh{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;
  line-height:.88;letter-spacing:-.012em;font-size:clamp(48px,9vw,112px);color:#fff;margin:16px 0 0;
  text-shadow:0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.9)}
.promopop .prh em{font-style:italic;color:var(--red-bright)}
.promopop .prh .hdate{display:block;color:#E1B224;font-size:.72em;margin-top:.12em}
.promopop .prgo{margin-top:34px;border:0;cursor:pointer;border-radius:100px;padding:18px 44px;font-size:24px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;
  background:var(--red-bright);color:#fff;box-shadow:0 14px 34px -10px rgba(221,0,45,.95)}
.promopop .prgo:hover{background:#F0033A}
@media(max-width:760px){.promopop .prtag .nl{display:block}.promopop .prx{top:12px;right:12px}}

/* ── Homepage hero: Grand Re-Opening banner ── */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gohero{background:#000;border-bottom:3px solid var(--red-bright)}
.gohero .golink{position:relative;display:block;color:#fff;text-decoration:none}
.gohero .gobg{display:block;width:100%;height:auto;max-height:82vh;object-fit:cover;object-position:left center}
.gohero .gotext{position:absolute;top:50%;right:5%;transform:translateY(-50%);width:40%;text-align:center}
.gohero .gotag{font-family:Yellowtail,"Brush Script MT",cursive;font-size:clamp(28px,3vw,44px);line-height:1;
  color:var(--gold);margin:0;text-shadow:0 2px 12px rgba(0,0,0,.9)}
.gohero h1{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;
  line-height:.86;letter-spacing:-.012em;font-size:clamp(46px,6.6vw,104px);color:#fff;margin:12px 0 0;
  text-shadow:0 2px 16px rgba(0,0,0,.9)}
.gohero h1 em{font-style:italic;color:var(--red-bright)}
.gohero .godate{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;
  color:#E1B224;font-size:clamp(22px,2.6vw,38px);line-height:1;margin:14px 0 0;letter-spacing:.01em}
.gohero .golede{font-family:"Barlow Condensed",sans-serif;font-size:clamp(17px,1.6vw,22px);line-height:1.35;
  color:#EDE9E1;margin:14px auto 0;max-width:34ch}
.gohero .gocta{margin-top:24px;border-radius:100px;padding:15px 34px;font-size:clamp(18px,1.6vw,22px);
  background:var(--red-bright);box-shadow:0 14px 34px -10px rgba(221,0,45,.95)}
.gohero .golink:hover .gocta{background:#F0033A}
@media (max-width:760px){
  /* one phone screen: image pulled up to cut the empty sky, text block centered */
  .gohero .golink{height:calc(100svh - 160px);min-height:470px;max-height:780px;overflow:hidden;background:#000}
  .gohero picture{position:absolute;inset:0}
  .gohero .gobg{position:absolute;left:0;top:0;width:100%;height:auto;max-height:none;transform:translateY(-13%);
    -webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
  .gohero .gotext{position:absolute;inset:0;transform:none;width:auto;margin:0;padding:24px 18px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    background:radial-gradient(ellipse 95% 42% at 50% 54%,rgba(0,0,0,.62),rgba(0,0,0,0) 78%)}
  .gohero .gotag{font-size:28px}
  .gohero h1{font-size:clamp(44px,13vw,64px);margin-top:6px}
  .gohero .godate{font-size:clamp(19px,5.6vw,26px);margin-top:10px}
  .gohero .golede{display:block;font-size:17px;margin-top:10px;max-width:30ch}
  .gohero .gocta{margin-top:16px;padding:13px 28px;font-size:19px}
}



/* ── Homepage events slider: arrows + synced copy ── */
.evcopy{animation:evfade .45s ease}
@keyframes evfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.evbtns{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.evarrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;
  border:0;border-radius:50%;background:rgba(19,19,24,.62);color:#fff;font-size:34px;line-height:44px;padding:0;cursor:pointer;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.6)}
.evarrow:hover{background:var(--red-bright)}
.evarrow.prev{left:12px}.evarrow.next{right:12px}
@media (prefers-reduced-motion:reduce){.evcopy{animation:none}}

.promopop .prgo{white-space:nowrap}
.promopop .prin:focus{outline:none}
@media(max-width:760px){.promopop .prgo{font-size:21px;padding:16px 34px}}
@media (max-width:900px){#events .evcar{order:-1}}

/* Flyers are 4:5 portrait */
.evstage{aspect-ratio:4/5}
.evcard .shot{aspect-ratio:4/5}
.evintro{font-size:17px;line-height:1.6;color:var(--ink2);margin:20px 0 0;max-width:52ch}
/* Event pages: flyer first on mobile */
@media (max-width:820px){.bhero .shotwrap{order:-1}}
.promopop .prlogo{display:block;width:clamp(170px,22vw,280px);height:auto;margin:0 auto 18px;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.85))}
@media(max-width:760px){.promopop .prlogo{width:160px;margin-bottom:12px}}
/* keep logo + text + CTA inside one screen */
.promopop{overflow-y:auto}
.promopop .prlogo{width:min(260px,22vw,24vh);margin-bottom:min(16px,1.8vh)}
.promopop .prtag{font-size:min(48px,4vw,5.4vh)}
.promopop .prh{font-size:min(104px,9vw,10.5vh);margin-top:min(14px,1.6vh)}
.promopop .prgo{margin-top:min(30px,3.4vh)}
@media(max-width:760px){.promopop .prlogo{width:min(160px,20vh)}.promopop .prtag{font-size:min(30px,4.2vh)}.promopop .prh{font-size:min(13vw,8.5vh)}}

/* Bottle service photo pair */
.bpics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bpics figure{margin:0;border-radius:4px;overflow:hidden;border:2px solid var(--iron);aspect-ratio:4/5;background:var(--bosco)}
.bpics img{width:100%;height:100%;object-fit:cover;display:block}
.bpics figure:first-child img{object-position:center 30%}
.bpics figure:last-child img{object-position:72% center}
.bpic img{object-position:center 30%}
/* Bigger section headings on phones */
@media (max-width:760px){.two h3{font-size:clamp(38px,11vw,48px);line-height:.95}}

/* ── Audit fixes ── */
/* hero date: short version on phones */
.gohero .dshort{display:none}
@media (max-width:760px){.gohero .dlong{display:none}.gohero .dshort{display:inline}}
/* lunch badge: clean two-line stack on phones */
@media (max-width:760px){
  .nofee{flex-direction:column;align-items:center;gap:2px;border-radius:14px;padding:9px 18px;text-align:center}
  .txt .nofee{align-items:flex-start;text-align:left}
}
/* free pass on dark */
.pass.dark{background:var(--blackout);color:var(--bone)}
.pass.dark .label{color:var(--gold)}
.pass.dark .disp{color:#fff}
.pass.dark .passlede{color:var(--platinum)}
.passrow:has(input[name=name]){grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.passrow:has(input[name=name]){grid-template-columns:1fr}}
/* footer: bigger, brighter */
.foot .menu{color:var(--bone)}
.foot .menu a{font-size:19px}
.foot .legal a{color:var(--shale);font-size:15px}
.foot .fine{color:var(--shale);font-size:15px}
/* nav: 8 links, keep the phone button on screen at laptop widths */
@media (max-width:1799px){.nav .brand img{width:124px}.nav .menu{gap:clamp(11px,1.1vw,18px);letter-spacing:.04em}
  .nav .menu a[href*="#inside"]{display:none}}
@media (max-width:1379px){.nav .menu a[href*="uber.com"]{display:none}}
@media (max-width:1149px){.nav .menu a[href*="#visit"]{display:none}}
@media (min-width:761px) and (max-width:919px){.nav .brand img{width:100px}.nav .navcta{font-size:15px;padding:8px 12px}.nav .menu{font-size:14px;gap:12px}}
@media (max-width:760px){.nofee{display:flex;width:fit-content}}

.shot.full{max-width:480px;margin-inline:auto}
.shot.full.bpic{max-width:400px}
.shot.full img{aspect-ratio:auto;height:auto;object-fit:contain}
