/* ==========================================================================
   Academia de Português — Prof. Álvaro Ferreira
   V3 · Design system base (layout, componentes, páginas SEO)
   O movimento fica isolado em animations.css.
   ========================================================================== */

:root{
  /* Identidade: preto do dojo + verde-limão da marca + neon do estúdio */
  --ink-900:#07090c;
  --dark:#0b0e13;
  --dark-2:#12161d;
  --dark-3:#1a1f28;
  --bg:#f6f7fa;
  --surface:#fff;
  --surface-2:#eef1f6;
  --ink:#0b1220;
  --muted:#5c6575;
  --muted-dark:#9aa6b6;
  --line:#dde2ea;
  --line-dark:#2a313c;

  --accent:#b9d635;          /* verde-limão da Academia */
  --accent-2:#e6f37a;
  --accent-ink:#1a1f07;
  --accent-deep:#526c0e;
  --green:#45761f;           /* faixa verde — escurecido p/ texto branco passar em AA */
  --neon:#4da3ff;            /* luz azul do estúdio */
  --ember:#ff6a3d;           /* luz quente do estúdio */

  --shadow:0 18px 50px rgba(6,17,31,.10);
  --shadow-lg:0 30px 80px rgba(6,17,31,.16);
  --shadow-dark:0 30px 70px rgba(0,0,0,.55);
  --radius:22px;
  --radius-sm:14px;
  --radius-lg:28px;
  --max:1180px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  /* Altura real do CTA fixo mobile, usada para o padding de fim de página */
  --sticky-h:0px;
}

/* --------------------------------------------------------------- reset --- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video,iframe{max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
ul{margin:0 0 18px;padding-left:1.15em}
p{margin:0 0 18px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

.container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}
.narrow{max-width:830px}
.center{text-align:center;margin-inline:auto}
.section{padding:clamp(56px,8vw,104px) 0;position:relative}
.section-soft{background:var(--surface-2)}
.section-dark{background:linear-gradient(150deg,var(--ink-900),var(--dark-2) 60%,#171d26);color:#f2f5f9;position:relative;overflow:hidden}
.section-dark p{color:#c3cdd9}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:12px;transform:translateY(-160%);z-index:9999;background:#fff;color:#000;padding:10px 14px;border-radius:8px;font-weight:700}
.skip-link:focus{transform:none}

/* ----------------------------------------------------------- tipografia --- */
h1,h2,h3{line-height:1.08;letter-spacing:-.025em;margin:0 0 18px;font-weight:800}
h1{font-size:clamp(1.9rem,4.1vw,3.05rem);letter-spacing:-.032em}
h2{font-size:clamp(1.75rem,4vw,2.9rem)}
h3{font-size:1.2rem;letter-spacing:-.015em}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;
  letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--accent-deep);
  margin-bottom:12px;
}
/* Todo contexto de fundo escuro usa o acento claro no rotulo. */
.section-dark .eyebrow,.hero .eyebrow,.final-sale-section .eyebrow,
.final-cta-card .eyebrow,.inline-cta .eyebrow,.problem-verdict .eyebrow{color:var(--accent)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px;opacity:.8}
.hero-lead,.section-head p{font-size:clamp(1rem,2.4vw,1.14rem)}
.section:not(.section-dark) .section-head p{color:var(--muted)}
.small,small{font-size:.84rem}
.section-head{margin-bottom:clamp(30px,4vw,48px)}
.section-head.center p{margin-inline:auto}
.text-link{font-weight:800;color:var(--accent-deep);border-bottom:2px solid rgba(185,214,53,.45);padding-bottom:2px}
.section-dark .text-link{color:var(--accent)}

