
:root{
  --bg:#070707;
  --surface:#0e0e0f;
  --surface2:#141416;
  --text:#f4f0eb;
  --muted:#9b9693;
  --line:rgba(255,255,255,.12);
  --red:#ee287d;
  --red2:#b70e50;
  --gold:#ff84b3;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"DM Sans",system-ui,sans-serif;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:var(--red);color:#fff}
.ambient{position:fixed;border-radius:50%;filter:blur(130px);pointer-events:none;opacity:.16;z-index:-1}
.ambient-one{width:520px;height:520px;background:#ee287d;left:-260px;top:170px}
.ambient-two{width:420px;height:420px;background:#a91658;right:-260px;top:680px}

.topbar{
  max-width:var(--max);height:86px;margin:auto;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50
}
.logo{display:flex;align-items:center;gap:10px}
.logo-num{
  font-family:Montserrat,sans-serif;font-weight:900;font-size:29px;
  letter-spacing:-.085em;line-height:1
}
.logo-copy{
  font-size:9px;font-weight:800;letter-spacing:.18em;line-height:1.25;color:#fff
}
.logo-copy em{font-style:normal;color:#777;letter-spacing:.12em}
.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}
.nav>a{color:#b8b3b0}
.nav>a:hover{color:white}
.nav-reserve{border:1px solid var(--line);padding:11px 17px;border-radius:99px;color:white!important}
.menu-toggle{display:none;border:0;background:none;padding:8px}
.menu-toggle span{display:block;width:24px;height:1px;background:white;margin:6px 0}

.hero{
  max-width:var(--max);margin:auto;min-height:calc(100vh - 86px);
  padding:70px 28px 90px;display:grid;grid-template-columns:1.12fr .72fr;gap:70px;align-items:center
}
.status-line{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.2em;color:#aaa;font-weight:700;margin-bottom:28px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}
.hero h1,.intro h2,.social h2,.reserve-copy h2,.visit h2,.closing h2{
  font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:-.075em;line-height:.88;margin:0
}
.hero h1{font-size:clamp(68px,8.3vw,118px);text-transform:uppercase}
.hero h1 span,.intro h2 span,.social h2 span,.reserve-copy h2 span,.visit h2 span,.closing h2 span{
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.48)
}
.hero-lead{max-width:610px;color:#aaa4a1;font-size:17px;line-height:1.72;margin:30px 0}
.hero-lead strong{color:#eee9e5}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.button{
  display:inline-flex;align-items:center;justify-content:center;border-radius:99px;
  padding:15px 21px;font-size:12px;font-weight:800;border:1px solid transparent;transition:.25s
}
.primary{background:var(--red);color:#fff}
.primary:hover{background:#c91661;transform:translateY(-2px);box-shadow:0 13px 34px rgba(238,40,125,.18)}
.secondary{border-color:var(--line);color:white;background:rgba(255,255,255,.025)}
.secondary:hover{background:rgba(255,255,255,.07)}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:52px;max-width:680px}
.hero-facts>div{border-top:1px solid var(--line);padding-top:14px}
.hero-facts small{display:block;color:#696563;font-size:8px;letter-spacing:.18em;margin-bottom:7px}
.hero-facts strong{font-size:12px;line-height:1.5}

.hero-poster{
  min-height:640px;border:1px solid var(--line);border-radius:28px;padding:10px;transform:rotate(1.5deg);
  background:linear-gradient(145deg,#121214,#080808);box-shadow:0 35px 90px rgba(0,0,0,.45)
}
.poster-inner{
  height:100%;min-height:618px;border-radius:20px;border:1px solid rgba(255,255,255,.1);
  position:relative;overflow:hidden;padding:24px;
  background:
    radial-gradient(circle at 82% 15%,rgba(238,40,125,.28),transparent 30%),
    radial-gradient(circle at 15% 78%,rgba(238,40,125,.20),transparent 30%),
    linear-gradient(160deg,#171317,#090909 60%)
}
.poster-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.2em;color:#827d79}
.poster-412{
  position:absolute;top:60px;right:-10px;font-family:Montserrat;font-weight:900;font-size:190px;
  line-height:.8;letter-spacing:-.11em;color:rgba(255,255,255,.04);transform:rotate(90deg);transform-origin:center
}
.poster-copy{position:absolute;left:25px;bottom:28px;z-index:2}
.poster-tag{display:inline-block;background:var(--red);font-size:9px;letter-spacing:.17em;font-weight:800;padding:7px 10px;margin-bottom:14px}
.poster-copy h2{font-family:Montserrat;font-size:76px;line-height:.82;letter-spacing:-.08em;margin:0;text-transform:uppercase}
.poster-copy p{font-size:9px;letter-spacing:.22em;color:#8d8783;margin:17px 0 0}
.poster-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.09)}
.ring-one{width:270px;height:270px;top:90px;left:42px}
.ring-two{width:380px;height:380px;top:34px;left:-10px;border-color:rgba(238,40,125,.12)}

.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}
.marquee-track{display:flex;gap:28px;align-items:center;width:max-content;animation:marquee 28s linear infinite;font-family:Montserrat;font-size:12px;font-weight:800;letter-spacing:.12em}
.marquee i{color:var(--red);font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{max-width:var(--max);margin:auto;padding:115px 28px}
.section-index{font-size:9px;letter-spacing:.2em;color:#5f5b59;margin-bottom:45px}
.kicker{font-size:10px;letter-spacing:.22em;color:var(--red);font-weight:800;margin:0 0 20px}
.intro{display:grid;grid-template-columns:.55fr 1.15fr .85fr;gap:46px;align-items:start}
.intro h2,.social h2,.reserve-copy h2,.visit h2{font-size:clamp(50px,6vw,78px)}
.intro-copy{padding-top:43px;color:#b0aaa6;line-height:1.8;font-size:16px}
.intro-copy .muted{color:#74706d}

.experience-grid{
  max-width:var(--max);margin:0 auto 70px;padding:0 28px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px
}
.experience-grid article{
  background:linear-gradient(145deg,#111113,#0d0d0e);border:1px solid var(--line);
  border-radius:22px;padding:27px;min-height:290px;position:relative;overflow:hidden
}
.experience-grid article::after{
  content:"";position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid rgba(238,40,125,.08);
  right:-65px;top:-70px
}
.card-num{font-family:Montserrat;font-size:12px;color:#625e5c}
.card-kicker{font-size:9px;letter-spacing:.18em;color:var(--red);font-weight:800;margin-top:78px}
.experience-grid h3{font-family:Montserrat;font-size:31px;letter-spacing:-.04em;margin:8px 0 12px}
.experience-grid p:last-child{font-size:13px;line-height:1.7;color:#8f8986;margin:0;max-width:320px}

.social-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:35px}
.social-cta{max-width:340px;color:#918b88;font-size:13px;line-height:1.65}
.social-cta a{display:inline-block;margin-top:8px;color:#fff;border-bottom:1px solid #444;padding-bottom:4px}
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.ig-frame{background:#101011;border:1px solid var(--line);border-radius:20px;padding:12px;min-width:0;overflow:hidden}
.ig-label{display:flex;justify-content:space-between;padding:7px 7px 12px;font-size:8px;letter-spacing:.16em;color:#686361}
.ig-label strong{color:#b3ada9}
.instagram-media{min-width:0!important;width:100%!important;margin:0 auto!important}
.ig-fallback{
  display:block;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;
  font-size:10px;text-align:center;color:#9a9490
}

.reserve-shell{
  max-width:var(--max);margin:80px auto;padding:70px 28px;
  display:grid;grid-template-columns:.8fr 1.12fr;gap:70px;
  background:
    radial-gradient(circle at 8% 12%,rgba(238,40,125,.15),transparent 28%),
    linear-gradient(180deg,#101011,#0a0a0b);
  border:1px solid var(--line);border-radius:30px
}
.reserve-copy>p:not(.kicker){color:#9e9895;line-height:1.7;max-width:475px}
.reservation-contact{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.reservation-contact small{display:block;color:#625e5c;font-size:8px;letter-spacing:.16em}
.reservation-contact a{display:block;font-family:Montserrat;font-size:27px;font-weight:800;margin:8px 0}
.reservation-contact span{font-size:11px;color:#7b7673}
.reservation-form{background:#0b0b0c;border:1px solid var(--line);border-radius:22px;padding:26px}
.form-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}
.form-title span{font-size:9px;letter-spacing:.18em;color:#777}
.form-title strong{font-family:Montserrat;font-size:23px;letter-spacing:-.07em}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reservation-form label{display:block;margin-bottom:16px}
.reservation-form label>span:first-child{display:block;font-size:8px;letter-spacing:.16em;color:#777;margin:0 0 7px}
input,select,textarea{
  width:100%;border:1px solid rgba(255,255,255,.12);background:#121214;color:#fff;
  border-radius:11px;padding:13px 14px;outline:none;transition:.2s
}
input:focus,select:focus,textarea:focus{border-color:rgba(238,40,125,.65);box-shadow:0 0 0 3px rgba(238,40,125,.07)}
textarea{resize:vertical}
.check-row{display:flex!important;align-items:flex-start;gap:9px;color:#797472;font-size:10px;line-height:1.5}
.check-row input{width:15px;height:15px;margin-top:1px}
.check-row span{font-size:10px!important;letter-spacing:0!important;color:#797472!important;margin:0!important}
.submit{width:100%;border:0;cursor:pointer}
.hidden{display:none}

.visit-head{margin-bottom:35px}
.visit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.visit-grid article{background:#101011;border:1px solid var(--line);border-radius:18px;padding:23px;min-height:215px;display:flex;flex-direction:column}
.visit-grid small{font-size:8px;letter-spacing:.17em;color:#635f5c}
.visit-grid strong{font-family:Montserrat;font-size:19px;line-height:1.27;margin:52px 0 15px}
.visit-grid a,.visit-grid span{margin-top:auto;color:#8b8582;font-size:10px;line-height:1.5}

.closing{
  max-width:var(--max);margin:20px auto 110px;padding:95px 28px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 50% 45%,rgba(238,40,125,.14),transparent 34%)
}
.closing>p{font-size:9px;letter-spacing:.22em;color:var(--red);font-weight:800}
.closing h2{font-size:clamp(72px,12vw,160px);text-transform:uppercase;margin:15px 0 35px}

footer{
  max-width:var(--max);margin:auto;padding:0 28px 45px;
  display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;
  font-size:10px;color:#6d6865
}
footer>p{text-align:center}
footer>div{display:flex;justify-content:flex-end;gap:22px}

@media (max-width:920px){
  .menu-toggle{display:block;position:relative;z-index:60}
  .nav{
    position:fixed;inset:0;background:rgba(7,7,7,.98);flex-direction:column;justify-content:center;
    font-size:18px;opacity:0;pointer-events:none;transition:.25s
  }
  .nav.open{opacity:1;pointer-events:auto}
  .hero{grid-template-columns:1fr;padding-top:35px}
  .hero-poster{width:min(480px,92%);margin:auto}
  .intro{grid-template-columns:1fr}
  .intro-copy{padding-top:0;max-width:650px}
  .experience-grid{grid-template-columns:1fr}
  .social-head{align-items:flex-start;flex-direction:column}
  .instagram-grid{grid-template-columns:1fr}
  .reserve-shell{grid-template-columns:1fr;border-radius:0;border-left:0;border-right:0}
  .visit-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .topbar{padding:0 20px}
  .hero{padding:32px 20px 68px}
  .hero h1{font-size:clamp(61px,18vw,86px)}
  .hero-facts{grid-template-columns:1fr}
  .hero-poster{min-height:540px}
  .poster-inner{min-height:518px}
  .poster-copy h2{font-size:66px}
  .section,.reserve-shell{padding:85px 20px}
  .experience-grid{padding:0 20px}
  .two-col{grid-template-columns:1fr}
  .visit-grid{grid-template-columns:1fr}
  .closing{margin-bottom:70px}
  footer{grid-template-columns:1fr;gap:18px}
  footer>p{text-align:left}
  footer>div{justify-content:flex-start}
}

/* 412 brand redesign */
:root{--bg:#19191b;--surface:#222225;--surface2:#29292d;--text:#fff;--muted:#b9b9c1;--line:rgba(255,255,255,.16)}
body{background:radial-gradient(ellipse at 90% 12%,rgba(238,40,125,.08),transparent 42%),var(--bg)}
.topbar{height:110px;border-bottom:1px solid var(--line)}
.brand-logo{width:94px;height:94px;object-fit:contain;border-radius:50%}
.nav{font-size:14px;gap:32px}.nav>a{color:#dddde2}.nav-reserve{background:#b70e50;border-color:#b70e50;border-radius:6px}
.hero{grid-template-columns:1.15fr 1fr;gap:50px;min-height:740px;padding-top:70px;padding-bottom:80px}
.hero h1{font-size:clamp(65px,7.3vw,104px);line-height:1.02;letter-spacing:-.065em}
.hero h1 span,.intro h2 span,.social h2 span,.reserve-copy h2 span,.visit h2 span,.closing h2 span{color:#ff72a9;-webkit-text-stroke:0}
.hero-lead,.intro-copy,.reserve-copy>p:not(.kicker){color:#c1c1c9}
.hero-poster{transform:none;min-height:520px;border-radius:4px;background:#202022;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;border:1px solid #494047;box-shadow:18px 18px 0 rgba(238,40,125,.1)}
.hero-brand{display:block;width:100%;max-width:370px;height:auto;image-rendering:auto}
.brand-caption{text-align:center;border-top:1px solid var(--line);padding-top:25px;width:100%}.brand-caption span{font-size:12px;letter-spacing:.22em;color:#ff72a9;font-weight:700}.brand-caption p{font-size:18px;line-height:1.6;color:#dddde2}.brand-caption a{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.status-line{font-size:12px;letter-spacing:.12em;color:#c1c1c9;line-height:1.6}.live-dot{display:none}
.button{font-size:14px;border-radius:6px;padding:17px 24px;min-height:48px}.primary{background:#b70e50}.primary:hover{background:#d41b64;box-shadow:0 10px 30px rgba(238,40,125,.2)}
.hero-facts small,.section-index,.card-num,.reservation-contact small,.visit-grid small{font-size:12px;color:#b7b7c1}.hero-facts strong{font-size:14px}
.marquee{background:#b70e50;border:0;padding:20px 0}.marquee i{color:#ffb5d0}.marquee-track{font-size:14px}
.section{padding-top:95px;padding-bottom:95px}.kicker,.card-kicker{font-size:12px;color:#ff72a9}.intro{grid-template-columns:.5fr 1.2fr 1fr;gap:30px}.intro h2,.social h2,.reserve-copy h2,.visit h2{font-size:clamp(42px,5vw,68px);line-height:1.07;letter-spacing:-.06em}
.intro-copy .muted{color:#b7b7c1}.experience-grid{gap:0}.experience-grid article{border-radius:0;background:#232326;padding:32px;min-height:260px;border-top:3px solid #ee287d}.experience-grid article::after{display:none}.card-kicker{margin-top:46px}.experience-grid p:last-child{font-size:16px;color:#bfc0c7}.experience-grid h3{font-size:28px}
.social-cta{font-size:16px;color:#bfc0c7}.ig-frame{border-radius:4px;background:#232326}.ig-label{font-size:12px;color:#bfc0c7}.ig-fallback{font-size:14px;color:#e3e3e8;border-radius:4px}
.reserve-shell{background:linear-gradient(120deg,#30212a,#222225 65%);border-radius:4px;gap:50px;padding:65px 35px}.reservation-form{background:#19191b;border-radius:4px;padding:28px}.form-title span{font-size:12px;color:#c1c1c9}.reservation-form label>span:first-child{font-size:12px;color:#c1c1c9}.reservation-contact span{font-size:14px;color:#bfc0c7}input,select,textarea{background:#29292d;border-radius:4px;font-size:16px;color-scheme:dark}input:focus,select:focus,textarea:focus{border-color:#ff72a9;box-shadow:0 0 0 3px rgba(238,40,125,.15)}.check-row span{font-size:14px!important;color:#c1c1c9!important}.check-row input{flex-shrink:0;width:18px;height:18px;accent-color:#ee287d}
.visit-grid article{background:#232326;border-radius:4px}.visit-grid a,.visit-grid span{font-size:14px;color:#c1c1c9}.visit-grid strong{font-size:18px}.closing h2{line-height:1.04;letter-spacing:-.055em}.closing>p{font-size:12px;color:#ff72a9}footer{font-size:14px;color:#b7b7c1}
:focus-visible{outline:3px solid #ff84b3;outline-offset:5px}section[id]{scroll-margin-top:25px}
@media(max-width:1000px){.intro{grid-template-columns:1fr}.intro-copy{padding-top:0}.hero{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:65px}.hero-poster{min-height:440px;padding:20px}}
@media(max-width:920px){.hero{grid-template-columns:1fr}.hero-poster{width:100%;max-width:540px;margin:20px auto 0}.nav{background:#19191b;font-size:20px}.nav:not(.open){visibility:hidden}.nav.open{visibility:visible}.reserve-shell{grid-template-columns:1fr}.hero h1{font-size:clamp(64px,12vw,100px)}}
@media(max-width:600px){.topbar{height:95px}.brand-logo{width:80px;height:80px}.hero{padding-top:45px}.hero h1{font-size:clamp(52px,15vw,86px)}.hero-facts{grid-template-columns:repeat(3,1fr)}.hero-facts strong{font-size:13px}.hero-poster{min-height:0;box-shadow:8px 8px 0 rgba(238,40,125,.1)}.hero-brand{max-width:290px}.section{padding:65px 20px}.reserve-shell{padding:55px 20px}.reservation-form{padding:20px}.closing h2{font-size:clamp(60px,17vw,100px)}.experience-grid article{padding:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
