
/* ============================================================
   AS/IA — Página de vendas (DGPG04 | Vendas A)
   Sistema proporcional: toda medida = calc(var(--u) * N)
   N = valor em px do Figma (desktop 1920 / mobile 390)
   ============================================================ */
@font-face{font-family:'Satoshi';font-weight:400;font-style:normal;font-display:optional;src:url('fonts/satoshi-400.woff2') format('woff2')}
@font-face{font-family:'Satoshi';font-weight:500;font-style:normal;font-display:optional;src:url('fonts/satoshi-500.woff2') format('woff2')}
@font-face{font-family:'Satoshi';font-weight:700;font-style:normal;font-display:optional;src:url('fonts/satoshi-700.woff2') format('woff2')}

:root{
  --u:calc(100vw / 1920);
  --bg:#141312;
  --cream:#FFEEE5;
  --amber:#FFBF66;
  --rust:#D85E3D;
  --lead:#DEC4AE;
  --ink:#101010;
  --grad-text:linear-gradient(156.808deg,#FFEEE5 13.942%,#FFBF66 62.396%,#D85E3D 100%);
  --grad-btn:linear-gradient(170.459deg,#FFEEE5 13.942%,#FFBF66 62.396%,#D85E3D 100%);
  --grad-ice:linear-gradient(156.8deg,#EAF6FF 14%,#A9DDF7 62%,#4E9FD1 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:#fff;
  font-family:'Satoshi',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-weight:400;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
/* O Figma usa text-box-trim em todos os blocos de texto: corta o meio-leading acima/abaixo,
   fazendo o gap valer entre cap-height e baseline. Progressive enhancement (Chrome 133+/Safari 18.2+). */
p,figure,blockquote,h1,h2,h3{margin:0}
.trim{display:block}
/* Os rótulos de CTA ficam FORA do trim de propósito: "APLICAÇÃO" tem Ã acima do
   cap-height e Ç abaixo da baseline — exatamente onde o trim corta a caixa. Como a
   altura dos botões é dada pelo espaçador ::before e pelo ícone (ambos maiores que a
   linha do texto), tirar o trim não muda medida nenhuma. */
h1,h2,h3,p,.trim,
.d5__rule span,.d6__rule span,.badge,.turma__tag,
.mcard b,.mcard span,.d2__stat b,.pill span,.hdr__nav a,
.pbox__f li span,.d13__side h2,.d14__top span,.d14__info p,.d14__info a{text-box:trim-both cap alphabetic}
.pbox__f li span{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
/* NÃO usar overflow-x:hidden aqui: o CSS força overflow-y a virar auto, o main
   passa a ser scroll container e o margin-top negativo do hero (que o faz subir
   atrás do header, como no Figma) para de escapar — o topo do hero fica cortado.
   O overflow horizontal já é contido na origem (.d7{overflow:hidden}). */
main{width:100%}
/* [hidden] do user-agent tem especificidade 0,1,0 e PERDE para qualquer regra com
   classe que defina display (ex.: .pbox__f li{display:flex}) — o elemento seguia
   ocupando espaço. No price box virava uma faixa marrom vazia depois da virada. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-ice{background:var(--grad-ice);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- HEADER (sticky) ---------- */
.hdr{position:sticky;top:0;z-index:60;width:100%;transition:background .25s ease,backdrop-filter .25s ease}
/* sem fundo no header ao rolar — pedido do Theo (01/08) */
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*24);
  height:calc(var(--u)*135);padding:0 calc(var(--u)*260)}
.hdr__logo{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*6.859);width:calc(var(--u)*189.729);flex:0 0 auto}
.hdr__logo img:first-child{width:100%;height:calc(var(--u)*47.158)}
.hdr__logo img:last-child{width:calc(var(--u)*166.554);height:calc(var(--u)*5.742)}
.hdr__nav{display:flex;align-items:center;gap:calc(var(--u)*19);
  padding:calc(var(--u)*7) calc(var(--u)*19);border-radius:9999px;
  background:rgba(0,0,0,.3);border:1px solid rgba(242,242,242,.1)}
.hdr__nav a{display:flex;align-items:center;justify-content:center;padding:calc(var(--u)*11) calc(var(--u)*6);
  border-radius:9999px;font-weight:500;font-size:calc(var(--u)*11);line-height:calc(var(--u)*16.5);
  letter-spacing:calc(var(--u)*1.98);text-transform:uppercase;white-space:nowrap;transition:color .2s ease}
.hdr__nav a:hover{color:var(--amber)}
.hdr__cta{display:flex;align-items:center;padding:0 calc(var(--u)*10.836);border-radius:calc(var(--u)*86.69);
  background:rgba(255,103,21,.31);border:1px solid rgba(255,255,255,.3);flex:0 0 auto;transition:background .2s ease}
.hdr__cta:hover{background:rgba(255,103,21,.5)}
.hdr__cta span{display:flex;align-items:center;justify-content:center;height:calc(var(--u)*50.636);
  padding:0 calc(var(--u)*11.559);color:#FFF8F8;font-weight:500;font-size:calc(var(--u)*14.448);
  line-height:calc(var(--u)*29.759);letter-spacing:calc(var(--u)*-0.3612);text-transform:uppercase;white-space:nowrap}
.hdr__cta i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*33.612);height:calc(var(--u)*33.612);
  border-radius:calc(var(--u)*16.806);background:rgba(255,248,248,.1);border:calc(var(--u)*0.704) solid rgba(255,255,255,.3);flex:0 0 auto}
.hdr__cta i img{width:calc(var(--u)*14.749);height:calc(var(--u)*13.095)}
.hdr__burger{display:none}



/* Caixa alta conforme o Figma (textCase: UPPER) — todos os H2 de seção,
   os títulos dos cards "pra quem é" e as pills do diferencial. */
.d3__h,.d4__txt h2,.d5__head h2,.d6__in>h2,.d8__in>h2,.d9__head h2,
.d10__head h2,.d11__head h2,.card h3,.pill span{text-transform:uppercase}
/* O trim corta a caixa no cap-height e os acentos de MAIÚSCULA (É, À, Ã) vivem
   acima dele — sumiam na 1ª linha. O padding dá espaço ao glifo e a margem
   negativa o devolve, então o layout não muda. */
.d3__h,.d4__txt h2,.d5__head h2,.d6__in>h2,.d8__in>h2,.d9__head h2,
.d10__head h2,.d11__head h2,.card h3,.d2__title,.d13__side h2,.barra span,
.d6__rule span,.d5__rule span{padding-top:.2em;margin-top:-.2em}

/* ---------- BARRA DO TOPO (countdown / aviso) ---------- */
.barra{display:flex;align-items:center;justify-content:center;width:100%;
  height:calc(var(--u)*45);padding:0 calc(var(--u)*21.768);
  background:rgba(151,45,0,.4);backdrop-filter:blur(12.68px);-webkit-backdrop-filter:blur(12.68px);
  border-bottom:calc(var(--u)*1.088) solid rgba(255,255,255,.1)}
.barra span{font-size:calc(var(--u)*15);line-height:1.35;letter-spacing:calc(var(--u)*4);
  text-transform:uppercase;text-align:center;white-space:nowrap;
  text-box:trim-both cap alphabetic}
.barra b{font-weight:700}
.barra:empty{display:none}
 /* ---------- MODO LISTA DE ESPERA ----------
    Depois do prazo somem preco, FAQ, a dobra do conteudo e a navegacao. A REGRA e
    generica: quem some carrega `data-oculta-na-espera` no proprio markup, entao a
    lista do que sai vive num lugar so. O atributo `data-espera` e posto no <head>,
    antes de pintar — decidir isso no script do fim do body faria o price box aparecer
    e sumir na cara do visitante. */
html[data-espera] [data-oculta-na-espera]{display:none !important}
 /* ---------- BARRA URGENTE (so no modo contagem) ----------
    Vermelho solido em vez do rgba(151,45,0,.4) com blur: translucido sobre o hero
    escuro entregava contraste baixo e lia como enfeite, nao como aviso.
    Os numeros vao em pilulas com `tabular-nums` e largura minima — sem isso a barra
    se reposiciona a CADA SEGUNDO quando o digito muda de largura (1 -> 8), o que
    treme na tela e conta como layout shift. */
