/* ============ DESIGN TOKENS ============ */
:root{
  --night:#1B1A2E;
  --night2:#272545;
  --cream:#FBF3E7;
  --yellow:#FFC857;
  --coral:#FF6B4A;
  --mint:#54D6C4;
  --ink:#1B1A2E;
}

*{ margin:0; padding:0; box-sizing:border-box; }

body{
  font-family:'Poppins', sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
}

a{ color:inherit; text-decoration:none; }

.display{ font-family:'Anton', sans-serif; letter-spacing:1px; }
.script{ font-family:'Caveat', cursive; }

/* ============ NAVBAR ============ */
.navbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px;
  background:var(--cream);
  border-bottom:3px solid var(--ink);
}
.navbar .logo{
  display:flex; align-items:center; gap:10px;
  font-family:'Anton', sans-serif;
  font-size:22px;
  color:var(--ink);
  white-space:nowrap;
}
.navbar .logo span{
  background:var(--coral);
  color:var(--cream);
  padding:4px 10px;
  border-radius:6px;
  transform:rotate(-4deg);
  display:inline-block;
}
.nav-links{
  display:flex; gap:24px; flex-wrap:wrap; justify-content:flex-end;
  font-weight:600;
  font-size:14px;
}
.nav-links a{ position:relative; padding:4px 0; }
.nav-links a:hover, .nav-links a.active{ color:var(--coral); }
.nav-toggle{ display:none; }
.nav-toggle-label{ display:none; cursor:pointer; font-size:26px; font-weight:700; }

@media (max-width: 900px){
  .nav-links{
    display:none;
    flex-direction:column;
    gap:16px;
    position:absolute;
    top:100%; left:0; right:0;
    background:var(--cream);
    border-bottom:3px solid var(--ink);
    padding:20px 32px;
  }
  .nav-toggle:checked ~ .nav-links{ display:flex; }
  .nav-toggle-label{ display:block; }
}

/* ============ PAGE HEADER (subpages) ============ */
.page-header{
  position:relative;
  background:var(--night);
  color:var(--cream);
  padding:60px 32px;
  text-align:center;
  background-image:radial-gradient(rgba(255,255,255,0.07) 1.5px, transparent 1.5px);
  background-size:18px 18px;
}
.page-header .eyebrow{
  display:inline-block;
  font-family:'Caveat', cursive;
  font-size:22px; font-weight:700;
  color:var(--yellow);
  transform:rotate(-3deg);
  margin-bottom:4px;
}
.page-header h1{
  font-size:clamp(38px, 8vw, 64px);
  text-transform:uppercase;
}
.page-header p{
  max-width:520px; margin:14px auto 0;
  font-size:15px;
  color:rgba(251,243,231,0.75);
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-block;
  font-weight:700;
  font-size:15px;
  padding:14px 30px;
  border-radius:50px;
  border:2px solid var(--ink);
  transition:transform .15s ease;
  cursor:pointer;
}
.btn:hover{ transform:translateY(-2px) rotate(-1deg); }
.btn-fill{ background:var(--coral); color:var(--cream); border-color:var(--coral); }
.btn-outline-dark{ background:transparent; color:var(--ink); }
.btn-outline-light{ background:transparent; color:var(--cream); border-color:var(--cream); }

/* ============ TICKET CARD ============ */
.ticket{
  position:relative;
  background:var(--night2);
  color:var(--cream);
  border-radius:16px;
  padding:32px 26px 28px;
  border:2px solid var(--ink);
}
.ticket::before, .ticket::after{
  content:"";
  position:absolute;
  width:26px; height:26px;
  background:var(--cream);
  border-radius:50%;
  top:50%; transform:translateY(-50%);
}
.ticket::before{ left:-13px; }
.ticket::after{ right:-13px; }

.ticket .tag{
  display:inline-block;
  font-family:'Caveat', cursive;
  font-weight:700;
  font-size:20px;
  padding:3px 14px;
  border-radius:50px;
  margin-bottom:14px;
  transform:rotate(-3deg);
}
.tag-info{ background:var(--yellow); color:var(--ink); }
.tag-join{ background:var(--coral); color:var(--cream); }
.tag-shop{ background:var(--mint); color:var(--ink); }
.tag-mint{ background:var(--mint); color:var(--ink); }
.tag-yellow{ background:var(--yellow); color:var(--ink); }
.tag-coral{ background:var(--coral); color:var(--cream); }

