:root {
  --mint: #99d8bb;
  --mint-rgb: 153, 216, 187;
  --logo-filter: brightness(0) saturate(100%) invert(86%) sepia(21%) saturate(461%) hue-rotate(96deg) brightness(94%) contrast(88%);
  --pink: #e393bf;
  --pink-rgb: 227, 147, 191;
  --green: #80c5a5;
  --green-dim: #73b797;
  --green-glow: rgba(var(--mint-rgb), 0.1);
  --green-line: rgba(var(--mint-rgb), 0.22);
  --black: #041007;
  --black2: #10291f;
  --black3: #193a2d;
  --gray: #dde7e0;
  --gray2: #bdcec3;
  --white: #f2f4ef;
  --white2: #c5d2ca;
}

body { background: var(--black); }
::selection { background: var(--pink); color: var(--black); }
nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: var(--black2);
  border-bottom-color: var(--green-line);
}
.nav-links.open {
  background: var(--black2);
  max-height: calc(100dvh - 4rem);
  overflow-y: auto;
}
.img-logo, .footer-logo img {
  filter: var(--logo-filter);
}
.nav-logo, .nav-logo:hover, .stat-num { text-shadow: none; }
#hero {
  height: auto;
  min-height: 100svh;
  padding: 7rem 1rem 4rem;
}
.hero-content { width: 100%; }
.hero-sub .text-accent, .bio-text .text-accent { color: var(--pink); }
.band-photo {
  width: 100%;
  margin: 0 0 2rem;
  overflow: hidden;
  border: 1px solid var(--green-line);
  background: var(--black2);
}
.band-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
}
.hero-logo {
  filter: none;
  animation: none;
}
.hero-logo-art {
  position: relative;
  width: min(560px, 100%, 35svh);
  margin: 0 auto;
}
.hero-logo-art .hero-logo { width: 100%; }
.hero-glow { display: none; }
.hero-grid { opacity: 0.025; }
.hero-scroll {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  display: flex;
  flex: 0 0 auto;
  margin-top: 2rem;
  z-index: 1;
  color: var(--pink);
  animation: none;
}
.hero-scroll::after { background: linear-gradient(var(--pink), transparent); }
.divider {
  background: linear-gradient(90deg, transparent, var(--mint) 30%, var(--pink) 70%, transparent);
  opacity: 0.4;
}
.section-label, .album-type, .member-role, .press-source,
.shows-past-label, .contact-label, .contact-form-title { color: var(--pink); }
.member-photo, .album-cover { color: var(--green-line); }
.member-photo::after {
  background: linear-gradient(to bottom, transparent 50%, rgba(6, 16, 11, 0.85));
}
.album-cover::after {
  background: linear-gradient(to bottom, transparent 70%, rgba(6, 16, 11, 0.6));
}
.album-card, .video-card, .poster-img, .merch-card,
.poster-modal-inner, .poster-modal-close, .presskit-box,
.link-btn, .social-btn, .lang-btn, .show-tag,
.form-field input, .form-field textarea, .form-field select,
.noticia-header, .noticia-card, .noticia-tag, .noticia-back,
.form-success { border-color: var(--green-line); }
.album-card:hover, .video-card:hover, .poster-card:hover .poster-img,
.merch-card:hover, .show-ticket-link:hover, .noticia-card:hover {
  border-color: var(--pink);
}
.discography-group-title {
  margin: 0 0 1rem;
  color: var(--pink);
  font-family: 'Cinzel Decorative', serif;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}
