
body {margin:0;font-family:Georgia,serif;background:#0b0b0b;color:#f2e8c9;}
nav {display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#0b0b0b;}
nav ul {list-style:none;display:flex;gap:1rem;margin:0;}
nav a {color:#c7a85a;text-decoration:none;font-size:0.8rem;}
.nav-socials a {margin-left:0.75rem;}
.logo {letter-spacing:0.25em;}
.hero {height:75vh;background:url('hero.jpg') center/cover;}
.overlay {background:rgba(0,0,0,0.6);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
section {max-width:1000px;margin:4rem auto;padding:1rem;}
h2 {text-align:center;letter-spacing:0.25em;}
.dates {list-style:none;padding:0;text-align:center;}
.dates li {margin-bottom:1rem;}
.ticket {margin-left:1rem;border:1px solid #c7a85a;padding:0.3rem 0.7rem;}
.social-grid {display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.social-grid iframe {width:100%;height:420px;border:none;}
.masonry {column-count:3;column-gap:1rem;}
.masonry img {width:100%;margin-bottom:1rem;border:1px solid #3a3322;}
.press-clean {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;}
.press-clean article img {width:100%;border:1px solid #3a3322;}
.press-clean a {display:inline-block;margin-top:0.5rem;color:#c7a85a;text-decoration:none;}
footer {text-align:center;padding:2rem;opacity:0.7;}

/* Subtle hero entrance animation */
.hero {
  animation: heroFade 1.6s ease-out forwards;
}

@keyframes heroFade {
  from {
    opacity: 0;
    transform: scale(1.03);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.hero h1 {
  animation: titleRise 1.4s ease-out forwards;
}

.hero p {
  animation: subtitleRise 1.8s ease-out forwards;
}

@keyframes titleRise {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes subtitleRise {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Ensure show description stays centred */
#about p {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Moonlight glow overlay (subtle, off-centre) */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 58% 35%,
      rgba(240, 225, 180, 0.28) 0%,
      rgba(240, 225, 180, 0.18) 18%,
      rgba(0, 0, 0, 0.0) 45%
    );
  pointer-events: none;
  mix-blend-mode: screen;
  animation: moonGlow 2.4s ease-out forwards;
}

/* Gentle bloom on load */
@keyframes moonGlow {
  from {
    opacity: 0;
    transform: scale(1.05);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* More dramatic moonlight glow */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 56% 34%,
      rgba(255, 245, 210, 0.55) 0%,
      rgba(255, 230, 170, 0.38) 22%,
      rgba(255, 230, 170, 0.22) 36%,
      rgba(0, 0, 0, 0.0) 58%
    );
  pointer-events: none;
  mix-blend-mode: screen;
  animation: moonGlowDrama 2.6s ease-out forwards;
}

@keyframes moonGlowDrama {
  from {
    opacity: 0;
    transform: scale(1.08);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.hero-logo {
  max-width: 420px;
  width: 80%;
  margin-bottom: 1rem;
  animation: logoFade 1.6s ease-out forwards;
}

@keyframes logoFade {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Ensure clean single-logo hero layout */
.overlay {
  gap: 0;
}
