:root {
    --bg: #13141F;
    --bg-alt: #191A28;
    --silver: #C7CDD6;
    --silver-soft: #E8ECF1;
    --blue: #4D7CFE;
    --text: #F2F1ED;
    --text-dim: #A6A6B3;
    --line: #2A2C3D;
  }

  * { box-sizing: border-box; }

  html { scroll-behavior: smooth; }

  body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Work Sans', sans-serif;
    font-weight: 400;
    line-height: 1.6;
  }

  h1, h2, h3, .display-font {
	font-family: 'Manrope', sans-serif;
  	font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }

  a { color: var(--silver); text-decoration: none; transition: color 0.2s ease; }
  a:hover { color: var(--blue); }

  /* ---------- Header ---------- */
  .site-header {
    padding: 4rem 1.5rem 3rem;
    text-align: center;
    border-bottom: 1px solid var(--line);
  }

  .brand-logo {
    max-width: 340px;
    width: 100%;
    height: auto;
    display: inline-block;
  }

.logo-wrap {
  position: relative;
  display: inline-block;
}

.logo-shimmer {
  position: absolute;
  inset: 0;
  -webkit-mask-image: url('img/electro-magic-logo.svg');
  mask-image: url('img/electro-magic-logo.svg');
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.9) 48%, rgba(160,200,255,0.9) 52%, transparent 70%);
  background-size: 250% 250%;
  mix-blend-mode: overlay;
  animation: shimmer-sweep 5s ease-in-out infinite;
  pointer-events: none;
}

@keyframes shimmer-sweep {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  .logo-shimmer { animation: none; }
}

  .mission {
    max-width: 640px;
    margin: 2rem auto 0;
    color: var(--text-dim);
    font-size: 1.05rem;
  }

  .contact-row {
    margin-top: 2.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.75rem;
    flex-wrap: wrap;
    font-size: 0.95rem;
  }

  .contact-row a {
    color: var(--text);
    border-bottom: 1px solid var(--line);
    padding-bottom: 2px;
  }

  .contact-row a:hover { color: var(--silver); border-color: var(--silver); }

  .contact-row svg { width: 16px; height: 16px; margin-right: 0.4rem; vertical-align: -3px; fill: currentColor; }

  /* ---------- Roster ---------- */
  .roster-section {
  padding: 4.5rem 1.5rem 6rem;
  background: var(--bg-alt);
  }

  .roster-heading {
    text-align: center;
    margin-bottom: 3rem;
  }

  .roster-heading h2 {
    font-size: clamp(1.6rem, 4vw, 2.25rem);
    margin: 0;
  }

  .roster-heading .rule {
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, #A6B4C7, #E8ECF1, #B8C9D9, #D4DEE8);
    margin: 1rem auto 0;
    border-radius: 2px;
  }

  .dj-card {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 4px;
    overflow: hidden;
    height: 100%;
  }

  .dj-photo {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: linear-gradient(145deg, #23253A, #1A1B29);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-dim);
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    overflow: hidden;
  }

  .dj-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
  }

  .dj-info { padding: 1rem 1.1rem 1.4rem; }

  .dj-info h3 {
    font-size: 1.05rem;
    margin: 0 0 0.3rem;
    text-transform: none;
    letter-spacing: 0.01em;
  }

  .dj-info p {
    color: var(--text-dim);
    font-size: 0.82rem;
    margin: 0;
    font-family: 'DM Sans', sans-serif;
  }

  .roster-cta {
    text-align: center;
    margin-top: 3rem;
  }

  .roster-cta a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: 0.02em;
    font-size: 1rem;
    color: var(--bg);
    background: var(--silver);
    border-radius: 999px;
    padding: 0.7rem 1.8rem;
  }

  .roster-cta a:hover {
    background: var(--silver-soft);
    color: var(--bg);
  }
  
.bios-section {
  padding: 5rem 1.5rem 5rem;
  background: var(--bg-alt);
  border-top: 1px solid var(--line);
}


  /* ---------- Reel + Footer ---------- */
.reel-section {
  padding: 4rem 1.5rem;
  text-align: center;
  border-top: 1px solid var(--line);
}

.reel-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: 0.95rem;
  color: var(--bg);
  background: var(--silver);
  border: none;
  border-radius: 999px;
  padding: 0.75rem 1.8rem;
}

.reel-link:hover {
  background: var(--silver-soft);
}

.site-footer {
  padding: 1.75rem 1.5rem;
  text-align: center;
  background: #000000;
}

.site-footer .copyright {
  font-size: 0.75rem;
  color: var(--text-dim);
}

  @media (prefers-reduced-motion: reduce) {
    .site-footer .reel-link, a { transition: none; }
  }
