@charset "UTF-8";
:root{
  --chalk:#17171C;
  --chalk-deep:#2C2C36;
  --ink:#E7E5F0;
  --ink-soft:#9995AD;
  --indigo:#A78BFA;
  --indigo-lift:#C0A9FF;
  --ochre:#F0B345;
  --white:#1F1F27;
  --violet:#A78BFA;
}
body{background:var(--chalk);color:var(--ink)}


  .hero{background:
    radial-gradient(58% 68% at 78% 22%, rgba(167,139,250,.16), transparent 70%),
    radial-gradient(48% 60% at 10% 78%, rgba(99,102,241,.12), transparent 72%),
    linear-gradient(180deg, rgba(34,29,50,.55) 0%, rgba(23,23,28,.15) 100%)}
  .hero h1 em{color:var(--indigo)}
  .brand span{color:var(--indigo)}
  .hero-diagram{background:rgba(255,255,255,.03);border-color:var(--chalk-deep);backdrop-filter:blur(2px)}

  .btn{color:#14121A;font-weight:600}
  .btn:hover{box-shadow:0 0 24px rgba(167,139,250,.35)}
  .btn-ghost{color:var(--ink);border-color:var(--ink-soft);background:transparent}
  .btn-ghost:hover{background:var(--ink);color:#14121A}

  .plans{background:#1B1B22}
  .plan{background:#212129;border-color:var(--chalk-deep)}
  .plan:hover{border-color:var(--indigo);box-shadow:0 0 30px rgba(167,139,250,.14)}
  .plan.featured{background:#24222E}

  .entry{background:#241F33;border:1px solid #3B3252;color:var(--ink)}
  .entry h3{color:#FFF}
  /* base.css pinta o preço com var(--white), que aqui é superfície escura.
     Era o último texto que ainda herdava esse nome enganoso. */
  .entry .price-now{color:#FFF}
  .entry p{color:var(--ink-soft)}
  .entry .seat{border-color:#5A4E7A}
  .entry .seat.taken{background:#5A4E7A;border-color:#5A4E7A}
  .entry .btn{background:var(--ochre);color:#231C0A}
  .entry .btn:hover{background:#FFC55C;box-shadow:0 0 24px rgba(240,179,69,.3)}

  .guarantee{background:rgba(240,179,69,.07);color:var(--ink-soft)}
  .guarantee strong{color:var(--ink)}

  input[type=text],input[type=email],input[type=tel],select,textarea{
    background-color:#1E1E26;border-color:var(--chalk-deep);color:var(--ink)}
  input:focus,select:focus,textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(167,139,250,.16)}
  select{
    background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239995AD' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
  }
  ::placeholder{color:#6E6A80}
  .form-msg.err{background:rgba(192,64,42,.14);color:#F0A392;border-left-color:#C0402A}
  .form-msg.ok{background:rgba(46,125,79,.14);color:#8FD6AB;border-left-color:#2E7D4F}

  /* Atmosfera animada: três halos que se deslocam devagar atrás do conteúdo */
  body::before{
    content:"";position:fixed;inset:-25%;z-index:0;pointer-events:none;
    background:
      radial-gradient(36% 40% at 22% 24%, rgba(167,139,250,.26), transparent 64%),
      radial-gradient(30% 36% at 80% 16%, rgba(99,102,241,.20), transparent 66%),
      radial-gradient(42% 46% at 60% 84%, rgba(240,179,69,.07), transparent 68%);
    filter:blur(46px);opacity:1;
    animation:drift 30s ease-in-out infinite alternate;
    will-change:transform;
  }
  @keyframes drift{
    0%  {transform:translate3d(0,0,0) scale(1)}
    50% {transform:translate3d(-4%,3%,0) scale(1.09)}
    100%{transform:translate3d(3%,-3%,0) scale(1.04)}
  }
  .hero,section,footer{position:relative;z-index:1}
  .plans{background:rgba(27,27,34,.88);backdrop-filter:blur(6px)}
  .plan{background:rgba(33,33,41,.94)}
  .plan.featured{background:rgba(36,34,46,.96)}

  .bio-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 22px}
  .bio-stat{background:rgba(255,255,255,.035);border:1px solid var(--chalk-deep);
    border-radius:4px;padding:16px 18px}
  .bio-num{font-family:var(--display);font-size:28px;font-weight:600;letter-spacing:-.03em;
    color:var(--indigo);display:block;line-height:1.1}
  .bio-lab{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);
    display:block;margin-top:5px}
  .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
  .tag{font-size:13px;padding:6px 12px;border-radius:20px;
    background:rgba(167,139,250,.11);border:1px solid rgba(167,139,250,.26);color:#C8B6FF}

  .social-grid{display:grid;grid-template-columns:1fr 520px;gap:40px;align-items:start;margin-top:34px}
  .social-embed{background:#FFF;border-radius:6px;overflow:hidden;
    border:1px solid var(--chalk-deep);box-shadow:0 10px 40px rgba(0,0,0,.35)}
  /* Altura medida no próprio embed: com 520px de largura, o conteúdo termina em
     647px. A parte fixa (cabeçalho, texto, reações, barra de ações) soma 247px e
     a imagem ocupa 0,77 da largura, então altura = 247px + 0,77 x largura.
     Com o quadro em 542px dá 664px, e 672px deixa a folga que evita a rolagem.
     Trocar a publicação muda essa conta: medir de novo se o post não tiver imagem.
     O quadro é mais largo que o recorte de propósito, porque a barra de rolagem
     de um iframe de outro domínio não pode ser escondida por CSS daqui. */
  .social-embed{max-width:542px}
  .social-embed iframe{display:block;width:calc(100% + 22px);height:672px;border:0}
  .post-list{list-style:none;margin-top:22px}
  .post-list li{border-top:1px solid var(--chalk-deep);padding:14px 0}
  .post-list a{color:var(--ink);text-decoration:none;font-weight:500;display:block}
  .post-list a:hover{color:var(--indigo)}
  .post-list span{display:block;font-size:13px;color:var(--ink-soft);margin-top:3px}
  @media (max-width:900px){
    .social-grid{grid-template-columns:1fr}
    .bio-stats{grid-template-columns:1fr}
  }
  /* Abaixo de 600px o quadro deixa de caber nos 542px e encolhe junto com a tela,
     então a altura passa a seguir a mesma conta, agora em vw. */
  @media (max-width:600px){
    .social-embed iframe{height:calc(215px + 77vw)}
  }

  .included{
    margin-top:34px;padding:24px 26px;border:1px solid rgba(167,139,250,.24);
    border-radius:4px;background:rgba(167,139,250,.05);
  }
  .included h4{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.01em;
    color:var(--ink);margin-bottom:16px}
  .inc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}
  .inc-item strong{display:block;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px}
  .inc-item span{font-size:14px;color:var(--ink-soft);line-height:1.5}
  .anchor{
    margin-top:26px;padding:20px 24px;border-left:3px solid var(--indigo);
    background:rgba(255,255,255,.03);border-radius:0 3px 3px 0;
  }
  .anchor p{font-size:16px;color:var(--ink-soft);max-width:68ch;margin:0}
  .anchor strong{color:var(--ink)}
  .ladder{margin-top:16px;font-size:14px;color:var(--ink-soft)}
  @media (max-width:860px){.inc-grid{grid-template-columns:1fr;gap:16px}}

  .teacher{display:flex;flex-direction:column;gap:16px}
  .teacher img{
    width:clamp(180px,20vw,240px);aspect-ratio:1;height:auto;
    border-radius:50%;object-fit:cover;
    border:2px solid rgba(167,139,250,.45);
    box-shadow:0 0 0 7px rgba(167,139,250,.08), 0 14px 36px rgba(0,0,0,.45);
  }
  .teacher .role{font-size:14px;color:var(--ink-soft);letter-spacing:.02em;
    display:flex;flex-direction:column;gap:3px}
  .teacher .lead{margin:0}

  .cont{background:#1B1B22;border-top:1px solid var(--chalk-deep);border-bottom:1px solid var(--chalk-deep)}
  .term-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
  .term{
    background:rgba(33,33,41,.94);border:1px solid var(--chalk-deep);
    border-radius:4px;padding:24px;
  }
  .term.best{border-color:var(--indigo)}
  .term-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
  .term-name{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em}
  .term-off{font-size:13px;font-weight:600;color:var(--ochre);
    background:rgba(240,179,69,.12);padding:4px 10px;border-radius:20px}
  .term-price{font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:-.03em;color:var(--indigo)}
  .term-price small{display:block;font-size:12px;font-weight:400;color:var(--ink-soft);
    letter-spacing:.06em;margin-top:5px;text-transform:uppercase}
  .term-note{font-size:14px;color:var(--ink-soft);margin-top:14px;padding-top:14px;
    border-top:1px solid var(--chalk-deep)}
  @media (max-width:860px){.term-grid{grid-template-columns:1fr}}

  .evid-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
  .evid{background:rgba(255,255,255,.035);border:1px solid var(--chalk-deep);
    border-radius:4px;padding:22px 20px;display:flex;flex-direction:column}
  .evid.hi{border-color:var(--indigo);background:rgba(167,139,250,.07)}
  .evid-num{font-family:var(--display);font-size:38px;font-weight:600;letter-spacing:-.03em;
    line-height:1;color:var(--indigo)}
  .evid.hi .evid-num{color:#C8B6FF}
  .evid-txt{font-size:14px;color:var(--ink);margin-top:12px;line-height:1.45;flex-grow:1}
  .evid-src{font-size:11.5px;color:var(--ink-soft);margin-top:14px;padding-top:13px;
    border-top:1px solid var(--chalk-deep);letter-spacing:.02em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
  .caveat{margin-top:30px;padding:22px 24px;border-left:3px solid var(--ochre);
    background:rgba(240,179,69,.06);border-radius:0 3px 3px 0}
  .caveat p{font-size:15.5px;color:var(--ink-soft);max-width:70ch;margin:0}
  .caveat strong{color:var(--ink)}
  @media (max-width:900px){.evid-grid{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:560px){.evid-grid{grid-template-columns:1fr}}

  footer{background:#101014;border-top:1px solid var(--chalk-deep);color:#C6C2D4}
  footer .fbrand{color:#F2EFFA}
  footer .fbrand span{color:#9490A6}
  footer p{color:#A19DB2}
  footer a{color:#C4B5FD;text-decoration:underline;text-underline-offset:3px;
    text-decoration-color:rgba(196,181,253,.45);transition:color .16s ease}
  footer a:hover{color:#DDD1FF;text-decoration-color:#DDD1FF}
  footer p{color:#77738A}
