/* ============================================================
   ARTHUR SENNA — Landing Mockup Premium
   HTML5 + CSS3 · mobile-first · sem frameworks
   Objetivo: reproduzir mockup palco ao vivo
   ============================================================ */

:root {
  --mockup-gold: #d4af37;
  --mockup-gold-bright: #ffbf00;
  --mockup-black: #000000;
  --mockup-stage: #09090b;
  --mockup-white: #ffffff;
  --mockup-text: #e5e5e5;
  --mockup-green: #1ed760;
  --font-display: "Oswald", "Montserrat", sans-serif;
  --font-body: "Montserrat", "Barlow", sans-serif;
}

/* —— Reset landing gaps —— */
body.home-page.home-landing {
  margin: 0;
  padding: 0;
  background: var(--mockup-stage) !important;
  color: var(--mockup-text) !important;
  max-width: 100%;
  overflow-x: hidden;
}

body.home-page.home-landing main {
  background: var(--mockup-stage) !important;
  padding: 0 !important;
}

body.home-page.home-landing::before {
  display: none !important;
}

/* ============================================================
   1. CABEÇALHO — preto absoluto, funde com o palco
   ============================================================ */
body.home-page.home-landing .site-header.site-header--mockup {
  position: relative;
  z-index: 100;
  background: #000000 !important;
  border-bottom: 1px solid rgb(212 175 55 / 14%) !important;
  box-shadow: 0 8px 32px rgb(0 0 0 / 55%) !important;
  padding: .85rem 1rem 1rem !important;
}

body.home-page.home-landing .site-header.site-header--nav-only {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .7rem clamp(3.25rem, 8vw, 5rem) !important;
  min-height: 3.25rem;
}

body.home-page.home-landing .header-admin-btn {
  position: absolute;
  top: .85rem;
  right: clamp(.75rem, 3vw, 1.5rem);
  z-index: 2;
  padding: .45rem 1rem;
  border: 1.5px solid var(--mockup-gold);
  border-radius: .25rem;
  background: transparent;
  color: var(--mockup-gold);
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.home-landing .header-admin-btn:hover {
  background: var(--mockup-gold);
  color: var(--mockup-black);
}

body.home-page.home-landing .site-header--nav-only .site-nav.site-nav--mockup {
  margin-inline: auto;
  gap: .35rem clamp(.85rem, 2.2vw, 1.35rem);
}

body.home-page.home-landing .site-nav.site-nav--mockup a {
  color: #ffffff !important;
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: capitalize;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: color .2s ease;
}

body.home-page.home-landing .site-nav.site-nav--mockup a:hover {
  color: var(--mockup-gold) !important;
  background: transparent !important;
}

body.home-page.home-landing .menu-toggle--mockup span {
  background: #ffffff !important;
}

body.home-page.home-landing .site-nav.site-nav--mockup {
  display: flex !important;
  position: static !important;
  width: auto !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .35rem 1.1rem;
  background: transparent !important;
}

.home-landing .menu-toggle--mockup {
  position: absolute;
  top: .85rem;
  left: clamp(.75rem, 3vw, 1.5rem);
  z-index: 3;
}

/* ============================================================
   2. HERO — FOTO.png + palco animado
   ============================================================ */
body.home-page.home-landing .hero--mockup.hero--stage-lights {
  position: relative;
  isolation: isolate;
  min-height: 80vh;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2rem, 5vw, 3rem);
  overflow: hidden;
  background: #000000 !important;
  background-color: #000000 !important;
  color: var(--mockup-white) !important;
}

/* FOTO_PREMIUM_NITIDA — fundo full-bleed, ancorado no topo (chapéu visível) */
body.home-page.home-landing .hero-stage-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #121212;
  background-repeat: no-repeat;
  background-position: center top !important;
  background-size: cover;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: auto;
  contain: paint;
}

/* Pulso ambiente — palco vivo */
body.home-page.home-landing .hero-stage-pulse {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 72% 38%, rgb(255 0 180 / 28%), transparent 62%),
    radial-gradient(ellipse 60% 50% at 28% 42%, rgb(0 220 255 / 22%), transparent 58%),
    radial-gradient(ellipse 90% 60% at 50% 85%, rgb(212 175 55 / 18%), transparent 65%);
  animation: heroStagePulse 4s ease-in-out infinite;
}

@keyframes heroStagePulse {
  0%, 100% { opacity: 0.25; }
  50% { opacity: 0.55; }
}

/* Overlay de leitura — escurece a esquerda para o texto */
body.home-page.home-landing .hero--stage-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      to right,
      rgba(18, 18, 18, 0.85) 0%,
      rgba(18, 18, 18, 0.4) 40%,
      rgba(18, 18, 18, 0) 70%
    ),
    linear-gradient(180deg, rgb(0 0 0 / 35%) 0%, transparent 28%, rgb(0 0 0 / 45%) 100%);
}

/* Ambient concert lights — smoke / rolling stage glow */
body.home-page.home-landing .hero--stage-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse 65% 50% at 70% 35%, rgb(255 0 180 / 55%), transparent 60%),
    radial-gradient(ellipse 55% 45% at 25% 45%, rgb(0 200 255 / 45%), transparent 58%),
    radial-gradient(ellipse 80% 55% at 50% 80%, rgb(214 175 55 / 35%), transparent 65%);
  animation: heroAmbientPulse 5s ease-in-out infinite;
  mix-blend-mode: screen;
  will-change: opacity;
  transform: translateZ(0);
}

@keyframes heroAmbientPulse {
  0%, 100% { opacity: 0.12; transform: translateZ(0); }
  50% { opacity: 0.4; transform: translateZ(0); }
}

body.home-page.home-landing .hero--stage-photo .hero-stage-truss {
  display: none;
}

/* Floating spot orbs — moving concert lights */
body.home-page.home-landing .hero-stage-spots {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: screen;
}

body.home-page.home-landing .hero-stage-spot {
  position: absolute;
  width: clamp(10rem, 28vw, 22rem);
  height: clamp(10rem, 28vw, 22rem);
  border-radius: 50%;
  filter: blur(28px);
  opacity: 0.55;
  will-change: transform, opacity;
}

body.home-page.home-landing .hero-stage-spot--a {
  top: 8%;
  left: 55%;
  background: radial-gradient(circle, rgba(255, 0, 180, 0.85) 0%, transparent 70%);
  animation: heroSpotSweepA 7s ease-in-out infinite;
}

body.home-page.home-landing .hero-stage-spot--b {
  top: 18%;
  left: 72%;
  background: radial-gradient(circle, rgba(0, 220, 255, 0.8) 0%, transparent 70%);
  animation: heroSpotSweepB 8.5s ease-in-out infinite;
}

body.home-page.home-landing .hero-stage-spot--c {
  top: 35%;
  left: 48%;
  width: clamp(8rem, 20vw, 16rem);
  height: clamp(8rem, 20vw, 16rem);
  background: radial-gradient(circle, rgba(255, 231, 0, 0.75) 0%, transparent 68%);
  animation: heroSpotSweepC 6.2s ease-in-out infinite;
}

body.home-page.home-landing .hero-stage-spot--d {
  top: 5%;
  left: 62%;
  width: clamp(7rem, 16vw, 14rem);
  height: clamp(7rem, 16vw, 14rem);
  background: radial-gradient(circle, rgba(180, 80, 255, 0.7) 0%, transparent 70%);
  animation: heroSpotSweepD 9s ease-in-out infinite;
}

@keyframes heroSpotSweepA {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.35; }
  40% { transform: translate(-12%, 18%) scale(1.25); opacity: 0.7; }
  70% { transform: translate(8%, 8%) scale(0.9); opacity: 0.45; }
}

@keyframes heroSpotSweepB {
  0%, 100% { transform: translate(0, 0) scale(1.1); opacity: 0.3; }
  35% { transform: translate(-18%, 22%) scale(1.35); opacity: 0.75; }
  65% { transform: translate(6%, -6%) scale(0.95); opacity: 0.4; }
}

@keyframes heroSpotSweepC {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.25; }
  50% { transform: translate(20%, -15%) scale(1.4); opacity: 0.65; }
}

@keyframes heroSpotSweepD {
  0%, 100% { transform: translate(0, 0) scale(0.9); opacity: 0.28; }
  45% { transform: translate(-22%, 30%) scale(1.3); opacity: 0.6; }
  75% { transform: translate(10%, 12%) scale(1.05); opacity: 0.38; }
}

/* Live sweeping beams */
body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam,
body.home-page.home-landing .hero-stage-beams--subtle .hero-stage-beam {
  opacity: 0.55;
  filter: blur(18px);
}

body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam--magenta {
  animation: heroBeamSweepMagenta 6.5s ease-in-out infinite;
}

body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam--cyan {
  animation: heroBeamSweepCyan 7.8s ease-in-out infinite;
}

body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam--gold {
  animation: heroBeamSweepGold 5.6s ease-in-out infinite;
}

body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam--violet {
  animation: heroBeamSweepViolet 8.2s ease-in-out infinite;
}

@keyframes heroBeamSweepMagenta {
  0%, 100% { opacity: 0.3; transform: rotate(-18deg) translateX(-2%); }
  50% { opacity: 0.7; transform: rotate(4deg) translateX(4%); }
}