.ticket h3{
  font-family:'Anton', sans-serif;
  font-size:26px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.ticket p{
  font-size:14px;
  color:rgba(251,243,231,0.75);
  margin-bottom:22px;
}
.ticket .perf{
  border-top:2px dashed rgba(251,243,231,0.3);
  margin:18px 0 18px;
}
.ticket .go{
  font-weight:700; font-size:14px;
  color:var(--yellow);
}

/* ============ PANELS ============ */
.panel{
  border:2px solid var(--ink);
  border-radius:16px;
  padding:24px;
  background:var(--cream);
}
.panel.alt{ background:var(--yellow); }
.panel.mint{ background:var(--mint); }
.panel h4{
  font-family:'Anton', sans-serif;
  font-size:18px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.panel p{ font-size:14px; color:rgba(27,26,46,0.7); }
.panel .pill{
  display:inline-block;
  margin-top:14px;
  font-family:'Caveat', cursive;
  font-weight:700;
  font-size:16px;
  border-bottom:2px solid var(--ink);
}

/* ============ TICKER ============ */
.ticker-wrap{
  background:var(--coral);
  color:var(--night);
  overflow:hidden;
  border-bottom:3px solid var(--ink);
  border-top:3px solid var(--ink);
}
.ticker{
  display:flex; gap:50px;
  white-space:nowrap;
  padding:12px 0;
  font-family:'Anton', sans-serif;
  font-size:16px;
  letter-spacing:2px;
  text-transform:uppercase;
  animation:scroll 22s linear infinite;
}
@keyframes scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* ============ FOOTER ============ */
footer{
  background:var(--night);
  color:var(--cream);
  padding:50px 32px 30px;
  text-align:center;
}
footer .display{
  font-size:30px; text-transform:uppercase; margin-bottom:14px;
}
.socials{
  display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
  margin-bottom:24px;
}
.socials a{
  border:2px solid var(--cream);
  border-radius:50px;
  padding:8px 22px;
  font-weight:600; font-size:14px;
}
.socials a:hover{ background:var(--coral); border-color:var(--coral); }
footer .fine{
  font-size:12px; color:rgba(251,243,231,0.5);
}

/* ============ SHARED SECTION WRAPPERS ============ */
.section{
  padding:70px 32px;
  max-width:1080px; margin:0 auto;
}
.section h2{
  font-family:'Anton', sans-serif;
  font-size:clamp(28px, 5vw, 44px);
  text-transform:uppercase;
  margin-bottom:6px;
}
.section .lead{
  font-family:'Caveat', cursive;
  font-size:22px;
  color:var(--coral);
  margin-bottom:40px;
}

/* ============ INFO CARD ============ */
.info-card{
  background:var(--night2);
  color:var(--cream);
  border-radius:16px;
  border:2px solid var(--ink);
  padding:26px;
}
.info-card.standalone{
  max-width:680px;
  margin:0 auto 30px;
}
.info-card h4{
  font-family:'Anton', sans-serif;
  font-size:18px;
  text-transform:uppercase;
  margin-bottom:14px;
  color:var(--yellow);
}
.info-row{
  display:flex; justify-content:space-between; gap:12px;
  padding:10px 0;
  border-bottom:1px dashed rgba(251,243,231,0.25);
  font-size:14px;
}
.info-row:last-child{ border-bottom:none; }
.info-row .lbl{ color:rgba(251,243,231,0.6); }
.info-row .val{ font-weight:600; text-align:right; }

/* Q&A style detail blocks inside an info-card */
.detail-item{ margin-bottom:16px; }
.detail-item:last-child{ margin-bottom:0; }
.detail-item .q{
  display:block;
  font-weight:700;
  font-size:14px;
  color:var(--mint);
  margin-bottom:4px;
}
.detail-item .q.highlight{ color:var(--coral); }
.detail-item p.a{
  font-size:14px;
  color:rgba(251,243,231,0.8);
}
.detail-item.divider{
  border-top:1px dashed rgba(251,243,231,0.3);
  padding-top:16px;
  margin-top:16px;
}

/* ============ FORM ELEMENTS ============ */
label{ font-weight:600; font-size:14px; display:block; margin-bottom:6px; }
input, select, textarea{
  width:100%;
  font-family:'Poppins', sans-serif;
  font-size:14px;
  padding:12px 14px;
  border:2px solid var(--ink);
  border-radius:10px;
  background:var(--cream);
  color:var(--ink);
}
input:focus, select:focus, textarea:focus{
  outline:3px solid var(--mint);
}
.field{ margin-bottom:20px; }
fieldset{ border:none; }

/* ============ GOOGLE FORM EMBED ============ */
.gform-wrap{
  max-width:680px; margin:0 auto;
  background:var(--cream);
  border:2px solid var(--ink);
  border-radius:16px;
  padding:14px;
  position:relative;
}
.gform-wrap::before, .gform-wrap::after{
  content:"";
  position:absolute;
  width:30px; height:30px;
  background:var(--cream);
  border:2px solid var(--ink);
  border-radius:50%;
  top:50%; transform:translateY(-50%);
}
.gform-wrap::before{ left:-16px; }
.gform-wrap::after{ right:-16px; }

.gform-wrap iframe{
  width:100%;
  min-height:1200px; /* adjust once you have the real form */
  border:none;
  border-radius:10px;
  display:block;
}

.gform-fallback{
  text-align:center;
  padding:60px 20px;
  font-family:'Caveat', cursive;
  font-size:20px;
  color:var(--coral);
}

.form-note{
  text-align:center; font-size:13px;
  color:rgba(27,26,46,0.6);
  margin-top:18px;
}