:root{
  --ink:#03040d;
  --ink-soft:#080a18;
  --pink:#ff0b6d;
  --pink-2:#ff37a0;
  --cyan:#28d5e8;
  --white:#fff;
  --muted:#d7dbe5;
  --display:"Bebas Neue",sans-serif;
  --body:"Montserrat",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:white;font-family:var(--body);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:50;
  height:138px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(to bottom,
      rgba(3,4,13,.97) 0%,
      rgba(3,4,13,.9) 58%,
      rgba(3,4,13,.72) 78%,
      rgba(3,4,13,.34) 94%,
      transparent 100%);
  transition:height .25s ease,background .25s ease,border-color .25s ease;
}
.site-header.scrolled{
  height:116px;
  background:rgba(3,4,13,.95);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-shell{
  width:min(1380px,calc(100% - 40px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
}
.logo-link{
  position:relative;
  width:116px;
  height:116px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.98),rgba(246,246,246,.96) 58%,rgba(224,224,224,.95) 100%);
  border:3px solid rgba(255,255,255,.95);
  box-shadow:
    0 0 0 3px var(--pink),
    0 0 28px rgba(255,11,109,.34),
    inset 0 0 18px rgba(0,0,0,.08);
  overflow:hidden;
}
.logo-link img{
  width:84%;
  height:auto;
  position:relative;
  z-index:2;
}
.logo-accent{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    radial-gradient(circle at 20% 30%,rgba(255,11,109,.85) 0 4px,transparent 5px),
    radial-gradient(circle at 62% 22%,rgba(255,11,109,.55) 0 3px,transparent 4px),
    radial-gradient(circle at 75% 72%,rgba(255,11,109,.48) 0 5px,transparent 6px);
  opacity:.22;
}
.site-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(20px,2vw,34px);
  font-size:12px;
  font-weight:800;
  letter-spacing:.35px;
}
.site-nav a{position:relative;padding:14px 0}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:5px;
  height:2px;
  background:var(--pink);
  box-shadow:0 0 10px rgba(255,11,109,.65);
  transition:right .2s ease;
}
.site-nav a:hover::after{right:0}
.book-link{
  min-width:116px;
  text-align:center;
  padding:15px 22px;
  border-radius:3px;
  background:linear-gradient(90deg,var(--pink),#df005f);
  box-shadow:0 0 24px rgba(255,11,109,.26);
  font-size:12px;
  font-weight:800;
}
.menu-toggle{display:none}

.hero{
  position:relative;
  min-height:100svh;
  padding:148px 24px 56px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 76% 38%,rgba(255,11,109,.16),transparent 31%),
    radial-gradient(circle at 34% 70%,rgba(40,213,232,.08),transparent 28%),
    linear-gradient(115deg,#02030a 0%,#070918 48%,#02030b 100%);
}
.hero-grid{
  position:absolute;inset:0;z-index:-4;
  background-image:
    linear-gradient(rgba(40,213,232,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,213,232,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,transparent 7%,black 38%,black 78%,transparent 100%);
}
.hero-inner{
  width:min(1500px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(390px,.82fr) minmax(650px,1.18fr);
  align-items:center;
  gap:clamp(24px,3vw,54px);
}
.hero-copy{position:relative;z-index:8;max-width:650px}
.eyebrow{
  margin:0 0 12px;
  color:var(--cyan);
  font-size:12px;
  font-weight:800;
  letter-spacing:2.6px;
}
.hero h1{
  margin:0;
  font-family:var(--display);
  font-size:clamp(84px,7.7vw,148px);
  line-height:.88;
  letter-spacing:.5px;
}
.hero h1 span{display:block}
.cyan{color:var(--cyan);text-shadow:0 0 20px rgba(40,213,232,.22)}
.pink{color:var(--pink);text-shadow:0 0 24px rgba(255,11,109,.28)}
.pink-stroke{
  display:block;
  width:min(355px,72%);
  height:14px;
  margin:10px 0 18px 9px;
  border-top:4px solid var(--pink);
  transform:skewX(-28deg) rotate(-1.5deg);
  filter:drop-shadow(0 0 9px rgba(255,11,109,.7));
}
.hero-description{
  max-width:610px;
  margin:0;
  color:#edf0f6;
  font-size:clamp(15px,1.08vw,18px);
  line-height:1.68;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{
  min-height:52px;
  padding:0 23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:3px;
  font-size:12px;
  font-weight:800;
  transition:.2s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary{
  background:linear-gradient(90deg,var(--pink),#df005f);
  box-shadow:0 0 24px rgba(255,11,109,.28);
}
.button-outline{
  border:1px solid var(--cyan);
  background:rgba(3,4,13,.12);
  box-shadow:0 0 16px rgba(40,213,232,.12),inset 0 0 0 1px rgba(40,213,232,.06);
}
.button-outline:hover{background:rgba(40,213,232,.08)}

.hero-art{
  position:relative;
  min-height:690px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  z-index:4;
}
.hero-art img{
  width:min(980px,100%);
  height:auto;
  object-fit:contain;
  filter:none;
  clip-path:polygon(5% 0,100% 0,100% 98%,86% 100%,0 100%,0 10%);
  box-shadow:0 35px 90px rgba(0,0,0,.44);
}
.hero-art::before{
  content:"";
  position:absolute;
  left:-8%;
  top:8%;
  width:34%;
  height:84%;
  background:linear-gradient(to right,var(--ink) 0%,rgba(3,4,13,.72) 32%,transparent 100%);
  z-index:2;
  pointer-events:none;
}
.hero-art-glow{
  position:absolute;
  width:520px;height:520px;
  right:19%;top:17%;
  border-radius:50%;
  background:rgba(255,11,109,.18);
  filter:blur(70px);
  z-index:-1;
}
.ambient{position:absolute;border-radius:50%;filter:blur(80px);opacity:.2;z-index:-2}
.ambient-pink{width:460px;height:460px;background:var(--pink);right:24%;top:18%}
.ambient-cyan{width:320px;height:320px;background:var(--cyan);right:2%;bottom:10%}

.scroll-cue{
  position:absolute;
  left:50%;bottom:20px;
  width:28px;height:46px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:18px;
  transform:translateX(-50%);
}
.scroll-cue span{
  position:absolute;
  left:11px;top:8px;
  width:4px;height:8px;border-radius:5px;
  background:white;
  animation:scrollDot 1.8s infinite;
}

.experience-section{
  position:relative;
  padding:96px 24px 92px;
  background:
    radial-gradient(circle at 14% 16%,rgba(255,11,109,.08),transparent 24%),
    radial-gradient(circle at 88% 84%,rgba(40,213,232,.08),transparent 22%),
    #f6f4f1;
  color:#131622;
  overflow:hidden;
}
.experience-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(19,22,34,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(19,22,34,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
  pointer-events:none;
}
.experience-shell{
  position:relative;
  z-index:2;
  width:min(1320px,100%);
  margin:0 auto;
}
.experience-heading{
  max-width:910px;
  margin:0 auto 58px;
  text-align:center;
}
.section-kicker{
  margin:0 0 12px;
  color:var(--pink);
  font-size:12px;
  font-weight:800;
  letter-spacing:2.4px;
}
.experience-heading h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(48px,5.4vw,82px);
  line-height:.94;
  font-weight:400;
  letter-spacing:.5px;
}
.experience-lead,
.experience-detail{
  max-width:840px;
  margin:20px auto 0;
  color:#424756;
  font-size:16px;
  line-height:1.75;
}
.experience-detail{
  margin-top:12px;
  color:#5b6070;
}
.experience-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(19,22,34,.12);
  border-bottom:1px solid rgba(19,22,34,.12);
}
.experience-card{
  position:relative;
  min-height:300px;
  padding:34px 30px 30px;
  text-align:center;
  border-right:1px solid rgba(19,22,34,.12);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.experience-card:last-child{border-right:0}
.experience-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 40px rgba(19,22,34,.07);
}
.experience-icon{
  width:74px;
  height:74px;
  margin:0 auto 20px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#0a0c18;
  transform:rotate(-3deg);
  box-shadow:0 14px 28px rgba(10,12,24,.12);
}
.experience-icon svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform:rotate(3deg);
}
.icon-pink{
  color:var(--pink);
  box-shadow:
    0 14px 28px rgba(10,12,24,.12),
    0 0 18px rgba(255,11,109,.22);
}
.icon-cyan{
  color:var(--cyan);
  box-shadow:
    0 14px 28px rgba(10,12,24,.12),
    0 0 18px rgba(40,213,232,.22);
}
.experience-card h3{
  margin:0 0 12px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.35px;
}
.experience-card p{
  margin:0;
  color:#555a68;
  font-size:13px;
  line-height:1.65;
}
.experience-note{
  width:min(980px,100%);
  margin:44px auto 0;
  padding:24px 30px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:24px;
  align-items:center;
  border:1px solid rgba(40,213,232,.55);
  background:#0a0c18;
  color:white;
  box-shadow:0 0 24px rgba(40,213,232,.12);
}
.experience-note span{
  color:var(--cyan);
  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
}
.experience-note p{
  margin:0;
  color:#e2e6ef;
  font-size:13px;
  line-height:1.65;
}
@media(max-width:980px){
  .experience-grid{grid-template-columns:1fr 1fr}
  .experience-card:nth-child(2){border-right:0}
  .experience-card:nth-child(-n+2){border-bottom:1px solid rgba(19,22,34,.12)}
}
@media(max-width:620px){
  .experience-section{padding:76px 20px}
  .experience-heading{text-align:left;margin-bottom:40px}
  .experience-heading h2{font-size:clamp(48px,14vw,68px)}
  .experience-lead,.experience-detail{font-size:15px}
  .experience-grid{grid-template-columns:1fr}
  .experience-card{
    min-height:auto;
    text-align:left;
    display:grid;
    grid-template-columns:74px 1fr;
    column-gap:12px;
    align-items:start;
  }
  .experience-card,
  .experience-card:nth-child(2){
    border-right:0;
    border-bottom:1px solid rgba(19,22,34,.12);
  }
  .experience-card:last-child{border-bottom:0}
  .experience-icon{margin:0}
  .experience-card h3{margin-top:6px}
  .experience-card p{grid-column:2}
  .experience-note{
    grid-template-columns:1fr;
    gap:10px;
  }
}


.events-section{
  position:relative;
  padding:52px 24px 56px;
  color:white;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 40%,rgba(255,11,109,.13),transparent 27%),
    radial-gradient(circle at 88% 30%,rgba(40,213,232,.08),transparent 24%),
    linear-gradient(135deg,#090a18 0%,#03040d 58%,#080917 100%);
}
.events-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
}
.events-shell{
  position:relative;
  z-index:2;
  width:min(1360px,100%);
  margin:0 auto;
}
.events-heading{
  max-width:1120px;
  margin:0 auto 24px;
  text-align:center;
}
.events-heading h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(40px,3.55vw,56px);
  line-height:.98;
  font-weight:400;
}
.events-heading p:last-child{
  max-width:980px;
  margin:14px auto 0;
  color:#cbd0dc;
  font-size:13px;
  line-height:1.72;
}
.featured-event{
  display:grid;
  grid-template-columns:320px minmax(380px,1fr) 320px;
  gap:24px;
  align-items:center;
}
.event-poster{
  margin:0;
  padding:5px;
  border:2px solid var(--pink);
  border-radius:10px;
  background:rgba(255,11,109,.05);
  box-shadow:
    0 0 20px rgba(255,11,109,.4),
    0 20px 50px rgba(0,0,0,.34);
  transform:rotate(-1deg);
  transition:transform .25s ease,box-shadow .25s ease;
}
.event-poster:hover{
  transform:rotate(0deg) translateY(-5px);
  box-shadow:
    0 0 28px rgba(255,11,109,.58),
    0 26px 56px rgba(0,0,0,.4);
}
.event-poster img{
  width:100%;
  border-radius:6px;
}
.event-details{padding:0}
.event-label{
  margin:0 0 8px;
  color:var(--cyan);
  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
}
.event-facts{
  margin:0;
  display:grid;
  gap:12px;
}
.event-facts>div{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:12px;
  align-items:center;
}
.event-facts dt{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.7px;
}
.event-facts dd{
  margin:0;
  color:#d4d8e2;
  font-size:13px;
  line-height:1.55;
}
.fact-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:var(--pink);
}
.fact-icon svg,
.ticket-symbol svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.event-summary{
  margin:14px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#bfc4d0;
  font-size:13px;
  line-height:1.7;
}
.ticket-panel{
  padding:20px 18px 18px;
  border:2px solid var(--pink);
  background:rgba(7,8,20,.82);
  box-shadow:
    0 0 20px rgba(255,11,109,.22),
    inset 0 0 25px rgba(255,11,109,.045);
}
.ticket-row{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:12px;
  align-items:center;
}
.ticket-symbol{
  width:36px;
  height:36px;
  color:var(--pink);
}
.ticket-row small{
  display:block;
  color:#d5d9e3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.8px;
}
.ticket-row strong{
  display:block;
  margin-top:3px;
  font-family:var(--display);
  font-size:32px;
  font-weight:400;
  line-height:1;
}
.ticket-row strong.smaller{
  font-size:21px;
  color:white;
}
.ticket-divider{
  height:1px;
  margin:18px 0;
  background:rgba(255,11,109,.55);
}
.ticket-button{
  display:block;
  margin-top:18px;
  padding:13px 10px;
  text-align:center;
  background:linear-gradient(90deg,var(--pink),#df005f);
  font-size:12px;
  font-weight:800;
  box-shadow:0 0 20px rgba(255,11,109,.25);
}
@media(max-width:1050px){
  .featured-event{
    grid-template-columns:minmax(250px,.85fr) minmax(360px,1.15fr);
  }
  .ticket-panel{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1px 1fr auto;
    gap:24px;
    align-items:center;
  }
  .ticket-divider{width:1px;height:70px;margin:0}
  .ticket-button{margin:0;min-width:170px}
}
@media(max-width:760px){
  .events-section{padding:76px 20px}
  .events-heading{text-align:left}
  .featured-event{grid-template-columns:1fr;gap:32px}
  .event-poster{max-width:520px;margin:0 auto}
  .event-facts>div{grid-template-columns:1fr;gap:5px}
  .ticket-panel{
    grid-column:auto;
    display:block;
  }
  .ticket-divider{width:auto;height:1px;margin:24px 0}
  .ticket-button{margin-top:28px}
  .events-future-note{
    grid-template-columns:1fr;
    gap:10px;
  }
}


.booking-section{
  position:relative;
  padding:84px 24px 88px;
  background:
    radial-gradient(circle at 8% 20%,rgba(255,11,109,.07),transparent 22%),
    radial-gradient(circle at 92% 76%,rgba(40,213,232,.08),transparent 22%),
    #f6f4f1;
  color:#131622;
  overflow:hidden;
}
.booking-shell{
  width:min(1360px,100%);
  margin:0 auto;
}
.booking-heading{
  max-width:930px;
  margin:0 auto 46px;
  text-align:center;
}
.booking-heading h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(44px,4.7vw,72px);
  line-height:.96;
  font-weight:400;
}
.booking-heading p:last-child{
  max-width:820px;
  margin:18px auto 0;
  color:#515665;
  font-size:15px;
  line-height:1.7;
}
.booking-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid rgba(19,22,34,.12);
  border-bottom:1px solid rgba(19,22,34,.12);
}
.booking-card{
  padding:28px 18px 30px;
  text-align:center;
  border-right:1px solid rgba(19,22,34,.12);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.booking-card:last-child{border-right:0}
.booking-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 38px rgba(19,22,34,.07);
}
.booking-icon{
  width:68px;
  height:68px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:var(--pink);
  background:#0a0c18;
  box-shadow:
    0 12px 26px rgba(10,12,24,.12),
    0 0 18px rgba(255,11,109,.18);
}
.booking-card:nth-child(even) .booking-icon{
  color:var(--cyan);
  box-shadow:
    0 12px 26px rgba(10,12,24,.12),
    0 0 18px rgba(40,213,232,.18);
}
.booking-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.booking-card h3{
  margin:0 0 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.3px;
}
.booking-card p{
  margin:0;
  color:#5a5f6d;
  font-size:12.5px;
  line-height:1.6;
}
.booking-cta{
  margin-top:40px;
  padding:24px 28px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  background:#0a0c18;
  color:white;
  border:1px solid rgba(40,213,232,.48);
  box-shadow:0 0 24px rgba(40,213,232,.1);
}
.booking-cta span{
  color:var(--cyan);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.8px;
}
.booking-cta p{
  margin:6px 0 0;
  color:#d2d7e2;
  font-size:13.5px;
  line-height:1.65;
}
.booking-cta .button{
  min-width:150px;
}
@media(max-width:1120px){
  .booking-grid{grid-template-columns:repeat(3,1fr)}
  .booking-card:nth-child(3){border-right:0}
  .booking-card:nth-child(-n+3){border-bottom:1px solid rgba(19,22,34,.12)}
}
@media(max-width:700px){
  .booking-section{padding:72px 20px}
  .booking-heading{text-align:left}
  .booking-grid{grid-template-columns:1fr 1fr}
  .booking-card:nth-child(odd){border-right:1px solid rgba(19,22,34,.12)}
  .booking-card:nth-child(even){border-right:0}
  .booking-card:nth-child(-n+4){border-bottom:1px solid rgba(19,22,34,.12)}
  .booking-cta{grid-template-columns:1fr}
  .booking-cta .button{width:100%}
}
@media(max-width:480px){
  .booking-grid{grid-template-columns:1fr}
  .booking-card,
  .booking-card:nth-child(odd){
    border-right:0;
    border-bottom:1px solid rgba(19,22,34,.12);
  }
  .booking-card:last-child{border-bottom:0}
}






