/* ═══════════════════════ HERO ═══════════════════════ */
#hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; background: #080808;
}
.hero-bg { position: absolute; inset: 0; }
.hero-img { opacity: .3; }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(8,8,8,.8) 0%, rgba(8,8,8,.4) 50%, #080808 100%);
}
.hero-diagonal {
  position: absolute; inset: 0; opacity: .04;
  background-image: repeating-linear-gradient(-45deg, var(--gold), var(--gold) 1px, transparent 1px, transparent 60px);
}
.hero-vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, transparent 50%, #080808 100%);
}
#particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}
.hero-line {
  position: absolute; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--g50), transparent);
}
.hero-line-top { top: 0; }
.hero-line-bottom { bottom: 0; opacity: .4; }

.hero-content {
  position: relative; z-index: 2; text-align: center;
  align-self: flex-start;
  margin-top: 70px;
  padding: 0 24px; max-width: 900px; width: 100%;
}

/* Badge */
.hero-badge { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 28px; }
.hero-badge span {
  font-size: clamp(12px, 1.7vw, 16px);
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 400;
  line-height: 1.05;
}
.hero-badge #rotating-badge-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 19ch;
  text-align: center;
  letter-spacing: .24em;
  white-space: nowrap;
  will-change: opacity, transform, filter;
  transition: opacity .28s ease, transform .28s ease, filter .28s ease;
}
.hero-badge #rotating-badge-text::before,
.hero-badge #rotating-badge-text::after {
  font-size: .9em;
  color: var(--gold-light);
  opacity: .9;
  line-height: 1;
}
.hero-badge #rotating-badge-text::before {
  content: '✦';
}
.hero-badge #rotating-badge-text::after {
  content: '◆';
}
.hero-badge #rotating-badge-text.is-leaving {
  opacity: 0;
  transform: translateY(-4px) scale(.992);
  filter: blur(.5px);
}
.hero-badge #rotating-badge-text.is-entering {
  opacity: 0;
  transform: translateY(4px) scale(1.008);
  filter: blur(.5px);
}
.hero-badge #rotating-badge-text.is-glow {
  animation: badgeGlowPulse .72s ease;
}
@media (max-width: 640px) {
  .hero-badge #rotating-badge-text {
    font-size: 11px;
    letter-spacing: .18em;
    gap: 6px;
    min-width: 16ch;
  }
}
@keyframes badgeGlowPulse {
  0% {
    text-shadow: 0 0 0 rgba(212,175,55,0);
  }
  40% {
    text-shadow: 0 0 14px rgba(212,175,55,.65), 0 0 26px rgba(212,175,55,.35);
  }
  100% {
    text-shadow: 0 0 0 rgba(212,175,55,0);
  }
}
.badge-line { height: 1px; width: 64px; background: linear-gradient(90deg, transparent, var(--g50)); }
.badge-line:last-child { background: linear-gradient(90deg, var(--g50), transparent); }

/* Title */
.hero-title { font-family: var(--serif); line-height: 1; }
.hero-logo-wrap {
  display: flex;
  justify-content: center;
  margin: 8px 0 10px;
}
.hero-logo {
  width: min(78vw, 560px);
  max-height: 280px;
  object-fit: contain;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.45));
}
.hero-sub {
  display: block; font-size: clamp(1.8rem,4vw,3.5rem);
  color: rgba(255,255,255,.9); font-weight: 400; margin-bottom: 8px;
}
.hero-name { display: inline-block; position: relative; overflow: hidden; margin-bottom: 4px; }
.hero-name-text {
  display: block; font-size: clamp(3rem,9vw,7rem); font-weight: 700;
  background: linear-gradient(135deg, var(--gold-deep) 0%, var(--gold) 25%, var(--gold-light) 45%, var(--gold) 55%, var(--gold-dark) 75%, var(--gold-light) 90%, var(--gold-deep) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  filter: drop-shadow(0 0 30px var(--g30));
}
.hero-shimmer {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%);
  animation: goldShimmer 4s ease-in-out infinite;
}
.hero-studio {
  display: block; font-size: clamp(2.2rem,6vw,5rem); letter-spacing: .15em;
  background: linear-gradient(135deg, var(--gold-dark), var(--gold-light), var(--gold));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* Ornament */
.hero-ornament { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 28px 0; }
.orn-line { height: 1px; width: 100px; background: linear-gradient(90deg, transparent, var(--g50)); }
.orn-line:last-child { background: linear-gradient(90deg, var(--g50), transparent); }

/* Tagline */
.hero-tagline {
  font-size: clamp(1rem,2vw,1.2rem); color: #fff;
  font-style: italic; letter-spacing: .1em;
  font-family: "Helvetica", Arial, sans-serif; margin-bottom: 48px;
}
.hero-tagline #rotating-event-text {
  display: inline-block;
  text-transform: capitalize;
  font-weight: 500;
  font-style: normal;
  color: var(--gold);
  will-change: opacity, transform, filter;
  transition: opacity .28s ease, transform .28s ease, filter .28s ease;
}
.hero-tagline #rotating-event-text.is-leaving {
  opacity: 0;
  transform: translateY(-4px) scale(.992);
  filter: blur(.5px);
}
.hero-tagline #rotating-event-text.is-entering {
  opacity: 0;
  transform: translateY(4px) scale(1.008);
  filter: blur(.5px);
}
.hero-tagline #rotating-event-text.is-glow {
  animation: badgeGlowPulse .72s ease;
}

/* CTAs */
.hero-ctas { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; align-items: center; }

/* Social Links */
.hero-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 12px 0 32px 0;
}

.hero-social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--gold);
  transition: all .35s ease;
  position: relative;
}

.hero-social-icon svg {
  width: 20px;
  height: 20px;
  position: relative;
  z-index: 1;
}

.hero-social-icon:hover {
  color: #fff;
  transform: translateY(-2px);
}

.hero-social-icon:active {
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .hero-social-links {
    gap: 12px;
    margin: 10px 0 24px 0;
  }
  
  .hero-social-icon {
    width: 38px;
    height: 38px;
  }
  
  .hero-social-icon svg {
    width: 18px;
    height: 18px;
  }
}

/* Scroll indicator */
.scroll-indicator {
  position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  z-index: 2; opacity: 0; animation: fadeIn 1s ease 2.5s forwards;
}
.scroll-indicator span { font-size: 9px; letter-spacing: .4em; text-transform: uppercase; color: rgba(255,255,255,.3); }
.scroll-chevron { color: var(--gold); font-size: 22px; opacity: .6; animation: bounce 1.8s ease-in-out infinite; }
