/* ===========================================================
   Música HUB — landing page
   Marca: Roxo #820AD1 · Verde Petronas #00A19C · Branco Gelo #DDD9CE
   =========================================================== */

:root{
  /* marca */
  --roxo:#820AD1;
  --roxo-escuro:#5E0899;
  --roxo-claro:#A64DE0;
  --roxo-veu:#F3E9FC;
  --petronas:#00A19C;
  --petronas-escuro:#00726F;
  --petronas-veu:#DCF0EF;
  --gelo:#DDD9CE;
  --gelo-claro:#EFEDE7;

  /* neutros com viés roxo */
  --tinta:#1B1230;
  --tinta-2:#4A4160;
  --tinta-3:#7C7391;
  --branco:#FFFFFF;
  --linha:#D7D2E0;
  --linha-gelo:#C9C4B8;

  /* semânticas */
  --ok:#0E7A4E;
  --alerta:#A8730B;

  --raio:14px;
  --raio-s:9px;
  --sombra:0 1px 2px rgba(27,18,48,.05), 0 18px 40px -28px rgba(27,18,48,.45);
  --sombra-alta:0 2px 4px rgba(27,18,48,.06), 0 34px 60px -32px rgba(27,18,48,.5);

  --fonte-titulo:"Poppins", "Segoe UI", Helvetica, Arial, sans-serif;
  --fonte-texto:"DM Sans", "Segoe UI", Helvetica, Arial, sans-serif;
  --fonte-dado:"IBM Plex Mono", ui-monospace, monospace;

  --max:1140px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{
  margin:0;
  background:var(--gelo-claro);
  color:var(--tinta);
  font-family:var(--fonte-texto);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%}
a{color:var(--roxo);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--petronas);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{font-family:var(--fonte-titulo);margin:0;letter-spacing:-.02em;text-wrap:balance;line-height:1.12}
h1{font-size:clamp(34px,5.4vw,58px);font-weight:700}
h2{font-size:clamp(28px,3.9vw,42px);font-weight:600}
h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 16px}
.container{width:100%;max-width:var(--max);margin:0 auto;padding-left:22px;padding-right:22px}