.about-section{
  position:relative;
  padding:48px 24px 54px;
  color:white;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 46%,rgba(255,11,109,.16),transparent 28%),
    radial-gradient(circle at 88% 30%,rgba(40,213,232,.11),transparent 24%),
    linear-gradient(140deg,#080918 0%,#03040d 62%,#080917 100%);
}
.about-shell{
  width:min(1360px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(470px,.98fr) minmax(460px,1fr);
  gap:26px;
  align-items:start;
}
.about-visual{
  display:flex;
}
.about-image-wrap{
  position:relative;
  width:100%;
  overflow:hidden;
  border:2px solid rgba(255,11,109,.82);
  border-radius:22px;
  box-shadow:
    0 0 26px rgba(255,11,109,.24),
    0 24px 52px rgba(0,0,0,.34);
}
.about-image-wrap img{
  width:100%;
  display:block;
  height:430px;
  object-fit:cover;
  object-position:center 18%;
}
.about-image-glow{
  position:absolute;
  inset:6% -8% 6% 14%;
  background:
    radial-gradient(circle at 40% 50%,rgba(255,11,109,.48),transparent 36%),
    radial-gradient(circle at 78% 44%,rgba(40,213,232,.30),transparent 28%);
  filter:blur(68px);
  z-index:-1;
}
.about-side{
  display:grid;
  gap:16px;
  align-content:start;
}
.about-copy{
  padding-top:2px;
}
.about-copy h2{
  margin:0 0 12px;
  font-family:var(--display);
  font-size:clamp(40px,3.8vw,56px);
  line-height:.94;
  font-weight:400;
}
.about-copy p{
  margin:0 0 11px;
  color:#c8cdd8;
  font-size:14px;
  line-height:1.62;
}
.about-copy .about-lead{
  color:white;
  font-size:15px;
  line-height:1.62;
}
.about-facts{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.about-facts div{
  padding:12px 10px;
  border-right:1px solid rgba(255,255,255,.12);
}
.about-facts div:last-child{border-right:0}
.about-facts span{
  display:block;
  color:var(--cyan);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
}
.about-facts strong{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
}
.about-quote-panel{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:10px;
  align-items:center;
  padding:16px 18px;
  border:2px solid var(--cyan);
  border-radius:22px;
  background:rgba(6,8,20,.72);
  box-shadow:
    0 0 18px rgba(40,213,232,.35),
    inset 0 0 20px rgba(40,213,232,.08);
}
.about-quote-icon{
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--pink);
  background:rgba(255,11,109,.08);
  box-shadow:0 0 16px rgba(255,11,109,.18);
}
.about-quote-icon svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.about-quote-kicker{
  margin:0 0 6px;
  color:var(--cyan);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.8px;
}
.about-quote-panel blockquote{
  margin:0;
  color:white;
  font-size:18px;
  line-height:1.35;
  font-style:italic;
}
@media(max-width:1180px){
  .about-shell{
    grid-template-columns:1fr;
    gap:22px;
  }
  .about-image-wrap img{
    height:390px;
  }
}
@media(max-width:760px){
  .about-section{padding:46px 20px 52px}
  .about-shell{gap:20px}
  .about-image-wrap img{
    height:320px;
  }
  .about-copy h2{font-size:clamp(38px,12vw,56px)}
  .about-facts{grid-template-columns:1fr}
  .about-facts div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .about-facts div:last-child{border-bottom:0}
  .about-quote-panel{
    grid-template-columns:52px 1fr;
    gap:12px;
    padding:16px 14px;
  }
  .about-quote-icon{
    width:52px;
    height:52px;
  }
  .about-quote-icon svg{
    width:30px;
    height:30px;
  }
  .about-quote-panel blockquote{
    font-size:17px;
  }
}




.origin-section{
  position:relative;
  border-top:1px solid rgba(255,255,255,.08);
  padding:54px 24px 58px;
  color:white;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 30%,rgba(255,39,130,.20),transparent 30%),
    radial-gradient(circle at 88% 68%,rgba(40,213,232,.13),transparent 28%),
    linear-gradient(135deg,#1a0b22 0%,#12091d 48%,#08101f 100%);
}
.origin-shell{
  width:min(1280px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(450px,.92fr) minmax(460px,1.08fr);
  gap:34px;
  align-items:center;
}
.origin-copy h2{
  margin:0 0 18px;
  font-family:var(--display);
  font-size:clamp(42px,4vw,60px);
  line-height:.95;
  font-weight:400;
}
.origin-copy p{
  margin:0 0 14px;
  color:#c6ccd7;
  font-size:14px;
  line-height:1.7;
}
.origin-copy .origin-lead{
  color:white;
  font-size:16px;
}
.origin-copy .origin-intro{
  color:#e4e9f1;
  font-size:14px;
}
.origin-drinks{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.origin-drink-card{
  min-height:168px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:14px 14px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-top:3px solid var(--pink);
  background:
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00)),
    rgba(12,14,30,.78);
  box-shadow:0 0 16px rgba(255,11,109,.05);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.origin-drink-card:nth-child(2){
  border-top-color:var(--cyan);
}
.origin-drink-card:nth-child(3){
  border-top-color:#d48fff;
}
.origin-drink-card:hover{
  transform:translateY(-4px);
  border-color:rgba(40,213,232,.36);
  box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 18px rgba(40,213,232,.08);
}
.origin-card-top{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.origin-card-number{
  color:var(--pink);
  font-family:var(--display);
  font-size:26px;
  line-height:1;
}
.origin-drink-card:nth-child(2) .origin-card-number{
  color:var(--cyan);
}
.origin-drink-card:nth-child(3) .origin-card-number{
  color:#d48fff;
}
.origin-card-label{
  color:#9ba4b3;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
}
.origin-drink-card h3{
  margin:18px 0 10px;
  font-family:var(--display);
  font-size:21px;
  line-height:1.02;
  font-weight:400;
}
.origin-drink-card p{
  margin:0;
  color:#b9c0cc;
  font-size:12px;
  line-height:1.55;
}
.origin-photo-frame{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  border:2px solid rgba(255,11,109,.68);
  background:#090b18;
  box-shadow:
    0 0 24px rgba(255,11,109,.20),
    0 22px 44px rgba(0,0,0,.30);
}
.origin-photo-frame>img{
  width:100%;
  display:block;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
.origin-badge{
  position:absolute;
  left:18px;
  top:18px;
  width:76px;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#fff;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.20),
    0 0 18px rgba(255,11,109,.20);
}
.origin-badge img{
  width:98%;
  height:98%;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:50%;
}
.origin-caption{
  margin:10px 4px 0;
  color:#8f97a6;
  font-size:11px;
}
@media(max-width:1080px){
  .origin-drinks{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .origin-shell{
    grid-template-columns:1fr;
    gap:32px;
  }
  .origin-visual{
    order:2;
  }
  .origin-copy{
    order:1;
  }
}
@media(max-width:620px){
  .origin-section{padding:48px 20px 52px}
  .origin-drinks{
    grid-template-columns:1fr;
  }
  .origin-drink-card{
    min-height:unset;
    gap:10px;
  }
  .origin-badge{
    width:82px;
    left:14px;
    top:14px;
  }
}

.faq-section{
  position:relative;
  padding:54px 24px 58px;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,11,109,.06),transparent 22%),
    radial-gradient(circle at 88% 80%,rgba(40,213,232,.07),transparent 24%),
    #f6f4f1;
  color:#131622;
}
.faq-shell{
  width:min(1240px,100%);
  margin:0 auto;
}
.faq-heading{
  max-width:780px;
  margin:0 auto 38px;
  text-align:center;
}
.faq-heading h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(44px,4.6vw,70px);
  line-height:.96;
  font-weight:400;
}
.faq-heading p:last-child{
  max-width:700px;
  margin:16px auto 0;
  color:#555a68;
  font-size:15px;
  line-height:1.7;
}
.faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 18px;
}
.faq-item{
  border:1px solid rgba(19,22,34,.14);
  border-radius:10px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 20px rgba(19,22,34,.03);
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.faq-item:hover{
  transform:translateY(-2px);
  border-color:rgba(40,213,232,.5);
  box-shadow:0 12px 28px rgba(19,22,34,.06);
}
.faq-item[open]{
  border-color:rgba(255,11,109,.5);
  box-shadow:0 14px 30px rgba(19,22,34,.07);
}
.faq-item summary{
  position:relative;
  padding:18px 50px 18px 20px;
  cursor:pointer;
  list-style:none;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before,
.faq-item summary::after{
  content:"";
  position:absolute;
  right:20px;
  top:50%;
  width:14px;
  height:2px;
  background:var(--pink);
  transform:translateY(-50%);
  transition:transform .2s ease;
}
.faq-item summary::after{
  transform:translateY(-50%) rotate(90deg);
}
.faq-item[open] summary::after{
  transform:translateY(-50%) rotate(0deg);
}
.faq-answer{
  padding:0 20px 18px;
}
.faq-answer p{
  margin:0;
  color:#555a68;
  font-size:13.5px;
  line-height:1.65;
}
@media(max-width:820px){
  .faq-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .faq-section{padding:62px 20px 66px}
  .faq-heading{text-align:left}
}


.contact-section{
  position:relative;
  padding:78px 24px 82px;
  color:white;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 20%,rgba(255,11,109,.16),transparent 26%),
    radial-gradient(circle at 88% 78%,rgba(40,213,232,.11),transparent 24%),
    linear-gradient(135deg,#090a19 0%,#03040d 60%,#080917 100%);
}
.contact-shell{
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(580px,1.28fr);
  gap:46px;
  align-items:start;
}
.contact-copy h2{
  margin:0 0 18px;
  font-family:var(--display);
  font-size:clamp(48px,4.8vw,72px);
  line-height:.94;
  font-weight:400;
}
.contact-lead{
  max-width:520px;
  margin:0;
  color:#d1d6e1;
  font-size:15px;
  line-height:1.72;
}
.contact-points{
  margin-top:30px;
  display:grid;
  gap:14px;
}
.contact-points div{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.contact-points span{
  color:var(--pink);
  font-family:var(--display);
  font-size:26px;
  line-height:1;
}
.contact-points p{
  margin:0;
  color:#bfc5d1;
  font-size:13.5px;
  line-height:1.6;
}
.contact-points strong{color:white}

.booking-form{
  padding:28px;
  border:1px solid rgba(40,213,232,.42);
  border-radius:18px;
  background:rgba(7,8,20,.82);
  box-shadow:
    0 0 22px rgba(40,213,232,.09),
    inset 0 0 24px rgba(40,213,232,.04);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.booking-form label{
  color:#eef1f6;
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
}
.booking-form input,
.booking-form select,
.booking-form textarea{
  width:100%;
  margin-top:8px;
  padding:13px 14px;
  color:white;
  background:#0d1020;
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.booking-form textarea{resize:vertical}
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus{
  border-color:var(--cyan);
  background:#111426;
  box-shadow:0 0 0 3px rgba(40,213,232,.1);
}
.booking-form select option{
  color:#111;
  background:white;
}
.booking-form .full{grid-column:1/-1}
.form-footer{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
}
.form-footer p{
  margin:0;
  color:#aeb5c3;
  font-size:11.5px;
  line-height:1.55;
}
.form-footer .button{
  min-width:220px;
}
@media(max-width:980px){
  .contact-shell{
    grid-template-columns:1fr;
    gap:30px;
  }
}
@media(max-width:680px){
  .contact-section{padding:66px 20px 70px}
  .form-grid{grid-template-columns:1fr}
  .booking-form{padding:22px 18px}
  .form-footer{grid-template-columns:1fr}
  .form-footer .button{width:100%}
}


.form-security{
  margin-top:18px;
}
.honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important;
}
.form-status{
  display:none;
  margin-top:16px;
  padding:13px 15px;
  border-radius:6px;
  font-size:12px;
  line-height:1.55;
}
.form-status.is-visible{display:block}
.form-status.is-success{
  color:#dffff7;
  border:1px solid rgba(40,213,232,.48);
  background:rgba(40,213,232,.10);
}
.form-status.is-error{
  color:#ffe2ed;
  border:1px solid rgba(255,11,109,.52);
  background:rgba(255,11,109,.10);
}
.booking-form.is-submitting{
  opacity:.76;
  pointer-events:none;
}




.site-footer{
  position:relative;
  padding:44px 24px 24px;
  color:white;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,11,109,.11),transparent 24%),
    radial-gradient(circle at 88% 72%,rgba(40,213,232,.07),transparent 25%),
    #050611;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-shell{
  width:min(1320px,100%);
  margin:0 auto;
}
.footer-top{
  display:grid;
  grid-template-columns:minmax(470px,1.45fr) minmax(150px,.5fr) minmax(160px,.56fr) minmax(210px,.66fr);
  gap:38px;
  align-items:center;
}
.footer-brand{
  display:grid;
  grid-template-columns:150px minmax(250px,1fr);
  gap:24px;
  align-items:center;
}
.footer-logo-link{
  display:block;
  width:max-content;
}
.footer-logo-circle{
  width:150px;
  height:150px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#fff;
  line-height:0;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.16),
    0 0 22px rgba(255,11,109,.16);
}
.footer-logo{
  width:148px;
  height:148px;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:50%;
  transform:translateY(-1px);
}
.footer-brand>p{
  margin:0;
  color:#bbc2cf;
  font-size:14px;
  line-height:1.65;
}
.footer-heading{
  margin:0 0 16px;
  color:var(--cyan);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:1.8px;
}
.footer-nav-group{
  align-self:center;
}
.footer-nav-group nav{
  display:grid;
  gap:11px;
}
.footer-nav-group a,
.footer-legal a{
  color:#c3c9d5;
  text-decoration:none;
  font-size:13px;
  transition:color .2s ease,transform .2s ease;
}
.footer-nav-group a:hover,
.footer-legal a:hover{
  color:white;
  transform:translateX(2px);
}
.footer-social-column{
  justify-self:end;
  align-self:center;
  text-align:center;
}
.footer-social-column .footer-heading{
  margin-bottom:14px;
}
.footer-socials{
  display:flex;
  justify-content:center;
  gap:10px;
}
.social-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:white;
  border:1px solid rgba(255,255,255,.17);
  background:#0c0e1b;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.social-icon:hover{
  transform:translateY(-2px);
  border-color:var(--cyan);
  box-shadow:0 0 14px rgba(40,213,232,.18);
}
.social-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-icon svg path:not(.play){
  fill:none;
}
.social-icon .play{
  fill:currentColor;
  stroke:none;
}
.social-active{
  border-color:rgba(255,11,109,.8);
  box-shadow:0 0 14px rgba(255,11,109,.18);
}
.social-placeholder{
  opacity:.45;
}
.footer-divider{
  height:1px;
  margin:34px 0 20px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
}
.footer-bottom p{
  margin:0;
  color:#858d9d;
  font-size:11px;
}
.footer-legal{
  display:flex;
  gap:18px;
}
@media(max-width:1120px){
  .footer-top{
    grid-template-columns:minmax(420px,1.4fr) minmax(150px,.55fr) minmax(190px,.7fr);
  }
  .footer-nav-group:nth-of-type(2){
    display:none;
  }
}
@media(max-width:860px){
  .footer-top{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
  .footer-brand{
    grid-column:1/-1;
  }
  .footer-social-column{
    justify-self:start;
    text-align:left;
  }
  .footer-socials{
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  .site-footer{padding:40px 20px 22px}
  .footer-top{
    grid-template-columns:1fr;
    gap:28px;
  }
  .footer-brand{
    grid-column:auto;
    grid-template-columns:120px 1fr;
    gap:18px;
  }
  .footer-logo-circle{
    width:120px;
    height:120px;
  }
  .footer-logo{
    width:118px;
    height:118px;
    transform:translateY(-1px);
  }
}
@media(max-width:460px){
  .footer-brand{
    grid-template-columns:1fr;
  }
  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}

@keyframes scrollDot{
  0%{opacity:0;transform:translateY(0)}
  28%{opacity:1}
  100%{opacity:0;transform:translateY(18px)}
}
@media(max-width:1180px){
  .nav-shell{gap:20px}
  .logo-link{width:104px;height:104px}
  .site-nav{gap:18px}
  .hero-inner{grid-template-columns:minmax(340px,.86fr) minmax(520px,1.14fr)}
  .hero-art{min-height:600px}
}
@media(max-width:900px){
  .site-header{height:98px}
  .nav-shell{width:calc(100% - 28px);justify-content:space-between}
  .logo-link{width:82px;height:82px}
  .menu-toggle{
    display:block;
    color:white;
    background:transparent;
    border:1px solid var(--pink);
    padding:9px 12px;
    font-size:11px;
    font-weight:800;
  }
  .site-nav{
    position:absolute;
    top:98px;left:0;right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:18px 20px 24px;
    background:rgba(3,4,13,.98);
    border-top:1px solid rgba(255,255,255,.08);
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:15px 8px}
  .book-link{margin-left:auto}
  .hero{padding:126px 20px 44px}
  .hero-inner{grid-template-columns:1fr;gap:18px}
  .hero-art{order:-1;min-height:0}
  .hero h1{font-size:clamp(72px,22vw,112px)}
  .hero-actions{flex-direction:column}
  .button{width:100%}
  .scroll-cue{display:none}
}
@media(max-width:620px){
  .book-link{display:none}
  .nav-shell{grid-template-columns:auto 1fr}
}


/* Selective neon movement: atmospheric, not arcade. */
.logo-link{
  animation:logoNeonBreath 5.8s ease-in-out infinite;
}
.hero h1 .cyan{
  animation:cyanNeonBreath 5.2s ease-in-out infinite;
}
.hero h1 .pink{
  animation:pinkNeonBreath 4.8s ease-in-out infinite .35s;
}
.pink-stroke{
  animation:pinkLinePulse 4.2s ease-in-out infinite;
}
.event-poster,
.origin-photo-frame{
  animation:frameGlowShift 6.4s ease-in-out infinite;
}
.social-active{
  animation:socialGlow 5.6s ease-in-out infinite;
}
@keyframes logoNeonBreath{
  0%,100%{box-shadow:0 0 0 3px var(--pink),0 0 22px rgba(255,11,109,.28),inset 0 0 18px rgba(0,0,0,.08)}
  50%{box-shadow:0 0 0 3px var(--pink),0 0 36px rgba(255,11,109,.46),0 0 12px rgba(40,213,232,.15),inset 0 0 18px rgba(0,0,0,.08)}
}
@keyframes cyanNeonBreath{
  0%,100%{text-shadow:0 0 14px rgba(40,213,232,.18)}
  50%{text-shadow:0 0 26px rgba(40,213,232,.48),0 0 7px rgba(255,255,255,.16)}
}
@keyframes pinkNeonBreath{
  0%,100%{text-shadow:0 0 16px rgba(255,11,109,.22)}
  50%{text-shadow:0 0 30px rgba(255,11,109,.54),0 0 8px rgba(255,255,255,.14)}
}
@keyframes pinkLinePulse{
  0%,100%{filter:drop-shadow(0 0 7px rgba(255,11,109,.58));opacity:.86}
  50%{filter:drop-shadow(0 0 14px rgba(255,11,109,.92));opacity:1}
}
@keyframes frameGlowShift{
  0%,100%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}
  50%{filter:drop-shadow(0 0 9px rgba(40,213,232,.10))}
}
@keyframes socialGlow{
  0%,100%{box-shadow:0 0 10px rgba(255,11,109,.12)}
  50%{box-shadow:0 0 18px rgba(255,11,109,.30)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

@media(min-width:1100px){
  .event-poster{max-width:320px;justify-self:center}
  .events-heading h2{white-space:nowrap}
}

.event-facts > div:last-child{
  align-items:start;
}
.event-facts > div:last-child dt{
  padding-top:2px;
}

@media(min-width:1100px){
  .events-heading h2{
    white-space:nowrap;
  }
  .events-heading p:last-child{
    white-space:nowrap;
    max-width:980px;
    font-size:15px;
  }
}
.event-poster{
  transform:none;
  min-height:238px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.event-poster img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
.event-poster:hover{
  transform:translateY(6px);
  box-shadow:
    0 0 26px rgba(255,11,109,.56),
    0 18px 42px rgba(0,0,0,.38);
}
.ticket-panel{
  min-height:238px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.event-facts > div:last-child{
  align-items:start;
}
.event-facts > div:last-child dt{
  padding-top:2px;
}


.subpage-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 15%,rgba(255,11,109,.13),transparent 25%),
    radial-gradient(circle at 85% 70%,rgba(40,213,232,.10),transparent 24%),
    #050611;
}
.subpage-header{
  width:min(1320px,calc(100% - 40px));
  margin:0 auto;
  min-height:128px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.subpage-logo span{
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:white;
  box-shadow:0 0 0 3px var(--pink),0 0 22px rgba(255,11,109,.25);
}
.subpage-logo img{width:99%;height:99%;object-fit:contain;object-position:center;border-radius:50%}
.subpage-header nav{
  display:flex;
  gap:24px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.gallery-page,
.legal-page{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
  padding:46px 0 80px;
}
.gallery-page-heading{
  max-width:780px;
  margin-bottom:38px;
}
.gallery-page h1,
.legal-page h1{
  margin:0;
  font-family:var(--display);
  font-size:clamp(62px,8vw,108px);
  line-height:.9;
  font-weight:400;
}
.gallery-page-heading>p:last-child{
  max-width:700px;
  color:#c7cdd8;
  line-height:1.7;
}
.gallery-mosaic{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.gallery-mosaic figure{
  position:relative;
  min-height:360px;
  margin:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:#0b0d1a;
}
.gallery-mosaic img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-mosaic figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:30px 18px 16px;
  background:linear-gradient(transparent,rgba(3,4,13,.88));
  font-size:12px;
  font-weight:800;
  letter-spacing:.5px;
}
.gallery-large{grid-row:span 2}
.gallery-wide{grid-column:1/-1}
.gallery-page-cta{
  margin-top:28px;
  padding:22px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border:1px solid rgba(40,213,232,.30);
  background:rgba(9,11,24,.74);
}
.gallery-page-cta p{margin:0;color:#d1d6e1}
.legal-page{max-width:920px}
.legal-copy{
  margin-top:28px;
  padding:28px;
  color:#c7cdd8;
  line-height:1.75;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(9,11,24,.74);
}
.subpage-footer{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
  padding:22px 0 34px;
  display:flex;
  justify-content:space-between;
  color:#9098a7;
  font-size:11px;
  border-top:1px solid rgba(255,255,255,.10);
}
@media(max-width:700px){
  .subpage-header nav{gap:14px;font-size:10px}
  .gallery-mosaic{grid-template-columns:1fr}
  .gallery-large,.gallery-wide{grid-row:auto;grid-column:auto}
  .gallery-mosaic figure{min-height:300px}
  .gallery-page-cta{align-items:flex-start;flex-direction:column}
  .gallery-page-cta .button{width:100%}
}


/* Mobile booking-form containment */
.booking-form-contained,
.booking-form-contained *{
  box-sizing:border-box;
}
.booking-form-contained{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.booking-form-contained .form-grid,
.booking-form-contained label,
.booking-form-contained input,
.booking-form-contained select,
.booking-form-contained textarea,
.booking-form-contained .form-security,
.booking-form-contained .cf-turnstile{
  min-width:0;
  max-width:100%;
}
.booking-form-contained input,
.booking-form-contained select,
.booking-form-contained textarea{
  display:block;
}
.booking-form-contained .cf-turnstile{
  overflow:hidden;
}
@media(max-width:680px){
  .contact-shell{
    width:100%;
    min-width:0;
  }
  .booking-form-contained{
    padding:20px 14px;
    border-radius:14px;
  }
  .booking-form-contained .form-grid{
    width:100%;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .booking-form-contained input,
  .booking-form-contained select,
  .booking-form-contained textarea{
    width:100%;
    font-size:16px;
  }
  .booking-form-contained .cf-turnstile{
    transform-origin:left top;
  }
}
@media(max-width:380px){
  .booking-form-contained{
    padding:18px 10px;
  }
}


.legal-copy h2{
  margin:28px 0 8px;
  color:white;
  font-family:var(--display);
  font-size:28px;
  line-height:1;
  font-weight:400;
  letter-spacing:.3px;
}
.legal-copy p{
  margin:0 0 14px;
}
.legal-note{
  margin-top:32px!important;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#9ea6b5;
  font-size:12px;
}


/* Logo alignment safeguard */
.logo-link,
.origin-badge,
.footer-logo-circle,
.subpage-logo span{
  line-height:0;
}
.logo-link img,
.origin-badge img,
.footer-logo,
.subpage-logo img{
  margin:auto;
}


/* Logo presentation cleanup */
.logo-link{
  background:transparent;
  border:0;
  box-shadow:
    0 0 0 3px var(--pink),
    0 0 30px rgba(255,11,109,.34);
}
.logo-link::before,
.logo-link::after,
.logo-accent{
  display:none!important;
}
.logo-link img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:50%;
}

/* Origin and subpage logo holders use the logo's own circle only. */
.origin-badge,
.subpage-logo span{
  background:transparent;
  box-shadow:0 0 18px rgba(255,11,109,.20);
}
.origin-badge img,
.subpage-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

/* Footer logo centering correction. */
.footer-logo-circle{
  background:transparent;
  box-shadow:0 0 22px rgba(255,11,109,.16);
}
.footer-logo{
  width:150px;
  height:150px;
  object-fit:contain;
  object-position:center;
  transform:translate(-4px,-5px);
}

/* Make the soft Tiffany gallery image less dominant. */
.gallery-large{
  grid-row:auto;
}
.gallery-large img{
  object-position:center top;
}
.gallery-mosaic figure{
  min-height:300px;
}
@media(max-width:700px){
  .gallery-mosaic figure{
    min-height:250px;
  }
}


/* Final logo fit: preserve full signature and center complete artwork. */
.logo-link,
.origin-badge,
.footer-logo-circle,
.subpage-logo span{
  overflow:visible!important;
  background:transparent!important;
}
.logo-link img,
.origin-badge img,
.footer-logo,
.subpage-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  border-radius:50%!important;
}
.footer-logo-circle{
  display:grid!important;
  place-items:center!important;
}


/* REVIEW V6: clean logo circles using the original vector-backed artwork */
.logo-link,
.origin-badge,
.footer-logo-circle,
.subpage-logo span{
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#fff!important;
  line-height:0!important;
}

.logo-link img,
.origin-badge img,
.footer-logo,
.subpage-logo img{
  width:86%!important;
  height:86%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  transform:none!important;
  border-radius:0!important;
}

.footer-logo-circle{
  box-shadow:
    0 0 0 2px rgba(255,255,255,.14),
    0 0 20px rgba(255,11,109,.16)!important;
}

/* Balanced Gallery: four equal tiles instead of one oversized soft image */
.gallery-mosaic-balanced{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.gallery-mosaic-balanced figure{
  min-height:0!important;
  aspect-ratio:4/3;
}
.gallery-mosaic-balanced img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-mosaic-balanced figure:first-child img{
  object-position:center 18%;
}
@media(max-width:700px){
  .gallery-mosaic-balanced{
    grid-template-columns:1fr;
  }
  .gallery-mosaic-balanced figure{
    aspect-ratio:4/3;
  }
}


/* REVIEW V7: replace the soft Tiffany tile with a logo tile in Gallery */
.gallery-logo-card{
  background:
    radial-gradient(circle at 50% 40%, rgba(255,11,109,.14), transparent 34%),
    radial-gradient(circle at 50% 58%, rgba(40,213,232,.10), transparent 38%),
    linear-gradient(135deg,#0b0d1a 0%, #080b16 100%) !important;
}
.gallery-logo-stage{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:32px;
}
.gallery-logo-stage img{
  width:min(72%, 330px);
  max-width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 0 12px rgba(255,11,109,.18));
}
.gallery-mosaic-balanced .gallery-logo-card img{
  object-fit:contain;
}


/* REVIEW V14: tighten featured-event ticket panel on mobile */
@media(max-width:760px){
  .ticket-panel{
    min-height:0!important;
    padding:22px 20px 20px!important;
    display:block!important;
  }

  .ticket-row{
    grid-template-columns:34px 1fr!important;
    gap:12px!important;
    align-items:center!important;
  }

  .ticket-symbol{
    width:30px!important;
    height:30px!important;
  }

  .ticket-row small{
    font-size:9px!important;
    letter-spacing:.7px!important;
  }

  .ticket-row strong{
    font-size:28px!important;
    margin-top:2px!important;
  }

  .ticket-row strong.smaller{
    font-size:18px!important;
  }

  .ticket-divider{
    margin:16px 0!important;
  }

  .ticket-button{
    margin-top:18px!important;
    padding:12px 10px!important;
  }
}


/* REVIEW V15: restore Explore footer links on mobile */
@media(max-width:860px){
  .footer-nav-group:nth-of-type(2){
    display:block!important;
  }
}




/* REVIEW V19: Monthly Virtual Poptail Experience - full-width neon invitation band */
.virtual-poptail-section{
  position:relative;
  isolation:isolate;
  min-height:238px;
  display:flex;
  align-items:center;
  padding:25px 30px 29px;
  color:#fff;
  overflow:hidden;
  border-top:1px solid rgba(255,11,109,.26);
  border-bottom:1px solid rgba(40,213,232,.20);
  background:
    radial-gradient(ellipse at 15% 52%,rgba(255,11,109,.16),transparent 28%),
    radial-gradient(ellipse at 83% 48%,rgba(40,213,232,.09),transparent 30%),
    linear-gradient(90deg,#050b18 0%,#070716 42%,#0a0613 72%,#040a15 100%);
}

.virtual-poptail-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.17;
  background-image:
    linear-gradient(rgba(40,213,232,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,213,232,.14) 1px,transparent 1px);
  background-size:82px 82px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.18) 34%,transparent 70%);
}

.virtual-poptail-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,11,109,.05) 22%,transparent 44%),
    radial-gradient(circle at 66% 43%,rgba(255,11,109,.10),transparent 16%);
}

.virtual-poptail-atmosphere{
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
}

.virtual-grid{
  position:absolute;
  left:-5%;
  bottom:-92px;
  width:39%;
  height:190px;
  opacity:.22;
  transform:perspective(260px) rotateX(63deg);
  transform-origin:center bottom;
  background-image:
    linear-gradient(rgba(40,213,232,.6) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,11,109,.55) 1px,transparent 1px);
  background-size:34px 24px;
  -webkit-mask-image:linear-gradient(to top,#000,transparent 92%);
  mask-image:linear-gradient(to top,#000,transparent 92%);
}

.virtual-orbit{
  position:absolute;
  right:10.8%;
  border:1px solid rgba(255,11,109,.42);
  border-radius:50%;
  box-shadow:0 0 10px rgba(255,11,109,.18);
}
.virtual-orbit-one{top:42px;width:15px;height:15px}
.virtual-orbit-two{top:69px;right:9.2%;width:8px;height:8px}

.virtual-martini{
  position:absolute;
  right:4.4%;
  top:50%;
  width:106px;
  height:88px;
  transform:translateY(-48%);
  opacity:.20;
  filter:drop-shadow(0 0 8px rgba(255,11,109,.4));
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 130'%3E%3Cg fill='none' stroke='%23ff2b8b' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 18h120L80 73z'/%3E%3Cpath d='M80 73v36M56 119h48'/%3E%3Cpath d='M43 38h74'/%3E%3C/g%3E%3Cg fill='none' stroke='%2328d5e8' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M114 8L86 61'/%3E%3Ccircle cx='83' cy='65' r='8'/%3E%3C/g%3E%3C/svg%3E");
}

.virtual-poptail-shell{
  width:min(1420px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:170px minmax(0,1fr) 220px;
  gap:34px;
  align-items:center;
}

.virtual-poptail-logo-wrap{
  position:relative;
  min-height:166px;
  display:grid;
  place-items:center;
}

.virtual-poptail-logo-glow{
  position:absolute;
  width:148px;
  height:148px;
  border-radius:50%;
  background:rgba(255,11,109,.14);
  filter:blur(21px);
  box-shadow:0 0 42px rgba(255,11,109,.24);
}

.virtual-poptail-logo-wrap img{
  position:relative;
  width:151px;
  height:151px;
  border-radius:50%;
  object-fit:contain;
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.8))
    drop-shadow(0 0 11px rgba(255,11,109,.55));
}

.virtual-poptail-copy{
  min-width:0;
  padding-top:2px;
}

.virtual-kicker{
  margin:0 0 10px;
  color:var(--cyan);
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
  text-shadow:0 0 12px rgba(40,213,232,.28);
}

.virtual-poptail-copy h2{
  margin:0 0 13px;
  max-width:none;
  font-family:var(--display);
  font-size:clamp(36px,3.15vw,56px);
  line-height:.95;
  font-weight:400;
  letter-spacing:1.25px;
  color:#ff4d9a;
  text-shadow:
    0 0 5px rgba(255,11,109,.34),
    0 0 17px rgba(255,11,109,.20);
  white-space:nowrap;
}

.virtual-poptail-copy > p:not(.virtual-kicker){
  max-width:820px;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.5;
  letter-spacing:.05px;
}

.virtual-poptail-action{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:flex-end;
  padding-right:4px;
}

.virtual-subscribe-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-width:206px;
  min-height:64px;
  padding:16px 24px 15px 28px;
  border:2px solid #ff4d9a;
  border-radius:13px;
  background:rgba(10,6,19,.68);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:2.5px;
  box-shadow:
    0 0 5px rgba(255,255,255,.15) inset,
    0 0 10px rgba(255,11,109,.52),
    0 0 26px rgba(255,11,109,.16);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.virtual-button-arrow{
  color:var(--cyan);
  font-size:27px;
  line-height:.7;
  font-weight:300;
  text-shadow:0 0 10px rgba(40,213,232,.8);
  transform:translateY(-1px);
}

.virtual-subscribe-button:hover,
.virtual-subscribe-button:focus-visible{
  transform:translateY(-2px);
  background:rgba(255,11,109,.08);
  box-shadow:
    0 0 8px rgba(255,255,255,.16) inset,
    0 0 13px rgba(255,11,109,.72),
    0 0 34px rgba(255,11,109,.24);
}

.virtual-light-rail{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,
    rgba(255,11,109,.2) 0%,
    #ff0b6d 22%,
    #ff0b6d 37%,
    #28d5e8 50%,
    #28d5e8 77%,
    rgba(255,11,109,.5) 100%);
  box-shadow:0 0 10px rgba(40,213,232,.3);
}
.virtual-light-rail span{
  position:absolute;
  left:49.2%;
  top:50%;
  width:8px;
  height:8px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:
    0 0 4px #fff,
    0 0 11px #28d5e8,
    0 0 22px #28d5e8;
}

@media(max-width:1180px){
  .virtual-poptail-shell{
    grid-template-columns:150px minmax(0,1fr) 190px;
    gap:26px;
  }
  .virtual-poptail-logo-wrap img{width:136px;height:136px}
  .virtual-poptail-logo-glow{width:132px;height:132px}
  .virtual-poptail-copy h2{font-size:clamp(34px,3.3vw,45px)}
  .virtual-subscribe-button{min-width:180px}
  .virtual-martini{opacity:.12;right:2%}
}

@media(max-width:900px){
  .virtual-poptail-section{
    min-height:auto;
    padding:30px 22px 34px;
  }
  .virtual-poptail-shell{
    grid-template-columns:128px minmax(0,1fr);
    gap:22px;
  }
  .virtual-poptail-logo-wrap{min-height:128px}
  .virtual-poptail-logo-wrap img{width:116px;height:116px}
  .virtual-poptail-logo-glow{width:112px;height:112px}
  .virtual-poptail-copy h2{
    white-space:normal;
    font-size:clamp(34px,6vw,48px);
  }
  .virtual-poptail-action{
    grid-column:2;
    justify-content:flex-start;
  }
  .virtual-subscribe-button{min-height:54px}
  .virtual-martini{right:4%;top:72%;opacity:.10}
}

@media(max-width:620px){
  .virtual-poptail-section{padding:26px 20px 32px}
  .virtual-poptail-shell{
    grid-template-columns:88px minmax(0,1fr);
    gap:17px;
  }
  .virtual-poptail-logo-wrap{min-height:92px}
  .virtual-poptail-logo-wrap img{width:82px;height:82px}
  .virtual-poptail-logo-glow{width:78px;height:78px}
  .virtual-kicker{font-size:10px;letter-spacing:2.8px;margin-bottom:8px}
  .virtual-poptail-copy h2{font-size:clamp(29px,9vw,39px);margin-bottom:10px}
  .virtual-poptail-copy > p:not(.virtual-kicker){font-size:14px;line-height:1.5}
  .virtual-poptail-action{grid-column:1 / -1}
  .virtual-subscribe-button{width:100%;min-height:52px}
  .virtual-martini{display:none}
  .virtual-grid{width:75%;opacity:.12}
}

/* REVIEW V20: logo treatment + cleaner virtual section hierarchy */
.virtual-poptail-logo-wrap{
  overflow:visible;
}
.virtual-poptail-logo-wrap img{
  width:164px;
  height:164px;
  display:block;
  object-fit:cover;
  border-radius:50%;
  clip-path:circle(49.6% at 50% 50%);
  -webkit-clip-path:circle(49.6% at 50% 50%);
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.78))
    drop-shadow(0 0 12px rgba(255,11,109,.58));
}
.virtual-poptail-logo-glow{
  width:156px;
  height:156px;
}
.virtual-kicker{
  letter-spacing:3.2px;
}


