a{text-decoration:none; color:inherit;}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:Arial,Helvetica,sans-serif; background:#fff; color:#111;}

.wrap{padding:88px 6vw 0;}

.topbar{display:flex; justify-content:space-between; align-items:center; padding:22px 0; position:fixed; top:0; left:0; right:0; width:100%; background:#fff; z-index:100; border-bottom:2px solid #111; box-sizing:border-box; padding-left:6vw; padding-right:6vw;}
.logo{font-weight:900; font-size:20px; letter-spacing:-0.02em;}
.logo span{color:#C6FF3D; -webkit-text-stroke:1.5px #111;}
.nav{display:flex; gap:16px; font-size:12px; font-weight:700; text-transform:uppercase;}
.burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:32px; height:32px; background:none; border:none; cursor:pointer; padding:0;}
.burger span{display:block; width:100%; height:2.5px; background:#111; border-radius:2px; transition:transform 0.2s ease, opacity 0.2s ease;}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.cta-top{display:inline-block; background:#111; color:#fff; padding:10px 20px; border-radius:100px; font-weight:800; font-size:13px; text-transform:uppercase; white-space:nowrap;}

.hero-main{display:grid; grid-template-columns:1.9fr 0.5fr; gap:32px; align-items:center; margin:44px 0 30px;}
.hero-copy h1{font-size:clamp(40px,6vw,72px); font-weight:900; line-height:0.95; letter-spacing:-0.03em;}
.hero-copy h1 .hl{background:#C6FF3D; padding:0 12px; display:inline-block; transform:rotate(-1deg);}
.hero-copy p{font-size:16px; color:#555; margin-top:20px; max-width:440px; font-weight:500; line-height:1.6;}
.badges{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
.badge{border:2px solid #111; border-radius:100px; padding:7px 16px; font-size:12px; font-weight:800; text-transform:uppercase;}
.badge.filled{background:#FF2E92; border-color:#FF2E92; color:#fff;}
.actions{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
.btn-main{display:inline-block; background:#111; color:#fff; padding:17px 32px; border-radius:100px; font-weight:900; font-size:14px; text-transform:uppercase;}
.btn-alt{border:2px solid #111; color:#111; padding:15px 30px; border-radius:100px; font-weight:900; font-size:14px; text-transform:uppercase;}

.hero-visual{position:relative; border-radius:28px; overflow:hidden; background:#eee; height:300px;}
.hero-visual img{width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block;}
.hero-visual .tag{position:absolute; top:16px; right:16px; background:#111; color:#fff; padding:8px 16px; border-radius:100px; font-size:12px; font-weight:800; text-transform:uppercase; transform:rotate(4deg);}
.hero-visual .caption{position:absolute; bottom:16px; left:16px; right:16px; background:rgba(255,255,255,0.92); border-radius:16px; padding:12px 16px; font-weight:800; font-size:13px;}

.strip{overflow:hidden; white-space:nowrap; border-top:3px solid #111; border-bottom:3px solid #111; padding:12px 0; margin:0 -6vw;}
.strip-track{display:inline-flex; animation:marquee 18s linear infinite;}
.strip span{display:inline-block; font-size:20px; font-weight:900; padding:0 20px; text-transform:uppercase; white-space:nowrap;}
.strip span:nth-child(odd){color:#111;}
.strip span:nth-child(even){color:#FF2E92;}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

.section{padding:56px 0;}
.section-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:28px; flex-wrap:wrap; gap:10px;}
.section-head h2{font-size:30px; font-weight:900; letter-spacing:-0.02em;}
.section-head .tag2{font-size:12px; font-weight:800; text-transform:uppercase; color:#888;}

.event-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.event-card{border:2px solid #111; border-radius:20px; overflow:hidden;}
.event-photo{height:150px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; text-transform:uppercase; color:#fff; overflow:hidden;}
.event-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.event-photo.p1{background:#C6FF3D; color:#111;}
.event-photo.p2{background:#FF2E92;}
.event-photo.p3{background:#111;}
.event-photo.p4{background:linear-gradient(135deg,#C6FF3D,#FF2E92);}
.event-body{padding:20px;}
.event-days{font-size:12px; font-weight:900; text-transform:uppercase; color:#888; margin-bottom:6px;}
.event-body h3{font-size:19px; font-weight:900; margin-bottom:8px;}
.event-body p{font-size:13px; color:#555; line-height:1.6; margin-bottom:16px;}
.event-btn{display:inline-block; border:2px solid #111; padding:9px 18px; border-radius:100px; font-size:12px; font-weight:900; text-transform:uppercase;}
.event-btn.filled{background:#111; color:#fff;}

.reason-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}

.review-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.review-card{border:2px solid #111; border-radius:18px; padding:22px; background:#FFF9E8;}
.review-card p{font-size:14px; font-weight:700; line-height:1.5; margin-bottom:12px;}
.review-card .who{font-size:12px; font-weight:800; color:#888; text-transform:uppercase;}
.review-card .stars{color:#FF2E92; font-size:14px; margin-bottom:8px;}
.reason-card{border:2px solid #111; border-radius:18px; padding:20px;}
.reason-tag{font-size:11px; font-weight:900; color:#FF2E92; text-transform:uppercase; margin-bottom:8px;}
.reason-card h3{font-size:15px; font-weight:900; margin-bottom:8px;}
.reason-card p{font-size:12.5px; color:#666; line-height:1.55;}

.booking{background:#111; color:#fff; border-radius:28px; padding:48px 36px;}
.booking h2{font-size:28px; font-weight:900; margin-bottom:12px;}
.booking p{color:#bbb; font-size:14px; margin-bottom:22px;}
.hashtags span{display:inline-block; background:#C6FF3D; color:#111; font-weight:900; font-size:12px; padding:6px 14px; border-radius:100px; margin:0 8px 8px 0;}

.footer{padding:40px 6vw; border-top:2px solid #111; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12px; font-weight:700; text-transform:uppercase; box-sizing:border-box;}

@media(max-width:820px){
  .hero-main{grid-template-columns:1fr;}
  .nav{
    display:none; position:fixed; top:73px; left:0; right:0; background:#fff;
    flex-direction:column; gap:0; padding:8px 6vw 16px; border-bottom:2px solid #111;
    max-height:calc(100vh - 73px); overflow-y:auto;
  }
  .nav.open{display:flex;}
  .nav a{padding:14px 0; border-top:1px solid rgba(17,17,17,0.1);}
  .burger{display:flex;}
  .event-grid, .reason-grid{grid-template-columns:1fr;}
}

.popup-overlay{
  display:none; position:fixed; inset:0; background:rgba(17,17,17,0.6); z-index:200;
  align-items:center; justify-content:center; padding:20px;
}
.popup-overlay.open{display:flex;}
.popup-box{
  background:#fff; border:2px solid #111; border-radius:24px; padding:36px; max-width:440px; width:100%;
  max-height:90vh; overflow-y:auto; position:relative;
}
.popup-close{
  position:absolute; top:18px; right:18px; width:32px; height:32px; border-radius:100%; border:2px solid #111;
  background:#fff; font-size:14px; font-weight:900; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.popup-tag{display:inline-block; background:#C6FF3D; padding:5px 12px; border-radius:100px; font-size:11px; font-weight:900; text-transform:uppercase; margin-bottom:14px;}
.popup-title{font-size:26px; font-weight:900; letter-spacing:-0.01em; margin-bottom:6px;}
.popup-sub{font-size:13px; color:#666; margin-bottom:22px;}
.popup-form{display:flex; flex-direction:column; gap:14px;}
.popup-form label{display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:800; text-transform:uppercase; color:#555;}
.popup-form input, .popup-form select{
  border:2px solid #111; border-radius:12px; padding:12px 14px; font-size:14px; font-family:inherit; font-weight:700; color:#111;
  background:#fff;
}
.popup-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.popup-submit{
  margin-top:8px; background:#111; color:#fff; border:2px solid #111; border-radius:100px; padding:16px;
  font-weight:900; font-size:14px; text-transform:uppercase; cursor:pointer;
}

.faq-item{
  border-top:2px solid #111; padding:20px 0; cursor:pointer;
}
.faq-item:last-child{border-bottom:2px solid #111;}
.faq-q{display:flex; justify-content:space-between; align-items:center; gap:20px;}
.faq-q span:first-child{font-size:15px; font-weight:800;}
.faq-toggle{font-size:18px; font-weight:900; color:#FF2E92; flex-shrink:0; transition:transform 0.2s ease;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
.faq-a{
  max-height:0; overflow:hidden; font-size:14px; color:#555; line-height:1.6;
  transition:max-height 0.25s ease, padding-top 0.25s ease;
}
.faq-item.open .faq-a{max-height:200px; padding-top:14px;}