.olho{
  font-family:var(--fonte-dado);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--petronas-escuro);margin-bottom:14px;display:block;
}
.lede{font-size:19px;color:var(--tinta-2);max-width:60ch}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--fonte-titulo);font-weight:600;font-size:15.5px;
  padding:14px 26px;border-radius:99px;border:2px solid transparent;
  cursor:pointer;transition:transform .16s ease, background .16s ease, color .16s ease;
  text-decoration:none;white-space:nowrap;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primario{background:var(--roxo);color:#fff}
.btn-primario:hover{background:var(--roxo-escuro)}
.btn-secundario{background:transparent;color:var(--roxo);border-color:var(--linha)}
.btn-secundario:hover{border-color:var(--roxo);background:var(--roxo-veu)}
.btn-verde{background:var(--petronas);color:#06201F}
.btn-verde:hover{background:#00B5AF}
.btn-claro{background:#fff;color:var(--roxo)}
.btn-fantasma{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-fantasma:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn-sm{padding:11px 20px;font-size:14.5px}

/* Acesso de quem já é cliente: presente, mas sem competir com o CTA de venda. */
.btn-acesso{
  background:transparent;color:var(--petronas-escuro);border-color:var(--petronas);
  padding:10px 18px;font-size:14.5px;
}
.btn-acesso:hover{background:var(--petronas-veu);border-color:var(--petronas-escuro)}
.btn-acesso svg{width:17px;height:17px;flex-shrink:0}

/* ---------- header ---------- */
.topo{
  position:sticky;top:0;z-index:40;
  background:rgba(239,237,231,.9);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linha-gelo);
}
/* Uma linha só: nada aqui pode quebrar em duas. */
.topo .container{display:flex;align-items:center;gap:22px;min-height:74px;flex-wrap:nowrap}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.marca svg{height:38px;width:auto;display:block}
.marca-nome{font-family:var(--fonte-titulo);font-weight:600;font-size:19px;color:var(--tinta);letter-spacing:-.02em;line-height:1;white-space:nowrap}
.marca-nome b{font-weight:700;color:var(--roxo);letter-spacing:.06em}
.menu{display:flex;gap:22px;margin-left:auto;font-size:15.5px;font-weight:500;flex-shrink:0}
.menu a{color:var(--tinta-2);text-decoration:none;white-space:nowrap}
.menu a:hover{color:var(--roxo)}
.topo-acoes{display:flex;gap:10px;align-items:center;flex-shrink:0;margin-left:auto}
.menu + .topo-acoes{margin-left:0}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(760px 520px at 86% 8%, rgba(255,255,255,.17), transparent 58%),
    linear-gradient(125deg, var(--roxo-escuro) 0%, var(--roxo) 39%, #446BB1 67%, var(--petronas) 100%);
  border-bottom:0;
  color:var(--branco);
  padding-block:74px 0;
  overflow:hidden;
}
.hero .container{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.hero .olho{color:#CFF8F5}
.hero h1{margin-bottom:20px;color:var(--branco)}
.hero h1 .destaque{
  color:var(--branco);
  background:linear-gradient(transparent 62%, rgba(255,255,255,.22) 62%);
}
.hero-texto p{font-size:19.5px;color:rgba(255,255,255,.90);max-width:52ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}
.hero .hero-ctas .btn-primario{background:var(--branco);color:var(--roxo-escuro);box-shadow:0 10px 28px rgba(31,13,48,.18)}
.hero .hero-ctas .btn-primario:hover{background:#F3E9FC;color:var(--roxo-escuro)}
.hero .hero-ctas .btn-secundario{background:rgba(255,255,255,.10);color:var(--branco);border-color:rgba(255,255,255,.65)}
.hero .hero-ctas .btn-secundario:hover{background:rgba(255,255,255,.18);border-color:var(--branco)}
.hero-nota{font-size:14px;color:rgba(255,255,255,.84);display:flex;align-items:center;gap:8px}
.hero-nota::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--branco)}
.hero-arte{position:relative;display:flex;justify-content:center;padding-bottom:64px}

/* telefone */
.fone{
  width:296px;background:var(--tinta);border-radius:34px;padding:11px;
  box-shadow:var(--sombra-alta);position:relative;z-index:2;
}
.fone-tela{background:#fff;border-radius:25px;overflow:hidden}
.fone-barra{
  background:var(--roxo);color:#fff;padding:16px 16px 18px;
}
.fone-barra .dia{font-family:var(--fonte-dado);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.fone-barra .titulo{font-family:var(--fonte-titulo);font-weight:600;font-size:18px;margin-top:3px}
.fone-corpo{padding:14px 14px 18px;display:flex;flex-direction:column;gap:9px}
.aula{
  display:grid;grid-template-columns:52px 1fr;gap:11px;align-items:center;
  border:1px solid var(--linha);border-radius:11px;padding:10px 11px;background:#fff;
}
.aula .hora{font-family:var(--fonte-dado);font-size:12.5px;font-weight:600;color:var(--tinta-2);font-variant-numeric:tabular-nums}
.aula .nome{font-weight:600;font-size:14px;line-height:1.25}
.aula .meta{font-size:12px;color:var(--tinta-3);line-height:1.3}
.aula.presente{border-color:var(--petronas);background:var(--petronas-veu)}
.aula.risco{border-color:#E9C46A;background:#FDF6E3}
.selo{
  display:inline-block;font-family:var(--fonte-dado);font-size:9.5px;letter-spacing:.09em;
  text-transform:uppercase;padding:2px 7px;border-radius:99px;margin-top:4px;
}
.selo.ok{background:var(--petronas);color:#042220}
.selo.aviso{background:#E9C46A;color:#4A3706}
.fone-rodape{
  border-top:1px solid var(--linha);padding:11px 14px;display:flex;justify-content:space-between;
  font-size:11.5px;color:var(--tinta-3);font-family:var(--fonte-dado);
}

/* cartão flutuante */
.cartao-flutua{
  position:absolute;left:-6px;bottom:22px;z-index:3;
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  box-shadow:var(--sombra);padding:13px 16px;width:216px;
}
.cartao-flutua .rotulo{font-family:var(--fonte-dado);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--tinta-3)}
.cartao-flutua .valor{font-family:var(--fonte-titulo);font-size:27px;font-weight:700;color:var(--petronas-escuro);line-height:1.1;font-variant-numeric:tabular-nums}
.cartao-flutua .obs{font-size:12.5px;color:var(--tinta-3);line-height:1.35}

/* faixa de números */
.faixa{background:var(--tinta);color:#fff;padding-block:30px}
.faixa .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px}
.faixa .item b{display:block;font-family:var(--fonte-titulo);font-size:30px;font-weight:700;line-height:1.1;color:var(--petronas)}
.faixa .item span{font-size:13.5px;color:#C9C2DB;line-height:1.4;display:block;margin-top:3px}

/* ---------- seções ---------- */
section{padding-block:86px}
.sec-topo{max-width:64ch;margin-bottom:44px}
.sec-topo p{font-size:18.5px;color:var(--tinta-2);margin-bottom:0}
.claro{background:var(--branco)}
.gelo{background:var(--gelo)}

/* módulos */
.modulos{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:18px}
.modulo{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  padding:26px 24px;display:flex;flex-direction:column;gap:10px;
  transition:border-color .16s ease, transform .16s ease;
}
.modulo:hover{border-color:var(--roxo);transform:translateY(-3px)}
.modulo .icone{
  width:44px;height:44px;border-radius:12px;background:var(--roxo-veu);
  display:grid;place-items:center;color:var(--roxo);margin-bottom:4px;
}
.modulo .icone svg{width:23px;height:23px}
.modulo h3{margin-bottom:2px}
.modulo p{font-size:15.5px;color:var(--tinta-2);margin:0}
.modulo .tag{
  margin-top:auto;padding-top:12px;font-family:var(--fonte-dado);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--petronas-escuro);
}

/* destaque diferencial */
.destaque-bloco{
  background:linear-gradient(135deg, var(--roxo) 0%, #6A16C4 46%, var(--petronas-escuro) 100%);
  color:#fff;
}
.destaque-bloco .container{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.destaque-bloco h2{color:#fff}
.destaque-bloco .olho{color:#8FE8E4}
.destaque-bloco p{color:#E8DFF6;font-size:18px}
.lista-check{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:12px}
.lista-check li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:16px;color:#F1EBFA}
.lista-check li::before{
  content:"";width:22px;height:22px;border-radius:50%;background:var(--petronas);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23042220' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:14px;background-repeat:no-repeat;background-position:center;margin-top:2px;
}
.painel-estudo{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  border-radius:var(--raio);padding:24px;backdrop-filter:blur(6px);
}
.painel-estudo h4{font-size:15px;margin-bottom:16px;color:#fff;font-weight:600}
.barra-linha{margin-bottom:15px}
.barra-linha .rot{display:flex;justify-content:space-between;font-size:13.5px;color:#E8DFF6;margin-bottom:6px}
.barra-linha .rot b{font-family:var(--fonte-dado);font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.barra{height:9px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}
.barra i{display:block;height:100%;border-radius:99px;background:var(--petronas)}
.barra i.baixo{background:#E9C46A}
.nota-risco{
  margin-top:18px;border-top:1px solid rgba(255,255,255,.2);padding-top:15px;
  font-size:13.5px;color:#FBEFD4;display:grid;grid-template-columns:20px 1fr;gap:10px;
}
.nota-risco::before{content:"!";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#E9C46A;color:#4A3706;font-weight:700;font-size:13px;font-family:var(--fonte-titulo)}

/* para quem */
.perfis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.perfil{background:#fff;padding:26px 24px}
.perfil h3{margin-bottom:8px}
.perfil p{font-size:15.5px;color:var(--tinta-2);margin:0}
.perfil .quem{font-family:var(--fonte-dado);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--roxo);margin-bottom:9px}

/* preços */
#precos{background:var(--roxo);color:var(--branco)}
#precos .sec-topo h2,#precos .sec-topo p{color:var(--branco)}
#precos .olho{color:#CFF8F5}
#precos .plano{color:var(--tinta)}
#precos .nota-preco{color:rgba(255,255,255,.86)}
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:16px;align-items:stretch}
.plano{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  padding:26px 22px;display:flex;flex-direction:column;gap:14px;
}
.plano.destaque{border:2px solid var(--petronas);box-shadow:var(--sombra);position:relative}
.plano .fita{
  position:absolute;top:-13px;left:22px;background:var(--petronas);color:#fff;
  font-family:var(--fonte-dado);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  padding:4px 11px;border-radius:99px;
}
.plano .nivel{font-family:var(--fonte-titulo);font-weight:600;font-size:17px}
.plano .preco{font-family:var(--fonte-titulo);font-size:38px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.plano .preco small{font-family:var(--fonte-texto);font-size:14px;font-weight:400;color:var(--tinta-3)}
.plano .limite{font-size:14px;color:var(--tinta-2);border-top:1px solid var(--linha);padding-top:13px}
.plano ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:var(--tinta-2)}
.plano ul li{display:grid;grid-template-columns:17px 1fr;gap:9px;align-items:start}
.plano ul li::before{
  content:"";width:15px;height:15px;margin-top:5px;border-radius:50%;background:var(--petronas-veu);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300726F' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:10px;background-repeat:no-repeat;background-position:center;
}
.plano .btn{margin-top:auto}
.nota-preco{margin-top:20px;font-size:14.5px;color:var(--tinta-3);max-width:70ch}

/* piloto / depoimento */
.piloto{
  background:#fff;border:1px dashed var(--roxo);border-radius:var(--raio);
  padding:32px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;
}
.piloto .selo-piloto{
  font-family:var(--fonte-dado);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--roxo);margin-bottom:10px;display:block;
}
.piloto h3{font-size:24px;margin-bottom:8px}
.piloto p{margin:0;color:var(--tinta-2);max-width:62ch}

/* faq */
#faq{background:var(--petronas);color:var(--branco)}
#faq .sec-topo h2,#faq .olho,#faq summary{color:var(--branco)}
#faq details{border-bottom-color:rgba(255,255,255,.35)}
#faq summary::after{color:var(--branco)}
#faq details p{color:rgba(255,255,255,.9)}
.faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px 34px}
details{border-bottom:1px solid var(--linha);padding:14px 0}
summary{
  font-family:var(--fonte-titulo);font-weight:600;font-size:16.5px;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--roxo);font-size:22px;font-weight:400;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:12px 0 2px;font-size:15.5px;color:var(--tinta-2)}

/* cta final */
.cta-final{background:var(--tinta);color:#fff;text-align:center}
.cta-final h2{color:#fff;margin-bottom:14px}
.cta-final p{color:#C9C2DB;font-size:18px;max-width:54ch;margin:0 auto 28px}
.cta-final .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* rodapé */
footer.rodape{background:var(--tinta);color:#9C93B5;padding-block:44px 34px;border-top:1px solid rgba(255,255,255,.1)}
footer.rodape .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
footer.rodape h4{color:#fff;font-size:14px;margin-bottom:12px;font-weight:600}
footer.rodape ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
footer.rodape a{color:#9C93B5}
footer.rodape a:hover{color:#fff}
footer.rodape .sobre p{font-size:14.5px;max-width:34ch}
.rodape-base{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.marca.rodape-marca .marca-nome{color:#fff}
.marca.rodape-marca .marca-nome b{color:#B76BEC}

/* ---------- responsivo ---------- */
/* O menu sai de cena antes de apertar os botões — é o que quebrava o texto. */
@media (max-width:1080px){
  .menu{display:none}
}
@media (max-width:900px){
  .hero .container{grid-template-columns:1fr;gap:38px}
  .hero-arte{padding-bottom:34px}
  .destaque-bloco .container{grid-template-columns:1fr;gap:34px}
  footer.rodape .container{grid-template-columns:1fr 1fr}
  .piloto{grid-template-columns:1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  section{padding-block:60px}
  .hero{padding-block:52px 0}
  .topo .container{gap:12px}
  .topo-acoes .btn-secundario{display:none}
  /* No celular o acesso vira só o ícone, para o CTA de venda continuar cabendo. */
  .rotulo-acesso{
    position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
  }
  .btn-acesso{padding:10px 12px}
  .cartao-flutua{position:static;width:100%;margin-top:18px}
  footer.rodape .container{grid-template-columns:1fr}
  .fone{width:100%;max-width:300px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===========================================================
   Presença humana — hero, perfis e faixa antes do CTA
   =========================================================== */

/* A foto é a base da composição; o produto flutua sobre ela. */
.hero-arte{position:relative;display:block;padding-bottom:30px;min-height:540px}
.hero-foto{
  margin:0 0 0 auto;width:min(100%,384px);
  border-radius:22px;overflow:hidden;box-shadow:var(--sombra-alta);
  background:var(--gelo);
}
.hero-foto img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
/* O aparelho mantém a largura natural de 296px e é reduzido por transform.
   Diminuir só a largura comprime o conteúdo interno, que tem medidas fixas —
   era o que estava quebrando a tela dentro do celular. */
.hero-arte .fone{
  position:absolute;left:0;bottom:0;width:296px;z-index:2;
  transform:scale(.6);
  transform-origin:bottom left;
  /* o anel claro separa o aparelho da foto sem precisar de borda;
     como escala junto, é declarado maior para render na espessura certa */
  box-shadow:0 0 0 11px rgba(255,255,255,.24), var(--sombra-alta);
}
.hero-arte .cartao-flutua{position:absolute;left:0;top:14px;bottom:auto;width:202px;z-index:3}

@media (max-width:900px){
  .hero-arte{min-height:0;display:flex;flex-direction:column;align-items:center;gap:20px}
  .hero-foto{margin:0;width:100%;max-width:460px}
  /* empilhado, o aparelho volta ao tamanho natural — sem escala e sem anel */
  .hero-arte .fone{position:static;width:100%;max-width:290px;transform:none;box-shadow:var(--sombra-alta)}
  .hero-arte .cartao-flutua{position:static;width:100%;max-width:460px}
}

/* Perfis com rosto: a foto entra antes do texto, sem moldura extra. */
.perfil{padding:0;display:flex;flex-direction:column}
.perfil-foto{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--gelo)}
.perfil-corpo{padding:22px 24px 26px}

/* Faixa que leva ao CTA final: a foto escurece e vira o fundo da seção seguinte. */
.faixa-humana{position:relative;padding:0;overflow:hidden;background:var(--tinta)}
.faixa-humana img{
  display:block;width:100%;height:clamp(260px,38vw,420px);object-fit:cover;
  object-position:center 35%;opacity:.55;
}
.faixa-humana .dentro{
  position:absolute;inset:0;display:flex;align-items:flex-end;
  background:linear-gradient(180deg, rgba(27,18,48,.25) 0%, rgba(27,18,48,.75) 62%, var(--tinta) 100%);
}
.faixa-humana .dentro .container{padding-bottom:34px}
.faixa-humana p{
  color:#fff;font-family:var(--fonte-titulo);font-weight:600;
  font-size:clamp(20px,2.7vw,30px);line-height:1.25;letter-spacing:-.02em;
  max-width:24ch;margin:0;text-wrap:balance;
}
.faixa-humana span{display:block;margin-top:10px;font-family:var(--fonte-texto);font-weight:400;font-size:15.5px;color:#C9C2DB;max-width:46ch;letter-spacing:0}

/* Direção visual editorial inspirada no Artista HUB, preservando a marca Música HUB. */
:root{
  --gelo:#E5DFD2;
  --gelo-claro:#F3F0E8;
  --tinta:#20162A;
  --tinta-2:#5C5367;
  --tinta-3:#82798B;
  --linha:#D8D0DE;
  --linha-gelo:#D4CCBE;
  --sombra:0 14px 38px -24px rgba(32,22,42,.35);
  --sombra-alta:0 30px 70px -34px rgba(20,13,27,.62);
}
body{background:var(--gelo-claro)}
.topo{
  background:rgba(32,22,42,.94);border-bottom-color:rgba(255,255,255,.13);
  box-shadow:0 8px 26px rgba(20,13,27,.12)
}
.topo .marca-nome{color:#fff}
.menu a{color:#E9E2EC}
.menu a:hover{color:#fff}
.btn-acesso{color:#DDF5F2;border-color:rgba(0,161,156,.8)}
.btn-acesso:hover{color:#fff;background:rgba(0,161,156,.18);border-color:#7AE0D8}

/* Hero fotográfico amplo, com sobreposição escura e conteúdo em primeiro plano. */
.hero{
  position:relative;isolation:isolate;min-height:690px;padding-block:88px 0;
  background:#20162A url("../img/fotos/hero-aula-piano-wide.png") center 43%/cover no-repeat;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(24,15,32,.94) 0%,rgba(31,20,42,.82) 43%,rgba(31,20,42,.38) 74%,rgba(31,20,42,.26) 100%),
    linear-gradient(0deg,rgba(24,15,32,.3),transparent 46%);
}
.hero .container{min-height:600px;grid-template-columns:1.1fr .9fr;gap:46px}
.hero .olho{color:#8FE8E4}
.hero h1{font-size:clamp(42px,6.2vw,76px);max-width:12ch;line-height:1.03;letter-spacing:-.055em}
.hero h1 .destaque{background:none;color:#fff}
.hero-texto p{font-size:clamp(18px,1.7vw,21px);max-width:52ch;color:#F0EAF2}
.hero .hero-ctas .btn-primario{background:var(--petronas);color:#102322;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.hero .hero-ctas .btn-primario:hover{background:#38C4BC;color:#102322}
.hero .hero-ctas .btn-secundario{background:rgba(32,22,42,.28);border-color:rgba(255,255,255,.65)}
.hero-arte{align-self:stretch;min-height:0}
.hero-foto{display:none}
.hero-arte .cartao-flutua{display:none}
.cartao-flutua{border-color:rgba(255,255,255,.5);box-shadow:0 20px 52px rgba(0,0,0,.22)}

/* Faixa de números clara, como respiro entre a abertura e o conteúdo. */
.faixa{background:var(--gelo);color:var(--tinta);border-bottom:1px solid var(--linha-gelo)}
.faixa .item b{color:var(--petronas-escuro);font-size:34px}
.faixa .item span{color:var(--tinta-2)}
section{padding-block:96px}
.olho{letter-spacing:.2em}
.sec-topo{max-width:72ch;margin-bottom:48px}
.sec-topo h2{font-size:clamp(32px,4.4vw,52px);letter-spacing:-.045em}
.sec-topo p{max-width:65ch}
.modulos{gap:16px}
.modulo{border-radius:18px;padding:28px 26px;box-shadow:0 7px 25px rgba(32,22,42,.035)}
.modulo:hover{box-shadow:0 16px 35px rgba(32,22,42,.1)}
.destaque-bloco{background:linear-gradient(125deg,#2B1B35 0%,#382348 56%,#145C5B 100%)}
.painel-estudo{background:rgba(255,255,255,.12);box-shadow:0 22px 52px rgba(0,0,0,.12)}
.perfil{border-radius:0;background:#fff}
.perfil-foto{aspect-ratio:5/4}
.perfil-corpo{padding:24px 25px 28px}
.perfis{gap:14px;background:transparent;border:0;overflow:visible}
.perfil{border:1px solid var(--linha);border-radius:18px;overflow:hidden;box-shadow:var(--sombra)}
.perfil .quem{color:var(--petronas-escuro)}

/* Planos permanecem com preços e condições atuais; apenas o tratamento visual muda. */
#precos{background:linear-gradient(135deg,#2B1739 0%,#522179 55%,#087B78 100%)}
#precos .plano{border-radius:18px;box-shadow:0 20px 45px rgba(18,10,25,.18)}
#precos .plano.destaque{border-color:var(--petronas);transform:translateY(-8px)}
#precos .plano .btn-primario{background:var(--petronas);color:#102322}
#precos .plano .btn-primario:hover{background:#38C4BC}
#precos .plano .btn-secundario{border-color:#D8D0DE}
#precos .plano .btn-secundario:hover{border-color:var(--roxo);background:var(--roxo-veu)}
#precos .plano .fita{background:var(--petronas-escuro);color:#fff}
#faq{background:var(--petronas-escuro)}
#faq .sec-topo p{color:rgba(255,255,255,.82)}
.piloto{border-style:solid;border-color:var(--linha);border-radius:18px;box-shadow:var(--sombra);padding:38px}
.piloto .selo-piloto{color:var(--petronas-escuro)}
.faixa-humana img{height:clamp(330px,43vw,520px);opacity:.76}
.faixa-humana .dentro{background:linear-gradient(90deg,rgba(24,15,32,.76),rgba(24,15,32,.12) 78%),linear-gradient(0deg,rgba(24,15,32,.8),transparent 70%)}
.faixa-humana p{font-size:clamp(26px,4vw,44px);max-width:19ch}
.cta-final{background:linear-gradient(135deg,#24172E,#35203F 56%,#0B6662)}
footer.rodape{background:#191220}

@media (max-width:900px){
  .hero{min-height:0;padding-top:64px;background-position:58% center}
  .hero .container{min-height:0}
  .hero-arte{min-height:0;padding-bottom:20px}
  .hero-arte .fone{position:relative;left:auto;bottom:auto;transform:none}
  #precos .plano.destaque{transform:none}
}
@media (max-width:560px){
  .hero{padding-top:50px;background-position:61% center}
  .hero::before{background:linear-gradient(90deg,rgba(24,15,32,.92),rgba(31,20,42,.68)),linear-gradient(0deg,rgba(24,15,32,.38),transparent)}
  .hero h1{font-size:clamp(40px,12vw,56px)}
  .hero-arte .fone{max-width:296px}
  section{padding-block:68px}
  .faixa .container{grid-template-columns:1fr 1fr;gap:22px}
  .piloto{padding:25px}
  .perfil-foto{aspect-ratio:4/3}
}