@keyframes heroBeamSweepCyan {
  0%, 100% { opacity: 0.28; transform: rotate(-8deg) translateX(3%); }
  50% { opacity: 0.65; transform: rotate(-24deg) translateX(-5%); }
}

@keyframes heroBeamSweepGold {
  0%, 100% { opacity: 0.32; transform: rotate(4deg) translateX(0); }
  50% { opacity: 0.72; transform: rotate(16deg) translateX(6%); }
}

@keyframes heroBeamSweepViolet {
  0%, 100% { opacity: 0.22; transform: rotate(-2deg) translateX(2%); }
  50% { opacity: 0.55; transform: rotate(-14deg) translateX(-4%); }
}

body.home-page.home-landing .hero-stage-beam--magenta { --beam-rotate: -6deg; }
body.home-page.home-landing .hero-stage-beam--cyan { --beam-rotate: -14deg; }
body.home-page.home-landing .hero-stage-beam--gold { --beam-rotate: 8deg; }
body.home-page.home-landing .hero-stage-beam--violet { --beam-rotate: -10deg; }

/* Grid sobre a foto — só texto à esquerda */
body.home-page.home-landing .hero-wesley-grid--on-photo {
  grid-template-columns: minmax(0, 34rem) !important;
  justify-content: flex-start !important;
  align-items: center !important;
  min-height: min(72vh, 44rem);
  padding-top: clamp(1.25rem, 3vw, 2.5rem);
  z-index: 6;
}

body.home-page.home-landing .hero--stage-photo .hero-wesley-photo--stage {
  display: none !important;
}

/* Camada FX */
body.home-page.home-landing .hero-stage-fx {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  overflow: hidden;
}

body.home-page.home-landing .hero-stage-beams {
  position: absolute;
  inset: 0;
}

body.home-page.home-landing .hero-stage-beam {
  position: absolute;
  top: 2.5rem;
  width: 34%;
  height: 125%;
  transform-origin: top center;
  filter: blur(16px);
  mix-blend-mode: screen;
}

body.home-page.home-landing .hero-stage-beam--gold {
  left: 42%;
  background: linear-gradient(175deg, rgb(255 200 60 / 75%), rgb(212 175 55 / 35%) 45%, transparent 72%);
  transform: rotate(8deg);
}

body.home-page.home-landing .hero-stage-beam--cyan {
  left: 58%;
  background: linear-gradient(175deg, rgb(0 230 255 / 70%), transparent 68%);
  transform: rotate(-16deg);
}

body.home-page.home-landing .hero-stage-beam--magenta {
  left: 48%;
  background: linear-gradient(175deg, rgb(255 0 180 / 68%), transparent 70%);
  transform: rotate(-6deg);
}

body.home-page.home-landing .hero-stage-beam--violet {
  left: 66%;
  width: 28%;
  background: linear-gradient(175deg, rgb(160 80 255 / 65%), transparent 70%);
  transform: rotate(-10deg);
}

body.home-page.home-landing .hero-wesley-grid.hero-wesley-grid--mockup {
  position: relative;
  z-index: 6;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: end !important;
  gap: clamp(1rem, 3vw, 2rem);
  width: 100%;
  max-width: min(72rem, 96vw) !important;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 1.5rem);
}

.home-landing .hero-wesley-content--mockup,
body.home-page.home-landing .hero-text-aligner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 18px !important;
  max-width: 540px !important;
  width: 100%;
  text-align: left !important;
  padding-bottom: 1rem;
  font-family: var(--font-body), 'Montserrat', sans-serif;
  color: #ffffff;
}

body.home-page.home-landing .hero-text-aligner .top-tag,
body.home-page.home-landing .hero-text-aligner .hero-wesley-eyebrow {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #ff7402 !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  margin: 0 !important;
}

body.home-page.home-landing .hero-text-aligner .main-title,
body.home-page.home-landing .hero-text-aligner h1.hero-wesley-title {
  font-size: clamp(2.6rem, 7vw, 3.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  letter-spacing: -1px !important;
  white-space: normal !important;
}

body.home-page.home-landing .hero-text-aligner .sub-title,
body.home-page.home-landing .hero-text-aligner .hero-wesley-subtitle {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #ffe700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: -5px 0 0 !important;
  text-shadow: 0 0 16px rgba(255, 231, 0, 0.35) !important;
}

body.home-page.home-landing .hero-text-aligner .hero-description,
body.home-page.home-landing .hero-text-aligner .hero-wesley-desc {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #e0e0e0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

body.home-page.home-landing .hero-text-aligner .hero-btn-row,
body.home-page.home-landing .hero-text-aligner .hero-wesley-actions--mockup {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

body.home-page.home-landing .hero-text-aligner .btn-hero,
body.home-page.home-landing .hero-text-aligner .btn-premium {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ff7402 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 28px !important;
  border-radius: 30px !important;
  font-size: 0.85rem !important;
  letter-spacing: 1px !important;
  border: none !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  box-shadow: 0 4px 15px rgba(255, 116, 2, 0.4) !important;
  min-height: 2.85rem;
}

body.home-page.home-landing .hero-text-aligner .btn-hero.secondary,
body.home-page.home-landing .hero-text-aligner .btn-secondary-neon {
  background: #ffe700 !important;
  color: #000000 !important;
  box-shadow: 0 4px 15px rgba(255, 231, 0, 0.3) !important;
}

body.home-page.home-landing .hero-text-aligner .btn-hero:hover,
body.home-page.home-landing .hero-text-aligner .btn-primary-neon:hover {
  background: #ffe700 !important;
  color: #000000 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255, 231, 0, 0.6) !important;
  filter: none !important;
}

/* Badges row — shared baseline / center axis */
body.home-page.home-landing .hero-text-aligner .hero-badges-row,
body.home-page.home-landing .hero-text-aligner .hero-wesley-meta--mockup {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}

body.home-page.home-landing .hero-text-aligner .listen-on-pill,
body.home-page.home-landing .hero-text-aligner .badge-glass-container {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: rgba(8, 8, 10, 0.88) !important;
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border: 1px solid rgba(255, 231, 0, 0.28) !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  height: 48px !important;
  box-sizing: border-box !important;
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 18px rgba(255, 116, 2, 0.12) !important;
}

/* Floating "Ouça em" tag — no overlap with icons */
body.home-page.home-landing .hero-text-aligner .listen-on-pill .badge-tag {
  position: absolute !important;
  top: -10px !important;
  left: 18px !important;
  background: #ffe700 !important;
  color: #000000 !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  border: none !important;
  z-index: 10 !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 10px rgba(255, 231, 0, 0.35) !important;
}

body.home-page.home-landing .hero-text-aligner .listen-on-pill .listen-on-pill-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

body.home-page.home-landing .hero-text-aligner .listen-on-pill .listen-on,
body.home-page.home-landing .hero-text-aligner .listen-on-pill .listen-on--hero {
  display: none !important;
}

body.home-page.home-landing .hero-text-aligner .listen-on-pill img,
body.home-page.home-landing .hero-text-aligner .listen-on-pill .listen-on-brand {
  height: 22px !important;
  width: auto !important;
  display: block !important;
  opacity: 1 !important;
  transition: transform 0.2s ease, filter 0.2s ease;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65)) brightness(1.15) !important;
}

body.home-page.home-landing .hero-text-aligner .listen-on-pill img:hover,
body.home-page.home-landing .hero-text-aligner .listen-on-pill .listen-on-link:hover img,
body.home-page.home-landing .hero-text-aligner .listen-on-pill .listen-on-pill-link:hover img {
  opacity: 1 !important;
  transform: scale(1.06);
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.7)) brightness(1.25) !important;
}

body.home-page.home-landing .hero-text-aligner .visitors-pill,
body.home-page.home-landing .hero-text-aligner .hero-visit-counter {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(8, 8, 10, 0.88) !important;
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border: 1px solid rgba(255, 231, 0, 0.28) !important;
  padding: 10px 18px !important;
  border-radius: 50px !important;
  height: 48px !important;
  box-sizing: border-box !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #f2f2f2 !important;
  margin: 0 !important;
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 18px rgba(255, 116, 2, 0.12) !important;
}

body.home-page.home-landing .hero-text-aligner .visitors-pill .hero-visit-counter-icon {
  color: #ffe700 !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
  filter: drop-shadow(0 0 6px rgba(255, 231, 0, 0.45)) !important;
}

body.home-page.home-landing .hero-text-aligner .visitors-pill .hero-visit-counter-text {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  color: #ffffff !important;
}

body.home-page.home-landing .hero-text-aligner .visitors-pill .counter-number,
body.home-page.home-landing .hero-text-aligner .visitors-pill strong {
  color: #ffe700 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 10px rgba(255, 231, 0, 0.45) !important;
}

