*{box-sizing:border-box}
:root{
  --ink:#130b15;
  --deep:#09060a;
  --plum:#39143f;
  --violet:#722a77;
  --magenta:#d42e76;
  --amber:#f1a54c;
  --cream:#f3e7d8;
  --paper:#fbf3e9;
  --text:#261720;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--deep);
  color:#fff;
  font-family:"DM Sans",sans-serif;
  overflow-x:hidden;
  padding-bottom:72px;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;width:100%}
h1,h2,h3{
  margin:0;
  font-family:"Unbounded",sans-serif;
  font-weight:500;
  letter-spacing:-.045em;
}
.grain{
  position:fixed;
  inset:0;
  z-index:100;
  pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.site-header{
  position:fixed;
  z-index:50;
  top:0;
  left:0;
  right:0;
  height:68px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(rgba(9,6,10,.92),rgba(9,6,10,.15));
  backdrop-filter:blur(10px);
  transition:.3s;
}
.site-header.scrolled{
  height:62px;
  background:rgba(9,6,10,.94);
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.brand-orb{
  width:14px;
  height:14px;
  flex:0 0 auto;
  border-radius:50%;
  background:linear-gradient(135deg,var(--amber),var(--magenta));
  box-shadow:0 0 20px rgba(241,165,76,.45);
}
.brand-copy{display:flex;flex-direction:column}
.brand-copy strong{
  font-family:"Unbounded",sans-serif;
  font-size:.73rem;
  letter-spacing:.17em;
}
.brand-copy small{
  margin-top:3px;
  color:rgba(255,255,255,.45);
  font-size:.43rem;
  letter-spacing:.15em;
}
.desktop-nav{display:none}
.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.book-link{
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.38);
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.menu-button{
  border:0;
  background:none;
  color:#fff;
  font-size:1.25rem;
  cursor:pointer;
}
.mobile-menu{
  position:fixed;
  z-index:80;
  inset:0;
  padding:18vh 10vw 10vh;
  background:#110912;
  display:flex;
  flex-direction:column;
  gap:22px;
  transform:translateX(100%);
  transition:.45s ease;
}
.mobile-menu.open{transform:none}
.mobile-menu>a{
  font-family:"Unbounded",sans-serif;
  font-size:clamp(2rem,10vw,4rem);
  line-height:1;
}
.mobile-menu .mobile-book{
  margin-top:20px;
  width:max-content;
  padding-bottom:9px;
  border-bottom:1px solid currentColor;
  font-family:"DM Sans",sans-serif;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.menu-close{
  position:absolute;
  top:22px;
  right:22px;
  border:0;
  background:none;
  color:#fff;
  font-size:2rem;
  cursor:pointer;
}

.hero{
  position:relative;
  min-height:100svh;
  padding:18vh 18px 9vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.hero-images,.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-image{
  object-fit:cover;
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1.5s ease,transform 7s ease;
}
.hero-image.active{
  opacity:1;
  transform:scale(1);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(9,6,10,.96),rgba(9,6,10,.15) 62%),
    linear-gradient(90deg,rgba(9,6,10,.72),rgba(9,6,10,.1));
}
.hero-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:960px;
}
.eyebrow{
  color:#ffb15f;
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.eyebrow.dark{color:#914162}
.hero h1{
  margin-top:12px;
  font-size:clamp(3.7rem,15vw,7.6rem);
  line-height:.88;
}
.hero h1 em{
  display:inline-block;
  color:#ffad55;
  font-style:normal;
}
.hero-intro{
  max-width:620px;
  margin:22px 0 0;
  color:rgba(255,255,255,.67);
  line-height:1.75;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.primary-cta,.secondary-cta{
  padding:13px 15px;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.primary-cta{
  background:#ffad55;
  color:#180d16;
  font-weight:700;
}
.primary-cta span{margin-left:18px}
.secondary-cta{
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.035);
}
.hero-location,.scroll-hint{display:none}

.experience{
  padding:11vh 18px;
  background:var(--cream);
  color:var(--text);
}
.experience-heading{
  max-width:1000px;
  margin-bottom:40px;
}
.experience-heading h2{
  margin-top:13px;
  font-size:clamp(2.8rem,12vw,5.8rem);
  line-height:.98;
}
.experience-heading>p:last-child{
  max-width:700px;
  color:#6f5d67;
  line-height:1.8;
}
.experience-grid{
  display:grid;
  gap:14px;
}
.experience-card{
  position:relative;
  min-height:68vh;
  overflow:hidden;
  color:#fff;
}
.experience-card img{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
  transition:transform .9s ease;
}
.experience-card:hover img{transform:scale(1.035)}
.card-shade{
  position:absolute;
  inset:30% 0 0;
  background:linear-gradient(transparent,rgba(8,4,9,.93));
}
.card-copy{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:22px;
}
.card-copy span{
  color:#ffb15f;
  font-size:.54rem;
  letter-spacing:.15em;
}
.card-copy p{
  margin:10px 0;
  color:rgba(255,255,255,.55);
  font-size:.56rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.card-copy h3{
  font-size:clamp(2.5rem,10vw,4.8rem);
  line-height:.93;
}

.phase-strip{
  padding:10vh 18px;
  background:var(--plum);
  display:grid;
  gap:24px;
}
.phase-line{
  width:75px;
  height:1px;
  background:#ffad55;
}
.phase-copy p{
  margin:0 0 10px;
  color:#ffb15f;
  font-size:.56rem;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.phase-copy h2{
  font-size:clamp(2.7rem,11vw,5.2rem);
  line-height:.94;
}
.phase-copy span{
  display:block;
  margin-top:12px;
  color:rgba(255,255,255,.52);
  font-size:.55rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  line-height:1.7;
}
.phase-event{
  padding:18px;
  border:1px solid rgba(255,255,255,.18);
  display:flex;
  flex-direction:column;
}
.phase-event span{
  color:#ffb15f;
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.phase-event strong{
  margin-top:7px;
  font-family:"Unbounded",sans-serif;
  font-size:1rem;
}

.bottom-nav{
  position:fixed;
  z-index:60;
  left:0;
  right:0;
  bottom:0;
  height:72px;
  padding:8px 8px max(8px,env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(9,6,10,.95);
  backdrop-filter:blur(12px);
}
.bottom-nav a{
  display:grid;
  place-items:center;
  font-size:.55rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.bottom-primary{
  background:#ffad55;
  color:#180d16;
}

footer{
  padding:46px 18px;
  background:#070407;
  color:rgba(255,255,255,.45);
  display:flex;
  flex-direction:column;
  gap:18px;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:11px;
}
.footer-brand div{display:flex;flex-direction:column}
.footer-brand strong{
  color:#fff;
  font-family:"Unbounded",sans-serif;
  font-size:.78rem;
  letter-spacing:.15em;
}
.footer-brand small{
  margin-top:4px;
  font-size:.46rem;
  letter-spacing:.14em;
}
footer p{
  margin:0;
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  line-height:1.6;
}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:.8s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}

@media(min-width:820px){
  body{padding-bottom:0}
  .site-header{padding:0 4vw}
  .desktop-nav{
    display:flex;
    align-items:center;
    gap:26px;
  }
  .desktop-nav a{
    color:rgba(255,255,255,.64);
    font-size:.54rem;
    text-transform:uppercase;
    letter-spacing:.13em;
  }
  .desktop-nav a:hover{color:#fff}
  .menu-button{display:none}
  .hero{padding-left:6vw;padding-right:6vw}
  .hero-location{
    position:absolute;
    z-index:2;
    right:5vw;
    bottom:8vh;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
  }
  .hero-location span{
    color:rgba(255,255,255,.5);
    font-size:.54rem;
    text-transform:uppercase;
    letter-spacing:.14em;
  }
  .hero-location strong{
    margin-top:6px;
    font-family:"Unbounded",sans-serif;
    font-size:2rem;
  }
  .scroll-hint{
    position:absolute;
    z-index:2;
    right:3vw;
    top:42%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
  .scroll-hint span{
    writing-mode:vertical-rl;
    color:rgba(255,255,255,.42);
    font-size:.5rem;
    text-transform:uppercase;
    letter-spacing:.15em;
  }
  .scroll-hint i{
    width:1px;
    height:70px;
    background:linear-gradient(#ffad55,transparent);
  }
  .experience,.phase-strip{
    padding-left:6vw;
    padding-right:6vw;
  }
  .experience-grid{
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .phase-strip{
    grid-template-columns:75px 1fr 270px;
    align-items:center;
  }
  .phase-line{width:100%}
  .bottom-nav{
    left:50%;
    right:auto;
    bottom:18px;
    width:520px;
    height:58px;
    transform:translateX(-50%);
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    padding:7px;
  }
  .bottom-primary{border-radius:999px}
  footer{
    padding:50px 6vw;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}

/* Phase 2 */
.mood-marquee{
  overflow:hidden;
  background:#f1a54c;
  color:#180d16;
  border-top:1px solid rgba(0,0,0,.18);
  border-bottom:1px solid rgba(0,0,0,.18);
}
.mood-marquee>div{
  display:flex;
  width:max-content;
  animation:moodScroll 26s linear infinite;
}
.mood-marquee span{
  white-space:nowrap;
  padding:15px 0;
  font-family:"Unbounded",sans-serif;
  font-size:.8rem;
  letter-spacing:.08em;
}

.menu-story{
  padding:11vh 18px;
  background:linear-gradient(180deg,#211120,#110911);
}
.menu-story-heading{
  max-width:900px;
  margin-bottom:40px;
}
.menu-story-heading h2,
.drinks-copy h2,
.live-moment-copy h2,
.events-heading h2,
.people-copy h2{
  margin-top:12px;
  font-size:clamp(3rem,12vw,6.5rem);
  line-height:.94;
}
.menu-story-heading>p:last-child,
.drinks-copy>p:not(.eyebrow),
.events-heading>p:last-child,
.people-copy>p:last-child{
  max-width:680px;
  color:rgba(255,255,255,.6);
  line-height:1.8;
}
.dish-grid{
  display:grid;
  gap:14px;
}
.dish-card{
  position:relative;
  min-height:62vh;
  overflow:hidden;
}
.dish-card img{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
  transition:transform .9s ease;
}
.dish-card:hover img{transform:scale(1.04)}
.dish-shade{
  position:absolute;
  inset:30% 0 0;
  background:linear-gradient(transparent,rgba(8,4,9,.95));
}
.dish-copy{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:20px;
}
.dish-copy span{
  color:#ffb15f;
  font-size:.53rem;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.dish-copy h3{
  margin:10px 0;
  font-size:clamp(2rem,8vw,4rem);
  line-height:.94;
}
.dish-copy p{
  max-width:420px;
  color:rgba(255,255,255,.62);
  line-height:1.7;
}
.menu-links{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:28px;
}
.menu-links a,
.drinks-copy>a{
  display:inline-block;
  padding-bottom:7px;
  border-bottom:1px solid currentColor;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.drinks-section{
  display:grid;
  background:#f3e7d8;
  color:#261720;
}
.drinks-image{
  position:relative;
  min-height:68vh;
  overflow:hidden;
}
.drinks-image img{
  height:100%;
  object-fit:cover;
}
.drinks-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(19,11,21,.18),transparent 50%);
}
.drinks-orbit{
  position:absolute;
  z-index:2;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  animation:orbit 12s linear infinite;
}
.orbit-one{
  width:190px;
  height:190px;
  top:12%;
  left:10%;
}
.orbit-two{
  width:310px;
  height:310px;
  right:-9%;
  bottom:4%;
  animation-duration:18s;
  animation-direction:reverse;
}
.drinks-copy{
  padding:10vh 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.drinks-copy .eyebrow{color:#914162}
.drinks-copy>p:not(.eyebrow){color:#6f5d67}
.drink-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:26px 0;
}
.drink-tags span{
  border:1px solid rgba(38,23,32,.16);
  padding:10px 12px;
  font-size:.53rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.live-moment{
  position:relative;
  min-height:95svh;
  padding:12vh 18px 10vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.live-moment>img{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
}
.live-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(9,6,10,.94),rgba(9,6,10,.12) 62%);
}
.live-moment-copy{
  position:relative;
  z-index:2;
  max-width:900px;
}
.live-moment-copy>p:not(.eyebrow){
  color:rgba(255,255,255,.66);
}
.sound-player{
  margin-top:24px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(9,6,10,.46);
  backdrop-filter:blur(10px);
  color:#fff;
  padding:13px 14px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
}
.sound-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#f1a54c,#d42e76);
  color:#180d16;
}
.sound-player>span:last-child{
  display:flex;
  flex-direction:column;
}
.sound-player strong{font-size:.72rem}
.sound-player small{
  margin-top:3px;
  color:rgba(255,255,255,.5);
  font-size:.52rem;
}
.sound-player.playing .sound-icon{
  animation:pulse 1s infinite alternate;
}

.events-section{
  padding:11vh 18px;
  background:#f3e7d8;
  color:#261720;
}
.events-heading{
  max-width:950px;
  margin-bottom:38px;
}
.events-heading>p:last-child{color:#6f5d67}
.event-hero{
  position:relative;
  min-height:70vh;
  overflow:hidden;
}
.event-hero img{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
}
.event-shade{
  position:absolute;
  inset:36% 0 0;
  background:linear-gradient(transparent,rgba(10,5,10,.94));
}
.event-capacity{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:20px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  color:#fff;
}
.event-capacity div{display:flex;flex-direction:column}
.event-capacity strong{
  color:#ffb15f;
  font-family:"Unbounded",sans-serif;
  font-size:1.35rem;
}
.event-capacity span{
  margin-top:5px;
  color:rgba(255,255,255,.55);
  font-size:.5rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.event-benefits{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.event-benefits article{
  padding:18px 15px;
  border:1px solid rgba(38,23,32,.14);
  background:#fbf3e9;
}
.event-benefits span{
  color:#914162;
  font-size:.53rem;
}
.event-benefits h3{
  margin:14px 0 8px;
  font-size:1.15rem;
  letter-spacing:-.03em;
}
.event-benefits p{
  margin:0;
  color:#6f5d67;
  font-size:.72rem;
  line-height:1.7;
}
.event-cta{
  display:inline-block;
  margin-top:24px;
  padding:14px 16px;
  background:#401744;
  color:#fff;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.people-section{
  padding:11vh 18px;
  background:#110911;
}
.people-copy{
  max-width:900px;
  margin-bottom:36px;
}
.people-grid{
  display:grid;
  gap:12px;
}
.people-grid img{
  height:64vh;
  object-fit:cover;
}

@keyframes moodScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes orbit{
  from{transform:rotate(0deg) scale(.98)}
  50%{transform:rotate(180deg) scale(1.03)}
  to{transform:rotate(360deg) scale(.98)}
}
@keyframes pulse{
  from{transform:scale(.95)}
  to{transform:scale(1.06)}
}

@media(min-width:820px){
  .menu-story,.events-section,.people-section{
    padding-left:6vw;
    padding-right:6vw;
  }
  .dish-grid{
    grid-template-columns:1fr 1fr;
  }
  .dish-tall{
    grid-row:span 2;
    min-height:100%;
  }
  .drinks-section{
    grid-template-columns:55% 45%;
    min-height:100vh;
  }
  .drinks-image{min-height:100vh}
  .drinks-copy{
    padding:12vh 6vw;
  }
  .live-moment{
    padding-left:6vw;
    padding-right:6vw;
  }
  .event-benefits{
    grid-template-columns:repeat(4,1fr);
  }
  .people-grid{
    grid-template-columns:1.15fr .85fr .85fr;
  }
  .people-grid img{
    height:72vh;
  }
}

/* Phase 3 */
.social-sequence{
  padding:11vh 18px;
  background:#0f080f;
}
.social-heading{
  max-width:900px;
  margin-bottom:38px;
}
.social-heading h2,
.experience-tabs-copy h2,
.review-heading h2,
.event-conversion-copy h2{
  margin-top:12px;
  font-size:clamp(3rem,12vw,6.4rem);
  line-height:.94;
}
.social-heading>p:last-child{
  max-width:650px;
  color:rgba(255,255,255,.6);
  line-height:1.8;
}
.social-track{
  position:relative;
  min-height:76vh;
}
.social-frame{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  pointer-events:none;
  transform:scale(.985);
  transition:opacity .7s ease,transform .7s ease;
  overflow:hidden;
}
.social-frame.active{
  opacity:1;
  pointer-events:auto;
  transform:scale(1);
}
.social-frame img{
  width:100%;
  height:76vh;
  object-fit:cover;
}
.social-shade{
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(transparent,rgba(8,4,9,.96));
}
.social-copy{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:24px;
  max-width:950px;
}
.social-copy span{
  color:#ffb15f;
  font-size:.53rem;
  letter-spacing:.15em;
}
.social-copy h3{
  margin:12px 0;
  font-size:clamp(2.5rem,10vw,5.8rem);
  line-height:.95;
}
.social-copy p{
  max-width:620px;
  color:rgba(255,255,255,.64);
  line-height:1.7;
}
.social-controls{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  gap:16px;
  align-items:center;
  margin-top:18px;
}
.social-controls button{
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.social-progress{
  height:2px;
  background:rgba(255,255,255,.16);
}
.social-progress span{
  display:block;
  width:20%;
  height:100%;
  background:#f1a54c;
  transition:width .4s ease;
}

.experience-tabs{
  padding:11vh 18px;
  background:#f3e7d8;
  color:#261720;
}
.experience-tabs-copy{
  max-width:900px;
  margin-bottom:34px;
}
.tab-buttons{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:10px;
  scrollbar-width:none;
}
.tab-buttons::-webkit-scrollbar{display:none}
.experience-tab{
  white-space:nowrap;
  border:1px solid rgba(38,23,32,.15);
  background:#fbf3e9;
  color:#261720;
  padding:12px 15px;
  cursor:pointer;
}
.experience-tab.active{
  background:#421947;
  color:#fff;
  border-color:#421947;
}
.experience-panels{
  position:relative;
  min-height:52vh;
  margin-top:10px;
  border-top:1px solid rgba(38,23,32,.14);
  border-bottom:1px solid rgba(38,23,32,.14);
}
.experience-panel{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:26px;
  padding:7vh 0;
  opacity:0;
  pointer-events:none;
  transform:translateY(18px);
  transition:.55s ease;
}
.experience-panel.active{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.experience-panel span{
  color:#914162;
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.experience-panel h3{
  max-width:900px;
  margin:12px 0;
  font-size:clamp(2.4rem,8vw,5rem);
  line-height:.98;
}
.experience-panel p{
  max-width:650px;
  color:#6f5d67;
  line-height:1.8;
}
.experience-panel>a{
  width:max-content;
  padding-bottom:7px;
  border-bottom:1px solid currentColor;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.review-section{
  padding:11vh 18px;
  background:#3c1741;
}
.review-heading{
  max-width:900px;
  margin-bottom:30px;
}
.review-stage{
  position:relative;
  min-height:52vh;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.review-card{
  position:absolute;
  inset:0;
  margin:0;
  padding:7vh 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transform:translateY(16px);
  transition:.55s ease;
}
.review-card.active{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.review-card>p{
  max-width:1050px;
  margin:0;
  font-family:"Unbounded",sans-serif;
  font-size:clamp(2.2rem,8vw,5rem);
  line-height:1.05;
  letter-spacing:-.04em;
}
.review-card footer{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}
.review-card footer strong,
.review-card footer span{
  font-size:.56rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.review-card footer span{color:rgba(255,255,255,.5)}
.review-dots{
  display:flex;
  gap:8px;
  margin-top:22px;
}
.review-dot{
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:rgba(255,255,255,.6);
}
.review-dot.active{
  background:#f1a54c;
  color:#180d16;
  border-color:#f1a54c;
}

.event-conversion{
  position:relative;
  min-height:95svh;
  padding:12vh 18px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.event-conversion>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-conversion-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(9,6,10,.95),rgba(9,6,10,.12) 64%);
}
.event-conversion-copy{
  position:relative;
  z-index:2;
  max-width:950px;
}
.event-conversion-copy>p:not(.eyebrow){
  max-width:650px;
  color:rgba(255,255,255,.65);
  line-height:1.8;
}
.event-conversion-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.cursor-glow{
  position:fixed;
  z-index:1;
  width:240px;
  height:240px;
  margin:-120px 0 0 -120px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(212,46,118,.14),transparent 67%);
  opacity:0;
  transition:opacity .25s;
}

@media(min-width:820px){
  .social-sequence,
  .experience-tabs,
  .review-section{
    padding-left:6vw;
    padding-right:6vw;
  }
  .social-track{
    min-height:82vh;
  }
  .social-frame img{
    height:82vh;
  }
  .social-copy{
    left:34px;
    bottom:30px;
  }
  .experience-panel{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
  }
  .experience-panel>a{
    margin-bottom:12px;
  }
  .event-conversion{
    padding-left:6vw;
    padding-right:6vw;
  }
}

/* Phase 4 — Final */
.brand-manifesto{
  padding:12vh 18px;
  background:#110911;
}
.manifesto-copy{
  max-width:950px;
  margin-bottom:44px;
}
.manifesto-copy h2,
.host-intro h2,
.final-poster-copy h2{
  margin-top:12px;
  font-size:clamp(3.2rem,13vw,6.8rem);
  line-height:.92;
}
.manifesto-copy>p:last-child{
  max-width:700px;
  color:rgba(255,255,255,.62);
  line-height:1.8;
}
.manifesto-grid{
  display:grid;
  gap:10px;
  border-top:1px solid rgba(255,255,255,.14);
}
.manifesto-grid article{
  padding:24px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.manifesto-grid span{
  color:#ffb15f;
  font-size:.53rem;
  letter-spacing:.14em;
}
.manifesto-grid h3{
  margin:18px 0 10px;
  font-size:clamp(2rem,8vw,4rem);
}
.manifesto-grid p{
  margin:0;
  max-width:330px;
  color:rgba(255,255,255,.58);
  line-height:1.7;
}

.gomoku-host{
  padding:12vh 18px;
  background:#f3e7d8;
  color:#261720;
}
.host-intro{
  max-width:980px;
  margin-bottom:38px;
}
.host-intro>p:last-child{
  max-width:680px;
  color:#6f5d67;
  line-height:1.8;
}
.host-shell{
  border:1px solid rgba(38,23,32,.15);
  background:#fbf3e9;
}
.host-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:10px;
  border-bottom:1px solid rgba(38,23,32,.14);
}
.host-option{
  border:1px solid rgba(38,23,32,.12);
  background:transparent;
  color:#261720;
  padding:13px 10px;
  cursor:pointer;
}
.host-option.active{
  background:#421947;
  color:#fff;
  border-color:#421947;
}
.host-results{
  position:relative;
  min-height:62vh;
}
.host-result{
  position:absolute;
  inset:0;
  padding:8vh 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transform:translateY(16px);
  transition:.55s ease;
}
.host-result.active{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.host-result>span{
  color:#914162;
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.host-result h3{
  max-width:900px;
  margin:14px 0;
  font-size:clamp(2.5rem,9vw,5.5rem);
  line-height:.97;
}
.host-result>p{
  max-width:650px;
  color:#6f5d67;
  line-height:1.8;
}
.host-result>div{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:20px;
}
.host-result a{
  padding-bottom:7px;
  border-bottom:1px solid currentColor;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.final-poster{
  position:relative;
  min-height:100svh;
  padding:12vh 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}
.final-poster>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.final-poster-shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 55%,rgba(73,19,75,.25),transparent 45%),
    rgba(9,6,10,.78);
}
.final-poster-copy{
  position:relative;
  z-index:3;
  max-width:1100px;
}
.final-poster-copy>p:not(.eyebrow){
  max-width:650px;
  margin:18px auto 0;
  color:rgba(255,255,255,.66);
  line-height:1.8;
}
.final-poster-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.final-poster-word{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-2vw;
  transform:translateX(-50%);
  color:rgba(255,255,255,.035);
  font-family:"Unbounded",sans-serif;
  font-size:21vw;
  line-height:.8;
  white-space:nowrap;
}

.site-header.final-scrolled{
  box-shadow:0 14px 40px rgba(0,0,0,.22);
}
.bottom-nav a,
.bottom-nav button{
  min-height:44px;
}
.primary-cta,
.secondary-cta,
.book-link,
.event-cta{
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.primary-cta:hover,
.secondary-cta:hover,
.book-link:hover,
.event-cta:hover{
  transform:translateY(-2px);
}

@media(max-width:520px){
  .hero h1{
    font-size:clamp(3.35rem,15.4vw,4.8rem);
  }
  .hero-actions,
  .final-poster-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-actions a,
  .final-poster-actions a{
    width:100%;
    text-align:center;
  }
  .event-capacity strong{
    font-size:1.1rem;
  }
  .social-copy h3{
    font-size:clamp(2.25rem,10.8vw,4rem);
  }
}

@media(min-width:820px){
  .brand-manifesto,
  .gomoku-host{
    padding-left:6vw;
    padding-right:6vw;
  }
  .manifesto-grid{
    grid-template-columns:repeat(4,1fr);
  }
  .manifesto-grid article{
    padding:28px 24px 40px;
    border-right:1px solid rgba(255,255,255,.14);
  }
  .manifesto-grid article:last-child{border-right:0}
  .host-shell{
    display:grid;
    grid-template-columns:300px 1fr;
  }
  .host-options{
    grid-template-columns:1fr;
    align-content:start;
    padding:18px;
    border-bottom:0;
    border-right:1px solid rgba(38,23,32,.14);
  }
  .host-results{
    min-height:68vh;
  }
  .host-result{
    padding:8vh 6vw;
  }
  .final-poster{
    padding-left:6vw;
    padding-right:6vw;
  }
}

/* Final mobile event-image correction */
.event-hero-cinematic picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.event-hero-cinematic picture img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-shade-cinematic{
  inset:0;
  background:
    linear-gradient(0deg,rgba(10,5,10,.94),rgba(10,5,10,.1) 58%),
    linear-gradient(90deg,rgba(10,5,10,.52),transparent);
}
.event-mood-copy{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:120px;
  color:#fff;
}
.event-mood-copy>span{
  color:#ffb15f;
  font-size:.53rem;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.event-mood-copy h3{
  margin:10px 0 8px;
  font-size:clamp(2.8rem,13vw,5.8rem);
  line-height:.88;
}
.event-mood-copy p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.13em;
}
@media(max-width:700px){
  .event-hero-cinematic{
    min-height:82svh;
    border:0;
  }
  .event-hero-cinematic picture img{
    object-position:center;
  }
  .event-capacity{
    left:18px;
    right:18px;
    bottom:20px;
  }
  .event-mood-copy{
    bottom:132px;
  }
}
@media(min-width:701px){
  .event-mood-copy{
    max-width:650px;
    left:34px;
    bottom:140px;
  }
}