.disco-grid + .discography-group-title { margin-top: 3.5rem; }
.album-links .link-btn:not([href]) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
.link-btn.yt { color: var(--pink); border-color: rgba(var(--pink-rgb), 0.35); }
.link-btn.yt:hover { background: rgba(var(--pink-rgb), 0.1); border-color: var(--pink); }
.video-play svg { filter: none; }
.video-play svg circle { stroke: var(--mint); }
.video-play svg polygon { fill: var(--mint); }
.merch-placeholder svg path { stroke: var(--mint); }
.press-grid { background: var(--green-line); }
.shows-table thead tr { border-bottom-color: var(--green-line); }
.shows-table tbody tr { border-bottom-color: rgba(var(--mint-rgb), 0.1); }
.shows-table tbody tr:hover, .show-ticket-link:hover,
.form-success { background: rgba(var(--mint-rgb), 0.05); }
.poster-overlay {
  background: linear-gradient(to top, rgba(6, 16, 11, 0.92) 60%, transparent);
}
.poster-modal {
  background: rgba(6, 16, 11, 0.94);
  padding: 1rem;
}
.poster-modal-inner {
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 3rem 1.5rem 1.5rem;
  gap: 1.5rem;
}
.poster-modal-img img {
  max-height: 55dvh;
  height: auto;
  object-fit: contain;
}
.poster-modal-info {
  min-width: 0;
  overflow-wrap: anywhere;
}
.poster-modal-close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1;
  background: var(--black2);
}
.poster-modal-inner::before { box-shadow: none; }
.presskit-box::before { box-shadow: none; background: var(--pink); }
.presskit-btn:hover, .merch-cta:hover, .form-submit:hover {
  box-shadow: none;
  color: var(--pink);
  border-color: var(--pink);
  background: rgba(var(--pink-rgb), 0.08);
}
footer { border-top-color: var(--green-line); }
.form-consent a, .noticia-content a { border-bottom-color: var(--green-line); }
.form-consent a:hover, .noticia-content a:hover {
  color: var(--pink);
  border-bottom-color: var(--pink);
}
.form-field input:focus, .form-field textarea:focus,
.form-field select:focus { border-color: var(--mint); }
.noticia-header, .noticia-card {
  background: linear-gradient(145deg, rgba(var(--mint-rgb), 0.06), transparent 55%), var(--black2);
}
.noticia-header::before {
  background: linear-gradient(90deg, transparent, var(--mint), var(--pink), transparent);
}
.noticia-card::before { border-top-color: var(--pink); }
.noticia-title a:hover { color: var(--pink); text-shadow: none; }
.noticia-content img { border-color: var(--green-line); }
.noticia-content blockquote {
  border-left-color: var(--pink);
  background: rgba(var(--pink-rgb), 0.04);
}
.noticia-back:hover { background: var(--green-glow); border-color: var(--mint); }

.noticia-page .noticia-content > .es,
.noticia-page .noticia-content > .en,
.noticia-page .noticia-content > .pt,
.noticia-page .noticia-content > .fr { display: none !important; }
body[data-lang="es"] .noticia-page .noticia-content > .es,
body[data-lang="en"] .noticia-page .noticia-content > .en,
body[data-lang="pt"] .noticia-page .noticia-content > .pt,
body[data-lang="fr"] .noticia-page .noticia-content > .fr { display: block !important; }

@media (max-width: 900px) {
  .poster-modal-img img { max-height: 40dvh; }
  .hero-social {
    width: min(320px, 100%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1400px) {
  .nav-logo { display: none; }
  .nav-links { display: none; }
  .nav-links.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 1.5rem;
    gap: 1.2rem;
    border-bottom: 1px solid var(--green-line);
    background: var(--black2);
  }
  .nav-hamburger { display: flex; }
  #lang-btn-mobile { display: block; }
}

@media (max-width: 500px) {
  .album-links .link-btn:not([href]) {
    padding: 0.4rem 0.3rem;
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    overflow-wrap: normal;
  }
}

@media (max-width: 400px) {
  .hero-sub {
    letter-spacing: 0.12em;
    line-height: 1.8;
    overflow-wrap: anywhere;
  }
  .hero-social { gap: 0.5rem; }
  .hero-social a {
    min-width: 0;
    padding: 0.6rem 0.2rem;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
  }
}

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