body.home-page.home-landing .hero-text-aligner .visitors-pill .hero-visit-counter-text span {
  color: rgba(255, 255, 255, 0.88) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

@media (max-width: 600px) {
  body.home-page.home-landing .hero-text-aligner {
    align-items: center !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  body.home-page.home-landing .hero-text-aligner .hero-btn-row,
  body.home-page.home-landing .hero-text-aligner .hero-badges-row {
    justify-content: center !important;
  }

  body.home-page.home-landing .hero-text-aligner .main-title,
  body.home-page.home-landing .hero-text-aligner h1.hero-wesley-title,
  body.home-page.home-landing .hero-text-aligner .hero-main-title {
    font-size: 2.35rem !important;
    text-align: center !important;
  }

  body.home-page.home-landing .hero-text-aligner .btn-hero {
    width: 100% !important;
  }

  body.home-page.home-landing .hero-stage-bg {
    background-position: 85% center !important;
  }
}

.home-landing .hero-wesley-eyebrow {
  margin: 0 0 .5rem;
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--mockup-gold) !important;
}

.home-landing .hero-wesley-title,
body.home-page.home-landing .hero h1.hero-wesley-title,
body.home-page.home-landing .hero-wesley-title.artist-name-element,
body.home-page.home-landing .artist-name-title,
body.home-page.home-landing h1.artist-name,
body.home-page.home-landing .hero .hero-wesley-content h1 {
  display: inline-block;
  transform-origin: left center;
  margin: 10px 0;
  font-family: 'Montserrat', var(--font-display), sans-serif !important;
  font-size: clamp(2.6rem, 8vw, 5rem) !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  filter: none !important;
  text-shadow:
    0 0 10px rgba(255, 231, 0, 0.5),
    0 0 20px rgba(255, 116, 2, 0.3),
    0 0 30px rgba(255, 116, 2, 0.2),
    3px 3px 0 rgba(0, 0, 0, 0.85) !important;
  animation: neonGlowPulse 1.5s ease-in-out infinite alternate !important;
  backface-visibility: hidden;
}

@keyframes heroTitleShimmer {
  0% { background-position: 140% 50%; }
  100% { background-position: -40% 50%; }
}

@keyframes titlePulse {
  0% {
    filter:
      drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.9))
      drop-shadow(0 0 10px rgba(255, 231, 0, 0.5))
      drop-shadow(0 0 18px rgba(255, 116, 2, 0.3));
  }

  100% {
    filter:
      drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.9))
      drop-shadow(0 0 22px rgba(255, 231, 0, 1))
      drop-shadow(0 0 42px rgba(255, 116, 2, 0.75));
  }
}

.home-landing .hero-wesley-subtitle {
  margin: .35rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1rem, 2.5vw, 1.45rem);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--mockup-gold) !important;
  text-shadow: 0 0 20px rgba(214, 175, 55, 0.5) !important;
}

.home-landing .hero-wesley-desc {
  margin: .85rem 0 0;
  max-width: 38ch;
  font-family: var(--font-body);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.65;
  color: #e0e0e0 !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

/* Botões CTA — gradiente âmbar/dourado */
.home-landing .hero-wesley-actions--mockup {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.25rem;
}

.home-landing .hero-wesley-actions--mockup .btn {
  padding: 12px 24px !important;
  border-radius: .45rem !important;
  font-family: var(--font-body) !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--mockup-gold-bright), var(--mockup-gold)) !important;
  color: var(--mockup-black) !important;
  box-shadow: 0 4px 20px rgb(212 175 55 / 35%) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.home-landing .hero-wesley-actions--mockup .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgb(212 175 55 / 48%) !important;
}

/* Ouça em + visitantes */
.home-landing .hero-wesley-meta--mockup {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  margin-top: 1.35rem;
}

.home-landing .hero-wesley-meta--mockup .listen-on--hero {
  margin: 0 !important;
  padding: .7rem 1rem .6rem !important;
  background: rgb(0 0 0 / 35%) !important;
  border: 1px solid rgb(255 255 255 / 20%) !important;
  border-radius: 999px !important;
}

.home-landing .hero-wesley-meta--mockup .listen-on-label {
  background: var(--mockup-black) !important;
  color: var(--mockup-white) !important;
  font-size: .65rem !important;
}

.home-landing .hero-wesley-meta--mockup .listen-on-link--spotify {
  background: var(--mockup-green) !important;
  border-color: var(--mockup-green) !important;
  color: var(--mockup-black) !important;
}

.home-landing .hero-wesley-meta--mockup .hero-visit-counter {
  margin: 0 !important;
  padding: .5rem .85rem;
  background: rgba(8, 8, 10, 0.88) !important;
  border: 1px solid rgba(255, 231, 0, 0.28) !important;
  border-radius: 999px;
  color: #ffffff !important;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
}

.home-landing .hero-wesley-meta--mockup .hero-visit-counter-text strong {
  color: #ffe700 !important;
  text-shadow: 0 0 10px rgba(255, 231, 0, 0.45) !important;
}

/* Artista — IMG_3454 com máscara de fusão no palco */
body.home-page.home-landing .hero-wesley-photo--stage {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 75vh;
  max-height: 75vh;
  overflow: hidden;
  pointer-events: none;
  position: relative;
  z-index: 1;
}

