/* ============================================================
   QUEENS — Public Landing · Hollywood Tropical Rainforest (Light)
   Canopy #0F2A1E · Palm #1E4D36 · Leaf #7FAE8B · Ivory #FAF6EC
   Gold #C9A227 / #E8C766 · Orchid #C4527E · Terrazzo #EFE6D3
   ============================================================ */
:root{
  --canopy:#0F2A1E; --palm:#1E4D36; --leaf:#7FAE8B; --leaf-pale:#E4EEE2;
  --ivory:#FAF6EC; --terrazzo:#EFE6D3; --ink:#22301F;
  --gold:#C9A227; --gold-b:#E8C766; --orchid:#C4527E;
  --ok:#2F7D53; --bad:#B04455;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:'Jost',sans-serif;font-weight:300;font-size:17px;line-height:1.6}
h1,h2,h3{font-family:'Cinzel',serif;letter-spacing:.05em}
a{color:var(--palm)}
.btn{display:inline-block;border:1px solid var(--gold);background:linear-gradient(180deg,var(--gold-b),var(--gold));color:#241C05;
  padding:11px 26px;border-radius:2px;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none;font-weight:500}
.btn:hover{filter:brightness(1.08)}
.btn-lg{padding:14px 34px;font-size:.9rem}
.btn-ghost{background:transparent;border-color:rgba(250,246,236,.5);color:var(--ivory)}
.eyebrow{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--palm);margin:0 0 6px}
.eyebrow.center{text-align:center}
.fine{font-size:.8rem;color:#5B6B57}

/* ---------- AGE GATE ---------- */
.agegate{position:fixed;inset:0;z-index:100;background:radial-gradient(900px 600px at 50% 30%, #16362A 0%, var(--canopy) 70%);
  display:flex;align-items:center;justify-content:center;padding:20px}
.agecard{text-align:center;color:var(--ivory);max-width:420px;border:1px solid rgba(201,162,39,.5);padding:44px 36px;background:rgba(15,42,30,.6);position:relative}
.agecard::before{content:"";position:absolute;inset:8px;border:1px solid rgba(201,162,39,.25);pointer-events:none}
.agecard .crown{font-size:3rem;color:var(--gold-b);text-shadow:0 0 24px rgba(232,199,102,.5)}
.agecard h2{margin:8px 0 2px;font-size:2rem;font-weight:900;letter-spacing:.3em;color:var(--gold-b)}
.agecard .tag{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;opacity:.8;margin:0 0 18px}
.agebtns{display:flex;flex-direction:column;gap:10px;margin-top:18px}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;overflow:hidden;color:var(--ivory);
  background:linear-gradient(180deg,#0B1F16 0%, var(--canopy) 45%, #143427 100%)}
.canopy{position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:
   radial-gradient(340px 180px at 8% 4%,  rgba(30,77,54,.9) 0%, transparent 70%),
   radial-gradient(420px 220px at 30% -6%, rgba(23,64,45,.9) 0%, transparent 70%),
   radial-gradient(380px 200px at 60% 0%,  rgba(30,77,54,.85) 0%, transparent 70%),
   radial-gradient(420px 230px at 90% -4%, rgba(23,64,45,.9) 0%, transparent 70%),
   radial-gradient(300px 160px at 45% 8%,  rgba(38,92,64,.6) 0%, transparent 70%)}
.beams{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.beams i{position:absolute;top:-12%;width:120px;height:130%;
  background:linear-gradient(180deg, rgba(232,199,102,.28) 0%, rgba(232,199,102,.05) 60%, transparent 100%);
  clip-path:polygon(45% 0, 55% 0, 100% 100%, 0 100%);transform-origin:top center;
  animation:sweep 11s ease-in-out infinite}
.beams i:nth-child(1){left:6%;animation-delay:0s}
.beams i:nth-child(2){left:26%;animation-delay:-2.2s;background:linear-gradient(180deg, rgba(196,82,126,.22) 0%, rgba(196,82,126,.04) 60%, transparent 100%)}
.beams i:nth-child(3){left:47%;animation-delay:-4.4s}
.beams i:nth-child(4){left:67%;animation-delay:-6.6s;background:linear-gradient(180deg, rgba(127,174,139,.25) 0%, rgba(127,174,139,.04) 60%, transparent 100%)}
.beams i:nth-child(5){left:86%;animation-delay:-8.8s}
@keyframes sweep{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
.fireflies i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold-b);
  box-shadow:0 0 10px 2px rgba(232,199,102,.7);opacity:0;animation:fly 9s linear infinite}
.fireflies i:nth-child(1){left:12%;top:64%;animation-delay:0s}
.fireflies i:nth-child(2){left:22%;top:40%;animation-delay:1.2s}
.fireflies i:nth-child(3){left:34%;top:72%;animation-delay:2.6s}
.fireflies i:nth-child(4){left:48%;top:56%;animation-delay:3.4s}
.fireflies i:nth-child(5){left:60%;top:70%;animation-delay:4.8s}
.fireflies i:nth-child(6){left:72%;top:44%;animation-delay:5.6s}
.fireflies i:nth-child(7){left:84%;top:66%;animation-delay:6.9s}
.fireflies i:nth-child(8){left:92%;top:50%;animation-delay:8s}
@keyframes fly{0%{opacity:0;transform:translate(0,0)}12%{opacity:.9}50%{opacity:.5;transform:translate(28px,-34px)}88%{opacity:.9}100%{opacity:0;transform:translate(-12px,-64px)}}
.rainline{position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-b) 50%,var(--gold) 80%,transparent)}

.publicnav{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:20px 34px;flex-wrap:wrap;gap:10px}
.navbrand{font-family:'Cinzel',serif;font-weight:900;letter-spacing:.24em;color:var(--gold-b);font-size:1.05rem}
.navlinks{display:flex;gap:20px;flex-wrap:wrap}
.navlinks a{color:var(--ivory);text-decoration:none;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.navlinks a:hover{color:var(--gold-b);opacity:1}
.navlinks a.staff{opacity:.45}

.herotext{position:relative;z-index:3;text-align:center;margin:auto;padding:40px 20px 80px;max-width:760px}
.herotext .eyebrow{color:var(--leaf)}
.herotext h1{font-size:clamp(3.2rem,10vw,6.5rem);font-weight:900;letter-spacing:.22em;margin:6px 0 10px;color:var(--gold-b);
  text-shadow:0 0 40px rgba(232,199,102,.35)}
.herosub{font-family:'Cinzel',serif;font-size:clamp(1rem,2.6vw,1.35rem);color:var(--ivory);margin:0 0 8px}
.herodesc{font-size:.95rem;opacity:.8;margin:0 0 26px}

/* ---------- SECTIONS ---------- */
.section{padding:76px 24px;max-width:1180px;margin:0 auto}
.section.alt{max-width:none;background:var(--leaf-pale)}
.section.alt > *{max-width:1180px;margin-left:auto;margin-right:auto}
.sectiontitle{text-align:center;font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:700;color:var(--ink);margin:0 0 8px}
.sectiontitle.left{text-align:left}
.sectionsub{text-align:center;color:#5B6B57;max-width:560px;margin:0 auto 40px}

/* ---------- WALK OF STARS ---------- */
.boulevard{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;
  padding:26px;background:
   linear-gradient(rgba(34,48,31,.04), rgba(34,48,31,.04)),
   repeating-linear-gradient(90deg, transparent 0 220px, rgba(34,48,31,.08) 220px 222px);
  border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}
.star{background:var(--terrazzo);border:1px solid #D8CBAF;padding:26px 14px;text-align:center;position:relative;
  background-image:radial-gradient(2px 2px at 18% 30%, #C9A22733 0, transparent 100%),
   radial-gradient(2px 2px at 78% 24%, #C4527E2E 0, transparent 100%),
   radial-gradient(2px 2px at 30% 78%, #1E4D362E 0, transparent 100%),
   radial-gradient(2px 2px at 66% 64%, #C9A22733 0, transparent 100%),
   radial-gradient(2px 2px at 88% 82%, #22301F22 0, transparent 100%);
  transition:transform .18s ease, box-shadow .18s ease}
.star:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(34,48,31,.18)}
.starmark{display:block;font-size:2.1rem;color:var(--gold);text-shadow:0 1px 0 #fff, 0 0 14px rgba(201,162,39,.5)}
.starname{display:block;font-family:'Cinzel',serif;font-weight:700;letter-spacing:.12em;margin-top:8px;font-size:.95rem;text-transform:uppercase}

/* ---------- MENU ---------- */
.menugrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;padding:0 24px}
.menucol{background:var(--ivory);border:1px solid #DCD2BC;padding:26px}
.menucol h3{margin:0 0 14px;font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase;color:var(--palm);
  border-bottom:2px solid var(--gold);padding-bottom:8px}
.menucol ul{list-style:none;margin:0;padding:0}
.menucol li{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:.95rem}
.menucol li i{flex:1;border-bottom:1px dotted #B9AD8F;transform:translateY(-4px)}
.menucol li span:last-child{color:var(--palm);font-weight:500}

/* ---------- SEATING TIERS ---------- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.tier{border:1px solid #DCD2BC;background:#fff;padding:26px 22px;position:relative}
.tier.featured{border-color:var(--gold);background:linear-gradient(180deg,#FFFDF6,#FBF3DE)}
.tier.featured::before{content:"MOST EXCLUSIVE";position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#241C05;font-size:.6rem;letter-spacing:.2em;padding:3px 10px}
.tier h3{margin:0 0 8px;font-size:1rem;letter-spacing:.1em}
.tier p{font-size:.88rem;color:#5B6B57;margin:0 0 14px}
.tierprice{font-family:'Cinzel',serif;font-weight:700;color:var(--palm);font-size:.9rem;letter-spacing:.06em}

/* ---------- DJ ---------- */
.djsplit{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:0 24px}
.djcopy p{max-width:52ch}
.djvisual{display:flex;align-items:flex-end;justify-content:center;height:220px;
  background:linear-gradient(180deg,var(--canopy),var(--palm));border:1px solid var(--palm);padding:24px}
.eq{display:flex;align-items:flex-end;gap:8px;height:100%}
.eq i{width:16px;background:linear-gradient(180deg,var(--gold-b),var(--gold));animation:bounce 1.1s ease-in-out infinite}
.eq i:nth-child(2n){background:linear-gradient(180deg,#E58AAE,var(--orchid));animation-duration:1.4s}
.eq i:nth-child(3n){background:linear-gradient(180deg,#A8D3B4,var(--leaf));animation-duration:.9s}
.eq i:nth-child(1){height:40%}.eq i:nth-child(2){height:70%}.eq i:nth-child(3){height:55%}
.eq i:nth-child(4){height:90%}.eq i:nth-child(5){height:62%}.eq i:nth-child(6){height:80%}
.eq i:nth-child(7){height:48%}.eq i:nth-child(8){height:72%}.eq i:nth-child(9){height:58%}
@keyframes bounce{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.eq i{transform-origin:bottom}

/* ---------- INQUIRY ---------- */
.inqwrap{max-width:640px;margin:0 auto}
.inqform{background:#fff;border:1px solid #DCD2BC;padding:28px}
.inqform label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--palm);margin:12px 0 4px}
.inqform input,.inqform textarea{width:100%;border:1px solid #C9BEA2;background:var(--ivory);padding:10px 12px;font-family:'Jost',sans-serif;font-size:.95rem}
.inqform input:focus,.inqform textarea:focus{outline:2px solid var(--gold)}
.frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.inqform .btn-lg{margin-top:18px;width:100%}
.hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;overflow:hidden}
.notice{padding:14px 18px;border:1px solid;font-size:.95rem;text-align:center}
.notice.ok{border-color:var(--ok);color:var(--ok);background:#EFF7F1}
.notice.bad{border-color:var(--bad);color:var(--bad);background:#FBEFF1;margin-bottom:14px}

/* ---------- FOOTER ---------- */
.publicfooter{text-align:center;padding:50px 20px;background:var(--canopy);color:var(--ivory)}
.publicfooter .crown{font-size:2rem;color:var(--gold-b)}
.publicfooter p{margin:6px 0}
.publicfooter .fine{color:#9FB8A6}
.publicfooter a{color:#9FB8A6}

@media (max-width:760px){
  .djsplit{grid-template-columns:1fr}
  .publicnav{justify-content:center}
  .hero{min-height:88vh}
}
@media (prefers-reduced-motion:reduce){
  .beams i,.fireflies i,.eq i{animation:none!important}
  .fireflies i{opacity:.6}
}
