:root {
  --orange: #e43d70;
  --amber: #ffb22f;
}

body {
  background:
    radial-gradient(circle at 15% 18%, rgba(228, 61, 112, 0.14), transparent 28%),
    radial-gradient(circle at 85% 8%, rgba(255, 178, 47, 0.12), transparent 24%),
    #090806;
}

.sponsor-banner,
.sponsor-grid {
  display: none !important;
}

body.registered[data-view="lineup"] .hero {
  padding-top: 135px;
}

.hero {
  background:
    radial-gradient(circle at 82% 25%, rgba(255, 178, 47, 0.18), transparent 32%),
    radial-gradient(circle at 68% 75%, rgba(228, 61, 112, 0.2), transparent 34%);
}

.hero h1 {
  max-width: 760px;
}

.hero h1 span,
.section-head em,
.place h2 em {
  color: #ff5f8b;
}

.festival-hero-art {
  display: grid;
  place-items: center;
  min-height: 560px;
}

.festival-logo {
  width: min(540px, 92%);
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 34px;
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.55);
}

.festival-hero-art .live {
  left: 7%;
  right: 7%;
  bottom: 18px;
}

.place {
  background: #fff8e9;
}

.map-image {
  background: #f4ead5;
}

.map-image img {
  object-fit: contain;
  object-position: top center;
}

.forecast {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.event-brand b {
  letter-spacing: -0.035em;
}

@media (max-width: 800px) {
  body.registered[data-view="lineup"] .hero {
    padding-top: 98px;
  }

  .hero h1 {
    font-size: clamp(42px, 14vw, 64px);
  }

  .festival-hero-art {
    min-height: 360px;
  }

  .festival-logo {
    width: min(330px, 94%);
    border-radius: 24px;
  }

  .festival-hero-art .live {
    left: 2%;
    right: 2%;
    bottom: 0;
  }

  .event-brand b {
    max-width: 180px;
    font-size: 13px !important;
  }

  .map-image {
    min-height: 0;
  }

  .map-image img {
    width: 100%;
    height: auto;
  }
}

.returning-link{width:100%;margin-top:10px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:transparent;color:#fff;font-weight:800;cursor:pointer}
.returning-link:hover{border-color:#ff4f84;color:#ff9abb}
.returning-access{margin-top:12px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05)}
.returning-access[hidden]{display:none}.returning-access label{display:grid;gap:7px;color:#dbe6df;font-size:12px;font-weight:700}.returning-access input{width:100%;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#0b1611;color:#fff}.returning-access button{width:100%;margin-top:10px;padding:12px;border:0;border-radius:10px;background:#ff4f84;color:#fff;font-weight:900;cursor:pointer}.returning-access small{display:block;margin-top:9px;color:#c8d7ce;line-height:1.45}
