/* ============================================================
   ASFALTO PRO — MOBILE (≤760px)
   Escrito a partir do DOM real do index.html.

   DECISÕES
   1. Tudo alinhado à ESQUERDA. Sem exceção, em nenhuma seção.
   2. Escala de espaço: 4 8 12 16 24 32 40 56 72
   3. Escala de tipo: 12 13 15 17 20 24 30 42
   4. Anatomia fixa de cabeçalho: filete → eyebrow → título → lead
   5. Fundos alternados (claro / areia / escuro) marcam capítulo
   6. Fluxo puro: sem vw, sem min-height, sem texto sobre foto
   ============================================================ */

:where(.hero-grid,.method-grid,.outcomes-grid,.evidence-grid,
       .teacher-grid,.offer-grid,.field-grid,.opportunity-grid,
       .audience-grid,.situation-grid,.module-grid,.logic-list,
       .desire-list,.price-includes,.audience-professions){
  max-width:100%;min-width:0;
}
:where(.hero-grid,.method-grid,.outcomes-grid,.evidence-grid,
       .teacher-grid,.offer-grid,.field-grid) > *{min-width:0;max-width:100%}

:root{
  --ink:#14150e;
  --ink-2:#42443a;
  --muted:#65675e;
  --paper:#fffdf8;
  --sand:#f5f1e7;
  --dark:#141510;
  --dark-2:#1f2019;
  --line:#e5e0d3;
  --line-dark:rgba(255,255,255,.11);
  --accent:#e5a51f;
  --accent-ink:#8a5c0a;

  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px;
  --s5:24px; --s6:32px; --s7:40px; --s8:56px; --s9:72px;

  --pad:22px;
  --r:14px;
}

/* ---------- BASE ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px;-webkit-text-size-adjust:100%}
body{
  margin:0;padding-bottom:80px;
  background:var(--paper);color:var(--ink);
  font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;line-height:1.66;text-align:left;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0 0 var(--s4);color:var(--muted)}
p:last-child{margin-bottom:0}
h1,h2,h3{margin:0;color:var(--ink);letter-spacing:-.028em}
h1{font-size:30px;font-weight:800;line-height:1.16}
h2{font-size:24px;font-weight:800;line-height:1.22}
h3{font-size:18px;font-weight:750;line-height:1.34}
strong{font-weight:750}
.skip-link{position:absolute;left:-9999px}

.container{width:100%;padding-inline:var(--pad)}
.section{padding:var(--s9) 0}

/* ---------- CABEÇALHO DE SEÇÃO ----------
   .eyebrow é sempre um <p>. Nunca usar seletor de tag aqui. */
.section-heading,
.opportunity-heading,
.inside-heading,
.faq-title,
.method-copy,
.outcomes-copy,
.evidence-copy,
.field-copy,
.teacher-copy,
.offer-copy{text-align:left}

.section-heading,
.opportunity-heading,
.inside-heading,
.faq-title{margin-bottom:var(--s7)}

.eyebrow{
  position:relative;
  margin:0 0 var(--s3);padding-top:var(--s3);
  color:var(--accent-ink);
  font-size:12px;font-weight:800;letter-spacing:.14em;
  line-height:1.4;text-transform:uppercase;
}
.eyebrow::before{
  content:"";position:absolute;top:0;left:0;
  width:32px;height:2px;border-radius:2px;background:var(--accent);
}
.eyebrow-light{color:var(--accent-ink)}     /* padrão: sobre fundo claro */
.opportunity .eyebrow-light,
.situations  .eyebrow-light,
.offer       .eyebrow-light,
.final-cta   .eyebrow-light,
.bonus-card  .eyebrow-light{color:var(--accent)}   /* sobre fundo escuro */

.section-heading h2,
.opportunity-heading h2,
.inside-heading h2,
.faq-title h2,
.method-copy h2,
.outcomes-copy h2,
.evidence-copy h2,
.field-copy h2,
.teacher-copy h2,
.offer-copy h2{margin-bottom:var(--s4)}

/* lead: primeiro parágrafo depois do título */
.section-heading > p:not(.eyebrow),
.field-copy > p:not(.eyebrow):first-of-type,
.opportunity-intro,
.method-copy > p,
.outcomes-copy > p,
.evidence-copy > p,
.inside-heading > p{font-size:17px;line-height:1.55;color:var(--ink-2)}