/* REVIEW V21: integrated generated Monthly Virtual Poptail banner */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.virtual-poptail-section.virtual-poptail-banner{
  position:relative;
  padding:36px 0 42px;
  overflow:hidden;
  border-top:1px solid rgba(255, 11, 109, .08);
  border-bottom:1px solid rgba(40, 213, 232, .08);
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 11, 109, .08), transparent 30%),
    linear-gradient(180deg, #040914 0%, #030711 100%);
}

.virtual-poptail-banner::before,
.virtual-poptail-banner::after,
.virtual-poptail-banner .virtual-poptail-atmosphere,
.virtual-poptail-banner .virtual-light-rail{
  display:none;
}

.virtual-banner-shell{
  width:min(100%, 2050px);
  margin:0 auto;
}

.virtual-banner-frame{
  position:relative;
  width:100%;
}

.virtual-banner-frame img{
  display:block;
  width:100%;
  height:auto;
}

.virtual-banner-cta{
  position:absolute;
  left:65.6%;
  top:58%;
  width:25%;
  height:22.5%;
  border-radius:18px;
}

.virtual-banner-cta:focus-visible{
  outline:2px solid #28d5e8;
  outline-offset:4px;
}

@media(max-width:900px){
  .virtual-poptail-section.virtual-poptail-banner{
    padding:28px 0 34px;
  }
  .virtual-banner-cta{
    left:63.6%;
    top:57%;
    width:28.6%;
    height:23.4%;
    border-radius:14px;
  }
}