.barra--urgente{height:auto;min-height:calc(var(--u)*58);
  padding:calc(var(--u)*8) calc(var(--u)*21.768);
  background:linear-gradient(180deg,#D6202A 0%,#A2111A 100%);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom-color:rgba(0,0,0,.4)}
.barra--urgente span{color:#fff;font-weight:600;
  font-size:calc(var(--u)*17);letter-spacing:calc(var(--u)*2.6)}
.barra--urgente b{display:inline-block;min-width:calc(var(--u)*36);
  margin:0 calc(var(--u)*3);padding:calc(var(--u)*2) calc(var(--u)*7);
  border-radius:calc(var(--u)*7);background:rgba(0,0,0,.34);
  color:#fff;font-weight:700;font-size:calc(var(--u)*20);
  font-variant-numeric:tabular-nums;text-align:center}
 /* pulso discreto: chama o olho sem virar pisca-pisca. Respeita quem pediu menos
    animacao no sistema — a11y, nao enfeite. */
@media (prefers-reduced-motion: no-preference){
  .barra--urgente{animation:barraPulsa 2.6s ease-in-out infinite}
}
@keyframes barraPulsa{
  0%,100%{box-shadow:0 0 0 0 rgba(214,32,42,0)}
  50%    {box-shadow:0 calc(var(--u)*4) calc(var(--u)*22) rgba(214,32,42,.45)}
}

/* ---------- DOBRA 1 · HERO ---------- */
.hero{position:relative;min-height:calc(var(--u)*998);margin-top:calc(var(--u)*-180);background:var(--bg);overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__bg img{position:absolute;top:0;left:-8.17%;width:116.34%;max-width:none;height:100%;object-fit:cover}
.hero__icons{position:absolute;z-index:-1;top:calc(var(--u)*146);left:calc(var(--u)*1102);
  width:calc(var(--u)*649.575);height:calc(var(--u)*785.75)}
.hero__icons img{width:100%;height:100%}
/* ---------- VSL no hero (vturb/converteai) — NAS DUAS VARIANTES ----------
   Era exclusivo da B; desde 10/08 as duas têm o vídeo. O teste A/B continua de pé pela
   OUTRA diferença, que é o preço (CFG.variantes: A mostra, B esconde) e a página de
   obrigado de cada uma. O player substitui a ilustração de ícones do Figma. O `data-variante` vem do script do <head>,
   que roda antes da renderização — então não há flash de um estado no outro.
   Desktop: o player ocupa o lugar da ilustração, à direita do texto; o fundo do hero
   (as mãos) continua atrás. O placeholder reserva o 16:9 ANTES de o player montar,
   senão a página pula (CLS). */
.hero__vsl{display:block;position:absolute;z-index:1;
  top:calc(var(--u)*268);left:calc(var(--u)*1041);width:calc(var(--u)*742)}
.hero__icons{display:none}
.hero__vsl vturb-smartplayer{display:block;width:100%;
  border-radius:calc(var(--u)*16);overflow:hidden;
  box-shadow:0 calc(var(--u)*24) calc(var(--u)*70) rgba(0,0,0,.55)}
.hero__vsl .vturb-player-placeholder{position:relative;width:100%;padding:56.25% 0 0;z-index:0;background:#000}
.hero__in{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*55);
  padding:calc(var(--u)*254) 0 0 calc(var(--u)*261.95);max-width:calc(var(--u)*1000)}
.hero h1{margin:0;width:calc(var(--u)*704.885);font-weight:400;font-size:calc(var(--u)*64);line-height:1;
  font-feature-settings:'liga' 0,'calt' 0}
.hero__lead{margin:calc(var(--u)*40) 0 0;width:calc(var(--u)*624.497);color:var(--lead);
  font-size:calc(var(--u)*24);line-height:normal}
.btn-grad{display:inline-flex;align-items:center;gap:calc(var(--u)*21);
  padding:calc(var(--u)*13) calc(var(--u)*15);border-radius:calc(var(--u)*120);background:var(--grad-btn);
  color:var(--ink);transition:filter .2s ease,transform .2s ease}
.btn-grad:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-grad::before{content:"";width:calc(var(--u)*14);height:calc(var(--u)*46);flex:0 0 auto}
.btn-grad b{font-weight:700;font-size:calc(var(--u)*20);line-height:calc(var(--u)*41.194);
  letter-spacing:calc(var(--u)*-0.5);text-transform:uppercase;white-space:nowrap}
.btn-grad i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*46.527);height:calc(var(--u)*46.527);
  border-radius:calc(var(--u)*23.264);background:var(--ink);flex:0 0 auto}
.btn-grad i img{width:calc(var(--u)*20.416);height:calc(var(--u)*18.126)}

/* ---------- CTA REPETIDO EM TODAS AS DOBRAS ----------
   Padrão pedido pelo Pedro/Rian Dutra (03/08): botão em cada dobra converte mais,
   mesmo parecendo redundante na leitura. O wrapper é só alinhamento — o botão em si
   é o mesmo .btn-grad do hero (hug no desktop, 100% no mobile). */
.cta-d{display:flex;justify-content:center;width:100%}
.cta-d--l{justify-content:flex-start}
.cta-d--faq{margin-top:calc(var(--u)*20)}
/* barra fixa de CTA: só no mobile (no desktop o CTA que segue o scroll é o do header) */
.cta-fixo{display:none}

/* Com 10 CTAs apontando para o price box, a âncora precisa desviar do header
   fixo — senão a dobra de investimento aterrissa por baixo dele. */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#diferencial,#turmas,#investimento,#mentores,#faq{scroll-margin-top:calc(var(--u)*190)}

/* ---------- DOBRA 2 · DIAGNÓSTICO (90% dos gestores) ---------- */
.d2{position:relative;display:flex;align-items:center;min-height:calc(var(--u)*886);background:#020204;overflow:hidden}
.d2__bg{position:absolute;inset:0;z-index:0}
.d2__bg img{position:absolute;top:0;left:0;width:100%;height:123.18%;object-fit:cover}
.d2__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(-90deg,rgba(0,0,0,0) 44.74%,#000 99.37%)}
.d2__photo{display:none}
.d2__txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:calc(var(--u)*36);
  width:calc(var(--u)*615.606);margin-left:calc(var(--u)*264.09)}
.d2__title{margin:0;width:calc(var(--u)*563.394);color:#F4F3EE;font-weight:500;font-size:calc(var(--u)*52);line-height:1.1}
.d2__sub{margin:0;width:calc(var(--u)*423.33);padding:calc(var(--u)*3) calc(var(--u)*23);
  background:var(--grad-text) left/calc(var(--u)*5) 100% no-repeat;
  color:#F4F3EE;font-size:calc(var(--u)*25);line-height:1.352}
.d2__sub b{font-weight:700;background:linear-gradient(172.153deg,#FFEEE5 8.17%,#FFBF66 35.1%,#D85E3D 55.77%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.d2__body{display:flex;flex-direction:column;gap:calc(var(--u)*29.7);font-size:calc(var(--u)*22);line-height:1.35}
.d2__body p{margin:0}
.d2__body b{font-weight:700}
.d2__stats{display:flex;align-items:center;gap:calc(var(--u)*17)}
.d2__stat{display:flex;flex-direction:column;gap:calc(var(--u)*14)}
.d2__stat+.d2__stat{padding-left:calc(var(--u)*17);border-left:1px solid rgba(80,80,80,.5)}
.d2__stat b{font-weight:500;font-size:calc(var(--u)*40);line-height:1.358;white-space:nowrap}
.d2__stat p{margin:0;font-size:calc(var(--u)*18);line-height:1.15}
.d2__stat:nth-child(1) p{width:calc(var(--u)*134.768)}
.d2__stat:nth-child(2) p{width:calc(var(--u)*148.692)}
.d2__stat:nth-child(3) p{width:calc(var(--u)*139.509)}

/* ---------- DOBRA 3 · DIFERENCIAL (ao final das sessões) ---------- */
.d3{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:calc(var(--u)*786);padding:calc(var(--u)*102) calc(var(--u)*40);background:#141312;overflow:hidden}
.d3 > img.bgfill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.d3__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*46);
  width:100%;max-width:calc(var(--u)*1070.1)}
.d3__h{margin:0;text-align:center;font-weight:500;font-size:calc(var(--u)*45);line-height:1.222}
.d3__bullets{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*16);max-width:calc(var(--u)*876)}
.pill{display:flex;align-items:center;gap:calc(var(--u)*11.774);height:calc(var(--u)*104);
  padding:0 calc(var(--u)*29.435);border-radius:calc(var(--u)*23.548);
  background:linear-gradient(180deg,rgba(237,173,71,0) 0%,rgba(237,129,71,.42) 100%);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06)}
.pill i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*50);height:calc(var(--u)*50);
  padding:calc(var(--u)*10);border-radius:50%;background:var(--grad-text);flex:0 0 auto}
.pill i img{width:100%;height:100%;object-fit:contain}
.pill span{font-weight:500;font-size:calc(var(--u)*20);line-height:1.75}
.pill--wide span{width:calc(var(--u)*386.1)}
.d3__sub{margin:0;text-align:center;color:var(--lead);font-weight:500;font-size:calc(var(--u)*28);line-height:1.35}
.d3__out{margin:0;text-align:center;color:var(--lead);font-weight:500;font-size:calc(var(--u)*36);line-height:1.333}
.d3__out b{font-weight:700;color:#fff}

/* ---------- DOBRA 4 · MÉTODO (2 mentores) ---------- */
.d4{position:relative;min-height:calc(var(--u)*774);background:#020204;overflow:hidden}
.d4__photos{position:absolute;inset:0;z-index:0}
.d4__ph{position:absolute;top:0;height:100%;margin:0;overflow:hidden}
.d4__ph img{width:100%;height:100%;object-fit:cover}
.d4__ph--l{left:calc(var(--u)*-210.9);width:calc(var(--u)*976)}
.d4__ph--r{left:calc(var(--u)*1078.1);width:calc(var(--u)*889)}
.mcard{position:absolute;bottom:calc(var(--u)*48.1);display:flex;flex-direction:column;gap:calc(var(--u)*10.639);
  padding:calc(var(--u)*11.842) calc(var(--u)*14.21);border-radius:calc(var(--u)*12.631);
  background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14)}
.mcard--l{left:calc(var(--u)*208.2)}
.mcard--r{left:calc(var(--u)*1337.7)}
.mcard b{font-weight:500;font-size:calc(var(--u)*23.684);line-height:1.351;white-space:nowrap}
.mcard span{color:#EB9E5B;font-weight:500;font-size:calc(var(--u)*14.21);line-height:1.351;white-space:nowrap}
.d4__txt{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*36);
  width:calc(var(--u)*557.8);margin-left:calc(var(--u)*681.2);padding:calc(var(--u)*165.5) 0}
.d4__txt h2{margin:0;text-align:center;font-weight:500;font-size:calc(var(--u)*45);line-height:1.111}
.d4__txt p{margin:0;text-align:center;font-size:calc(var(--u)*25);line-height:1.28}
.d4__txt b{font-weight:700}

/* ---------- DOBRA 5 · TURMAS (reserve as datas) ---------- */
.d5{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(var(--u)*853);
  padding:calc(var(--u)*89.9) calc(var(--u)*40) calc(var(--u)*89.9);background:#020204;overflow:hidden}
.d5 > img.bgfill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.d5__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*64);
  width:100%;max-width:calc(var(--u)*1259.6)}
.d5__head{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*36);text-align:center}
.d5__head h2{margin:0;width:calc(var(--u)*794);font-weight:500;font-size:calc(var(--u)*45);line-height:1.156}
.d5__head p{margin:0;width:calc(var(--u)*656.9);color:var(--lead);font-weight:500;font-size:calc(var(--u)*28);line-height:1.35}
.d5__body{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*53);width:100%;max-width:calc(var(--u)*1054.4)}
.d5__rule{display:flex;align-items:center;gap:calc(var(--u)*10);margin:0;width:calc(var(--u)*935);max-width:100%}
.d5__rule::before,.d5__rule::after{content:"";flex:1;height:calc(var(--u)*1.5);background:#fff}
.d5__rule span{font-weight:500;font-size:calc(var(--u)*25);line-height:1.352;text-align:center}
.d5__turmas{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*79);width:100%}
.d5__sep{flex:0 0 auto;width:calc(var(--u)*1.5);height:calc(var(--u)*142);background:#fff}
/* O card inteiro leva ao price box (pedido do Pedro, 04/08). É <a href> de verdade,
   não onClick: assim funciona botão direito → abrir em nova guia e ⌘/Ctrl+clique. */
.turma{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*36);flex:0 1 calc(var(--u)*449.9);
  transition:transform .2s ease,filter .2s ease}
.turma:hover{transform:translateY(calc(var(--u)*-4));filter:brightness(1.06)}
.turma:hover .badge{filter:brightness(1.05)}
.turma__top{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*30)}
.badge{display:inline-block;padding:calc(var(--u)*17) calc(var(--u)*15);
  border-radius:calc(var(--u)*7.418);font-weight:700;font-size:calc(var(--u)*18.544);line-height:1.348;
  text-transform:uppercase;white-space:nowrap}