/* ---------- BOTÕES ---------- */
.button,.price-cta{
  display:flex;width:100%;min-height:56px;
  align-items:center;justify-content:center;
  padding:16px 20px;border:0;border-radius:12px;
  background:var(--accent);color:var(--ink);
  font-family:inherit;font-size:15px;font-weight:800;
  line-height:1.25;text-align:center;
}
.button-dark{background:var(--dark);color:#fff}
.button > span[aria-hidden]{display:none}
.text-link{
  display:inline-flex;width:max-content;min-height:48px;
  align-items:center;gap:var(--s2);
  font-size:15px;font-weight:750;
  border-bottom:1px solid currentColor;
}
.text-link-light{color:var(--ink);border-color:currentColor}
.opportunity .text-link-light,
.situations  .text-link-light,
.offer       .text-link-light,
.final-cta   .text-link-light{color:#fff;border-color:rgba(255,255,255,.45)}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,253,248,.97);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{display:flex;align-items:center;min-height:60px;padding-inline:var(--pad)}
.desktop-nav,.site-header .button{display:none}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:4px;height:32px;border-radius:3px;background:var(--accent)}
.brand > span:last-child{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.brand strong{font-size:15px;letter-spacing:-.02em}
.brand small{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* ============================================================
   HERO
   ============================================================ */
.hero{padding:28px 0 18px}
.hero-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.hero-copy{margin-bottom:0;text-align:center}
.hero-copy > .eyebrow{
  display:block;margin-bottom:var(--s4);padding-top:0;
  font-size:10px;line-height:1.4;text-align:center;
}
.hero-copy > .eyebrow::before{display:none}
.hero-copy h1{
  max-width:560px;margin:0 auto var(--s4);
  font-size:34px;line-height:1.1;text-align:center;
}
.promise-highlight{
  position:relative;z-index:0;display:inline-block;
  isolation:isolate;white-space:nowrap;
}
.promise-highlight::before{
  content:"";position:absolute;z-index:-1;
  left:-.06em;right:-.08em;bottom:.06em;height:.38em;
  background:linear-gradient(
    96deg,
    rgba(229,165,31,.14),
    rgba(229,165,31,.42) 22%,
    rgba(229,165,31,.31) 78%,
    rgba(229,165,31,.12)
  );
  clip-path:polygon(1% 15%,100% 0,98.5% 90%,0 100%);
  transform:rotate(-.7deg);
}
.hero-lead{
  max-width:560px;margin:0 auto;
  color:var(--ink-2);font-size:16px;font-weight:600;line-height:1.5;
  text-align:center;
}
.hero-lead strong{color:var(--ink);font-weight:800}

/* ============================================================
   AULA EM VÍDEO
   ============================================================ */
.video-section{
  overflow:visible;padding:14px 0 var(--s8);
  background:var(--paper);
}
.video-section-inner{padding-inline:var(--pad)}
.video-heading{
  max-width:560px;margin:0 auto 18px;text-align:center;
}
.video-heading h2{
  color:var(--ink-2);font-size:15px;font-weight:750;
  letter-spacing:-.015em;line-height:1.5;text-align:center;
}
.video-stage{position:relative;width:100%;aspect-ratio:16/9}
.video-shell{
  position:absolute;inset:0;overflow:hidden;
  padding:3px;border-radius:calc(var(--r) + 2px);
  border:1px solid rgba(20,21,14,.18);background:#10110d;
  box-shadow:0 20px 48px rgba(25,23,15,.16);
}
.vsl-video{
  display:block;width:100%;height:100%;border-radius:var(--r);
  background:#070805;object-fit:cover;
}
.vsl-sound-gate{
  position:absolute;z-index:3;top:50%;left:50%;
  display:flex;width:calc(100% - 28px);flex-direction:column;
  align-items:center;gap:3px;padding:14px 12px 13px;
  border:1px solid rgba(255,255,255,.58);border-radius:11px;
  color:#fff;
  background:rgba(20,21,15,.78);
  transform:translate(-50%,-50%);cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
  backdrop-filter:blur(15px) saturate(115%);
  -webkit-backdrop-filter:blur(15px) saturate(115%);
}
.video-shell.has-sound .vsl-sound-gate{display:none}
.vsl-sound-state{
  margin-bottom:2px;color:rgba(255,255,255,.68);font-size:9px;font-weight:800;
  letter-spacing:.11em;text-transform:uppercase;
}
.vsl-sound-gate strong{
  color:#fff;font-size:18px;line-height:1.14;letter-spacing:-.03em;
}
.vsl-sound-gate > span:not(.vsl-sound-state){font-size:12px;font-weight:750}
.vsl-sound-gate small{color:rgba(255,255,255,.66);font-size:9px;font-weight:650}
.vsl-resume{
  position:absolute;z-index:3;top:50%;left:50%;
  display:flex;align-items:center;gap:8px;padding:10px 13px;
  border:1px solid rgba(255,255,255,.58);border-radius:999px;
  color:#fff;background:rgba(20,21,15,.78);
  transform:translate(-50%,-50%);cursor:pointer;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.vsl-resume[hidden]{display:none}
.vsl-resume-mark{
  width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;
  border-left:9px solid #fff;
}
.vsl-resume strong{color:#fff;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.vsl-floating-close{
  position:absolute;z-index:4;top:6px;right:6px;
  display:none;width:30px;height:30px;place-items:center;padding:0;
  border:1px solid rgba(255,255,255,.42);border-radius:50%;
  color:#fff;background:rgba(12,13,9,.8);cursor:pointer;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.vsl-floating-close span{font-size:20px;font-weight:400;line-height:1}
.vsl-progress{
  position:absolute;z-index:5;right:6px;bottom:6px;left:6px;
  height:3px;overflow:hidden;border-radius:999px;
  background:rgba(255,255,255,.2);pointer-events:none;
}
.vsl-progress-fill{
  display:block;width:100%;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#f4c152,#e8a51a);
  box-shadow:0 0 9px rgba(232,165,26,.42);
  transform:scaleX(var(--vsl-progress,0));transform-origin:left center;
  transition:transform .24s linear;
}
.vsl-status{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
.video-noscript{margin:12px auto 0;color:var(--muted);font-size:12px;line-height:1.55;text-align:center}
.video-shell.is-floating{
  position:fixed;z-index:110;inset:auto 12px 84px auto;
  width:min(52vw,220px);aspect-ratio:16/9;padding:2px;border-radius:12px;
  box-shadow:0 16px 42px rgba(0,0,0,.4);
  animation:vslFloatIn .24s ease both;
}
.video-shell.is-floating .vsl-video{border-radius:9px}
.video-shell.is-floating .vsl-floating-close{display:grid}
.video-shell.is-floating .vsl-progress{right:4px;bottom:4px;left:4px;height:2px}
.video-shell.is-floating .vsl-sound-gate{
  width:calc(100% - 18px);gap:1px;padding:8px 7px;border-radius:8px;
}
.video-shell.is-floating .vsl-sound-state,
.video-shell.is-floating .vsl-sound-gate small{display:none}
.video-shell.is-floating .vsl-sound-gate strong{font-size:12px}
.video-shell.is-floating .vsl-sound-gate > span:not(.vsl-sound-state){font-size:9px}
@keyframes vslFloatIn{
  from{opacity:0;transform:translateY(10px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ---------- CREDENCIAIS ---------- */
.credibility{background:var(--sand);border-block:1px solid var(--line)}
.credibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.credibility-grid > div{
  display:flex;flex-direction:column;gap:var(--s1);
  padding:var(--s5) var(--s4);background:var(--sand);
}
.credibility-grid strong{font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.15}
.credibility-grid span{font-size:13px;line-height:1.45;color:var(--muted)}

/* ============================================================
   OPORTUNIDADE — escuro
   ============================================================ */
.opportunity{background:var(--dark)}
.opportunity h2{color:#fff}
.opportunity-intro{color:#fff!important}
.opportunity-subcopy{margin:0;color:#9b9d93;font-size:15px}
.opportunity-grid{display:block}
.opportunity-grid > * + *{margin-top:var(--s3)}

.opportunity-card{border-radius:var(--r);background:var(--paper)}
.opportunity-card-body{padding:var(--s5);text-align:left}
.opportunity-card h3{
  margin-bottom:var(--s3);color:var(--accent-ink);
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.opportunity-value{
  display:block;margin-bottom:var(--s2);color:var(--ink);
  font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1.05;
}
.opportunity-feature{
  margin-bottom:var(--s3);color:var(--ink);
  font-size:17px;font-weight:750;line-height:1.4;letter-spacing:-.015em;
}
.opportunity-card > div > p:last-child{margin:0;font-size:15px;color:var(--muted)}

/* ============================================================
   PARA QUEM É
   ============================================================ */
.audience-grid{display:block}
.audience-grid > * + *{margin-top:var(--s5)}
.audience-card{
  overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;
}
.audience-photo{margin:0}
.audience-photo img{width:100%;height:190px;object-fit:cover}
.audience-card-body{padding:var(--s5)}
.audience-card h3{margin-bottom:var(--s4);font-size:19px}
.audience-professions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s4)}
.audience-professions li{
  padding:6px 11px;border-radius:999px;
  background:var(--sand);border:1px solid var(--line);
  font-size:13px;font-weight:700;color:var(--ink-2);
}
.audience-hook{
  display:block;margin-bottom:var(--s3);
  font-size:16px;font-weight:750;line-height:1.45;color:var(--ink);
}
.audience-card-body > p{margin:0;font-size:15px}

/* ============================================================
   PRESSÃO NA PISTA
   ============================================================ */
.field-section{background:var(--sand);border-block:1px solid var(--line)}
.field-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.field-copy{order:1;padding:0;margin-bottom:var(--s5)}
.field-copy > p:not(.eyebrow){font-size:16px;line-height:1.55;color:var(--ink-2)}
.field-image{order:2;margin:0}
.field-image img{width:100%;height:200px;object-fit:cover;border-radius:var(--r)}

.situations{background:var(--dark)}
.situations h2{color:#fff}
.situations .section-heading{margin-bottom:var(--s6)}
.situation-grid{display:block}
.situation-grid > * + *{margin-top:var(--s3)}
.situation-card{
  padding:var(--s5);border-radius:var(--r);
  background:var(--dark-2);border:1px solid var(--line-dark);text-align:left;
}
.situation-card > span{
  display:block;margin-bottom:var(--s3);color:var(--accent);
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.situation-card h3{margin-bottom:var(--s3);color:#fff;font-size:17px;line-height:1.45}
.situation-card p{margin:0;color:#9b9d93;font-size:15px}

/* ============================================================
   MÉTODO
   ============================================================ */
.method-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.method-copy{margin-bottom:var(--s6)}
.logic-list{display:block}
.logic-list > * + *{margin-top:var(--s3)}
.logic-list > article{
  display:grid;grid-template-columns:auto 1fr;gap:var(--s4);align-items:start;
  padding:var(--s5);border-radius:var(--r);
  background:var(--sand);border:1px solid var(--line);
}
.logic-list > article > span{
  color:var(--accent-ink);font-size:15px;font-weight:800;letter-spacing:.02em;
}
.logic-list h3{margin-bottom:var(--s2);font-size:17px}
.logic-list p{margin:0;font-size:15px}

/* ============================================================
   CONTEÚDO
   ============================================================ */
.inside{padding-bottom:var(--s7);background:var(--sand);border-top:1px solid var(--line)}
.inside-heading{margin-bottom:var(--s6)}
.large-product-window{overflow:hidden;border-radius:var(--r);background:#12130f}
.window-bar{display:none}

.curriculum{background:var(--sand);padding-top:var(--s7)}
.module-grid{display:block}
.module-grid > * + *{margin-top:var(--s3)}
.module-card{
  overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;
}
.module-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.module-body{padding:var(--s5);text-align:left}
.module-body > span{
  display:block;margin-bottom:var(--s2);color:var(--accent-ink);
  font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
}
.module-body h3{margin-bottom:var(--s3);font-size:18px}
.module-body p{margin:0;font-size:15px}

.bonus-card{
  display:flex;flex-direction:column;overflow:hidden;
  margin-top:var(--s5);border-radius:var(--r);background:var(--dark);
}
.bonus-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.bonus-card > div{padding:var(--s5);text-align:left}
.bonus-card h3{margin-bottom:var(--s3);color:#fff;font-size:20px}
.bonus-card p{margin:0;color:#9b9d93;font-size:15px}

/* ============================================================
   DEPOIS DO CURSO
   ============================================================ */
.outcomes-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.outcomes-copy{margin-bottom:var(--s5)}
.desire-list{display:block}
.desire-list li{
  display:grid;grid-template-columns:32px 1fr;gap:var(--s3);
  padding:var(--s5) 0;border-bottom:1px solid var(--line);
}
.desire-list li:first-child{padding-top:0}
.desire-list li:last-child{border-bottom:0}
.desire-list li > span{
  color:var(--accent-ink);font-size:16px;font-weight:800;line-height:1.55;
}
.desire-list p{margin:0;font-size:15px;color:var(--ink-2)}
.desire-list strong{color:var(--ink)}
.section-cta{margin-top:var(--s6)}

/* ============================================================
   PROVA + PROFESSOR
   ============================================================ */
.evidence{background:var(--sand);border-block:1px solid var(--line)}
.evidence-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.evidence-copy{margin-bottom:var(--s5)}
.evidence-number{
  padding:var(--s6) var(--s5);border-radius:var(--r);
  background:var(--dark);text-align:left;
}
.evidence-number strong{
  display:block;color:#fff;
  font-size:48px;font-weight:800;line-height:1;letter-spacing:-.05em;
}
.evidence-number strong span{font-size:.55em}
.evidence-number p{margin:var(--s3) 0 0;color:#9b9d93;font-size:14px;line-height:1.5}

.teacher-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.teacher-photo{order:1;max-width:none;margin:0 0 var(--s6)}
.teacher-photo img{width:100%;border-radius:var(--r)}
.teacher-copy{order:2}
.teacher-intro{
  margin-bottom:var(--s5);
  font-size:16px;font-weight:700;color:var(--ink);line-height:1.5;
}
.teacher-copy > p:not(.eyebrow){font-size:15px}

/* ============================================================
   OFERTA
   ============================================================ */
.offer{background:var(--dark)}
.offer-grid{display:flex;flex-direction:column;padding-inline:var(--pad)}
.offer-copy{margin-bottom:var(--s6)}
.offer-copy h2{color:#fff}
.offer-copy ul{display:block}
.offer-copy li + li{margin-top:var(--s3)}
.offer-copy li{
  position:relative;padding-left:26px;padding-right:var(--s2);
  color:#c1c3b9;font-size:15px;line-height:1.55;
}
.offer-copy li::before{
  content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800;
}

.price-card{
  padding:var(--s6) var(--s5);border-radius:var(--r);
  background:var(--paper);text-align:left;
}
.price-badge{
  display:inline-block;margin-bottom:var(--s5);
  padding:7px 13px;border-radius:999px;
  border:1px solid rgba(138,92,10,.28);background:rgba(229,165,31,.11);
  color:var(--accent-ink);
  font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
.price-card-head{margin-bottom:var(--s5)}
.price-card-head p{
  margin:0 0 var(--s1);color:var(--ink);
  font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.price-card-head > span{font-size:14px;color:var(--muted)}

.price{padding-bottom:var(--s5);margin-bottom:var(--s5);border-bottom:1px solid var(--line)}
.price-anchor{display:block;margin-bottom:var(--s2);font-size:14px;font-weight:650;color:var(--muted)}
.price-anchor s{color:#8f9188}
.price > small{display:block;font-size:14px;font-weight:750;color:var(--muted)}
.price > strong{
  display:block;white-space:nowrap;
  margin:var(--s2) 0;color:var(--ink);
  font-size:44px;font-weight:800;letter-spacing:-.045em;line-height:1.05;
}
.price sup{
  margin-right:1px;font-size:18px;font-weight:750;
  vertical-align:.55em;letter-spacing:-.01em;
}
.price > strong span{font-size:26px;letter-spacing:-.03em}
.price em{display:block;margin-top:var(--s2);font-style:normal;font-size:15px;color:var(--muted)}

.price-includes{display:block;margin:var(--s5) 0}
.price-includes > li + li{margin-top:var(--s3)}
.price-includes li{
  position:relative;padding-left:25px;
  font-size:14px;font-weight:600;color:var(--ink-2);line-height:1.5;
}
.price-includes li::before{content:"✓";position:absolute;left:0;top:0;color:#1c7a3c;font-weight:800}

.secure-line{
  display:flex;align-items:center;gap:var(--s2);
  padding-top:var(--s4);border-top:1px solid var(--line);
}
.secure-line p{margin:0;font-size:13px;color:var(--muted)}
.secure-mark{font-size:14px;line-height:1}
.guarantee-mini{display:none}

/* ---------- GARANTIA ---------- */
.guarantee{padding:var(--s8) 0}
.guarantee{background:var(--paper)}
.guarantee-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);
  padding:var(--s6) var(--s5);
  border:1px solid var(--line);border-radius:var(--r);background:var(--sand);
}
.guarantee-card > div:not(.guarantee-number){width:100%}
.guarantee-number{
  display:flex;align-items:center;justify-content:center;
  width:64px;height:64px;flex-shrink:0;
  border-radius:50%;background:var(--accent);color:var(--ink);
  font-size:28px;font-weight:800;line-height:1;letter-spacing:-.03em;
}
.guarantee-card .eyebrow{padding-top:0}
.guarantee-card .eyebrow::before{display:none}
.guarantee-card h2{margin-bottom:var(--s3);font-size:21px}
.guarantee-card p{margin:0;font-size:15px}

/* ============================================================
   FAQ
   ============================================================ */
.faq{background:var(--sand);border-top:1px solid var(--line)}
.faq-layout{padding-inline:var(--pad)}
.faq-title{margin-bottom:var(--s5)}
.accordion{display:block}
.faq-item{display:block;border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item button{
  display:block;position:relative;width:100%;min-height:60px;
  padding:var(--s4) 36px var(--s4) 0;border:0;background:0;color:var(--ink);
  font-family:inherit;font-size:16px;font-weight:750;line-height:1.45;
  text-align:left;cursor:pointer;
}
.faq-item button b{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  color:var(--accent-ink);font-size:22px;font-weight:400;line-height:1;
  transition:transform .2s ease;
}
.faq-item button[aria-expanded="true"] b{transform:translateY(-50%) rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-answer > p{margin:0;padding-bottom:var(--s5);font-size:15px}
.faq-item button[aria-expanded="true"] + .faq-answer{max-height:420px}

/* ============================================================
   FECHAMENTO + RODAPÉ
   ============================================================ */
.final-cta{background:var(--dark);padding:var(--s9) 0}
.final-cta-inner{display:flex;flex-direction:column;gap:var(--s6);padding-inline:var(--pad)}
.final-cta h2{color:#fff;font-size:26px}

.footer{background:#0e0f0a;padding:var(--s6) 0}
.footer-inner{display:flex;flex-direction:column;gap:var(--s4);padding-inline:var(--pad)}
.footer p,.footer small{color:#83857b;font-size:13px;line-height:1.6}
.footer p a{color:inherit;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.brand-footer strong{color:#fff}
.brand-footer small{color:#83857b}

/* ============================================================
   BARRA DE COMPRA
   ============================================================ */
.mobile-buy{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  min-height:70px;padding:11px 14px 11px 20px;
  background:rgba(20,21,15,.98);border-top:1px solid var(--line-dark);
  transform:translateY(115%);transition:transform .25s ease;
}
.mobile-buy.is-visible{transform:translateY(0)}
.mobile-buy > div{display:flex;flex-direction:column;gap:1px;line-height:1.25}
.mobile-buy small{color:#9b9d93;font-size:13px;font-weight:700}
.mobile-buy strong{color:#fff;font-size:16px;letter-spacing:-.02em}
.mobile-buy a{
  display:inline-flex;min-height:48px;align-items:center;
  padding:12px 20px;border-radius:10px;
  background:var(--accent);color:var(--ink);
  font-size:14px;font-weight:800;white-space:nowrap;
}

/* ---------- ≤380px ---------- */
@media (max-width:380px){
  :where(.hero-grid,.method-grid,.outcomes-grid,.evidence-grid,
       .teacher-grid,.offer-grid,.field-grid,.opportunity-grid,
       .audience-grid,.situation-grid,.module-grid,.logic-list,
       .desire-list,.price-includes,.audience-professions){
  max-width:100%;min-width:0;
}
:where(.hero-grid,.method-grid,.outcomes-grid,.evidence-grid,
       .teacher-grid,.offer-grid,.field-grid) > *{min-width:0;max-width:100%}

:root{--pad:18px}
  h1{font-size:27px}
  h2{font-size:22px}
  .price > strong{
  display:block;white-space:nowrap;
  margin:var(--s2) 0;color:var(--ink);
  font-size:44px;font-weight:800;letter-spacing:-.045em;line-height:1.05;
}
  .evidence-number strong{font-size:42px}
  .credibility-grid{grid-template-columns:1fr}
  .mobile-buy a{padding:12px 16px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* variações de card: sem tratamento especial no mobile */
.opportunity-card-market,
.audience-card-opportunity{}