@media(max-width:620px){
  .virtual-poptail-section.virtual-poptail-banner{
    padding:24px 0 30px;
  }
  .virtual-banner-cta{
    left:61.5%;
    top:55.8%;
    width:31.5%;
    height:25.2%;
    border-radius:12px;
  }
}

/* CMS-driven event refinements */
.event-link-panel{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:240px;
}
.event-link-icon{margin-bottom:14px}
.event-link-kicker{
  margin:0 0 6px;
  color:#d5d9e3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.9px;
}
.event-link-status{
  font-family:var(--display);
  font-size:30px;
  font-weight:400;
  line-height:1;
}
.event-link-note{
  margin:12px 0 0;
  color:#bfc4d0;
  font-size:12px;
  line-height:1.55;
}
.events-more-link,
.news-more-link{
  margin-top:28px;
  text-align:center;
}
.events-more-link a,
.news-more-link a{
  display:inline-block;
  padding-bottom:5px;
  border-bottom:1px solid currentColor;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
}
.events-more-link a{color:var(--cyan)}

/* Homepage news */
.news-section{
  padding:82px 24px 88px;
  background:#f6f4f1;
  color:#131622;
}
.news-shell{
  width:min(1360px,100%);
  margin:0 auto;
}
.news-heading{
  max-width:930px;
  margin:0 auto 42px;
  text-align:center;
}
.news-heading h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(44px,4.4vw,68px);
  line-height:.98;
  font-weight:400;
}
.news-grid{
  display:grid;
  gap:28px;
  align-items:start;
}
.news-grid[data-count="1"]{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
.news-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.news-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-card{min-width:0}
.news-card-image{
  aspect-ratio:1/1;
  overflow:hidden;
  background:#e6e2de;
}
.news-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.news-card-meta{
  margin:16px 0 8px;
  color:#6b6f7a;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.news-card h3{
  margin:0;
  font-family:var(--display);
  font-size:clamp(29px,2.2vw,38px);
  line-height:1;
  font-weight:400;
}
.news-card-excerpt{
  margin:12px 0 0;
  color:#515665;
  font-size:13px;
  line-height:1.7;
}
.news-card-link{
  display:inline-block;
  margin-top:14px;
  padding-bottom:3px;
  border-bottom:1px solid var(--pink);
  color:#131622;
  font-size:11px;
  font-weight:800;
  letter-spacing:1px;
}
.news-more-link a{color:#131622}

/* CMS archive pages */
.archive-main{
  min-height:70vh;
  padding:140px 24px 90px;
  background:#f6f4f1;
  color:#131622;
}
.archive-shell{width:min(1200px,100%);margin:0 auto}
.archive-heading{max-width:860px;margin-bottom:46px}
.archive-heading h1{
  margin:0;
  font-family:var(--display);
  font-size:clamp(58px,7vw,104px);
  line-height:.9;
  font-weight:400;
}
.archive-heading p:last-child{max-width:700px;color:#575c69;line-height:1.7}
.archive-section-title{
  margin:52px 0 20px;
  font-family:var(--display);
  font-size:36px;
  font-weight:400;
}
.archive-event-grid,
.archive-news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.archive-event-card,
.archive-news-card{
  background:white;
  border:1px solid rgba(19,22,34,.1);
}
.archive-event-card img,
.archive-news-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.archive-card-copy{padding:22px}
.archive-card-meta{
  margin:0 0 8px;
  color:#777b84;
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
}
.archive-card-copy h2,
.archive-card-copy h3{
  margin:0;
  font-family:var(--display);
  font-size:31px;
  line-height:1;
  font-weight:400;
}
.archive-card-copy p{color:#555a66;font-size:13px;line-height:1.65}
.archive-card-link{
  display:inline-block;
  margin-top:10px;
  color:#131622;
  font-size:11px;
  font-weight:800;
  letter-spacing:1px;
  border-bottom:1px solid var(--pink);
}
.archive-empty{color:#666b76;font-size:14px}
.news-detail{max-width:860px;margin:0 auto}
.news-detail-image{width:100%;max-height:620px;object-fit:cover;margin:28px 0}
.news-detail-body{font-size:16px;line-height:1.8;color:#353944}
.news-detail-body p{margin:0 0 1.25em}
.news-detail-back{display:inline-block;margin-bottom:22px;font-size:11px;font-weight:800;letter-spacing:1px}

@media(max-width:900px){
  .news-grid[data-count="2"],
  .news-grid[data-count="3"],
  .archive-event-grid,
  .archive-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .news-section{padding:68px 20px 72px}
  .news-heading{text-align:left}
  .news-grid[data-count="1"],
  .news-grid[data-count="2"],
  .news-grid[data-count="3"],
  .archive-event-grid,
  .archive-news-grid{grid-template-columns:1fr}
  .archive-main{padding:115px 20px 70px}
  .event-link-panel{min-height:0}
}