.badge--o{background:var(--grad-text);color:#58291D}
.badge--b{background:linear-gradient(135deg,#FFEEE5 29.8%,#66E3FF 100%);color:#1D3558}
.turma__when{display:flex;flex-direction:column;gap:calc(var(--u)*15.293)}
.turma__when>span{display:flex;align-items:center;gap:calc(var(--u)*8.496);
  font-weight:500;font-size:calc(var(--u)*21.24);line-height:1.351;letter-spacing:calc(var(--u)*0.319);white-space:nowrap}
.turma__when img{width:calc(var(--u)*17);height:calc(var(--u)*17);flex:0 0 auto}
.turma__logo{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*16.265);width:100%}
.turma__logo img:first-child{width:100%;height:auto}
.turma__logo img:nth-child(2){width:87.8%;height:auto}
.turma__tag{display:inline-block;margin-top:calc(var(--u)*4.844);
  padding:calc(var(--u)*9.949) calc(var(--u)*15.918);border:calc(var(--u)*1.194) solid #D3BDA4;
  border-radius:calc(var(--u)*47.753);color:#D3BDA4;font-weight:700;font-size:calc(var(--u)*13.799);
  line-height:1.348;letter-spacing:calc(var(--u)*1.794);text-align:center}
.turma--b .turma__tag{border-color:#CAD2DB;color:#CAD2DB}
.d5__note{margin:0;color:#CABEA7;font-weight:500;font-style:italic;font-size:calc(var(--u)*22);line-height:1.35;text-align:center}

/* ---------- DOBRA 6 · PRA QUEM É ---------- */
.d6{position:relative;min-height:calc(var(--u)*1564);padding:calc(var(--u)*84.5) calc(var(--u)*40) calc(var(--u)*84.5);
  background:#000;overflow:hidden}
.d6__bg{position:absolute;left:calc(var(--u)*-464.7);top:calc(var(--u)*-19.4);
  width:calc(var(--u)*2849.5);height:calc(var(--u)*1602.9);max-width:none;z-index:0}
.d6__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*55);
  width:100%;max-width:calc(var(--u)*1398);margin:0 auto}
.d6__in > h2{margin:0;width:calc(var(--u)*589.7);color:#F4F3EE;text-align:center;
  font-weight:500;font-size:calc(var(--u)*45);line-height:1.156}
.d6__grp{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*38);width:100%}
.d6__rule{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*10);margin:0;width:100%}
.d6__rule::before,.d6__rule::after{content:"";width:calc(var(--u)*87.4);height:calc(var(--u)*0.8);background:#D9D9D9;flex:0 0 auto}
.d6__rule span{font-weight:500;font-size:calc(var(--u)*33.057);line-height:1.35;text-align:center}
.grad-o{background:linear-gradient(135deg,#FFEEE5 28.4%,#FFBF66 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.grad-b{background:linear-gradient(135deg,#FFEEE5 29.8%,#66E3FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.d6__cards{display:flex;align-items:stretch;justify-content:center;gap:calc(var(--u)*18);width:100%}
.card{display:flex;flex-direction:column;gap:calc(var(--u)*20);flex:1 1 calc(var(--u)*454);max-width:calc(var(--u)*454);
  min-height:calc(var(--u)*356);padding:calc(var(--u)*50) calc(var(--u)*25);border-radius:calc(var(--u)*22)}
.card i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*56);height:calc(var(--u)*56);
  border-radius:50%;flex:0 0 auto}
.card i img{width:calc(var(--u)*24);height:calc(var(--u)*24);object-fit:contain}
.card h3{margin:0;color:#F2F2F2;font-weight:500;font-size:calc(var(--u)*28);line-height:1.143}
.card p{margin:0;color:#B1ADA1;font-size:calc(var(--u)*22);line-height:1.136}
.card{border:1px solid rgba(255,255,255,.07)}
.card--o{background:#25140D;border-color:rgba(255,191,102,.14)}
.card--o i{background:linear-gradient(135deg,#FFEEE5 28.4%,#FFBF66 100%)}
.card--b{background:#121B24;border-color:rgba(102,227,255,.16)}
.card--b i{background:linear-gradient(135deg,#FFEEE5 29.8%,#66E3FF 100%)}
.card--no{background:#301515;border-color:rgba(166,37,37,.35);min-height:calc(var(--u)*247)}
.card--no i{width:calc(var(--u)*32);height:calc(var(--u)*32);background:#A62525}
.card--no i img{width:calc(var(--u)*13);height:calc(var(--u)*13)}
.card--no p{color:#F4F4F4;font-size:calc(var(--u)*21);line-height:1.24}
.card--no b{font-weight:700}

/* ---------- DOBRA 7 · LOGOS DE EMPRESAS ---------- */
.d7{display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:calc(var(--u)*184);
  padding:calc(var(--u)*30.1) calc(var(--u)*40);background:#FFF4E5}
.d7__in{display:flex;align-items:center;gap:calc(var(--u)*56.409);width:100%;max-width:calc(var(--u)*1389.7)}
.d7__in p{width:calc(var(--u)*327.2);flex:0 0 auto;color:#512013;font-weight:500;
  font-size:calc(var(--u)*22.981);line-height:1.362}
.d7__in>img{width:calc(var(--u)*1006);height:auto}
.d7__logos-m{display:none}

/* ---------- DOBRA 8 · DEPOIMENTOS ---------- */
.d8{padding:calc(var(--u)*75) 0;background:radial-gradient(61.2% 79.1% at 50% 19.7%,#7D3100 0%,#170900 100%);overflow:hidden}
.d8__in{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*60)}
.d8__in > h2{width:calc(var(--u)*788.2);text-align:center;font-weight:500;font-size:calc(var(--u)*45);line-height:1.156}
.d8__track{display:flex;gap:calc(var(--u)*20);width:100%;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;padding:calc(var(--u)*4) calc(var(--u)*40);scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.d8__track::-webkit-scrollbar{display:none}
.tcard{display:flex;flex-direction:column;gap:calc(var(--u)*30);flex:0 0 calc(var(--u)*400);
  min-height:calc(var(--u)*440);padding:calc(var(--u)*40) calc(var(--u)*32);
  background:#fff;border:1px solid #D4D2E3;border-radius:calc(var(--u)*30);scroll-snap-align:center}
.tcard__av{display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;
  width:calc(var(--u)*80);height:calc(var(--u)*80);border-radius:50%;background:#E3E2EA;
  color:#696969;font-weight:700;font-size:calc(var(--u)*32.318);line-height:1}
.tcard__av img{width:100%;height:100%;object-fit:cover}
.tcard__stars{display:flex;gap:calc(var(--u)*7.613)}
.tcard__stars img{width:calc(var(--u)*33.8);height:calc(var(--u)*32.2)}
.tcard__body{display:flex;flex-direction:column;gap:calc(var(--u)*33);flex:1 1 auto}
.tcard__txt{display:flex;flex-direction:column;gap:calc(var(--u)*23)}
.tcard h3{color:#5D5A88;font-weight:700;font-size:calc(var(--u)*22);line-height:1}
.tcard p{color:#75729D;font-size:calc(var(--u)*18);line-height:1.389}
.tcard cite{margin-top:auto;color:#5D5A88;font-weight:700;font-size:calc(var(--u)*18);line-height:1;font-style:normal;
  text-box:trim-both cap alphabetic}

/* ---------- DOBRA 9 · PROGRAMA (accordions) ---------- */
.d9{position:relative;padding:calc(var(--u)*65) calc(var(--u)*40) calc(var(--u)*70);background:#070605;overflow:hidden}
.d9>img.bgfill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;rotate:180deg}
.d9>img.bgfill+img.bgfill{scale:-1 1;rotate:180deg;opacity:.35}
.d9::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,#070605 0%,rgba(7,6,5,.86) 26%,rgba(7,6,5,0) 62%)}
.d9__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*58);
  width:100%;max-width:calc(var(--u)*1220);margin:0 auto}
.d9__head{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*32);text-align:center}
.tagpill{display:inline-block;padding:calc(var(--u)*10) calc(var(--u)*17);border-radius:9999px;
  background:rgba(255,181,77,.1);border:1px solid rgba(198,119,85,.15);color:#FFF099;
  font-size:calc(var(--u)*11);line-height:1.5;letter-spacing:calc(var(--u)*1.32);text-transform:uppercase;
  text-box:trim-both cap alphabetic}
.d9__head h2{width:calc(var(--u)*607.2);font-weight:500;font-size:calc(var(--u)*45);line-height:1.156}
.d9__head p{width:calc(var(--u)*534.7);color:var(--lead);font-weight:500;font-size:calc(var(--u)*28);line-height:1.35}
.d9__cards{display:flex;align-items:stretch;gap:calc(var(--u)*16);width:100%}
.prog{flex:1 1 calc(var(--u)*602);display:flex;flex-direction:column;padding-bottom:calc(var(--u)*43.73);
  border-radius:calc(var(--u)*18);box-shadow:0 calc(var(--u)*18) calc(var(--u)*50) rgba(50,37,24,.08)}
.prog--o{background:linear-gradient(135deg,#FFEEE5 28.4%,#FFBF66 100%);border:1px solid #E6DED3}
.prog--b{background:linear-gradient(135deg,#FFEEE5 29.8%,#66E3FF 100%);border:1px solid rgba(0,0,0,.09)}
.prog__head{display:flex;flex-direction:column;gap:calc(var(--u)*20);padding:calc(var(--u)*31) calc(var(--u)*32) calc(var(--u)*22)}
.prog__badge{align-self:flex-start;padding:calc(var(--u)*8) calc(var(--u)*16);border-radius:999px;
  font-weight:700;font-size:calc(var(--u)*11);line-height:1.355;letter-spacing:calc(var(--u)*1.43);text-transform:uppercase;
  text-box:trim-both cap alphabetic}
.prog--o .prog__badge{background:#F6EADF;border:1px solid #E6D4C2;color:#B66F35}
.prog--b .prog__badge{background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.12);color:#000}
.prog__head h3{padding-top:calc(var(--u)*3.795);color:#181715;font-weight:500;font-size:calc(var(--u)*40);
  line-height:1.04;letter-spacing:calc(var(--u)*-1)}
.prog__head p{width:calc(var(--u)*536);color:#74706A;font-size:calc(var(--u)*15);line-height:1.547}
.prog--b .prog__head p{color:rgba(0,0,0,.55)}
.prog__acc{flex:1 1 auto;margin:0 calc(var(--u)*30) calc(var(--u)*30);border-radius:calc(var(--u)*13);overflow:hidden}
.prog--o .prog__acc{background:rgba(255,255,255,.45);border:1px solid #E6DED3}
.prog--b .prog__acc{background:rgba(255,255,255,.06);border:1px solid rgba(0,0,0,.17)}
.acc__btn{display:flex;align-items:center;gap:calc(var(--u)*12);width:100%;text-align:left;
  padding:calc(var(--u)*16) calc(var(--u)*16) calc(var(--u)*16) calc(var(--u)*19)}
.acc__n{width:calc(var(--u)*36);flex:0 0 auto;font-weight:700;font-size:calc(var(--u)*15);line-height:1.347;
  letter-spacing:calc(var(--u)*0.88);text-box:trim-both cap alphabetic}
.prog--o .acc__n{color:#D05E00}
.prog--b .acc__n{color:#178DD7}
.acc__t{flex:1 1 auto;padding-right:calc(var(--u)*6);font-weight:700;font-size:calc(var(--u)*20);line-height:1.25;
  letter-spacing:calc(var(--u)*-0.24);text-box:trim-both cap alphabetic}
.prog--o .acc__t{color:#181715}
.prog--b .acc__t{color:#000}
.acc__ic{position:relative;width:calc(var(--u)*32);height:calc(var(--u)*32);border-radius:50%;flex:0 0 auto}
.prog--o .acc__ic{background:rgba(255,255,255,.42);border:1px solid #D9C4AF}
.prog--b .acc__ic{background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.45)}
.acc__ic::before,.acc__ic::after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:calc(var(--u)*10);height:calc(var(--u)*1.5);border-radius:calc(var(--u)*2);background:#927050}
.prog--b .acc__ic::before,.prog--b .acc__ic::after{background:#000}
.acc__ic::after{rotate:90deg;transition:opacity .2s ease,rotate .2s ease}
.acc__item[open] .acc__ic::after,.acc__btn[aria-expanded="true"] .acc__ic::after{opacity:0}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.acc__btn[aria-expanded="true"]+.acc__panel{grid-template-rows:1fr}
.acc__panelin{overflow:hidden;min-height:0;padding:0}
.acc__btn[aria-expanded="true"]+.acc__panel .acc__panelin{
  padding:calc(var(--u)*4) calc(var(--u)*34) calc(var(--u)*24) calc(var(--u)*58)}
.prog--o .acc__panel{background:linear-gradient(180deg,rgba(244,236,227,.62) 0%,rgba(255,255,255,.1) 100%)}
.prog--b .acc__panel{background:linear-gradient(180deg,rgba(0,0,0,.067) 0%,rgba(0,0,0,.02) 100%)}
.acc__panel ul{display:flex;flex-direction:column;gap:calc(var(--u)*7.6);margin:0;padding:calc(var(--u)*14) 0 0 calc(var(--u)*18)}
.acc__panel li{font-weight:500;font-size:calc(var(--u)*16);line-height:1.33}
.prog--o .acc__panel li{color:#000}
.prog--b .acc__panel li{color:rgba(0,0,0,.74)}
.acc__deliver{margin-top:calc(var(--u)*13.99);font-weight:500;font-size:calc(var(--u)*14);line-height:1.343}
.prog--o .acc__deliver{color:#966732}
.prog--b .acc__deliver{color:#386F97}
.d9__aside{display:flex;align-items:center;gap:calc(var(--u)*34);width:100%;
  padding:calc(var(--u)*22) calc(var(--u)*35);background:#FFF4E5;border:1px solid #E6DED3;
  border-radius:calc(var(--u)*18);box-shadow:0 calc(var(--u)*12) calc(var(--u)*36) rgba(50,37,24,.04)}
.d9__aside>div:first-child{display:flex;align-items:center;gap:calc(var(--u)*18);width:calc(var(--u)*590);flex:0 0 auto}
.d9__aside i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*58);height:calc(var(--u)*58);
  background:#FAF1E6;border:1px solid #EAD8C4;border-radius:calc(var(--u)*13);flex:0 0 auto}
.d9__aside i img{width:calc(var(--u)*29);height:calc(var(--u)*29)}
.d9__aside .lbl{display:block;color:#B66F35;font-weight:700;font-size:calc(var(--u)*11);line-height:1.355;
  text-box:trim-both cap alphabetic}
.d9__aside h3{margin-top:calc(var(--u)*12);color:#181715;font-weight:700;font-size:calc(var(--u)*31);
  line-height:1.1;letter-spacing:calc(var(--u)*-1)}
.d9__aside hr{width:1px;height:calc(var(--u)*56);margin:0;border:0;background:#E6DED3;flex:0 0 auto}
.d9__aside>p{color:#8C6156;font-size:calc(var(--u)*14);line-height:1.55}

/* ---------- DOBRA 10 · CERTIFICADO ---------- */
.d10{position:relative;min-height:calc(var(--u)*958);background:#0F0E0D;overflow:hidden}
.d10__grid{position:absolute;left:calc(var(--u)*-302.5);top:0;width:calc(var(--u)*2525.1);
  height:calc(var(--u)*1147.8);max-width:none;z-index:0}
.d10__head{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  gap:calc(var(--u)*35);padding:calc(var(--u)*63) calc(var(--u)*40) 0;text-align:center}
.d10__badge{display:inline-block;padding:calc(var(--u)*17) calc(var(--u)*19);border-radius:calc(var(--u)*130);
  background:rgba(255,255,255,.05);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-weight:500;font-size:calc(var(--u)*15);line-height:1.347;text-transform:uppercase;
  text-box:trim-both cap alphabetic}
.d10__head h2{width:calc(var(--u)*919.8);max-width:100%;font-weight:500;font-size:calc(var(--u)*45);line-height:1.156}
.d10__head p{width:calc(var(--u)*786);max-width:100%;color:var(--lead);font-weight:500;
  font-size:calc(var(--u)*28);line-height:1.35}
.d10__cert{position:relative;z-index:1;width:calc(var(--u)*1240);height:auto;max-width:100%;
  margin:calc(var(--u)*76.5) auto 0;border-radius:calc(var(--u)*54) calc(var(--u)*54) 0 0}

/* ---------- DOBRA 12 · MENTORES ---------- */
.d12{padding:calc(var(--u)*106) calc(var(--u)*401) calc(var(--u)*106.2);
  background:linear-gradient(136.1deg,#191817 0%,#090807 100%)}
.d12__in{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*49);
  width:100%;max-width:calc(var(--u)*1117.2);margin:0 auto}
.d12__head{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*80);width:100%}
.d12__title{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*13);flex:0 0 auto}
.d12__title img:first-child{width:calc(var(--u)*382.7);height:auto}
.d12__title img:last-child{width:calc(var(--u)*197.6);height:auto}
.d12__head p{width:calc(var(--u)*559.3);color:var(--lead);font-weight:500;font-size:calc(var(--u)*22);line-height:1.223}
.d12__cards{display:flex;align-items:stretch;gap:calc(var(--u)*44.512);width:100%}
.mtr{display:flex;flex-direction:column;gap:calc(var(--u)*33.357);flex:1 1 calc(var(--u)*536.3);
  padding:calc(var(--u)*25);border:1px solid rgba(255,255,255,.1);border-radius:calc(var(--u)*20)}
.mtr__ph{width:100%;aspect-ratio:486/506;background:#1B1B1B;border-radius:calc(var(--u)*8.648);overflow:hidden}
.mtr__ph img{width:100%;height:100%;object-fit:cover}
.mtr__info{display:flex;flex-direction:column;gap:calc(var(--u)*25)}
.mtr__nm{display:flex;flex-direction:column;gap:calc(var(--u)*13.476)}
.mtr h3{font-weight:500;font-size:calc(var(--u)*30);line-height:1.35;text-box:trim-both cap alphabetic}
.mtr .handle{font-size:calc(var(--u)*18);line-height:1.35;letter-spacing:calc(var(--u)*0.36);
  text-box:trim-both cap alphabetic}
.mtr p{color:var(--lead);font-size:calc(var(--u)*18);line-height:1.35}

/* ---------- DOBRA 11 · PRICE BOX ---------- */
.d11{position:relative;padding:calc(var(--u)*72) calc(var(--u)*40) calc(var(--u)*72);
  background:radial-gradient(75% 78% at 48.1% -54.5%,#E26546 0%,#08080B 92%);overflow:hidden}
.d11>img.bgfill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.9}
.d11__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*47);
  width:100%;max-width:calc(var(--u)*1410);margin:0 auto}
.d11__head{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*35);text-align:center}
.d11__head h2{width:calc(var(--u)*861);max-width:100%;font-weight:500;font-size:calc(var(--u)*45);line-height:1.156}
.d11__head p{color:var(--lead);font-weight:500;font-size:calc(var(--u)*28);line-height:1.35}
.d11__boxes{display:flex;align-items:stretch;justify-content:center;gap:calc(var(--u)*20);width:100%}
.pbox{position:relative;display:flex;flex-direction:column;gap:calc(var(--u)*43);
  flex:1 1 calc(var(--u)*456.7);max-width:calc(var(--u)*456.7);
  padding:calc(var(--u)*57) calc(var(--u)*30);background:#211B17;
  border:calc(var(--u)*0.908) solid rgba(255,255,255,.15);border-radius:calc(var(--u)*11.231)}
.pbox--combo{background:linear-gradient(-135.5deg,#FFEEE9 9.6%,#E5663E 26.1%,#A23D1E 41.1%,#22100A 100%)}
.pbox__tag{position:absolute;top:0;left:50%;translate:-50% 0;padding:calc(var(--u)*10.7) calc(var(--u)*19.394);
  border-radius:0 0 calc(var(--u)*6) calc(var(--u)*6);font-weight:700;font-size:calc(var(--u)*12);
  line-height:1.35;white-space:nowrap;text-box:trim-both cap alphabetic}
.pbox__tag--o{background:linear-gradient(135deg,#FFEEE5 28.4%,#FFBF66 100%);border:1px solid #E6D4C2;color:#664021}
.pbox__tag--b{background:linear-gradient(135deg,#FFEEE5 29.8%,#66E3FF 100%);border:1px solid rgba(255,255,255,.12);color:#283E52}
.pbox__tag--c{background:#431709;border:1px solid rgba(255,255,255,.12);color:#FFE6CF}
.pbox__top{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*37)}
.pbox--combo .pbox__top{gap:calc(var(--u)*29)}
.pbox__logo{width:calc(var(--u)*204.1);height:auto}
.pbox__f{display:flex;flex-direction:column;gap:calc(var(--u)*25);margin:0;padding:0;list-style:none;width:calc(var(--u)*355)}
.pbox__f li{display:flex;align-items:center;gap:calc(var(--u)*8.878);
  font-weight:500;font-size:calc(var(--u)*18);line-height:1.35}
.pbox__f li img{width:calc(var(--u)*16.9);height:calc(var(--u)*16.9);flex:0 0 auto}
.pbox__f li.is-hl{padding:calc(var(--u)*12) calc(var(--u)*9);background:rgba(226,101,70,.45);
  border:1px solid rgba(255,255,255,.25);border-radius:calc(var(--u)*8.222);font-weight:700}
.pbox hr{width:calc(var(--u)*350);height:calc(var(--u)*0.908);margin:0 auto;border:0;background:rgba(255,255,255,.2)}
.pbox__bot{display:flex;flex-direction:column;gap:calc(var(--u)*43);margin-top:auto}
.pbox__price{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*20)}
.pbox__price b{font-weight:500;font-size:calc(var(--u)*60);line-height:1.35;text-box:trim-both cap alphabetic}
.pbox__price .parc{color:var(--lead);font-weight:500;font-size:calc(var(--u)*22);line-height:1.35;
  text-box:trim-both cap alphabetic}
.pbox--combo .pbox__price .parc{color:#D2D2D2}
.pbox__save{padding:calc(var(--u)*11) calc(var(--u)*25);background:#FAFF74;border-radius:calc(var(--u)*4);
  color:#3E4619;font-weight:700;font-size:calc(var(--u)*19);line-height:1.347;text-align:center;
  text-box:trim-both cap alphabetic}
.pbox__cta{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:calc(var(--u)*15) calc(var(--u)*17.552);border-radius:calc(var(--u)*140.417);
  background:rgba(145,90,56,.28);border:1px solid rgba(223,181,122,.3);transition:filter .2s ease,transform .2s ease}
.pbox__cta:hover{filter:brightness(1.15);transform:translateY(-1px)}
.pbox__cta::before{content:"";width:calc(var(--u)*32);height:calc(var(--u)*54);flex:0 0 auto}
.pbox__cta span{font-weight:500;font-size:calc(var(--u)*22);line-height:1.259;letter-spacing:calc(var(--u)*-0.585)}
.pbox__cta i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*54.4);height:calc(var(--u)*54.4);
  border-radius:50%;background:#fff;flex:0 0 auto}
.pbox__cta i img{width:calc(var(--u)*23.9);height:calc(var(--u)*21.2)}
.pbox--combo .pbox__cta{background:linear-gradient(42.4deg,#E26546 0%,#FAEEAD 50%,#FFFCEB 100%);border-color:transparent;color:#101010}
.pbox--combo .pbox__cta i{background:#101010}
.pbox--combo .pbox__cta i img{filter:invert(1)}
.d11__pay{width:calc(var(--u)*506.5);height:auto}


/* botão para quem já é aluno (desconto por WhatsApp) */
.d11__aluno{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*14);
  margin-top:calc(var(--u)*6);padding:calc(var(--u)*10) calc(var(--u)*14) calc(var(--u)*10) calc(var(--u)*28);
  border-radius:calc(var(--u)*100);background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);color:#FFF8F8;transition:background .2s ease,border-color .2s ease}
.d11__aluno:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.d11__aluno b{font-weight:700;font-size:calc(var(--u)*18);line-height:1.35;text-transform:uppercase;
  letter-spacing:calc(var(--u)*0.4);text-box:trim-both cap alphabetic}
.d11__aluno img{width:calc(var(--u)*40);height:calc(var(--u)*40);flex:0 0 auto}

/* faixa de logos rolando (mobile) — respeita prefers-reduced-motion */
@keyframes v-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- DOBRA 13 · FAQ ---------- */
.d13{padding:calc(var(--u)*81) calc(var(--u)*393) calc(var(--u)*81) calc(var(--u)*392);background:#161616}
.d13__in{display:flex;align-items:flex-start;gap:calc(var(--u)*51);width:100%;max-width:calc(var(--u)*1135.2);margin:0 auto}
.d13__side{display:flex;flex-direction:column;gap:calc(var(--u)*51);width:calc(var(--u)*318);flex:0 0 auto}
.d13__side h2{font-weight:700;font-size:calc(var(--u)*25);line-height:1.352;text-transform:uppercase}
.d13__side .sub{margin-top:calc(var(--u)*27);color:var(--lead);font-weight:500;font-size:calc(var(--u)*18);line-height:1.35}
.d13__sup{display:flex;flex-direction:column;gap:calc(var(--u)*46)}
.d13__sup p{font-weight:500;font-size:calc(var(--u)*18);line-height:1.35}
.d13__sup p+p{margin-top:calc(var(--u)*30);color:var(--lead)}
.d13__btns{display:flex;flex-direction:column;align-items:stretch;gap:calc(var(--u)*16)}
.d13__wa{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:calc(var(--u)*6.21) calc(var(--u)*10) calc(var(--u)*6.21) calc(var(--u)*28);border-radius:calc(var(--u)*50.566);
  background:linear-gradient(135deg,#FFEEE5 28.4%,#FFBF66 100%);border:calc(var(--u)*0.887) solid #DEC4AE;
  color:#000;transition:filter .2s ease}
.d13__wa:hover{filter:brightness(1.06)}
.d13__wa::before{content:"";height:calc(var(--u)*54)}
.d13__wa b{font-weight:700;font-size:calc(var(--u)*17.743);line-height:1.2;text-box:trim-both cap alphabetic}
.d13__wa img{width:calc(var(--u)*54);height:calc(var(--u)*54);flex:0 0 auto}
.d13__sup .d13__phone{align-self:stretch;color:#B1ADA1;font-size:calc(var(--u)*15);line-height:1.45;text-align:center}
.d13__phone a{color:inherit;transition:color .2s ease}
.d13__phone a:hover{color:var(--amber);text-decoration:underline}
.d13__list{display:flex;flex-direction:column;gap:calc(var(--u)*17);flex:1 1 auto;min-width:0}
.faq{display:flex;flex-direction:column;gap:calc(var(--u)*11);border-bottom:1px solid #2B2B2B;
  padding-bottom:calc(var(--u)*17)}
.d13__list .faq:last-child{border-bottom:0;padding-bottom:0}
.faq__q{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--u)*104);
  width:100%;text-align:left;padding:0}
.faq__q span{font-weight:700;font-size:max(15px,calc(var(--u)*15.5));line-height:1.348;letter-spacing:calc(var(--u)*0.155);
  text-box:trim-both cap alphabetic}
.faq__q img{width:calc(var(--u)*27.7);height:calc(var(--u)*29);flex:0 0 auto;transition:rotate .25s ease}
.faq__q[aria-expanded="false"] img{rotate:45deg}
.faq__a{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease}
.faq__q[aria-expanded="false"]+.faq__a{grid-template-rows:0fr}
.faq__a>div{overflow:hidden;min-height:0}
.faq__a p{width:calc(var(--u)*552.3);max-width:100%;padding:calc(var(--u)*12.605) 0;
  color:var(--lead);font-size:max(13px,calc(var(--u)*12));line-height:1.45}

/* ---------- DOBRA 14 · RODAPÉ ---------- */
.d14{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*40);
  min-height:calc(var(--u)*87);padding:calc(var(--u)*22.75) calc(var(--u)*277);
  background:#0B0908;border-top:calc(var(--u)*1.074) solid #4C4C4C}
.d14__logos{width:calc(var(--u)*413.3);height:auto;flex:0 0 auto}
.d14__info{display:flex;align-items:center;gap:calc(var(--u)*102.436)}
.d14__info p,.d14__info a{color:#F4F3EE;font-size:calc(var(--u)*16);line-height:1.35}
.d14__info a:hover{color:var(--amber)}
.d14__top{display:flex;align-items:center;gap:calc(var(--u)*8);flex:0 0 auto}
.d14__top span{color:#F4F3EE;font-size:calc(var(--u)*18);line-height:1.35}
.d14__top i{display:flex;align-items:center;justify-content:center;width:calc(var(--u)*27.7);height:calc(var(--u)*41.5);
  border-radius:calc(var(--u)*9.141);background:linear-gradient(135deg,#FFEEE5 28.4%,#FFBF66 100%)}
.d14__top i::before{content:"";width:calc(var(--u)*10);height:calc(var(--u)*10);
  border-left:calc(var(--u)*1.7) solid #000;border-top:calc(var(--u)*1.7) solid #000;rotate:45deg;margin-top:calc(var(--u)*4)}

/* ---------- MODAL DE CAPTURA ---------- */
.lead{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:5vw}
.lead[hidden]{display:none}
.lead__bd{position:absolute;inset:0;background:rgba(4,3,3,.78);backdrop-filter:blur(6px)}
.lead__box{position:relative;width:min(92vw,calc(var(--u)*560));max-height:90vh;overflow-y:auto;
  padding:calc(var(--u)*48) calc(var(--u)*44);background:#1A1512;
  border:1px solid rgba(255,255,255,.14);border-radius:calc(var(--u)*20);
  box-shadow:0 24px 80px rgba(0,0,0,.6)}
.lead__x{position:absolute;top:calc(var(--u)*16);right:calc(var(--u)*20);
  font-size:calc(var(--u)*34);line-height:1;color:#B1ADA1}
.lead__x:hover{color:#fff}
.lead__box h2{font-weight:500;font-size:calc(var(--u)*32);line-height:1.15}
.lead__of{margin-top:calc(var(--u)*10);color:var(--amber);font-weight:700;font-size:calc(var(--u)*18)}
.lead__box form{display:flex;flex-direction:column;margin-top:calc(var(--u)*28)}
.lead__box label{margin-bottom:calc(var(--u)*8);color:#DEC4AE;font-size:calc(var(--u)*15)}
.lead__box input{margin-bottom:calc(var(--u)*18);padding:calc(var(--u)*15) calc(var(--u)*18);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:calc(var(--u)*10);color:#fff;font:inherit;font-size:calc(var(--u)*17)}
.lead__box select{margin-bottom:calc(var(--u)*18);padding:calc(var(--u)*15) calc(var(--u)*18);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:calc(var(--u)*10);color:#fff;font:inherit;font-size:calc(var(--u)*17);
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%23DEC4AE' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right calc(var(--u)*18) center}
.lead__box select:focus{outline:2px solid var(--amber);outline-offset:1px;background-color:rgba(255,255,255,.1)}
.lead__box select option{background:#1A1512;color:#fff}
.lead__box input::placeholder{color:#7C736C}
.lead__box input:focus{outline:2px solid var(--amber);outline-offset:1px;background:rgba(255,255,255,.1)}
.lead__err{margin-bottom:calc(var(--u)*14);padding:calc(var(--u)*12) calc(var(--u)*14);
  background:rgba(214,69,50,.16);border:1px solid rgba(226,101,70,.5);border-radius:calc(var(--u)*8);
  color:#FFC9B8;font-size:calc(var(--u)*15);line-height:1.4}
.lead__go{padding:calc(var(--u)*18);border-radius:calc(var(--u)*100);
  background:var(--grad-btn);color:var(--ink);font-weight:700;font-size:calc(var(--u)*19);
  text-transform:uppercase;letter-spacing:.02em;transition:filter .2s ease}
.lead__go:hover{filter:brightness(1.06)}
.lead__go:disabled{opacity:.6;cursor:progress}
.lead__leg{margin-top:calc(var(--u)*14);color:#8C837C;font-size:calc(var(--u)*13);line-height:1.45;text-align:center}

/* ============================================================
   MOBILE — prancha 390 do Figma. Todas as medidas em --u (100vw/390).
   ============================================================ */
@media (max-width:767px){
  :root{--u:calc(100vw / 390)}

  /* ---- HEADER ----
     O menu mobile ficou (logo + sanfona). O CTA que acompanha o scroll é a barra fixa
     no rodapé (.cta-fixo), não o cabeçalho — decisão do Theo em 03/08. */
  .hdr__in{position:relative;display:flex;align-items:center;gap:0;height:auto;
    width:calc(var(--u)*316);margin:calc(var(--u)*12.7) auto 0;
    padding:calc(var(--u)*8.7) calc(var(--u)*21);
    background:rgba(0,0,0,.42);border:1px solid rgba(242,242,242,.12);border-radius:9999px;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .hdr__logo{width:calc(var(--u)*117.15);gap:calc(var(--u)*4.2);margin-right:auto}
  .hdr__logo img:first-child{height:calc(var(--u)*29.117)}
  .hdr__logo img:last-child{width:calc(var(--u)*102.836);height:calc(var(--u)*3.546)}
  .hdr__cta{display:none}
  .hdr__burger{display:flex;flex-direction:column;justify-content:center;gap:calc(var(--u)*4);
    width:calc(var(--u)*24);height:calc(var(--u)*24);padding:0}
  .hdr__burger span{display:block;width:calc(var(--u)*19.6);height:calc(var(--u)*1.8);
    border-radius:2px;background:#fff;transition:translate .25s ease,rotate .25s ease,opacity .2s ease}
  body.nav-open .hdr__burger span:nth-child(1){translate:0 calc(var(--u)*5.8);rotate:45deg}
  body.nav-open .hdr__burger span:nth-child(2){opacity:0}
  body.nav-open .hdr__burger span:nth-child(3){translate:0 calc(var(--u)*-5.8);rotate:-45deg}
  .hdr__nav{position:absolute;top:calc(100% + calc(var(--u)*10));left:0;right:0;
    flex-direction:column;align-items:stretch;gap:calc(var(--u)*4);
    padding:calc(var(--u)*14) calc(var(--u)*18);border-radius:calc(var(--u)*20);
    background:rgba(16,14,13,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    opacity:0;visibility:hidden;translate:0 calc(var(--u)*-8);
    transition:opacity .2s ease,translate .2s ease,visibility .2s}
  body.nav-open .hdr__nav{opacity:1;visibility:visible;translate:0 0}
  .hdr__nav a{justify-content:flex-start;padding:calc(var(--u)*12) calc(var(--u)*8);
    font-size:calc(var(--u)*13);line-height:calc(var(--u)*18);letter-spacing:calc(var(--u)*1.6)}

  /* ---- CTA FIXO NO RODAPÉ (mobile) ----
     Texto centralizado de verdade e ícone ancorado à direita: o espaçador ::before do
     .btn-grad deixaria o rótulo ~5px à esquerda do centro real. */
  /* Fica escondida enquanto houver CTA à vista (hero e dobra de investimento): no topo
     ela encostava no botão do hero — dois botões idênticos colados — e na dobra de
     preço cobriria os price boxes. Quem liga/desliga é o IntersectionObserver. */
  .cta-fixo{translate:0 110%;opacity:0;visibility:hidden;
    transition:translate .28s ease,opacity .2s ease,visibility .28s}
  body.cta-fixo-on .cta-fixo{translate:0 0;opacity:1;visibility:visible}
  .cta-fixo{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;
    /* 37 nas laterais = os mesmos 316 de largura dos outros botões e do menu */
    padding:calc(var(--u)*10) calc(var(--u)*37) calc(var(--u)*12);
    background:linear-gradient(180deg,rgba(20,19,18,0) 0%,rgba(16,15,14,.92) 38%,#100F0E 100%);
    padding-bottom:calc(calc(var(--u)*12) + env(safe-area-inset-bottom,0px))}
  .cta-fixo .btn-grad{box-shadow:0 calc(var(--u)*8) calc(var(--u)*24) rgba(0,0,0,.45)}

  /* .d2__txt e .d4__txt viram display:contents no mobile: o CTA sobe para filho
     direto da section e precisa da própria ordem, senão cai no meio do conteúdo. */
  .d2 .cta-d{order:6;margin-top:calc(var(--u)*32)}
  .d4 .cta-d{order:4;margin-top:calc(var(--u)*26)}
  /* as dobras têm padding lateral diferente (37 na maioria, 20 na d3/d10): sem teto
     o mesmo botão apareceria com 316 numa e 350 na outra ao longo do scroll */
  .cta-d .btn-grad{max-width:calc(var(--u)*316)}
  #diferencial,#turmas,#investimento,#mentores,#faq{scroll-margin-top:calc(var(--u)*130)}

  .barra{height:auto;min-height:calc(var(--u)*54.47);padding:calc(var(--u)*10) calc(var(--u)*23)}
  .barra span{font-size:calc(var(--u)*13);letter-spacing:calc(var(--u)*1.6);white-space:normal;line-height:1.4}
  .barra--urgente span{font-size:calc(var(--u)*14);letter-spacing:calc(var(--u)*1.2)}
  .barra--urgente b{min-width:calc(var(--u)*30);font-size:calc(var(--u)*16);
    padding:calc(var(--u)*1) calc(var(--u)*5);margin:0 calc(var(--u)*2)}
  /* ---- D1 HERO ---- */
  .hero{min-height:calc(var(--u)*719);margin-top:calc(var(--u)*-124.5)}
  .hero__bg{height:calc(var(--u)*430)}
  .hero__bg img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center top}
  .hero__bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--u)*170);
    background:linear-gradient(180deg,rgba(20,19,18,0) 0%,#141312 92%)}
  .hero__icons{display:none}
  .hero__in{gap:calc(var(--u)*20);padding:calc(var(--u)*377.4) calc(var(--u)*37) calc(var(--u)*21);max-width:none}
  .hero h1{width:100%;font-weight:500;font-size:calc(var(--u)*28);line-height:1;letter-spacing:calc(var(--u)*-0.5)}
  .hero__lead{margin-top:calc(var(--u)*16);width:100%;font-size:calc(var(--u)*17);line-height:1.147}
  /* Texto centralizado de verdade, ícone ancorado à direita (pedido do Theo, 03/08).
     Com o space-between do Figma o rótulo ficava 18,7px à ESQUERDA do centro real —
     o espaçador ::before (3px) e o ícone (40px) não se equilibram. O ::before continua
     existindo só pela ALTURA (o ícone virou absolute e saiu do fluxo); largura zero
     para não puxar o centro. Vale para os 12 botões do mobile, não só o fixo. */
  .btn-grad{position:relative;gap:0;justify-content:center;width:100%;
    padding:calc(var(--u)*10);border-radius:calc(var(--u)*100)}
  .btn-grad::before{width:0;height:calc(var(--u)*40)}
  .btn-grad b{text-align:center}
  .btn-grad i{position:absolute;right:calc(var(--u)*10);top:50%;translate:0 -50%}
  .btn-grad b{font-size:calc(var(--u)*16);line-height:calc(var(--u)*19.8);letter-spacing:calc(var(--u)*-0.434)}
  .btn-grad i{width:calc(var(--u)*40.385);height:calc(var(--u)*40.385)}
  .btn-grad i img{width:calc(var(--u)*17.7);height:calc(var(--u)*15.7)}

  /* ---- VSL no hero (nas duas variantes) ----
     No mobile o player entra NO FLUXO, no topo do hero e sobre a imagem de fundo,
     antes do título; o .hero__in perde o padding-top que reservava a imagem. */
  .hero__vsl{position:static;margin-top:calc(var(--u)*128)}
  .hero__in{padding-top:calc(var(--u)*26)}
  .hero__vsl vturb-smartplayer{border-radius:calc(var(--u)*12);
    box-shadow:0 calc(var(--u)*12) calc(var(--u)*34) rgba(0,0,0,.5)}

  /* ---- COLUNA DE CONTEÚDO ÚNICA (anotação do Theo, 08/08) ----
     Entre 480 e 767px o --u passa a ser 100vw/560, então o texto acompanha a tela
     enquanto quem tinha largura FIXA de 316u (a pílula do header e o player) travava
     — medido a 600px: texto 40→560 e player 131→469. Trocando a largura fixa pelas
     mesmas margens laterais do .hero__in (37u), os três passam a dividir a mesma
     coluna em QUALQUER largura. Em 390 dá exatamente os 316 de antes.
     A regra de desktop agora é só `.hero__vsl` (0-1-0), mesma especificidade desta —
     então quem vale é a ordem, e esta vem depois. Antes a de desktop era 0-2-0 e
     vencia, deixando o vídeo com 628px numa tela de 330. */
  .hero__vsl,
  .hdr__in{width:auto;margin-left:calc(var(--u)*37);margin-right:calc(var(--u)*37)}

  /* ---- D2 DIAGNÓSTICO ---- */
  .d2{display:flex;flex-direction:column;min-height:0;padding:calc(var(--u)*50.9) calc(var(--u)*37) calc(var(--u)*49.8)}
  .d2__bg{display:none}
  .d2__photo{display:block;order:2;width:100%;height:auto;aspect-ratio:316/314;object-fit:cover;
    border-radius:calc(var(--u)*29);margin:calc(var(--u)*25) 0 calc(var(--u)*32)}
  .d2__txt{display:contents}
  .d2__title{order:1}
  .d2__sub{order:3}
  .d2__body{order:4;margin-top:calc(var(--u)*32)}
  .d2__stats{order:5;margin-top:calc(var(--u)*32)}
  .d2__title{width:100%;font-size:calc(var(--u)*32);line-height:1.1}
  .d2__sub{width:100%;padding:calc(var(--u)*1.6) calc(var(--u)*12);
    background-size:calc(var(--u)*3) 100%;font-size:calc(var(--u)*19);line-height:1.153}
  .d2__body{gap:calc(var(--u)*21.9);font-size:calc(var(--u)*19);line-height:1.153}
  .d2__stats{flex-wrap:wrap;gap:calc(var(--u)*8) 0;align-items:flex-start}
  .d2__stat{gap:calc(var(--u)*10);width:calc(var(--u)*150);flex:0 0 auto}
  .d2__stat+.d2__stat{padding-left:calc(var(--u)*16);border-left:1px solid rgba(80,80,80,.28)}
  .d2__stat:nth-child(3){width:100%;padding:calc(var(--u)*13) 0 0;margin-top:calc(var(--u)*13);
    border-left:0;border-top:1px solid rgba(80,80,80,.28)}
  .d2__stat b{font-size:calc(var(--u)*32);line-height:.92}
  .d2__stat p{font-size:calc(var(--u)*13);line-height:1.2}
  .d2__stat:nth-child(1) p,.d2__stat:nth-child(2) p{width:calc(var(--u)*150)}
  .d2__stat:nth-child(3) p{width:calc(var(--u)*138)}

  /* ---- D3 DIFERENCIAL ---- */
  .d3{min-height:0;padding:calc(var(--u)*58.5) calc(var(--u)*20)}
  .d3__in{gap:calc(var(--u)*30);max-width:calc(var(--u)*350)}
  .d3__h{font-size:calc(var(--u)*24);line-height:1.1}
  .d3__bullets{flex-direction:column;gap:calc(var(--u)*16);width:100%;max-width:calc(var(--u)*350)}
  .pill{gap:calc(var(--u)*11.774);width:100%;height:auto;min-height:calc(var(--u)*68);
    padding:calc(var(--u)*17) calc(var(--u)*15);border-radius:calc(var(--u)*16)}
  .pill i{width:calc(var(--u)*34);height:calc(var(--u)*34);padding:calc(var(--u)*6.8)}
  .pill span{font-size:calc(var(--u)*17);line-height:1.2}
  .pill--wide span{width:auto}
  .d3__sub{font-size:calc(var(--u)*19);line-height:1.153}
  .d3__out{font-size:calc(var(--u)*21);line-height:1.1}

  /* ---- D4 MÉTODO ---- */
  .d4{display:flex;flex-direction:column;min-height:0;padding:calc(var(--u)*53) calc(var(--u)*37)}
  .d4__txt{display:contents}
  .d4__txt h2{order:1}
  .d4__txt p{order:3;margin-top:calc(var(--u)*26)}
  .d4__photos{position:relative;inset:auto;order:2;width:100%;height:calc(var(--u)*288);
    margin:calc(var(--u)*25) 0 calc(var(--u)*25);padding:1px;border-radius:calc(var(--u)*13);overflow:hidden;
    background:linear-gradient(-135deg,#A37636 0%,rgba(163,118,54,0) 50%,#A37636 100%)}
  /* os rostos ficavam colados no meio: cada foto desloca o recorte para o seu lado,
     jogando o rosto para a borda externa do card (testado 70/30, 80/20 e 100/0) */
  .d4__ph--l img{object-position:80% center}
  .d4__ph--r img{object-position:20% center}
  .d4__ph--r{border-left:calc(var(--u)*2) solid rgba(163,118,54,.55)}
  .d4__ph{position:absolute;top:1px;bottom:1px;height:auto;width:calc(50% - 1px);overflow:hidden}
  .d4__ph--l{left:1px;border-radius:calc(var(--u)*12) 0 0 calc(var(--u)*12)}
  .d4__ph--r{left:50%;border-radius:0 calc(var(--u)*12) calc(var(--u)*12) 0}
  .mcard{bottom:calc(var(--u)*4.4);width:calc(var(--u)*145.5);gap:calc(var(--u)*8);
    padding:calc(var(--u)*11.842) calc(var(--u)*12.21);border-radius:calc(var(--u)*10);
    border-color:rgba(255,255,255,.32)}
  .mcard--l{left:calc(var(--u)*4)}
  .mcard--r{left:auto;right:calc(var(--u)*4)}
  .mcard b{font-size:calc(var(--u)*14);line-height:1.35;white-space:normal}
  .mcard span{font-size:calc(var(--u)*12);line-height:1.1;white-space:normal}
  .d4__txt h2{font-size:calc(var(--u)*25);line-height:1.1;text-align:center}
  .d4__txt p{font-size:calc(var(--u)*17);line-height:1.147;text-align:center}

  /* ---- D5 TURMAS ---- */
  .d5{padding:calc(var(--u)*53.9) calc(var(--u)*37) calc(var(--u)*53.6)}
  .d5__in{gap:calc(var(--u)*35);max-width:none}
  .d5__head{gap:calc(var(--u)*25)}
  .d5__head h2{width:100%;font-size:calc(var(--u)*23);line-height:1.1}
  .d5__head p{width:100%;font-size:calc(var(--u)*17);line-height:1.147}
  .d5__body{gap:calc(var(--u)*25);max-width:none}
  .d5__rule{width:100%}
  .d5__rule span{font-size:calc(var(--u)*18);line-height:1.35}
  .d5__turmas{flex-direction:column;gap:calc(var(--u)*25)}
  .d5__sep{width:calc(var(--u)*142);height:calc(var(--u)*1.5)}
  .turma{flex:0 0 auto;width:100%;gap:calc(var(--u)*25);
    padding:calc(var(--u)*24) calc(var(--u)*16);border:1px solid rgba(255,255,255,.1);
    border-radius:calc(var(--u)*16);background:rgba(255,255,255,.03)}
  .turma--b{border-color:rgba(102,227,255,.18)}
  .turma--o{border-color:rgba(255,191,102,.18)}
  .d5__sep{display:none}
  .turma__top{flex-direction:column;gap:calc(var(--u)*25)}
  .turma__when{flex-direction:row;justify-content:center;gap:calc(var(--u)*15.293);width:100%}
  .badge{padding:calc(var(--u)*13) calc(var(--u)*15);font-size:calc(var(--u)*14);line-height:1.35}
  .turma__when>span{font-size:calc(var(--u)*18);line-height:1.35;letter-spacing:calc(var(--u)*0.27)}
  .turma__logo{gap:calc(var(--u)*7.871);width:calc(var(--u)*217.7);margin:0 auto}
  .turma__tag{margin-top:calc(var(--u)*2.345);padding:calc(var(--u)*4.815) calc(var(--u)*7.703);
    border-width:calc(var(--u)*0.578);border-radius:calc(var(--u)*23.11);
    font-size:calc(var(--u)*10.685);letter-spacing:calc(var(--u)*1.389)}
  .d5__note{font-size:calc(var(--u)*15);line-height:1.347}

  /* ---- D6 PRA QUEM É ---- */
  .d6{min-height:0;padding:calc(var(--u)*54.3) calc(var(--u)*37) calc(var(--u)*53.3)}
  .d6__bg{left:calc(var(--u)*-1332.2);top:calc(var(--u)*529.8);
    width:calc(var(--u)*3054.3);height:calc(var(--u)*2181.7)}
  .d6__in{gap:calc(var(--u)*25);max-width:none}
  .d6__in>h2{width:100%;font-size:calc(var(--u)*27);line-height:1.1}
  .d6__grp{gap:calc(var(--u)*25)}
  .d6__rule::before,.d6__rule::after{width:calc(var(--u)*30)}
  .d6__rule span{font-size:calc(var(--u)*22);line-height:1.15}
  .d6__cards{flex-direction:column;gap:calc(var(--u)*15)}
  .card{flex:0 0 auto;max-width:none;min-height:0;gap:calc(var(--u)*19);
    padding:calc(var(--u)*25) calc(var(--u)*19);border-radius:calc(var(--u)*18)}
  .card--no{min-height:0}
  .card i{width:calc(var(--u)*46);height:calc(var(--u)*46)}
  .card i img{width:calc(var(--u)*20);height:calc(var(--u)*20)}
  .card h3{font-size:calc(var(--u)*21);line-height:1.148}
  .card p{font-size:calc(var(--u)*18);line-height:1.15}
  .card--no i{width:calc(var(--u)*28);height:calc(var(--u)*28)}
  .card--no i img{width:calc(var(--u)*11);height:calc(var(--u)*11)}
  .card--no p{font-size:calc(var(--u)*16);line-height:1.25}

  /* ---- D7 LOGOS ---- */
  .d7{min-height:calc(var(--u)*160);padding:calc(var(--u)*31.2) 0}
  .d7__in{flex-direction:column;gap:calc(var(--u)*25);max-width:none}
  .d7__in p{width:100%;padding:0 calc(var(--u)*37);text-align:center;
    font-size:calc(var(--u)*21);line-height:1.148}
  .d7__in>img{display:none}
  .d7__logos-m{display:block;width:100%;overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
  .d7__track{display:flex;width:max-content;animation:v-marquee 38s linear infinite}
  .d7__track img{display:block;width:calc(var(--u)*1100.5);height:calc(var(--u)*33.5);max-width:none;
    padding:0 calc(var(--u)*18)}
  @media (prefers-reduced-motion:reduce){ .d7__track{animation:none} }

  /* ---- D8 DEPOIMENTOS ---- */
  .d8{padding:calc(var(--u)*51.3) 0 calc(var(--u)*52.3)}
  .d8__in{gap:calc(var(--u)*30)}
  .d8__in>h2{width:calc(var(--u)*316);font-size:calc(var(--u)*24);line-height:1.1}
  .d8__track{gap:calc(var(--u)*15.7);padding:calc(var(--u)*4) calc(var(--u)*37)}
  .tcard{flex:0 0 calc(var(--u)*314);min-height:calc(var(--u)*345.4);gap:calc(var(--u)*23.55);
    padding:calc(var(--u)*31.4) calc(var(--u)*25.123);border-radius:calc(var(--u)*23.552)}
  .tcard__av{width:calc(var(--u)*63);height:calc(var(--u)*63);font-size:calc(var(--u)*25)}
  .tcard__stars{gap:calc(var(--u)*6)}
  .tcard__stars img{width:calc(var(--u)*26.5);height:calc(var(--u)*25.3)}
  .tcard__body{gap:calc(var(--u)*25.9)}
  .tcard__txt{gap:calc(var(--u)*18)}
  .tcard h3{font-size:calc(var(--u)*17);line-height:1.018}
  .tcard p{font-size:calc(var(--u)*14);line-height:1.4}
  .tcard cite{font-size:calc(var(--u)*14);line-height:1.007}

  /* ---- D9 PROGRAMA ---- */
  .d9{padding:calc(var(--u)*44.7) calc(var(--u)*37) calc(var(--u)*44.4)}
  /* no mobile a section é bem mais alta: o veil precisa cobrir mais para o brilho
     do fundo não atravessar o título */
  .d9::before{background:linear-gradient(180deg,#070605 0%,rgba(7,6,5,.96) 30%,rgba(7,6,5,.72) 46%,rgba(7,6,5,0) 72%)}
  .d9>img.bgfill+img.bgfill{opacity:.22}
  .d9__in{gap:calc(var(--u)*37);max-width:none}
  .d9__head{gap:calc(var(--u)*25)}
  .tagpill{padding:calc(var(--u)*10) calc(var(--u)*17);font-size:calc(var(--u)*14);letter-spacing:calc(var(--u)*1.32)}
  .d9__head h2{width:100%;font-size:calc(var(--u)*27);line-height:1.1}
  .d9__head p{width:100%;font-size:calc(var(--u)*19);line-height:1.153}
  .d9__cards{flex-direction:column;gap:calc(var(--u)*16)}
  .prog{flex:0 0 auto;width:100%;padding-bottom:calc(var(--u)*22);border-radius:calc(var(--u)*14)}
  .prog__head{gap:calc(var(--u)*13);padding:calc(var(--u)*22) calc(var(--u)*12) calc(var(--u)*14)}
  .prog__badge{padding:calc(var(--u)*6) calc(var(--u)*11);font-size:calc(var(--u)*10);
    letter-spacing:calc(var(--u)*0.843)}
  .prog__head h3{padding-top:calc(var(--u)*2);font-size:calc(var(--u)*21);line-height:1.148;
    letter-spacing:calc(var(--u)*-1)}
  .prog__head p{width:100%;font-size:calc(var(--u)*14);line-height:1.15}
  .prog__acc{margin:0 calc(var(--u)*12) calc(var(--u)*12);border-radius:calc(var(--u)*10)}
  .acc__btn{gap:calc(var(--u)*8);padding:calc(var(--u)*11) calc(var(--u)*11) calc(var(--u)*11) calc(var(--u)*12)}
  .acc__n{width:calc(var(--u)*22);font-size:calc(var(--u)*12);letter-spacing:calc(var(--u)*0.519)}
  .acc__t{font-size:calc(var(--u)*13);line-height:1.4;letter-spacing:calc(var(--u)*-0.5)}
  .acc__ic{width:calc(var(--u)*22);height:calc(var(--u)*22)}
  .acc__ic::before,.acc__ic::after{width:calc(var(--u)*8);height:calc(var(--u)*1.4)}
  .acc__btn[aria-expanded="true"]+.acc__panel .acc__panelin{
    padding:calc(var(--u)*4) calc(var(--u)*16) calc(var(--u)*14) calc(var(--u)*24)}
  .acc__panel ul{gap:calc(var(--u)*6);padding:calc(var(--u)*8) 0 0 calc(var(--u)*12)}
  .acc__panel li{font-size:calc(var(--u)*12);line-height:1.15}
  .acc__deliver{margin-top:calc(var(--u)*10);font-size:calc(var(--u)*11);line-height:1.25}
  .d9__aside{flex-direction:column;align-items:flex-start;gap:calc(var(--u)*16);
    padding:calc(var(--u)*18);border-radius:calc(var(--u)*14)}
  .d9__aside>div:first-child{width:100%;gap:calc(var(--u)*13)}
  .d9__aside i{width:calc(var(--u)*44);height:calc(var(--u)*44);border-radius:calc(var(--u)*10)}
  .d9__aside i img{width:calc(var(--u)*22);height:calc(var(--u)*22)}
  .d9__aside .lbl{font-size:calc(var(--u)*10)}
  .d9__aside h3{margin-top:calc(var(--u)*8);font-size:calc(var(--u)*21);line-height:1.1}
  .d9__aside hr{width:100%;height:1px}
  .d9__aside>p{font-size:calc(var(--u)*12);line-height:1.5}

  /* ---- D10 CERTIFICADO ---- */
  .d10{min-height:0;padding-bottom:calc(var(--u)*4)}
  .d10__grid{display:none}
  .d10__head{gap:calc(var(--u)*25);padding:calc(var(--u)*55.7) calc(var(--u)*20) 0}
  .d10__badge{padding:calc(var(--u)*17) calc(var(--u)*19);font-size:calc(var(--u)*14);line-height:1.35}
  .d10__head h2{width:100%;font-size:calc(var(--u)*23);line-height:1.1}
  .d10__head p{width:100%;font-size:calc(var(--u)*22);line-height:1.15}
  .d10__cert{width:calc(var(--u)*339);height:auto;margin-top:calc(var(--u)*44);
    border-radius:calc(var(--u)*14.76) calc(var(--u)*14.76) 0 0}

  /* ---- D11 PRICE BOX ---- */
  .d11{padding:calc(var(--u)*51.9) calc(var(--u)*37) calc(var(--u)*51)}
  .d11__in{gap:calc(var(--u)*31);max-width:none}
  .d11__head{gap:calc(var(--u)*25)}
  .d11__head h2{width:100%;font-size:calc(var(--u)*25);line-height:1.1}
  .d11__head p{font-size:calc(var(--u)*19);line-height:1.153}
  .d11__boxes{flex-direction:column;gap:calc(var(--u)*16.918)}
  .pbox{flex:0 0 auto;width:100%;max-width:none;gap:calc(var(--u)*27);
    padding:calc(var(--u)*48.218) calc(var(--u)*25.378);border-radius:calc(var(--u)*9.501)}
  .pbox__tag{padding:calc(var(--u)*7) calc(var(--u)*14);font-size:calc(var(--u)*14);
    letter-spacing:calc(var(--u)*-0.6);border-radius:0 0 calc(var(--u)*5) calc(var(--u)*5)}
  .pbox__top,.pbox--combo .pbox__top{gap:calc(var(--u)*22)}
  .pbox__logo{width:calc(var(--u)*180);height:auto}
  .pbox__f{width:100%;gap:calc(var(--u)*21)}
  .pbox__f li{font-size:calc(var(--u)*18);line-height:1.15}
  .pbox__f li img{width:calc(var(--u)*15);height:calc(var(--u)*15)}
  .pbox hr{width:100%}
  .pbox__bot{gap:calc(var(--u)*30)}
  .pbox__price{gap:calc(var(--u)*14)}
  .pbox__price b{font-size:calc(var(--u)*50);line-height:1.35}
  .pbox__price .parc{font-size:calc(var(--u)*18);line-height:1.15}
  .pbox__save{padding:calc(var(--u)*9) calc(var(--u)*16);font-size:calc(var(--u)*15)}
  .pbox__cta{padding:calc(var(--u)*11) calc(var(--u)*13)}
  .pbox__cta::before{width:calc(var(--u)*22);height:calc(var(--u)*42)}
  .pbox__cta span{font-size:calc(var(--u)*18);line-height:1.3;letter-spacing:calc(var(--u)*-0.495)}
  .pbox__cta i{width:calc(var(--u)*42);height:calc(var(--u)*42)}
  .pbox__cta i img{width:calc(var(--u)*18);height:calc(var(--u)*16)}
  .d11__pay{width:calc(var(--u)*316);height:auto}

  /* ---- D12 MENTORES ---- */
  .d12{padding:calc(var(--u)*43.3) calc(var(--u)*37) calc(var(--u)*44.3)}
  .d12__in{gap:calc(var(--u)*41);max-width:none}
  .d12__head{flex-direction:column;gap:calc(var(--u)*25)}
  .d12__title{gap:calc(var(--u)*10)}
  .d12__title img:first-child{width:calc(var(--u)*220)}
  .d12__title img:last-child{width:calc(var(--u)*114)}
  .d12__head p{width:100%;text-align:center;font-size:calc(var(--u)*18);line-height:1.15}
  .d12__cards{flex-direction:column;gap:calc(var(--u)*29.153)}
  .mtr{flex:0 0 auto;gap:calc(var(--u)*21.847);padding:calc(var(--u)*16.374);
    border-radius:calc(var(--u)*13.099)}
  .mtr__ph{aspect-ratio:319/331}
  .mtr__info{gap:calc(var(--u)*18)}
  .mtr__nm{gap:calc(var(--u)*9)}
  .mtr h3{font-size:calc(var(--u)*22);line-height:1.35}
  .mtr .handle{font-size:calc(var(--u)*15);line-height:1.35}
  .mtr p{font-size:calc(var(--u)*14);line-height:1.25}

  /* ---- D13 FAQ ---- */
  .d13{padding:calc(var(--u)*45) calc(var(--u)*37)}
  .d13__in{flex-direction:column;gap:calc(var(--u)*48);max-width:none}
  .d13__side{width:100%;gap:calc(var(--u)*51)}
  .d13__side h2{font-size:calc(var(--u)*25);line-height:1.352}
  .d13__side .sub{margin-top:calc(var(--u)*27);font-size:calc(var(--u)*18);line-height:1.35}
  .d13__sup p{font-size:calc(var(--u)*18);line-height:1.35}
  .d13__wa{width:100%}
  .d13__wa{padding:calc(var(--u)*6) calc(var(--u)*6) calc(var(--u)*6) calc(var(--u)*22)}
  .d13__wa::before{height:calc(var(--u)*44)}
  .d13__wa b{font-size:calc(var(--u)*18)}
  .d13__wa img{width:calc(var(--u)*44);height:calc(var(--u)*44)}
  .d13__sup .d13__phone{font-size:calc(var(--u)*15);line-height:1.45}
  .d13__list{width:100%;gap:calc(var(--u)*17)}
  .faq{gap:calc(var(--u)*10);padding-bottom:calc(var(--u)*14)}
  .faq__q{gap:calc(var(--u)*16)}
  .faq__q span{font-size:calc(var(--u)*15);line-height:1.347;letter-spacing:calc(var(--u)*0.15)}
  .faq__q img{width:calc(var(--u)*20);height:calc(var(--u)*21)}
  .faq__a p{width:100%;padding:calc(var(--u)*10) 0;font-size:calc(var(--u)*13);line-height:1.4}

  /* ---- D14 RODAPÉ ---- */
  /* o padding de baixo abre espaço para a barra fixa não cobrir o fim da página */
  .d14{flex-direction:column;gap:calc(var(--u)*42);min-height:0;
    padding:calc(var(--u)*36) calc(var(--u)*37) calc(var(--u)*104);text-align:center}
  .d14__logos{width:calc(var(--u)*316);height:auto}
  .d14__info{flex-direction:column;gap:calc(var(--u)*20);text-align:center}
  .d14__info p,.d14__info a{font-size:calc(var(--u)*15);line-height:1.35}
  .d14__top span{font-size:calc(var(--u)*15)}
  .d14__top i{width:calc(var(--u)*20.1);height:calc(var(--u)*30.1);border-radius:calc(var(--u)*6.63)}
  .d14__top i::before{width:calc(var(--u)*8);height:calc(var(--u)*8)}

  /* ---- MODAL ---- */
  .lead{padding:calc(var(--u)*20)}
  .lead__box{width:100%;padding:calc(var(--u)*30) calc(var(--u)*22)}
  .lead__box h2{font-size:calc(var(--u)*24)}
  .lead__of{font-size:calc(var(--u)*15)}
  .lead__box label{font-size:calc(var(--u)*14)}
  .lead__box input,.lead__box select{padding:calc(var(--u)*14) calc(var(--u)*15);font-size:calc(var(--u)*16)}
  .lead__go{padding:calc(var(--u)*16);font-size:calc(var(--u)*16)}
  .lead__leg{font-size:calc(var(--u)*12)}
  .lead__x{top:calc(var(--u)*8);right:calc(var(--u)*14);font-size:calc(var(--u)*30)}
}

/* Faixa 480-767: estica a prancha de 390 sem quebrar o layout */
@media (min-width:480px) and (max-width:767px){ :root{--u:calc(100vw / 560)} }
