
    :root {
      --bg: #0b0b12;
      --surface: #12121a;
      --muted: #9aa0a6;
      --text: #e6e6f0;
      --accent: #7c3aed;
      --accent-2: #a78bfa;
      --card: #171723;
      --radius: 18px;
      --shadow: 0 8px 30px rgba(0, 0, 0, .35);
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: Inter, sans-serif;
      background: radial-gradient(80vw 80vw at 80% -10%, rgba(124, 58, 237, .18), transparent 60%), radial-gradient(60vw 60vw at -10% 10%, rgba(167, 139, 250, .12), transparent 50%), var(--bg);
      color: var(--text);
      line-height: 1.6;
    }

    header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      background: rgba(11, 11, 18, .75);
      border-bottom: 1px solid rgba(167, 139, 250, .14);
      backdrop-filter: blur(8px);
      z-index: 1000;
    }

    .container {
      width: min(1100px, 92%);
      margin: 0 auto;
    }

    .row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 0;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      color: inherit;
    }

    .logo-mark {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      display: grid;
      place-items: center;
      font-weight: 800;
      box-shadow: var(--shadow);
    }

    nav a {
      color: var(--muted);
      text-decoration: none;
      margin-left: 20px;
      font-weight: 500;
    }

    nav a:hover {
      color: var(--text);
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 16px;
      border-radius: 12px;
      font-weight: 600;
      text-decoration: none;
      color: #fff;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      box-shadow: 0 10px 30px rgba(124, 58, 237, .25);
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }

    .btn::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      left: -100%;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.2);
      transform: skewX(-20deg);
      transition: left 0.4s ease;
    }

    .btn:hover::after {
      left: 200%;
    }

    .btn:hover {
      transform: translateY(-3px) scale(1.03);
      box-shadow: 0 14px 36px rgba(124, 58, 237, .45);
    }

    .btn.ghost {
      background: transparent;
      color: var(--text);
      border: 1px solid rgba(124, 58, 237, .5);
    }

    .hero {
      padding: 72px 0 56px;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.25fr .95fr;
      gap: 36px;
      align-items: center;
    }

    h1 {
      font-size: clamp(28px, 5vw, 54px);
      line-height: 1.1;
      margin: 14px 0 8px;
    }

    .lead {
      font-size: clamp(16px, 2.2vw, 19px);
      color: var(--muted);
      max-width: 62ch;
    }

    .portrait img {
      width: 100%;
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    section {
      padding: 56px 0;
    }

    .section-title {
      font-size: clamp(20px, 2.2vw, 28px);
      margin-bottom: 10px;
    }

    .section-desc {
      color: var(--muted);
      margin-bottom: 26px;
      max-width: 70ch;
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 18px;
    }

    .card {
      background: var(--card);
      border: 1px solid rgba(167, 139, 250, .16);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 16px;
      position: relative;
      transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .card h3 {
      margin-top: 0;
      left: 0;
      right: 0;
      width: 100%;
    }

    .actions {
      margin-top: 12px;
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .card:hover {
      transform: translateY(-4px);
      border-color: rgba(124, 58, 237, .45);
      box-shadow: 0 16px 40px rgba(124, 58, 237, .25);
    }

    .card:hover .btn {
      transform: translateY(-2px) scale(1.02);
      box-shadow: 0 14px 36px rgba(124, 58, 237, .45);
    }

    .card:hover .btn::after {
      left: 200%;
    }

    footer {
      padding: 26px 0 40px;
      color: var(--muted);
      text-align: center;
    }

    .badges {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin: 8px 0 4px
    }

    .badge {
      display: inline-flex;
      align-items: center;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 13px;
      background: rgba(124, 58, 237, .12);
      border: 1px solid rgba(167, 139, 250, .22);
      color: var(--accent-2)
    }

    .badge.big {
      font-weight: 700;
      font-size: 14px;
      background: linear-gradient(135deg, rgba(124, 58, 237, .18), rgba(167, 139, 250, .14))
    }


/* ==== Mobile-first enhancements ==== */

/* Make tap targets and header layout friendlier on small screens */
#nav-toggle{
  display: none;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(124, 58, 237, .5);
  background: transparent;
  color: var(--text);
  font-weight: 600;
}

nav#site-nav{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

nav#site-nav a{
  padding: 8px 10px;
  margin-left: 10px;
}

/* Hero grid collapses nicely on small screens */
@media (max-width: 860px){
  .hero{
    padding: 52px 0 40px;
  }
  .hero-grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .portrait{
    order: 2;
  }
  .lead{
    max-width: none;
  }
}

/* Cards: larger touch targets on mobile */
.card{
  padding: 16px;
}
.card .btn{
  width: 100%;
  justify-content: center;
}

/* Header becomes compact and menu collapses into a dropdown */
@media (max-width: 720px){
  #nav-toggle{ display: inline-flex; }
  header .row{ align-items: center; }
  nav#site-nav{
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    background: rgba(11, 11, 18, .96);
    border-bottom: 1px solid rgba(167, 139, 250, .14);
    display: none;
    flex-direction: column;
    gap: 8px;
    padding: 12px 4%;
    box-shadow: var(--shadow);
  }
  nav#site-nav.open{ display: flex; }
  nav#site-nav a{
    margin: 0;
    width: 100%;
    text-align: left;
    padding: 12px 10px;
    border-radius: 10px;
  }
  nav#site-nav a:hover{
    background: rgba(124, 58, 237, .12);
  }
  .row{
    position: relative;
    padding: 12px 0;
  }
  .btn{ white-space: nowrap; }
  .badges{ gap: 8px; }
}

/* Prevent horizontal overflow on tiny devices */
html, body { overflow-x: hidden; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  * { transition: none !important; animation: none !important; }
}


/* Reserve space for fixed header */
:root { --header-h: 0px; }

/* push content below the fixed header so it doesn't hide */
body { padding-top: var(--header-h); }


/* Optional: stronger translucency when page is scrolled (class toggled via JS) */
body.scrolled header{
  background: rgba(11, 11, 18, .68);
  backdrop-filter: blur(10px) saturate(110%);
}

/* === Artist background overlays on cards (hover only with fade) === */
.card {
  overflow: hidden;
  position: relative; /* garante que ::before e ::after fiquem dentro */
}

/* Começa invisível */
.card::before,
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;                  /* começa invisível */
  transition: opacity 0.5s ease-in-out; /* animação suave */
  pointer-events: none;
  z-index: 0;
}

/* Fundo do artista */
.card::before {
  background-size: cover;
  background-position: center;
  filter: saturate(90%) contrast(95%) blur(0.5px);
}

/* Gradiente escuro para legibilidade */
.card::after {
  background: linear-gradient(to bottom right, rgba(11,11,18,.40), rgba(11,11,18,.10));
}

/* Ativa no hover */
.card:hover::before,
.card:hover::after {
  opacity: 0.2;  /* aparece até 20% */
}

/* Conteúdo do card sempre por cima */
.card > * {
  position: relative;
  z-index: 1;
}

/* Artistas específicos */
.card.bg-aureo::before { background-image: url('aureo.png'); }
.card.bg-kael::before  { background-image: url('kael.png'); }
.card.bg-enzo::before  { background-image: url('enzo.png'); }