body.home-page.home-landing .hero-wesley-photo--stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(to top, #000000 0%, transparent 18%),
    linear-gradient(to right, #000000 0%, transparent 22%);
}

body.home-page.home-landing .hero-wesley-cutout--stage {
  display: block;
  position: relative;
  z-index: 1;
  height: 75vh;
  min-height: 20rem;
  width: auto;
  min-width: 14rem;
  max-width: min(52vw, 38rem);
  object-fit: cover;
  object-position: bottom center;
  background: transparent;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Garante overlays do palco visíveis */
body.home-page.home-landing .hero--mockup.hero--stage-lights::before,
body.home-page.home-landing .hero--mockup.hero--stage-lights::after,
body.home-page.home-landing .hero--stage-photo::before,
body.home-page.home-landing .hero--stage-photo::after {
  display: block !important;
}

/* Respeita prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  body.home-page.home-landing .hero-stage-pulse,
  body.home-page.home-landing .hero-stage-beams--subtle .hero-stage-beam,
  body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam,
  body.home-page.home-landing .hero-stage-spot,
  body.home-page.home-landing .hero--stage-photo::after {
    animation: none !important;
    opacity: 0.3 !important;
  }

  body.home-page.home-landing .hero h1.hero-wesley-title,
  body.home-page.home-landing .hero-wesley-title.artist-name-element,
  body.home-page.home-landing .artist-name-title {
    animation: none !important;
    color: #ffe700 !important;
    -webkit-text-fill-color: #ffe700 !important;
    filter: none !important;
    text-shadow:
      0 0 16px rgba(255, 215, 0, 0.45),
      3px 3px 2px rgba(0, 0, 0, 0.9) !important;
  }
}

/* ============================================================
   3. PLAYER + WHATSAPP (rodapé fixo)
   ============================================================ */
.home-landing .bg-music-player {
  background: var(--mockup-black) !important;
  border-top: 1px solid rgb(255 255 255 / 8%) !important;
  box-shadow: 0 -4px 24px rgb(0 0 0 / 50%) !important;
  padding: .55rem 0 !important;
}

.home-landing .bg-music-inner {
  gap: .5rem 1rem !important;
}

.home-landing .bg-music-label {
  color: var(--mockup-gold) !important;
  font-size: .62rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.home-landing .bg-music-marquee-text,
.home-landing #bg-music-title {
  color: var(--mockup-white) !important;
  font-size: .82rem !important;
}

.home-landing #bg-music-toggle {
  width: 2.75rem !important;
  height: 2.75rem !important;
  border: 2px solid var(--mockup-green) !important;
  background: rgb(30 215 96 / 12%) !important;
  color: var(--mockup-green) !important;
  font-size: 1rem !important;
}

.home-landing .bg-music-btn {
  border-color: rgb(255 255 255 / 25%) !important;
  color: var(--mockup-white) !important;
  background: transparent !important;
}

.home-landing .bg-music-btn:hover {
  border-color: var(--mockup-green) !important;
  color: var(--mockup-green) !important;
  background: rgb(30 215 96 / 10%) !important;
  box-shadow: none !important;
}

.home-landing .bg-music-player input[type="range"] {
  accent-color: var(--mockup-green) !important;
  flex: 1 1 8rem;
  min-width: 5rem;
  max-width: 12rem;
}

.home-landing .bg-music-player input[type="range"]::-webkit-slider-thumb {
  background: var(--mockup-green) !important;
  box-shadow: 0 0 8px rgb(30 215 96 / 60%) !important;
}

.home-landing .bg-music-player input[type="range"]::-webkit-slider-runnable-track {
  background: rgb(255 255 255 / 15%) !important;
  height: 4px;
  border-radius: 999px;
}

.home-landing .contact-float-btn--whatsapp,
.home-landing .whatsapp-float {
  background: var(--mockup-green) !important;
  box-shadow: 0 4px 20px rgb(30 215 96 / 45%) !important;
}

.home-landing .contact-float-btn--email {
  background: linear-gradient(145deg, #ff7402, #e85d04) !important;
  box-shadow: 0 4px 20px rgb(255 116 2 / 45%) !important;
}

/* ============================================================
   Seções abaixo do hero — dark premium (mantém identidade)
   ============================================================ */
.home-landing .landing-section--dark,
.home-landing .landing-block,
.home-landing .sponsors-section--landing {
  background: var(--mockup-stage) !important;
}

/* ============================================================
   PATROCINADORES — título discreto + logos ampliados
   ============================================================ */
body.home-page.home-landing .sponsors-section--landing {
  padding: 0 !important;
}

body.home-page.home-landing .sponsors-section--landing .landing-block-header,
body.home-page.home-landing .sponsors-section--landing .landing-title {
  display: none !important;
}

body.home-page.home-landing .sponsors-section-wrapper {
  padding: 50px 20px !important;
  text-align: center !important;
  background: transparent !important;
  font-family: var(--font-body), 'Montserrat', sans-serif !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsors-title {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #a0a0a0 !important;
  text-transform: uppercase !important;
  letter-spacing: 6px !important;
  margin: 0 0 35px !important;
  position: relative !important;
  display: inline-block !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-text-fill-color: #a0a0a0 !important;
  filter: none !important;
  animation: none !important;
  line-height: 1.3 !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsors-title::after {
  content: '' !important;
  display: block !important;
  width: 40px !important;
  height: 2px !important;
  background: #ffe700 !important;
  margin: 8px auto 0 !important;
  box-shadow: 0 0 8px #ffe700 !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsors-grid {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 30px !important;
  flex-wrap: wrap !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  grid-template-columns: none !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card {
  background: rgba(25, 25, 25, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 16px !important;
  padding: 22px 28px 18px !important;
  width: 260px !important;
  height: auto !important;
  min-height: 170px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
  cursor: default !important;
  margin: 0 !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-logo-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  min-height: 90px !important;
  text-decoration: none !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card img {
  max-width: 100% !important;
  max-height: 100px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 6px !important;
  transition: transform 0.4s ease !important;
  filter: none !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer {
  background: rgba(25, 25, 25, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  width: 260px !important;
  min-height: 170px !important;
  height: auto !important;
  padding: 22px 28px 18px !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer .sponsor-brand-logo-link {
  flex-direction: column !important;
  gap: 0 !important;
  min-height: 120px !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-dev-logo-frame {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 100px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer img {
  max-height: 72px !important;
  max-width: 100% !important;
  background: transparent !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer .sponsor-handle--whatsapp {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.15rem !important;
  max-height: 0 !important;
  margin-top: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: translateY(6px) !important;
  transition:
    opacity 0.28s ease,
    max-height 0.28s ease,
    margin-top 0.28s ease,
    transform 0.28s ease !important;
  color: #ffe700 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-dev-cta {
  display: block !important;
  color: #ffe700 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-dev-hint {
  display: block !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.64rem !important;
  font-weight: 600 !important;
  font-style: italic !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer:hover .sponsor-handle--whatsapp,
body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer:focus-within .sponsor-handle--whatsapp {
  max-height: 4.5rem !important;
  margin-top: 0.65rem !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (hover: none) {
  body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card--developer .sponsor-handle--whatsapp {
    max-height: 4.5rem !important;
    margin-top: 0.55rem !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-handle {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.85rem !important;
  color: #ff7402 !important;
  text-decoration: none !important;
  margin-top: 8px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  transition: color 0.3s ease !important;
  line-height: 1.2 !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-handle:hover,
body.home-page.home-landing .sponsors-section-wrapper .sponsor-handle:focus-visible {
  color: #ffe700 !important;
  outline: none !important;
}

/* Contrate um show — CTA em destaque */
body.home-page.home-landing .landing-booking-cta {
  position: relative !important;
  padding: clamp(3.5rem, 8vw, 5.5rem) 1.25rem !important;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%, rgba(255, 116, 2, 0.22), transparent 55%),
    radial-gradient(ellipse 50% 60% at 85% 100%, rgba(255, 231, 0, 0.1), transparent 50%),
    #050505 !important;
  overflow: hidden !important;
  text-align: center !important;
}

body.home-page.home-landing .landing-booking-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, transparent, rgba(255, 231, 0, 0.12), transparent) !important;
  background-size: 200% 1px !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  pointer-events: none !important;
}

body.home-page.home-landing .landing-booking-cta-inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 40rem !important;
  margin: 0 auto !important;
}

body.home-page.home-landing .landing-booking-cta .landing-eyebrow {
  color: #ff7402 !important;
}

body.home-page.home-landing .landing-booking-cta .landing-title {
  color: #ffffff !important;
  margin: 0.35rem 0 0 !important;
}

body.home-page.home-landing .landing-booking-cta-text {
  margin: 1rem auto 0 !important;
  max-width: 34rem !important;
  font-size: clamp(1rem, 2.4vw, 1.15rem) !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

body.home-page.home-landing .landing-booking-cta-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0.85rem !important;
  margin-top: 1.75rem !important;
}

body.home-page.home-landing .landing-booking-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  min-width: min(100%, 12.5rem) !important;
  padding: 0.95rem 1.5rem !important;
  border-radius: 999px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
}

body.home-page.home-landing .landing-booking-btn svg {
  flex-shrink: 0 !important;
}

body.home-page.home-landing .landing-booking-btn--whatsapp {
  background: linear-gradient(135deg, #25d366, #128c7e) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.35) !important;
}

body.home-page.home-landing .landing-booking-btn--email {
  background: linear-gradient(135deg, #ffe700, #ff7402) !important;
  color: #0a0a0a !important;
  box-shadow: 0 10px 28px rgba(255, 116, 2, 0.35) !important;
}

body.home-page.home-landing .landing-booking-btn:hover,
body.home-page.home-landing .landing-booking-btn:focus-visible {
  transform: translateY(-3px) scale(1.02) !important;
  filter: brightness(1.05) !important;
  outline: none !important;
}

body.home-page.home-landing .landing-booking-cta-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.45rem 0.65rem !important;
  margin: 1.35rem 0 0 !important;
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.55) !important;
}

body.home-page.home-landing .landing-booking-cta-meta a {
  color: #ffe700 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

body.home-page.home-landing .landing-booking-cta-meta a:hover,
body.home-page.home-landing .landing-booking-cta-meta a:focus-visible {
  color: #ffffff !important;
  text-decoration: underline !important;
  outline: none !important;
}

@media (max-width: 560px) {
  body.home-page.home-landing .landing-booking-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card:hover {
  transform: translateY(-8px) scale(1.04) !important;
  background: rgba(35, 35, 35, 0.95) !important;
  border-color: #ffe700 !important;
  box-shadow:
    0 15px 35px rgba(255, 231, 0, 0.15),
    0 0 20px rgba(255, 116, 2, 0.1) !important;
}

body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card:hover img {
  transform: scale(1.05) !important;
}

@media (max-width: 600px) {
  body.home-page.home-landing .sponsors-section-wrapper .sponsor-brand-card {
    width: 100% !important;
    max-width: 280px !important;
    min-height: 150px !important;
    height: auto !important;
    padding: 15px 25px 14px !important;
  }

  body.home-page.home-landing .sponsors-section-wrapper .sponsors-title {
    font-size: 1.1rem !important;
    letter-spacing: 4px !important;
  }
}

/* ============================================================
   RESPONSIVO — mobile-first
   ============================================================ */
@media (max-width: 900px) {
  body.home-page.home-landing .site-nav.site-nav--mockup {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column !important;
    flex-wrap: nowrap;
    gap: 0;
    padding: .75rem 1rem 1rem;
    background: #000000 !important;
    border-bottom: 1px solid rgb(212 175 55 / 18%);
    box-shadow: 0 16px 32px rgb(0 0 0 / 55%);
  }

  body.home-page.home-landing .site-nav.site-nav--mockup.open {
    display: flex !important;
  }

  body.home-page.home-landing .site-nav.site-nav--mockup a {
    padding: .55rem 0 !important;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgb(255 255 255 / 8%);
  }

  body.home-page.home-landing .site-header.site-header--mockup {
    position: sticky;
    top: 0;
  }

  body.home-page.home-landing .hero-wesley-grid.hero-wesley-grid--mockup {
    grid-template-columns: 1fr;
  }

  .home-landing .hero-wesley-content--mockup {
    order: 2;
  }

  body.home-page.home-landing .hero-wesley-photo--stage {
    order: 1;
    height: min(58vh, 28rem);
    max-height: min(58vh, 28rem);
    margin-inline: auto;
  }

  body.home-page.home-landing .hero-wesley-cutout--stage {
    height: min(58vh, 28rem);
    min-height: 16rem;
    max-width: 100%;
  }

  .home-landing .hero-wesley-photo--mockup:not(.hero-wesley-photo--stage) {
    order: 1;
    height: min(50vh, 22rem);
    margin-inline: auto;
  }

  .home-landing .site-nav--mockup {
    gap: .5rem .75rem;
  }

  .home-landing .site-nav--mockup a {
    font-size: .72rem;
  }
}

@media (max-width: 600px) {
  .home-landing .header-admin-btn {
    font-size: .65rem;
    padding: .35rem .65rem;
  }

  .home-landing .hero--mockup,
  body.home-page.home-landing .premium-hero-section {
    min-height: 100vh;
    min-height: 100dvh;
    padding-bottom: 2rem;
  }
}

@media (min-width: 901px) {
  body.home-page.home-landing .menu-toggle--mockup {
    display: none !important;
  }
}

/* ============================================================
   4. CORREÇÕES GLOBAIS — camada final (após critical CSS)
   ============================================================ */

/* Revelar conteúdo sem depender só da animação */
body.home-page.home-landing .reveal.is-visible,
body.home-page.home-landing .reveal.is-visible .reveal-stagger > * {
  opacity: 1 !important;
}

body.home-page.home-landing .landing-music-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important;
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
  align-items: stretch !important;
  max-width: 56rem !important;
  margin-inline: auto !important;
}

body.home-page.home-landing .landing-music-card,
body.home-page.home-landing .landing-music-card--tracks {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: clamp(1.25rem, 3vw, 1.75rem) !important;
  background: linear-gradient(145deg, rgb(18 18 22 / 96%), rgb(12 12 16 / 98%)) !important;
  border: 1px solid rgb(212 175 55 / 22%) !important;
  border-left: 3px solid var(--mockup-gold) !important;
  border-radius: .85rem !important;
  box-shadow: 0 20px 56px rgb(0 0 0 / 45%) !important;
  color: #e5e5e5 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home-page.home-landing .landing-music-album {
  color: var(--mockup-gold) !important;
}

body.home-page.home-landing .landing-music-desc {
  color: rgb(255 255 255 / 68%) !important;
}

body.home-page.home-landing .landing-tracklist li,
body.home-page.home-landing .landing-track-name {
  color: #f0f0f4 !important;
}

body.home-page.home-landing .landing-track-num {
  color: var(--mockup-gold) !important;
}

body.home-page.home-landing .landing-music-footer {
  border-top-color: rgb(255 255 255 / 10%) !important;
}

/* Vídeos — destaque + grid da tabela videos */
body.home-page.home-landing .landing-videos {
  background: #000000 !important;
  color: #e5e5e5 !important;
}

body.home-page.home-landing .landing-videos-featured {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.35rem 2rem !important;
  max-width: 48rem !important;
  margin: 0 auto 1.75rem !important;
}

body.home-page.home-landing .landing-videos-player {
  flex: 0 0 auto !important;
  width: min(17.5rem, 70vw) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: #000 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}

body.home-page.home-landing .landing-videos-player .video-player {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #000 !important;
}

body.home-page.home-landing .landing-videos-player video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  aspect-ratio: 9 / 16 !important;
  max-height: min(68vh, 32rem) !important;
  object-fit: cover !important;
  background: #000 !important;
}

body.home-page.home-landing .landing-videos-copy {
  flex: 1 1 16rem !important;
  max-width: 24rem !important;
  min-width: 0 !important;
}

body.home-page.home-landing .landing-videos-badge {
  display: inline-block !important;
  margin: 0 0 0.5rem !important;
  padding: 0.3rem 0.7rem !important;
  border-radius: 999px !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  background: #ffe700 !important;
}

body.home-page.home-landing .landing-videos-title {
  margin: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.35rem, 3vw, 1.9rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
}

body.home-page.home-landing .landing-videos-desc {
  margin: 0.75rem 0 0 !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

body.home-page.home-landing .landing-videos-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 1.1rem !important;
  max-width: 64rem !important;
  margin: 0 auto 1.5rem !important;
}

body.home-page.home-landing .landing-video-card {
  background: linear-gradient(145deg, rgb(18 18 22 / 96%), rgb(12 12 16 / 98%)) !important;
  border: 1px solid rgba(212, 175, 55, 0.18) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

body.home-page.home-landing .landing-video-card .video-player {
  width: 100% !important;
  max-width: min(100%, 17.5rem) !important;
  margin: 0 auto !important;
  display: block !important;
  background: #000 !important;
}

body.home-page.home-landing .landing-video-card video {
  width: 100% !important;
  display: block !important;
  margin: 0 !important;
  aspect-ratio: 9 / 16 !important;
  max-height: min(52vh, 24rem) !important;
  object-fit: cover !important;
  background: #000 !important;
}

body.home-page.home-landing .landing-video-card-body {
  padding: 0.9rem 1rem 1.05rem !important;
}

body.home-page.home-landing .landing-video-card-title {
  margin: 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #ffe700 !important;
}

body.home-page.home-landing .landing-video-card-desc {
  margin: 0.4rem 0 0 !important;
  font-size: 0.85rem !important;
  line-height: 1.45 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  body.home-page.home-landing .landing-videos-featured {
    flex-direction: column !important;
    gap: 1rem !important;
  }

  body.home-page.home-landing .landing-videos-copy {
    text-align: center !important;
    max-width: 22rem !important;
  }
}

/* Fotos — miniaturas coladas; clique abre lightbox */
body.home-page.home-landing .landing-photos {
  background: #000000 !important;
  color: #e5e5e5 !important;
}

body.home-page.home-landing .landing-photos .container {
  max-width: 42rem !important;
}

body.home-page.home-landing .landing-photos-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
  width: 100% !important;
  max-width: 36rem !important;
  margin: 0 auto 1.5rem !important;
}

body.home-page.home-landing .landing-photos-grid .landing-photo-item,
body.home-page.home-landing .landing-photos-grid .photo-gallery-item {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  background: #121212 !important;
  cursor: zoom-in !important;
  aspect-ratio: 1 / 1 !important;
  transition: opacity 0.2s ease !important;
  box-shadow: none !important;
  transform: none !important;
}

body.home-page.home-landing .landing-photos-grid .landing-photo-item img,
body.home-page.home-landing .landing-photos-grid .photo-gallery-item img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  transition: transform 0.25s ease !important;
}

body.home-page.home-landing .landing-photos-grid .landing-photo-item:hover,
body.home-page.home-landing .landing-photos-grid .landing-photo-item:focus-visible,
body.home-page.home-landing .landing-photos-grid .photo-gallery-item:hover,
body.home-page.home-landing .landing-photos-grid .photo-gallery-item:focus-visible {
  opacity: 0.9 !important;
  outline: 1px solid rgba(255, 116, 2, 0.55) !important;
  outline-offset: -1px !important;
  z-index: 2 !important;
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

body.home-page.home-landing .landing-photos-grid .landing-photo-item:hover img,
body.home-page.home-landing .landing-photos-grid .landing-photo-item:focus-visible img,
body.home-page.home-landing .landing-photos-grid .photo-gallery-item:hover img,
body.home-page.home-landing .landing-photos-grid .photo-gallery-item:focus-visible img {
  transform: scale(1.05) !important;
}

@media (min-width: 900px) {
  body.home-page.home-landing .landing-photos-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    max-width: 40rem !important;
    gap: 3px !important;
  }
}

@media (max-width: 640px) {
  body.home-page.home-landing .landing-photos-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 22rem !important;
    gap: 3px !important;
  }
}

/* Novidades — cards escuros com texto legível */
body.home-page.home-landing .landing-news-card {
  background: linear-gradient(145deg, rgb(18 18 22 / 96%), rgb(12 12 16 / 98%)) !important;
  border: 1px solid rgb(212 175 55 / 18%) !important;
  border-left: 3px solid var(--mockup-gold) !important;
  color: #e5e5e5 !important;
  box-shadow: 0 16px 48px rgb(0 0 0 / 35%) !important;
}

body.home-page.home-landing .landing-news-card-title,
body.home-page.home-landing .landing-news-card-title a,
body.home-page.home-landing .landing-news-card h3 {
  color: #ffffff !important;
}

body.home-page.home-landing .landing-news-card-excerpt {
  color: rgb(255 255 255 / 68%) !important;
}

body.home-page.home-landing .landing-news-card-date,
body.home-page.home-landing .landing-news-card-cta {
  color: var(--mockup-gold) !important;
}

body.home-page.home-landing .landing-news-card-placeholder {
  color: rgb(255 255 255 / 35%) !important;
  background: rgb(255 255 255 / 4%) !important;
}

body.home-page.home-landing .landing-news-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  max-width: 64rem !important;
  margin-inline: auto !important;
}

body.home-page.home-landing .landing-news-grid--1 {
  grid-template-columns: minmax(0, 22rem) !important;
  justify-content: center !important;
}

/* Redes — grid de cards */
body.home-page.home-landing .landing-redes {
  background: #000000 !important;
  color: #e5e5e5 !important;
}

body.home-page.home-landing .landing-social-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  width: 100% !important;
  max-width: 56rem !important;
  margin-inline: auto !important;
}

body.home-page.home-landing .landing-social-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .75rem !important;
  min-height: 10.5rem !important;
  padding: 1.25rem 1rem !important;
  background: linear-gradient(160deg, rgb(22 22 28 / 96%), rgb(14 14 18 / 98%)) !important;
  border: 1px solid rgb(212 175 55 / 18%) !important;
  border-radius: .85rem !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 36px rgb(0 0 0 / 35%) !important;
  opacity: 1 !important;
}

body.home-page.home-landing .landing-social-card-name {
  color: #ffffff !important;
}

body.home-page.home-landing .landing-social-card-handle {
  color: rgb(255 255 255 / 58%) !important;
}

body.home-page.home-landing .landing-social-card-cta {
  color: var(--mockup-gold) !important;
}

@media (min-width: 768px) {
  body.home-page.home-landing .landing-social-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.home-page.home-landing .landing-music-layout {
    grid-template-columns: 1fr !important;
  }

  body.home-page.home-landing .landing-news-grid,
  body.home-page.home-landing .landing-news-grid--1,
  body.home-page.home-landing .landing-news-grid--2 {
    grid-template-columns: 1fr !important;
  }
}

/* Novidades — card só texto (sem placeholder bege) */
body.home-page.home-landing .landing-news-card--text-only {
  padding: 0 !important;
}

body.home-page.home-landing .landing-news-card--text-only .landing-news-card-body {
  padding: 1.35rem 1.25rem 1.25rem !important;
}

body.home-page.home-landing .landing-news-card--text-only .landing-news-card-media,
body.home-page.home-landing .landing-news-card-placeholder {
  display: none !important;
}

/* Instagram — embeds originais (como na 1ª versão) */
body.home-page.home-landing .landing-instagram-block,
body.home-page.home-landing .landing-instagram-wall {
  background: transparent !important;
  color: #e0e0e0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body.home-page.home-landing .landing-instagram-wall {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home-page.home-landing .instagram-grid,
body.home-page.home-landing .instagram-embed-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.85rem !important;
  padding: 0 1rem 1rem !important;
  max-width: 42rem !important;
  margin: 0 auto !important;
  width: 100% !important;
  background: transparent !important;
}

body.home-page.home-landing .instagram-embed {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
}

body.home-page.home-landing .instagram-embed iframe {
  display: block !important;
  width: 100% !important;
  min-height: 360px !important;
  height: 380px !important;
  border: 0 !important;
  background: #fff !important;
}

body.home-page.home-landing .instagram-caption {
  margin: 0 !important;
  padding: 0.55rem 0.85rem !important;
  font-size: 0.8rem !important;
  color: rgba(255, 255, 255, 0.7) !important;
  background: #121212 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.home-page.home-landing .instagram-empty-note {
  max-width: 36rem !important;
  margin: 1.5rem auto !important;
  padding: 0 1.25rem !important;
  text-align: center !important;
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 0.95rem !important;
}

@media (min-width: 768px) {
  body.home-page.home-landing .instagram-grid,
  body.home-page.home-landing .instagram-embed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    max-width: 48rem !important;
    padding: 0 1rem 1rem !important;
  }

  body.home-page.home-landing .instagram-embed iframe {
    min-height: 400px !important;
    height: 420px !important;
  }
}

@media (max-width: 640px) {
  body.home-page.home-landing .instagram-embed iframe {
    min-height: 340px !important;
    height: 360px !important;
  }
}

/* Newsletter — formulário limpo e legível */
body.home-page.home-landing .landing-newsletter-form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: .75rem 1rem !important;
  max-width: 52rem !important;
  margin-inline: auto !important;
  padding: 1.15rem 1.25rem !important;
  background: rgb(255 255 255 / 5%) !important;
  border: 1px solid rgb(212 175 55 / 22%) !important;
  border-radius: .85rem !important;
}

body.home-page.home-landing .landing-newsletter-field {
  flex: 1 1 10rem !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.home-page.home-landing .landing-newsletter-field--grow {
  flex: 1.4 1 12rem !important;
}

body.home-page.home-landing .landing-newsletter-field label {
  color: #a1a1aa !important;
  font-size: .68rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-bottom: .35rem !important;
}

body.home-page.home-landing .landing-newsletter .landing-title,
body.home-page.home-landing .landing-newsletter h2.landing-title,
body.home-page.home-landing #landing-newsletter-title {
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgb(0 0 0 / 45%) !important;
}

body.home-page.home-landing .landing-newsletter .landing-eyebrow {
  color: var(--mockup-gold) !important;
}

body.home-page.home-landing .landing-newsletter-desc {
  color: rgb(255 255 255 / 78%) !important;
}

body.home-page.home-landing .landing-newsletter-field input,
body.home-page.home-landing .landing-newsletter-field select {
  width: 100% !important;
  padding: .7rem .85rem !important;
  border-radius: .5rem !important;
  border: 1px solid rgb(255 255 255 / 18%) !important;
  background: rgb(0 0 0 / 45%) !important;
  color: #ffffff !important;
  font-size: .9rem !important;
}

body.home-page.home-landing .landing-newsletter-field input::placeholder {
  color: rgb(255 255 255 / 45%) !important;
  opacity: 1 !important;
}

body.home-page.home-landing .landing-newsletter-field select {
  color: rgb(255 255 255 / 88%) !important;
}

body.home-page.home-landing .landing-newsletter-submit {
  flex: 0 0 auto !important;
  align-self: flex-end !important;
  padding: 12px 24px !important;
  min-height: 2.65rem !important;
  white-space: nowrap !important;
  border-radius: .5rem !important;
}

@media (max-width: 767px) {
  body.home-page.home-landing .landing-newsletter-form {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.home-page.home-landing .landing-newsletter-field,
  body.home-page.home-landing .landing-newsletter-field--grow {
    flex: 1 1 auto !important;
    width: 100% !important;
  }

  body.home-page.home-landing .landing-newsletter-submit {
    width: 100% !important;
  }

  body.home-page.home-landing .site-nav.site-nav--mockup {
    background: #000000 !important;
  }
}

/* ============================================================
   5. SOBRE / TRAJETÓRIA — premium roadmap cards (landing)
   ============================================================ */
body.home-page.home-landing .section-bio {
  background: #080808 !important;
  color: var(--mockup-text) !important;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 !important;
}

body.home-page.home-landing .section-bio .section-label,
body.home-page.home-landing .section-bio .bio-header .section-label {
  color: var(--mockup-gold) !important;
}

body.home-page.home-landing .section-bio .section-title {
  color: #ffffff !important;
}

body.home-page.home-landing .section-bio--timeline .bio-header--timeline {
  text-align: center;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

/* Nuke any leftover bio text / lists / portrait on landing Trajetória */
body.home-page.home-landing .section-bio--timeline .bio-layout,
body.home-page.home-landing .section-bio--timeline .bio-content,
body.home-page.home-landing .section-bio--timeline .bio-facts,
body.home-page.home-landing .section-bio--timeline .bio-portrait,
body.home-page.home-landing .section-bio--roadmap .bio-layout,
body.home-page.home-landing .section-bio--roadmap .bio-content,
body.home-page.home-landing .section-bio--roadmap .bio-facts,
body.home-page.home-landing .section-bio--roadmap .bio-portrait,
body.home-page.home-landing .section-bio--roadmap ul.bio-facts-list,
body.home-page.home-landing .section-bio--roadmap .bio-content p {
  display: none !important;
}

/* External mirror of embedded roadmap CSS (cache-bust + consistency) */
body.home-page.home-landing .premium-roadmap-section {
  padding: 40px 0 60px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  font-family: var(--font-body), 'Montserrat', sans-serif !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 25px !important;
  width: 100% !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-card {
  background: rgba(20, 20, 20, 0.75) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 4px solid #ff7402 !important;
  border-radius: 16px !important;
  padding: 30px 20px !important;
  text-align: center !important;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-grid .roadmap-card:nth-child(even) {
  border-top-color: #ffe700 !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-badge {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: 0 0 20px 0 !important;
  display: inline-block !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-title {
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: 0.5px !important;
  line-height: 1.2 !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-shadow: none !important;
  filter: none !important;
  animation: none !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-desc {
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  color: #b3b3b3 !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-card:hover {
  transform: translateY(-10px) !important;
  background: rgba(32, 32, 32, 0.9) !important;
  border-color: rgba(255, 231, 0, 0.3) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7), 0 0 20px rgba(255, 116, 2, 0.15) !important;
}

body.home-page.home-landing .premium-roadmap-section .roadmap-card:hover .roadmap-badge {
  background: #ffe700 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  box-shadow: 0 0 12px #ffe700 !important;
}

@media (max-width: 992px) {
  body.home-page.home-landing .premium-roadmap-section .roadmap-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.home-page.home-landing .premium-roadmap-section .roadmap-card {
    text-align: left !important;
    align-items: flex-start !important;
    padding: 25px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-left: 4px solid #ff7402 !important;
  }

  body.home-page.home-landing .premium-roadmap-section .roadmap-grid .roadmap-card:nth-child(even) {
    border-left-color: #ffe700 !important;
    border-top-color: rgba(255, 255, 255, 0.08) !important;
  }
}

.home-landing .landing-cronologia {
  background: #080808 !important;
  color: var(--mockup-text);
  padding: clamp(2.75rem, 7vw, 5rem) 0 clamp(3rem, 8vw, 5.5rem);
  border-top: 1px solid rgb(214 175 55 / 10%);
}

.home-landing .landing-cronologia-inner {
  max-width: min(72rem, 96vw);
}

.home-landing .landing-cronologia-title {
  margin: .35rem 0 0;
  color: #ffffff !important;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.6rem);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-landing .landing-cronologia-lead {
  margin: .65rem 0 0;
  max-width: 40ch;
  color: rgb(255 255 255 / 62%);
  font-size: .95rem;
  line-height: 1.55;
}

.home-landing .landing-cronologia-rail {
  position: relative;
  margin-top: clamp(1.75rem, 4vw, 2.75rem);
}

.home-landing .landing-cronologia-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.home-landing .landing-cronologia-card {
  background: rgba(20, 20, 20, 0.7);
  border-radius: 16px;
  border: 1px solid rgba(214, 175, 55, 0.2);
  padding: 24px;
  min-height: 100%;
  backdrop-filter: blur(6px);
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.home-landing .landing-cronologia-card:hover {
  border-color: rgba(214, 175, 55, 0.45);
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgb(0 0 0 / 45%);
}

.home-landing .landing-cronologia-year {
  display: block;
  margin: 0 0 .65rem;
  color: #4ade80;
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.home-landing .landing-cronologia-card-title {
  margin: 0;
  color: #d4af37;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-landing .landing-cronologia-card-text {
  margin: .75rem 0 0;
  color: rgb(255 255 255 / 72%);
  font-size: .9rem;
  line-height: 1.55;
}

/* Linha conectora atrás / abaixo dos cards */
.home-landing .landing-cronologia-line {
  position: absolute;
  left: 1rem;
  right: 1rem;
  top: calc(100% + .85rem);
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgb(214 175 55 / 35%) 8%,
    rgb(214 175 55 / 55%) 50%,
    rgb(214 175 55 / 35%) 92%,
    transparent 100%
  );
  pointer-events: none;
}

.home-landing .landing-cronologia-line::before,
.home-landing .landing-cronologia-line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #d4af37;
  box-shadow: 0 0 10px rgb(214 175 55 / 65%);
  transform: translateY(-50%);
}

.home-landing .landing-cronologia-line::before { left: 0; }
.home-landing .landing-cronologia-line::after { right: 0; }

/* Barra dourada + estrela (ponteiro) */
.home-landing .landing-cronologia-slider {
  margin-top: 2.25rem;
  padding-top: .35rem;
}

.home-landing .landing-cronologia-slider-track {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: rgb(214 175 55 / 18%);
  box-shadow: inset 0 0 0 1px rgb(214 175 55 / 12%);
}

.home-landing .landing-cronologia-slider-fill {
  display: block;
  width: 88%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8a6d1a, #d4af37 55%, #ffd76a);
  box-shadow: 0 0 16px rgb(214 175 55 / 45%);
}

.home-landing .landing-cronologia-slider-star {
  position: absolute;
  top: 50%;
  right: 8%;
  transform: translate(50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  color: #080808;
  background: radial-gradient(circle at 35% 30%, #ffe566, #d4af37 60%, #a8841a);
  box-shadow:
    0 0 0 3px rgb(8 8 8 / 90%),
    0 0 18px rgb(214 175 55 / 70%);
}

@media (max-width: 900px) {
  .home-landing .landing-cronologia-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    overflow: visible;
  }

  .home-landing .landing-cronologia-card {
    flex: none;
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-landing .landing-cronologia-card {
    transition: none;
  }

  .home-landing .landing-cronologia-card:hover {
    transform: none;
  }
}

/* ============================================================
   6. MOBILE CRITICAL — max-width 768px
   ============================================================ */
@media (max-width: 768px) {
  /* 1. Overflow prevention */
  html,
  body,
  body.home-page.home-landing {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.home-page.home-landing *,
  body.home-page.home-landing *::before,
  body.home-page.home-landing *::after {
    box-sizing: border-box !important;
  }

  body.home-page.home-landing main,
  body.home-page.home-landing .hero,
  body.home-page.home-landing .landing-cronologia,
  body.home-page.home-landing .section-bio,
  body.home-page.home-landing .premium-roadmap-section {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.home-page.home-landing .hero-text-aligner,
  body.home-page.home-landing .hero-content-box {
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* 2. Hide raw/leaking unstyled text */
  .top-text-glitch,
  body > font,
  header > span:not([class]) {
    display: none !important;
  }

  /* —— Header / nav —— */
  body.home-page.home-landing .site-header.site-header--nav-only {
    min-height: 2.85rem;
    padding: .55rem 3rem !important;
  }

  body.home-page.home-landing .header-admin-btn {
    top: .55rem;
    right: .65rem;
    padding: .3rem .65rem;
    font-size: .62rem;
  }

  .home-landing .menu-toggle--mockup {
    top: .55rem;
    left: .65rem;
  }

  body.home-page.home-landing .site-nav.site-nav--mockup {
    background: #000000 !important;
    border-bottom: 1px solid rgb(212 175 55 / 18%) !important;
    box-shadow: 0 16px 32px rgb(0 0 0 / 55%) !important;
    gap: 0 !important;
    padding: .5rem .85rem .75rem !important;
  }

  body.home-page.home-landing .site-nav.site-nav--mockup a {
    font-size: .7rem !important;
    letter-spacing: .02em;
    padding: .5rem 0 !important;
    border-bottom-color: rgb(255 255 255 / 8%) !important;
  }

  /* 3. Hero / Capa — mobile framing + neon restoration */
  body.home-page.home-landing .hero--mockup.hero--stage-lights,
  body.home-page.home-landing .hero.hero--stage-photo,
  body.home-page.home-landing .premium-hero-section {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    padding: 120px 20px 40px !important;
    text-align: center !important;
    display: flex !important;
    align-items: flex-end !important;
    overflow: hidden !important;
  }

  /* Shift photo so Arthur stays in frame (not cropped right) */
  body.home-page.home-landing .hero-stage-bg {
    background-position: 82% center !important;
    background-size: cover !important;
  }

  /* Keep moving spots on the photo side, not over the text */
  body.home-page.home-landing .hero-stage-spot--a { left: 58% !important; }
  body.home-page.home-landing .hero-stage-spot--b { left: 70% !important; }
  body.home-page.home-landing .hero-stage-spot--c { left: 62% !important; }
  body.home-page.home-landing .hero-stage-spot--d { left: 75% !important; }
  body.home-page.home-landing .hero-stage-beams--live .hero-stage-beam {
    opacity: 0.4 !important;
  }

  /* Aggressive readable overlay — vertical dark wash over stage lights */
  body.home-page.home-landing .hero--stage-photo::before {
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.72) 0%,
        rgba(0, 0, 0, 0.42) 42%,
        rgba(0, 0, 0, 0.88) 100%
      ),
      linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.55) 0%,
        rgba(0, 0, 0, 0.2) 55%,
        rgba(0, 0, 0, 0.35) 100%
      ) !important;
    opacity: 1 !important;
  }

  /* Keep ambient neon stage glow visible (not muddy) */
  body.home-page.home-landing .hero--stage-photo::after {
    opacity: 0.28 !important;
    mix-blend-mode: screen !important;
  }

  body.home-page.home-landing .hero-wesley-grid--on-photo {
    width: 100% !important;
    min-height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }

  body.home-page.home-landing .hero-wesley-grid.hero-wesley-grid--mockup {
    padding-inline: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home-page.home-landing .hero-text-aligner,
  body.home-page.home-landing .hero-content-box,
  .home-landing .hero-wesley-content--mockup {
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 0 .25rem !important;
    gap: 14px !important;
    margin: 0 auto !important;
  }

  body.home-page.home-landing .hero-text-aligner .top-tag,
  body.home-page.home-landing .hero-text-aligner .hero-subtitle,
  .home-landing .hero-wesley-eyebrow {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    color: #ff7402 !important;
    margin: 0 !important;
  }

  /* Mesmo neon do preloader no mobile */
  body.home-page.home-landing .hero h1.hero-wesley-title,
  body.home-page.home-landing .hero-wesley-title.artist-name-element,
  body.home-page.home-landing .artist-name-title,
  body.home-page.home-landing .hero-main-title,
  .home-landing .hero-wesley-title,
  body.home-page.home-landing .hero-text-aligner .main-title,
  body.home-page.home-landing .hero .hero-wesley-content h1.hero-wesley-title {
    font-size: 2.6rem !important;
    letter-spacing: 0.5px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    transform-origin: center center !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    filter: none !important;
    text-shadow:
      0 0 10px rgba(255, 231, 0, 0.5),
      0 0 20px rgba(255, 116, 2, 0.3),
      2px 2px 0 rgba(0, 0, 0, 0.85) !important;
    animation: neonGlowPulse 1.5s ease-in-out infinite alternate !important;
  }

  @keyframes heroTitleMobileGlow {
    0% {
      text-shadow:
        0 0 10px rgba(255, 231, 0, 0.4),
        0 0 18px rgba(255, 116, 2, 0.25),
        2px 2px 0 rgba(0, 0, 0, 0.85);
      filter:
        drop-shadow(0 0 8px rgba(255, 231, 0, 0.4))
        drop-shadow(0 0 16px rgba(255, 116, 2, 0.25));
    }
    100% {
      text-shadow:
        0 0 20px rgba(255, 231, 0, 0.95),
        0 0 36px rgba(255, 116, 2, 0.65),
        2px 2px 0 rgba(0, 0, 0, 0.85);
      filter:
        drop-shadow(0 0 16px rgba(255, 231, 0, 0.9))
        drop-shadow(0 0 32px rgba(255, 116, 2, 0.55));
    }
  }

  .home-landing .hero-wesley-subtitle,
  body.home-page.home-landing .hero-band-name,
  body.home-page.home-landing .hero-text-aligner .sub-title {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    color: #ffffff !important;
    text-align: center !important;
    margin: 0 0 4px !important;
    text-shadow: 0 0 12px rgba(255, 231, 0, 0.25) !important;
  }

  .home-landing .hero-wesley-desc,
  body.home-page.home-landing .hero-text-aligner .hero-description {
    margin: 0 auto !important;
    max-width: 36ch !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    text-align: center !important;
    color: #dddddd !important;
  }

  .home-landing .hero-wesley-actions--mockup,
  body.home-page.home-landing .hero-text-aligner .hero-btn-row,
  body.home-page.home-landing .hero-text-aligner .hero-btn-group {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 12px !important;
    margin: 8px 0 0 !important;
  }

  .home-landing .hero-wesley-actions--mockup .btn,
  body.home-page.home-landing .hero-text-aligner .btn-hero,
  body.home-page.home-landing .hero-text-aligner .btn-premium {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    min-height: 3rem !important;
    padding: 15px 20px !important;
    border-radius: 30px !important;
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
  }

  body.home-page.home-landing .hero-text-aligner .btn-hero:not(.secondary),
  body.home-page.home-landing .hero-text-aligner .btn-primary-neon {
    background: #ff7402 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 18px rgba(255, 116, 2, 0.45) !important;
  }

  body.home-page.home-landing .hero-text-aligner .btn-hero.secondary,
  body.home-page.home-landing .hero-text-aligner .btn-secondary-neon {
    background: #ffe700 !important;
    color: #000000 !important;
    box-shadow: 0 4px 18px rgba(255, 231, 0, 0.35) !important;
  }

  .home-landing .hero-wesley-meta--mockup,
  body.home-page.home-landing .hero-text-aligner .hero-badges-row {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  body.home-page.home-landing .hero-text-aligner .listen-on-pill,
  body.home-page.home-landing .hero-text-aligner .visitors-pill,
  body.home-page.home-landing .hero-text-aligner .badge-glass-container {
    width: auto !important;
    max-width: 100% !important;
    justify-content: center !important;
    background: rgba(8, 8, 10, 0.92) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 231, 0, 0.3) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
  }

  /* 4. Trajetória — stacked roadmap cards */
  body.home-page.home-landing .section-bio--timeline,
  body.home-page.home-landing .section-bio--roadmap {
    padding: 2rem 10px !important;
  }

  body.home-page.home-landing .section-bio--timeline .bio-header--timeline {
    text-align: center !important;
    margin-bottom: 1.25rem !important;
  }

  body.home-page.home-landing .section-bio--timeline .section-title {
    color: #ffffff !important;
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
  }

  body.home-page.home-landing .section-bio--timeline .section-label {
    color: #ff7402 !important;
  }

  body.home-page.home-landing .premium-roadmap-section {
    padding: 10px 0 20px !important;
  }

  /* Legacy cronologia leftovers */
  #cronologia.landing-cronologia,
  .home-landing .landing-cronologia {
    padding: 2.25rem 0 2.75rem;
  }

  body.home-page.home-landing .section-bio .container,
  body.home-page.home-landing .bio-layout {
    max-width: 100%;
  }

  body.home-page.home-landing .bio-content.card {
    padding: 1.1rem !important;
  }

  /* Sobre/Biografia — stack photo → text, centered */
  body.home-page .section-bio .container,
  body.home-page .section-bio .container:has(.bio-portrait) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.home-page .section-bio .bio-portrait {
    order: 1 !important;
    margin: 0 auto !important;
    max-width: min(20rem, 85vw) !important;
  }

  body.home-page .section-bio .bio-layout {
    order: 2 !important;
    grid-template-columns: 1fr !important;
    margin-top: 25px !important;
    text-align: center !important;
    width: 100% !important;
  }

  body.home-page .section-bio .bio-header,
  body.home-page .section-bio .bio-content,
  body.home-page .section-bio .bio-content p,
  body.home-page .section-bio .bio-facts,
  body.home-page .section-bio .section-title {
    text-align: center !important;
  }
}

/* ============================================================
   7. PRELOADER — floating notes + neon title + timed audio solo
   ============================================================ */
#site-preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #0c0c0c;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999;
  overflow: hidden;
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.8s ease;
}

body.preloader-active {
  overflow: hidden !important;
  height: 100vh;
}

#site-preloader.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#site-preloader .preloader-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 15px;
  padding: 0 1.25rem;
  max-width: 100%;
  z-index: 10;
  position: relative;
}

#site-preloader .preloader-blanket-notes {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
  overflow: hidden;
}

#site-preloader .floating-note {
  position: absolute;
  bottom: -50px;
  color: rgba(255, 231, 0, 0.4);
  font-size: 2rem;
  text-shadow: 0 0 10px #ffe700;
  animation: floatUpAndAway 5s infinite linear;
}

#site-preloader .floating-note:nth-child(1) { left: 25%; animation-duration: 6s; animation-delay: 0s; font-size: 1.8rem; }
#site-preloader .floating-note:nth-child(2) { left: 40%; animation-duration: 5.2s; animation-delay: 1.5s; color: rgba(255, 114, 2, 0.4); }
#site-preloader .floating-note:nth-child(3) { left: 48%; animation-duration: 6.5s; animation-delay: 0.5s; }
#site-preloader .floating-note:nth-child(4) { left: 55%; animation-duration: 4.8s; animation-delay: 2.2s; color: rgba(255, 114, 2, 0.4); }
#site-preloader .floating-note:nth-child(5) { left: 70%; animation-duration: 5.8s; animation-delay: 1s; font-size: 1.5rem; }
#site-preloader .floating-note:nth-child(6) { left: 35%; animation-duration: 6.2s; animation-delay: 3s; }

@keyframes floatUpAndAway {
  0% { transform: translateY(0) translateX(0) rotate(0deg); opacity: 0; }
  10% { opacity: 0.8; }
  90% { opacity: 0.4; }
  100% { transform: translateY(-105vh) translateX(50px) rotate(360deg); opacity: 0; }
}

#site-preloader .loader-artist-title {
  font-family: 'Montserrat', var(--font-body), sans-serif;
  font-size: clamp(2.2rem, 8vw, 3.5rem);
  font-weight: 900;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
  letter-spacing: 4px;
  animation: neonGlowPulse 1.5s ease-in-out infinite alternate;
}

@keyframes neonGlowPulse {
  from {
    color: #ffffff;
    text-shadow: 0 0 10px rgba(255, 231, 0, 0.5), 0 0 20px rgba(255, 116, 2, 0.3), 0 0 30px rgba(255, 116, 2, 0.2);
  }
  to {
    color: #ffe700;
    text-shadow: 0 0 20px #ffe700, 0 0 35px #ff7402, 0 0 50px #ff7402, 0 0 70px #ff7402;
  }
}

#site-preloader .loader-status-text {
  font-family: 'Montserrat', var(--font-body), sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: #ff7402;
  margin: 0 0 25px 0;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-shadow: 0 0 8px rgba(255, 116, 2, 0.6);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
  animation: textLoadingMotion 2.5s ease-in-out infinite;
}

@keyframes textLoadingMotion {
  0%, 100% {
    transform: scale(1);
    letter-spacing: 1.5px;
    filter: brightness(1);
  }
  50% {
    transform: scale(1.04);
    letter-spacing: 3.5px;
    filter: brightness(1.3);
    text-shadow: 0 0 15px #ff7402, 0 0 5px #ffffff;
  }
}

#site-preloader .loader {
  height: 80px;
  width: 80px;
  background-color: #0c0c0c;
  border-radius: 50px;
  display: grid;
  place-content: center;
  position: relative;
  margin: 0;
  border: none;
  box-shadow: none;
  overflow: visible;
  isolation: isolate;
}

#site-preloader .loader svg,
#site-preloader .loader .in-load {
  animation: preloaderSpin 3s linear infinite;
}

#site-preloader .loader .in-load {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: transparent;
  box-shadow:
    inset 0 0 0 5px #0c0c0c,
    inset 0 0 0 7px #ff7402,
    inset 0 0 0 10px #0c0c0c,
    inset 0 0 0 12px #fff;
  border-radius: 50%;
  z-index: 1;
}

#site-preloader .loader svg {
  z-index: 2;
  position: relative;
  display: block;
  width: 26px;
  height: 26px;
  fill: #ffffff;
}

#site-preloader .loader::before,
#site-preloader .loader::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: conic-gradient(#ffe700, #ff7402, #ffe700);
  border-radius: 50%;
  z-index: -1;
  padding: 3px;
  right: -3px;
  bottom: -3px;
  top: auto;
  left: auto;
  border: none;
  box-shadow: none;
  filter: none;
  animation: preloaderSpin 5s linear infinite;
}

#site-preloader .loader::after {
  filter: blur(10px);
}

@keyframes preloaderSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
  #site-preloader .loader-artist-title {
    font-size: 2.2rem;
    letter-spacing: 2px;
  }

  #site-preloader .loader-status-text {
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #site-preloader .loader-artist-title,
  #site-preloader .loader-status-text,
  #site-preloader .floating-note,
  #site-preloader .loader svg,
  #site-preloader .loader .in-load,
  #site-preloader .loader::before,
  #site-preloader .loader::after {
    animation: none !important;
  }
}