/* --------------------------------------------------------------- botões --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:54px;padding:0 26px;border-radius:999px;border:1px solid transparent;
  font-weight:800;letter-spacing:-.01em;text-align:center;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease);
  position:relative;overflow:hidden;
}
.btn-primary{
  background:linear-gradient(135deg,var(--accent-2),var(--accent));
  color:var(--accent-ink);
  box-shadow:0 12px 32px rgba(185,214,53,.34),inset 0 1px 0 rgba(255,255,255,.5);
}
.btn-primary:hover{filter:brightness(1.05)}
.btn-ghost{border-color:rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.06)}
.section:not(.section-dark) .btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.section:not(.section-dark) .btn-ghost:hover{background:var(--surface-2)}
.btn-small{min-height:42px;padding:0 18px;font-size:.9rem}
.btn-compact{min-height:46px;padding:0 20px}
.btn-block{width:100%}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.affiliate-note{font-size:.79rem;color:var(--muted);margin-top:12px}
.section-dark .affiliate-note,.hero .affiliate-note{color:#8e9bab}

/* --------------------------------------------------------- topo/afiliado --- */
.affiliate-disclosure-top{
  background:var(--ink-900);color:#96a2b2;font-size:.72rem;text-align:center;
  padding:6px 16px;letter-spacing:.02em;line-height:1.4;
}
.affiliate-disclosure-top strong{color:#cdd6e1;font-weight:700}

/* -------------------------------------------------------------- header --- */
.site-header{
  position:sticky;top:0;z-index:900;
  background:rgba(11,14,19,.72);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.site-header.is-scrolled{background:rgba(7,9,12,.94);box-shadow:0 12px 40px rgba(0,0,0,.35);border-bottom-color:rgba(255,255,255,.1)}
.header-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:11px;min-width:0;padding:6px 0}
.brand-logo-shell{
  display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:13px;
  background:linear-gradient(140deg,#1b212b,#0c1015);border:1px solid rgba(185,214,53,.35);
  overflow:hidden;
}
.brand-logo-shell img{width:36px;height:auto}
.brand-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-copy strong{font-size:.95rem;color:#fff;letter-spacing:-.02em;white-space:nowrap}
.brand-copy small{font-size:.7rem;color:var(--accent);font-weight:700;letter-spacing:.04em}
.main-nav{display:flex;align-items:center;gap:22px}
.main-nav a{font-size:.92rem;font-weight:600;color:#d5dde7;position:relative;padding:6px 0}
.main-nav a:not(.btn)::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--ease);
}
.main-nav a:not(.btn):hover{color:#fff}
.main-nav a:not(.btn):hover::after{transform:scaleX(1)}
.main-nav .btn{margin-left:4px}
.main-nav .btn-primary,.main-nav .btn-primary:visited{color:#000!important}
.menu-toggle{
  display:none;width:46px;height:46px;border-radius:13px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.menu-toggle span:not(.sr-only){display:block;width:19px;height:2px;background:#fff;border-radius:2px;transition:transform .25s var(--ease),opacity .2s}
.menu-toggle[aria-expanded="true"] span:nth-of-type(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-of-type(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-of-type(3){transform:translateY(-7px) rotate(-45deg)}

.reading-progress{position:sticky;top:66px;z-index:899;height:3px;background:transparent;pointer-events:none}
.reading-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#fff,var(--accent) 45%,var(--green));box-shadow:0 0 12px rgba(185,214,53,.6)}

@media (max-width:960px){
  .menu-toggle{display:flex}
  /* O header tem backdrop-filter, então ele é o bloco contentor deste
     position:fixed. Por isso o painel abre a partir do rodapé do header
     (top:100%) — assim a marca e o botão de fechar continuam visíveis. */
  .main-nav{
    position:fixed;top:100%;left:0;right:0;bottom:auto;
    padding:14px 22px calc(26px + env(safe-area-inset-bottom));
    flex-direction:column;align-items:stretch;gap:4px;
    background:linear-gradient(160deg,#0b0e13,#141a22);
    border-bottom:1px solid rgba(255,255,255,.1);
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .26s var(--ease-out),transform .26s var(--ease-out),visibility .26s;
    box-shadow:0 30px 70px rgba(0,0,0,.5);
    max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;
  }
  .main-nav.is-open{opacity:1;visibility:visible;transform:none}
  .brand,.menu-toggle{position:relative;z-index:2}
  .main-nav a:not(.btn){padding:15px 4px;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .main-nav a:not(.btn)::after{display:none}
  .main-nav .btn{margin-top:18px;width:100%}
  .reading-progress{top:66px}
}

/* ============================================================== HERO ===== */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--ink-900);color:#fff;
  padding:clamp(24px,3vw,40px) 0 clamp(36px,4.2vw,58px);
}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-bg span{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.5}
.hero-orb-1{width:min(62vw,620px);aspect-ratio:1;background:radial-gradient(circle,rgba(77,163,255,.55),transparent 68%);top:-16%;right:-12%}
.hero-orb-2{width:min(54vw,520px);aspect-ratio:1;background:radial-gradient(circle,rgba(185,214,53,.42),transparent 68%);bottom:-22%;left:-14%}
.hero-orb-3{width:min(40vw,400px);aspect-ratio:1;background:radial-gradient(circle,rgba(255,106,61,.34),transparent 70%);top:34%;left:38%}
.hero-grid-lines{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 62% at 50% 34%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 62% at 50% 34%,#000 30%,transparent 78%);
}
/* Textura de grão feita só com gradiente: não entra na disputa de LCP
   (ao contrário de uma imagem de ruído) e custa menos para compor. */
.hero-noise{
  position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px);
}
@media (max-width:760px){.hero-noise{display:none}}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 50% 40%,transparent 40%,rgba(3,5,8,.72) 100%)}

.hero-grid{
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(26px,4vw,54px);align-items:center;
}
.hero-copy{position:relative;z-index:2}
.hero h1{max-width:21ch;margin-bottom:14px;text-wrap:balance}
.hero h1 .hl{
  background:linear-gradient(105deg,var(--accent-2),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{color:#c8d2de;max-width:50ch;margin-bottom:16px;font-size:clamp(.98rem,2.2vw,1.08rem)}
.hero-lead strong{color:#fff}

/* frase dinâmica com as bancas */
.banca-rotator{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;
  font-weight:700;font-size:clamp(.9rem,2.2vw,1rem);color:#aab6c4;margin-bottom:18px;
}
.banca-rotator .rot-shell{
  position:relative;display:inline-grid;height:1.55em;overflow:hidden;
  min-width:11ch;vertical-align:bottom;
}
.banca-rotator .rot-shell b{
  grid-area:1/1;display:flex;align-items:center;
  font-weight:900;letter-spacing:.01em;color:var(--accent);
  opacity:0;transform:translateY(90%);
}
.banca-rotator .rot-shell b.is-active{opacity:1;transform:none}

.hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.hero-stats div{
  flex:1 1 130px;padding:11px 14px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(6px);
}
.hero-stats strong{display:block;font-size:clamp(1.3rem,3vw,1.6rem);font-weight:900;letter-spacing:-.03em;color:#fff;line-height:1.1}
.hero-stats span{font-size:.78rem;color:#9daab9;line-height:1.3;display:block}
.hero-bancas{
  display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;font-size:.73rem;font-weight:800;letter-spacing:.06em;
}
.hero-bancas a,.hero-bancas span{
  display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  color:#c4cfdb;background:rgba(255,255,255,.04);transition:border-color .2s,color .2s,background .2s;
}
.hero-bancas a:hover{border-color:var(--accent);color:var(--accent);background:rgba(185,214,53,.1)}

/* composição visual do professor */
.hero-visual{position:relative;z-index:2}
/* Camada exclusiva da foto: os crachas flutuam sobre ela e nunca cobrem
   a faixa Branca/Verde/Preta, que vive fora deste wrapper. */
.hero-photo-wrap{position:relative}
.hero-photo-frame{
  position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow-dark),0 0 0 1px rgba(185,214,53,.12);
  background:#0f1319;
}
.hero-photo-frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 42%,rgba(5,7,10,.82) 100%);
}
.hero-photo-frame img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.hero-photo-badge{
  position:absolute;left:16px;bottom:14px;z-index:2;display:flex;flex-direction:column;
  text-shadow:0 2px 14px rgba(0,0,0,.7);
}
.hero-photo-badge strong{font-size:1.02rem;font-weight:800;color:#fff}
.hero-photo-badge small{font-size:.76rem;color:var(--accent);font-weight:700}
.hero-play{
  position:absolute;right:16px;bottom:16px;z-index:2;
  display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:rgba(185,214,53,.94);color:#141a05;font-size:1.05rem;
  box-shadow:0 10px 30px rgba(185,214,53,.45);
}
.hero-float{
  position:absolute;z-index:3;display:flex;align-items:center;gap:9px;
  padding:10px 14px;border-radius:14px;font-size:.78rem;font-weight:800;
  background:rgba(12,16,22,.9);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);box-shadow:0 14px 34px rgba(0,0,0,.45);color:#e7edf4;
}
.hero-float i{font-style:normal;font-size:1rem}
.hero-float-1{top:-14px;right:14px}
.hero-float-2{bottom:-16px;left:-8px}
.hero-float b{color:var(--accent)}

.belt-strip{display:flex;gap:7px;margin-top:32px}
.belt-strip span{
  flex:1;text-align:center;font-size:.68rem;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;padding:9px 4px;border-radius:10px;
}
.belt-white{background:#f2f5f8;color:#0b0e13}
.belt-green{background:var(--green);color:#fff}
.belt-black{background:#0d1116;color:#eef2f7;border:1px solid rgba(255,255,255,.2)}

.scroll-cue{
  display:inline-flex;align-items:center;gap:9px;margin-top:22px;
  font-size:.78rem;font-weight:700;letter-spacing:.06em;color:#93a0b0;
}
.scroll-cue i{
  font-style:normal;display:grid;place-items:center;width:28px;height:44px;
  border:2px solid rgba(255,255,255,.22);border-radius:999px;position:relative;
}
.scroll-cue i::after{content:"";width:4px;height:8px;border-radius:2px;background:var(--accent);position:absolute;top:8px}

/* -------------------------------------------------------- barra de prova --- */
.proof-bar{background:var(--dark);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:14px 0;overflow:hidden}
.proof-grid{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;color:#b7c3d1;font-size:.82rem;font-weight:700}
.proof-grid span{display:inline-flex;align-items:center;gap:7px}
.proof-grid b{color:var(--accent);font-size:1rem;line-height:1}

/* ------------------------------------------------------------- problema --- */
.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px}
.problem-card{
  padding:26px 24px;border-radius:var(--radius);background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.problem-card::before{
  content:"";position:absolute;left:0;top:0;height:4px;width:100%;
  background:linear-gradient(90deg,var(--ember),#ffb199);transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.problem-card.is-visible::before{transform:scaleX(1)}
.problem-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:#c9d2de}
.problem-card .pc-icon{
  display:grid;place-items:center;width:46px;height:46px;border-radius:14px;margin-bottom:16px;
  background:linear-gradient(140deg,#fff0eb,#ffe0d6);font-size:1.25rem;
}
.problem-card h3{margin-bottom:8px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;font-weight:900}
.problem-card p{margin:0;color:var(--muted);font-size:.96rem}
.problem-verdict{
  margin-top:30px;padding:22px 26px;border-radius:var(--radius);
  background:linear-gradient(135deg,var(--ink-900),#1a212b);color:#e8eef5;
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;justify-content:space-between;
}
.problem-verdict strong{font-size:clamp(1.02rem,2.6vw,1.22rem);font-weight:800;max-width:58ch}
.problem-verdict em{color:var(--accent);font-style:normal}

/* ---------------------------------------------------- jornada das faixas --- */
.belt-journey{position:relative;margin-top:clamp(28px,4vw,44px);--belt-gap:clamp(16px,3vw,32px)}
.belt-track{
  /* Comeca e termina no centro do primeiro e do ultimo ponto. */
  position:absolute;left:17px;right:calc(33.333% - (var(--belt-gap) * 2 / 3) - 17px);
  top:44px;height:4px;border-radius:4px;
  background:rgba(255,255,255,.12);overflow:hidden;
}
.belt-track b{
  display:block;height:100%;width:0;border-radius:4px;
  background:linear-gradient(90deg,#f2f5f8,var(--green) 52%,#0b0e13);
  box-shadow:0 0 18px rgba(185,214,53,.5);
  transition:width .5s var(--ease-out);
}
.belt-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--belt-gap);position:relative}
.belt-stage{position:relative;padding-top:0}
.belt-stage .bs-dot{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  margin:28px 0 20px;font-size:.8rem;font-weight:900;color:#0b0e13;
  border:4px solid var(--ink-900);position:relative;z-index:2;
  transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);
}
.belt-stage.is-active .bs-dot{transform:scale(1.12);box-shadow:0 0 0 6px rgba(185,214,53,.18)}
.bs-dot.white{background:#f2f5f8}
.bs-dot.green{background:var(--green);color:#fff}
.bs-dot.black{background:#12171e;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.belt-stage h3{font-size:1.16rem;margin-bottom:8px;color:#fff}
.belt-stage p{color:#b3bfcd;font-size:.95rem;margin:0}
.belt-stage .bs-tag{
  display:inline-block;margin-bottom:10px;font-size:.68rem;font-weight:900;letter-spacing:.12em;
  text-transform:uppercase;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.2);color:#cfd9e4;
}
@media (max-width:760px){
  .belt-stages{grid-template-columns:1fr;gap:0}
  .belt-track{left:17px;right:auto;top:10px;bottom:10px;width:4px;height:auto}
  .belt-track b{width:100%!important;height:0;background:linear-gradient(180deg,#f2f5f8,var(--green) 52%,#4a5563);transition:height .5s var(--ease-out)}
  .belt-stage{padding-left:52px;padding-bottom:26px}
  .belt-stage .bs-dot{position:absolute;left:0;top:2px;margin:0}
}

/* --------------------------------------------------------- comparativo --- */
.comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin-top:12px}
.comparison-col{
  padding:26px 24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);
}
.comparison-col small{
  display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900;
  margin-bottom:10px;color:var(--muted);
}
.comparison-col strong{display:block;font-size:1.06rem;margin-bottom:16px;letter-spacing:-.01em}
.comparison-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.comparison-col li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;line-height:1.5}
.comparison-col li::before{
  content:"×";flex:0 0 22px;height:22px;display:grid;place-items:center;border-radius:50%;
  font-weight:900;font-size:.8rem;background:#ffe6de;color:#c2410c;margin-top:2px;
}
.muted-col{background:rgba(255,255,255,.6);border-style:dashed;border-color:#c8d0dc}
.muted-col strong,.muted-col li{color:var(--muted)}
.accent-col{
  background:linear-gradient(150deg,var(--ink-900),#1b222c);color:#eef3f8;border-color:#2c3541;
  box-shadow:var(--shadow-lg);
}
.accent-col small{color:var(--accent)}
.accent-col strong{color:#fff}
.accent-col li::before{content:"✓";background:rgba(185,214,53,.2);color:var(--accent)}
.comparison-vs{
  align-self:center;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--ink-900);color:var(--accent);font-weight:900;font-size:.82rem;letter-spacing:.04em;
  border:3px solid var(--bg);box-shadow:var(--shadow);
}
.section-soft .comparison-vs{border-color:var(--surface-2)}
@media (max-width:860px){
  .comparison{grid-template-columns:1fr;gap:12px}
  .comparison-vs{width:44px;height:44px;margin:-4px auto;font-size:.75rem}
}

/* -------------------------------------------------------- vídeos leves --- */
.lite-video{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#0d1116;aspect-ratio:16/9}
.lite-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lite-video-button{
  display:block;width:100%;height:100%;padding:0;border:0;background:none;position:relative;
}
.lite-video-button img{display:block;width:100%;height:100%;object-fit:cover}
.poster-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:#fff;font-weight:800;font-size:.9rem;text-shadow:0 2px 12px rgba(0,0,0,.6);
  background:linear-gradient(180deg,rgba(6,9,13,.15),rgba(6,9,13,.62));
  transition:background .25s var(--ease);
}
.lite-video-button:hover .poster-overlay{background:linear-gradient(180deg,rgba(6,9,13,.05),rgba(6,9,13,.5))}
.play-icon{
  display:grid;place-items:center;width:58px;height:58px;border-radius:50%;
  background:rgba(185,214,53,.95);color:#141a05;font-size:1.1rem;padding-left:3px;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  transition:transform .25s var(--ease-out);
}
.lite-video-button:hover .play-icon{transform:scale(1.09)}
.lite-video noscript a{position:absolute;left:12px;bottom:12px;color:#fff;text-decoration:underline;font-size:.8rem}

/* ------------------------------------------------------------ resultados --- */
.testimonial-head{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between}
.testimonial-head>div{max-width:62ch}
.slider-controls{display:flex;gap:9px}
.slider-controls button{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;
  font-size:1.05rem;color:var(--ink);transition:transform .2s var(--ease),background .2s;
}
.slider-controls button:hover{background:var(--ink-900);color:#fff;transform:translateY(-2px)}
.testimonial-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(276px,1fr);gap:16px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 18px;
  scrollbar-width:thin;overscroll-behavior-x:contain;
}
.testimonial-track::-webkit-scrollbar{height:6px}
.testimonial-track::-webkit-scrollbar-thumb{background:#c6cedb;border-radius:99px}
.testimonial-card{
  scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.testimonial-copy{padding:16px 18px 18px;display:flex;flex-direction:column;gap:3px}
.testimonial-copy strong{font-size:1rem;letter-spacing:-.01em}
.testimonial-copy span{font-size:.8rem;color:var(--muted)}
.testimonial-copy b{
  margin-top:8px;display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  font-size:.86rem;font-weight:900;color:var(--accent-deep);
  background:rgba(185,214,53,.16);padding:6px 12px;border-radius:999px;
}
.swipe-hint{
  display:none;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--muted);
  margin:2px 0 10px;
}
.evidence-note{font-size:.8rem;color:var(--muted);margin-top:14px;max-width:80ch}
@media (max-width:760px){
  .swipe-hint{display:flex}
  .slider-controls{display:none}
  .testimonial-track{
    grid-auto-columns:min(84%,320px);
    margin-inline:calc(50% - 50vw);padding-inline:max(16px,calc(50vw - 50%));
    scroll-padding-left:max(16px,calc(50vw - 50%));
  }
}

/* ---------------------------------------------------------- demonstração --- */
.demo-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:28px}
.demo-step{
  padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);
  position:relative;box-shadow:var(--shadow);
}
.demo-step .ds-num{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;margin-bottom:14px;
  background:var(--ink-900);color:var(--accent);font-weight:900;font-size:.9rem;
}
.demo-step h3{font-size:1.02rem;margin-bottom:6px}
.demo-step p{margin:0;color:var(--muted);font-size:.93rem}
.demo-step::after{
  content:"↓";position:absolute;right:-12px;top:50%;transform:translateY(-50%) rotate(-90deg);
  width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
  background:var(--ink-900);color:var(--accent);font-size:.8rem;font-weight:900;z-index:2;
}
.demo-step:last-child::after{display:none}
@media (max-width:760px){
  .demo-step::after{right:auto;left:50%;top:auto;bottom:-13px;transform:translateX(-50%)}
}
.demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.video-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.video-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.video-card>div:last-child{padding:18px 20px 22px}
/* Escopo restrito ao rotulo do bloco de texto: solto, o seletor pintava
   tambem o overlay do poster do video. */
.video-card>div:last-child>span{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}
.video-card h3{margin:6px 0 8px;font-size:1.08rem}
.video-card p{margin:0;color:var(--muted);font-size:.94rem}
.demo-cta{margin-top:30px;text-align:center}

/* ------------------------------------------------------------- professor --- */
.professor-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(26px,5vw,56px);align-items:center}
.professor-photo{position:relative}
.professor-photo img{
  display:block;width:100%;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-dark);border:1px solid rgba(255,255,255,.12);
}
.professor-photo::before{
  content:"";position:absolute;inset:-12% -8% -4%;z-index:-1;border-radius:50%;
  background:radial-gradient(circle,rgba(185,214,53,.28),transparent 66%);filter:blur(42px);
}
.professor-stamp{
  position:absolute;left:-10px;bottom:22px;padding:12px 16px;border-radius:14px;
  background:rgba(10,13,18,.92);border:1px solid rgba(185,214,53,.35);backdrop-filter:blur(10px);
  box-shadow:0 18px 40px rgba(0,0,0,.45);display:flex;flex-direction:column;
}
.professor-stamp strong{font-size:.95rem;color:#fff}
.professor-stamp span{font-size:.74rem;color:var(--accent);font-weight:700}
.professor-highlights{display:grid;gap:12px;margin:24px 0 26px;padding:0;list-style:none}
.professor-highlights li{
  display:flex;gap:13px;align-items:flex-start;padding:15px 18px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
}
.professor-highlights b{
  flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:9px;
  background:rgba(185,214,53,.18);color:var(--accent);font-size:.9rem;
}
.professor-highlights strong{display:block;font-size:1rem;color:#fff;line-height:1.3}
.professor-highlights small{color:#a9b6c4;font-size:.85rem}
@media (max-width:860px){
  .professor-grid{grid-template-columns:1fr}
  .professor-photo{max-width:420px;margin-inline:auto}
}

/* ------------------------------------------------------ grades de links --- */
.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.topic-grid a{
  display:flex;flex-direction:column;gap:5px;padding:20px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(6,17,31,.05);
  transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;position:relative;
}
.topic-grid a::after{content:"→";position:absolute;right:18px;top:18px;color:var(--accent-deep);opacity:0;transform:translateX(-6px);transition:.25s var(--ease)}
.topic-grid a:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}
.topic-grid a:hover::after{opacity:1;transform:none}
.topic-grid strong{font-size:1.02rem;padding-right:24px}
.topic-grid span{font-size:.87rem;color:var(--muted);line-height:1.45}

.banca-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(206px,1fr));gap:14px}
.banca-grid a{
  display:flex;flex-direction:column;gap:5px;padding:22px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--line);
  transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;
}
.banca-grid a:hover{transform:translateY(-4px);border-color:var(--ink-900);box-shadow:var(--shadow)}
.banca-grid span{
  align-self:flex-start;font-size:.7rem;font-weight:900;letter-spacing:.1em;padding:5px 10px;
  border-radius:8px;background:var(--ink-900);color:var(--accent);margin-bottom:6px;
}
.banca-grid strong{font-size:1.04rem}
.banca-grid small{color:var(--muted);line-height:1.45}

.funnel-list{display:grid;gap:11px}
.funnel-list a{
  display:flex;align-items:center;gap:14px;padding:17px 20px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);
  transition:transform .25s var(--ease),background .25s,border-color .25s;
}
.funnel-list a:hover{transform:translateX(5px);background:rgba(255,255,255,.1);border-color:rgba(185,214,53,.4)}
.funnel-list span{
  flex:0 0 auto;font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;background:rgba(185,214,53,.18);color:var(--accent);
}
.funnel-list strong{font-size:.98rem;font-weight:700;color:#e9eff5;line-height:1.35}

.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:clamp(26px,4vw,52px);align-items:center}

/* ---------------------------------------------------------------- ementa --- */
.syllabus-details{
  margin-top:26px;border:1px solid var(--line);border-radius:var(--radius-sm);
  background:var(--surface);overflow:hidden;
}
.syllabus-details>summary{
  padding:17px 22px;font-weight:800;cursor:pointer;list-style:none;display:flex;
  align-items:center;justify-content:space-between;gap:12px;
}
.syllabus-details>summary::-webkit-details-marker{display:none}
.syllabus-details>summary::after{content:"+";font-size:1.3rem;font-weight:700;color:var(--accent-deep);transition:transform .25s var(--ease)}
.syllabus-details[open]>summary::after{transform:rotate(45deg)}
.syllabus-columns{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;
  padding:4px 22px 24px;border-top:1px solid var(--line);
}
.syllabus-columns strong{display:block;margin-bottom:6px;color:var(--accent-deep)}
.syllabus-columns p{font-size:.9rem;color:var(--muted);margin:0}

/* ------------------------------------------------------------------- FAQ --- */
.faq-list{display:grid;gap:10px}
.faq-list details{
  border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);
  overflow:hidden;transition:border-color .25s,box-shadow .25s;
}
.faq-list details[open]{border-color:rgba(185,214,53,.6);box-shadow:var(--shadow)}
.faq-list summary{
  padding:17px 52px 17px 20px;font-weight:700;cursor:pointer;list-style:none;position:relative;
  font-size:1rem;line-height:1.45;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"";position:absolute;right:20px;top:50%;width:11px;height:11px;
  border-right:2.5px solid var(--accent-deep);border-bottom:2.5px solid var(--accent-deep);
  transform:translateY(-70%) rotate(45deg);transition:transform .28s var(--ease);
}
.faq-list details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq-list details>div{padding:0 20px 18px;color:var(--muted)}
.faq-list details>div p:last-child{margin-bottom:0}
.section-dark .faq-list details{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.section-dark .faq-list details>div{color:#b8c4d1}
.section-dark .faq-list summary::after{border-color:var(--accent)}

/* --------------------------------------------------------- CTA de fecho --- */
.final-sale-section{
  position:relative;overflow:hidden;isolation:isolate;color:#fff;
  background:linear-gradient(150deg,var(--ink-900),#141b24 62%,#1d2531);
  padding:clamp(56px,8vw,104px) 0;
}
.final-sale-section .hero-bg span{opacity:.42}
.final-sale-inner{text-align:center;max-width:780px;margin-inline:auto;position:relative;z-index:2}
.final-sale-inner h2{font-size:clamp(1.9rem,5.2vw,3.2rem);margin-bottom:14px;text-wrap:balance}
.final-sale-inner p{color:#c3cdd9;font-size:clamp(1rem,2.6vw,1.16rem);max-width:56ch;margin-inline:auto}
.final-belts{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px 0 30px}
.final-belts b{
  padding:9px 18px;border-radius:999px;font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
}
.final-belts i{font-style:normal;color:var(--accent);font-weight:900}
.final-sale-action{display:flex;flex-direction:column;align-items:center;gap:12px}
.final-sale-action .btn{min-width:min(100%,340px)}
.final-sale-action small{color:#93a0b0;font-size:.8rem}

/* ---------------------------------------------------------------- footer --- */
.site-footer{background:var(--ink-900);color:#a8b4c2;padding:clamp(44px,6vw,68px) 0 0;position:relative}
/* Misturar uma faixa fr com repeat(auto-fit) esmagava a coluna da marca
   para poucos pixels no celular. Aqui as regras são separadas por faixa. */
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px 26px}
.footer-grid>:first-child{grid-column:1/-1}
@media (min-width:1000px){
  .footer-grid{grid-template-columns:1.7fr repeat(4,minmax(0,1fr))}
  .footer-grid>:first-child{grid-column:auto}
}
.footer-grid strong{display:block;color:#fff;font-size:.92rem;margin-bottom:12px;letter-spacing:-.01em}
.footer-grid a{display:block;padding:9px 0;font-size:.88rem;color:#a8b4c2;transition:color .2s,transform .2s}
.footer-grid a:hover{color:var(--accent);transform:translateX(3px)}
.footer-grid p{font-size:.86rem;line-height:1.6;color:#94a1b0}
.footer-disclaimer a{display:inline-block;padding:4px 0;color:var(--accent);border-bottom:1px solid rgba(185,214,53,.4)}
.footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.footer-brand img{width:42px;height:42px;border-radius:12px;border:1px solid rgba(185,214,53,.3);background:#11161d;padding:5px}
.footer-brand div{display:flex;flex-direction:column;line-height:1.2}
.footer-brand strong{margin:0;font-size:1rem}
.footer-brand span{font-size:.76rem;color:var(--accent);font-weight:700}
.social-links{display:flex;gap:10px;margin-top:16px}
.social-links a{
  display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;padding:0;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  transition:transform .22s var(--ease),background .22s,border-color .22s;
}
.social-links a:hover{transform:translateY(-3px);background:rgba(185,214,53,.16);border-color:rgba(185,214,53,.5)}
.social-links svg{width:21px;height:21px;fill:#e6ecf3}
.social-links a:hover svg{fill:var(--accent)}
.footer-disclaimer{
  margin-top:34px;padding:18px 0;border-top:1px solid rgba(255,255,255,.08);
  font-size:.8rem;line-height:1.6;color:#8d9aa9;
}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;
  padding:14px 0 calc(22px + var(--sticky-h) + env(safe-area-inset-bottom));
  border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;color:#7f8c9b;
}
.footer-legal{display:flex;flex-wrap:wrap;gap:2px 16px}
.footer-legal a{display:inline-block;padding:8px 0}
.footer-legal a{color:#9aa7b6}
.footer-legal a:hover{color:var(--accent)}

/* ------------------------------------------------------- CTA fixo mobile --- */
.mobile-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:880;display:none;
  align-items:center;gap:12px;
  padding:9px 14px calc(9px + env(safe-area-inset-bottom));
  background:rgba(8,11,15,.96);backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -12px 34px rgba(0,0,0,.45);
  transform:translateY(110%);transition:transform .32s var(--ease-out);
}
.mobile-cta.is-visible{transform:translateY(0)}
.mobile-cta>div{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}
.mobile-cta small{font-size:.68rem;color:var(--accent);font-weight:800;letter-spacing:.05em}
.mobile-cta strong{font-size:.88rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-cta .btn{min-height:46px;flex:0 0 auto;font-size:.9rem}
@media (max-width:860px){.mobile-cta{display:flex}}

/* --------------------------------------------------------------- toast --- */
.conv-toast{
  position:fixed;z-index:890;right:18px;bottom:calc(18px + var(--sticky-h) + env(safe-area-inset-bottom));
  width:min(360px,calc(100vw - 32px));
  background:linear-gradient(155deg,#12171f,#0a0d12);
  border:1px solid rgba(185,214,53,.34);border-radius:18px;
  box-shadow:0 26px 60px rgba(0,0,0,.55);color:#e8eef5;padding:18px 18px 16px;
  opacity:0;transform:translateY(18px) scale(.97);pointer-events:none;
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);
}
.conv-toast.is-visible{opacity:1;transform:none;pointer-events:auto}
.conv-toast-head{display:flex;align-items:flex-start;gap:9px;margin-bottom:7px;padding-right:30px}
.conv-toast-head i{font-style:normal;font-size:1.15rem}
.conv-toast-head strong{font-size:.98rem;color:#fff;line-height:1.3}
.conv-toast p{font-size:.87rem;color:#aebac8;margin:0 0 14px}
.conv-toast .btn{width:100%;min-height:48px}
.conv-toast-close{
  position:absolute;top:9px;right:9px;width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  color:#9fadbc;font-size:1rem;line-height:1;display:grid;place-items:center;
}
.conv-toast-close:hover{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:520px){
  .conv-toast{right:12px;left:12px;width:auto;padding:16px 16px 14px}
}

/* ================================================= páginas SEO internas === */
.article-hero{padding:clamp(40px,6vw,74px) 0 clamp(34px,5vw,58px)}
.article-hero h1{font-size:clamp(1.85rem,5vw,3.15rem);max-width:22ch}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#8e9bab;margin-bottom:18px}
.breadcrumbs a{color:var(--accent)}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font-size:.78rem;color:#93a0b0}
.article-meta span{display:inline-flex;align-items:center;gap:6px}
.article-meta span::before{content:"•";color:var(--accent)}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(26px,4vw,52px);align-items:start}
.article-content{max-width:75ch}
.article-content h2{font-size:clamp(1.4rem,3.2vw,2rem);margin-top:6px}
.article-content p{color:var(--muted)}
.content-section{margin-bottom:38px;scroll-margin-top:90px}
.trust-strip{
  padding:18px 20px;border-radius:var(--radius-sm);background:var(--surface-2);
  border-left:4px solid var(--accent);margin-bottom:32px;
}
.trust-strip strong{display:block;margin-bottom:5px;font-size:.95rem}
.trust-strip p{margin:0;font-size:.89rem;color:var(--muted)}
.check-list{list-style:none;padding:0;display:grid;gap:9px;margin-bottom:18px}
.check-list li{display:flex;gap:11px;align-items:flex-start;color:var(--muted);font-size:.97rem;line-height:1.55}
.check-list li::before{
  content:"✓";flex:0 0 22px;height:22px;display:grid;place-items:center;border-radius:50%;
  background:rgba(185,214,53,.2);color:var(--accent-deep);font-weight:900;font-size:.75rem;margin-top:3px;
}
.inline-cta{
  display:flex;flex-wrap:wrap;align-items:center;gap:16px;justify-content:space-between;
  padding:22px 24px;border-radius:var(--radius);margin:32px 0;
  background:linear-gradient(140deg,var(--ink-900),#1a212b);color:#e9eff5;
}
.inline-cta .eyebrow{color:var(--accent);margin-bottom:5px}
.inline-cta strong{display:block;font-size:1.02rem;max-width:44ch;line-height:1.4}
.final-cta-card{
  padding:clamp(26px,4vw,38px);border-radius:var(--radius);margin-top:40px;text-align:center;
  background:linear-gradient(150deg,var(--ink-900),#1b222c);color:#eaf0f6;
}
.final-cta-card h2{color:#fff;margin-bottom:12px}
.final-cta-card p{color:#bcc8d5;max-width:54ch;margin-inline:auto}
.final-cta-card small{display:block;margin-top:12px;color:#8e9bab;font-size:.79rem}
.article-sidebar{display:grid;gap:14px}
.sidebar-card{
  padding:20px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);
  box-shadow:0 8px 24px rgba(6,17,31,.05);
}
.sidebar-card strong{display:block;margin-bottom:10px;font-size:.92rem}
.sidebar-card a{display:block;padding:8px 0;font-size:.88rem;color:var(--muted);border-bottom:1px solid var(--line);transition:color .2s,padding-left .2s}
.sidebar-card a:last-child{border-bottom:0}
.sidebar-card a:hover{color:var(--accent-deep);padding-left:5px}
.sticky-card{position:sticky;top:92px}
@media (max-width:980px){
  .article-grid{grid-template-columns:1fr}
  .sticky-card{position:static}
  .article-sidebar{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
}
.error-page{padding:clamp(70px,12vw,130px) 0}
.error-page h1{margin-inline:auto}
.error-page .hero-actions{justify-content:center}

/* -------------------------------------------------------------- responsivo */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:24px}
  .hero-visual{order:-1;max-width:560px;width:100%;margin-inline:auto}
  .hero h1{max-width:none}
  /* No celular os crachas saem: cobririam a marca "Academia de Português"
     que aparece no estudio e roubariam altura do CTA. A identidade do
     metodo continua na faixa Branca/Verde/Preta logo abaixo da foto. */
  .hero-float{display:none}
}
@media (max-width:860px){
  /* Primeira dobra do celular: tudo encolhe para o CTA subir na tela.
     A ordem visual tambem muda — promessa, CTA e so depois os numeros —
     para o botao caber na tela do navegador interno do TikTok.
     O DOM continua na ordem de leitura original (bom para SEO e leitores). */
  .hero-copy{display:flex;flex-direction:column}
  .hero-copy .eyebrow{order:1}
  .hero-copy h1{order:2}
  .hero-copy .hero-lead{order:3}
  .hero-copy .hero-actions{order:4}
  .hero-copy .banca-rotator{order:5;margin:4px 0 12px}
  .hero-copy .hero-stats{order:6}
  .hero-copy .hero-bancas{order:7}
  .hero-copy .affiliate-note{order:8}
  .hero-copy .scroll-cue{order:9}
  .hero{padding-top:18px}
  .hero-grid{gap:20px}
  .hero h1{margin-bottom:12px}
  .hero-lead{font-size:.95rem;margin-bottom:14px}
  .banca-rotator{margin-bottom:14px}
  .hero-stats{gap:8px;margin-top:4px}
  .hero-stats div{flex:1 1 0;min-width:0;padding:9px 9px}
  .hero-stats strong{font-size:1.16rem}
  .hero-stats span{font-size:.65rem}
  .belt-strip{margin-top:14px}
  .belt-strip span{padding:7px 3px;font-size:.63rem}
  .scroll-cue{margin-top:18px}
}
@media (max-width:520px){
  .hero-float{font-size:.7rem;padding:7px 10px}
  .btn{min-height:52px;width:100%}
  .btn-small,.btn-compact{width:auto}
  .hero-actions{gap:10px}
  .problem-verdict{padding:20px}
  .final-sale-action .btn{width:100%}
}
@media (max-width:360px){
  .brand-copy small{display:none}
  .hero-stats strong{font-size:1.05rem}
  .hero-stats span{font-size:.6rem}
}
