/* ==========================================================================
     PROFESSORMERCADOLIVRE — Página de resultado e oferta · V5
     Proposta de LP V5 (10 blocos + perguntas), texto literal. Mesmo funcionamento da V3/V4:
     sessionStorage pml_quiz_v1, perfis, Pixel, Utmify, checkout Kiwify,
     painel de testes, REFAZER QUIZ e tela sem resultado.
     Manrope (títulos) + Inter (textos). Imagens em assets/lp-v4/.
     ========================================================================== */
  :root {
    --navy-deep: #071B3C;
    --navy: #17233B;
    --navy-900: #0B1428;
    --navy-800: #0E2149;
    --navy-700: #22304D;
    --navy-400: #4A5878;
    --electric: #075CE5;
    --electric-300: #5E9BFF;
    --electric-50: #EAF1FF;
    --yellow: #F7C948;
    --yellow-vivid: #FFD52E;
    --gold: #FFBC32;
    --yellow-600: #E2AC1C;
    --yellow-100: #FDF2CF;
    --yellow-50: #FFFAEA;
    --cream: #FFF9ED;
    --white: #FFFFFF;
    --ink: #182230;
    --slate: #5B6577;
    --line: #E6EAF1;
    --line-strong: #D5DDE9;
    --green: #168B61;
    --green-50: #E4F4EC;
    --on-navy: #D6DEEB;
    --on-navy-muted: #AEBAD0;

    --font-display: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

    --r-sm: 10px;
    --r-md: 14px;
    --r-lg: 18px;
    --r-xl: 24px;
    --shadow-card: 0 1px 2px rgba(7, 27, 60, .06), 0 18px 36px -22px rgba(7, 27, 60, .35);
    --shadow-float: 0 2px 4px rgba(7, 27, 60, .08), 0 30px 60px -28px rgba(7, 27, 60, .55);
    --ease: cubic-bezier(.2, .7, .2, 1);

    --gutter: 16px;
    --pad-l: max(var(--gutter), env(safe-area-inset-left, 0px));
    --pad-r: max(var(--gutter), env(safe-area-inset-right, 0px));
    color-scheme: light;
  }
  @media (min-width: 768px) { :root { --gutter: 32px; } }

  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body {
    margin: 0;
    min-height: 100vh;
    background: var(--cream);
    color: var(--ink);
    font-family: var(--font-ui);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
  }
  @supports (overflow: clip) { body { overflow-x: clip; } }
  img, svg { max-width: 100%; }
  p, h1, h2, h3, h4, ul, ol, figure { margin: 0; }
  ul, ol { padding: 0; list-style: none; }
  button { font: inherit; color: inherit; }
  [hidden] { display: none !important; }
  .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; }
  :focus-visible { outline: 3px solid var(--electric); outline-offset: 3px; border-radius: 6px; }
  h1, h2, h3, h4, p, li { overflow-wrap: break-word; }
  .icon { width: 1.25em; height: 1.25em; flex: none; }

  .container { position: relative; width: 100%; max-width: calc(1180px + 2 * var(--gutter)); margin-inline: auto; padding-left: var(--pad-l); padding-right: var(--pad-r); }
  .layer { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }

  /* --------------------------------------------------------------- Marca */
  .site-header { position: relative; z-index: 3; padding-top: 14px; padding-bottom: 14px; background: var(--navy-deep); border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .brand { display: inline-flex; align-items: center; gap: 10px; color: var(--white); flex-shrink: 0; }
  .brand-mark { width: 34px; height: 34px; flex: none; border-radius: 9px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .16), 0 8px 18px -8px rgba(7, 92, 229, .9); }
  .brand-name { font-family: var(--font-display); font-size: 15px; line-height: 1; letter-spacing: -.01em; white-space: nowrap; }
  .brand-name b { font-weight: 800; color: var(--white); }
  .brand-name span { font-weight: 800; color: var(--yellow); }
  @media (max-width: 359px) { .brand { gap: 8px; } .brand-name { font-size: 14px; } }
  @media (min-width: 768px) { .brand-name { font-size: 18px; } }

  /* --------------------------------------------------------------- Botões */
  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 56px; padding: 0 24px; border-radius: 14px; border: 0;
    font-family: var(--font-ui); font-size: 16px; font-weight: 800; letter-spacing: .03em; line-height: 1.25;
    text-align: center; text-decoration: none; cursor: pointer; text-wrap: balance;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
    transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, filter .18s ease;
  }
  .btn .icon { transition: transform .18s var(--ease); }
  .btn:active { transform: translateY(1px); }
  .btn:focus-visible { outline-offset: 4px; border-radius: 14px; }
  .btn-primary {
    min-height: 60px;
    background: linear-gradient(180deg, #FFDB4D 0%, var(--yellow-vivid) 45%, var(--yellow) 100%);
    color: var(--navy-deep);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 12px 24px -12px rgba(255, 188, 50, .95), 0 2px 0 rgba(170, 120, 10, .35);
  }
  @media (hover: hover) {
    .btn-primary:hover { filter: brightness(1.04); transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 16px 30px -12px rgba(255, 188, 50, 1), 0 2px 0 rgba(170, 120, 10, .35); }
    .btn-primary:hover .icon { transform: translateX(3px); }
  }
  .btn-primary[aria-disabled="true"] { background: #E9EDF2; color: #7D879A; box-shadow: none; cursor: not-allowed; transform: none; filter: none; }
  .btn-primary[aria-disabled="true"] .icon { transform: none; }
  /* CTA comercial: rótulos longos, sempre legíveis e sem estourar a largura */
  .btn-cta { width: 100%; padding: 12px 18px; font-size: 16px; letter-spacing: .02em; line-height: 1.3; }
  .btn-cta > span { min-width: 0; }
  @media (max-width: 374px) { .btn-cta { padding: 12px 12px; font-size: 15px; letter-spacing: 0; gap: 8px; } }
  @media (min-width: 640px) { .btn-cta { width: auto; max-width: 100%; min-width: 440px; padding: 14px 30px; font-size: 17px; } }
  .cta-hint { margin-top: 8px; text-align: center; font-size: 13.5px; color: var(--ink); }

  /* =========================================================== TIPOGRAFIA V4 */
  .sec { position: relative; isolation: isolate; overflow: hidden; padding-top: 64px; padding-bottom: 64px; }
  /* clip (e não hidden) para as fotos "sticky" do desktop continuarem funcionando */
  @supports (overflow: clip) { .sec { overflow: clip; } }
  @media (min-width: 768px) { .sec { padding-top: 104px; padding-bottom: 104px; } }
  .sec--cream { background: var(--cream); }
  .sec--white { background: var(--white); }
  .sec--navy { background: var(--navy-deep); color: var(--on-navy); }
  .sec--ink { background: var(--navy-900); color: var(--on-navy); }

  .narrow { max-width: 760px; margin-inline: auto; }
  .flow > * + * { margin-top: 18px; }
  .flow > .h-xl + *, .flow > .h-long + * { margin-top: 24px; }
  .flow > * + .h-xl, .flow > * + .h-long { margin-top: 48px; }
  .flow > * + .callout, .flow > .callout + * { margin-top: 28px; }
  @media (min-width: 768px) {
    .flow > * + * { margin-top: 20px; }
    .flow > .h-xl + *, .flow > .h-long + * { margin-top: 30px; }
    .flow > * + .h-xl, .flow > * + .h-long { margin-top: 64px; }
    .flow > * + .callout, .flow > .callout + * { margin-top: 34px; }
  }

  .kick {
    display: inline-flex; align-items: center; gap: 9px; max-width: 100%;
    padding: 8px 14px; border-radius: 99px;
    background: var(--electric-50); color: var(--electric); box-shadow: inset 0 0 0 1px rgba(7, 92, 229, .16);
    font-size: 14px; font-weight: 800; letter-spacing: .09em; line-height: 1.35;
  }
  .sec--navy .kick, .sec--ink .kick, .kick--dark {
    background: rgba(255, 213, 46, .1); color: var(--yellow-vivid); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .32);
  }
  .kick-check {
    display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%;
    background: #1FAE73; color: var(--white); box-shadow: 0 0 0 4px rgba(31, 174, 115, .18);
  }
  .kick-check .icon { width: 14px; height: 14px; }

  .h-xl {
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep);
    font-size: clamp(29px, 8.1vw, 40px); line-height: 1.07; letter-spacing: -.025em; text-wrap: balance;
  }
  .h-long {
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep);
    font-size: clamp(24px, 6.7vw, 34px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance;
  }
  @media (min-width: 960px) {
    .h-xl { font-size: clamp(42px, 4.3vw, 58px); line-height: 1.04; }
    .h-long { font-size: clamp(34px, 3.2vw, 46px); line-height: 1.08; }
  }
  .sec--navy .h-xl, .sec--navy .h-long, .sec--ink .h-xl, .sec--ink .h-long { color: var(--white); }

  .hl { color: var(--yellow-vivid); }
  .hl-mark {
    color: var(--navy-deep); padding: 0 .1em; border-radius: 6px;
    background: linear-gradient(transparent 58%, var(--yellow) 58%, var(--yellow) 94%, transparent 94%);
    -webkit-box-decoration-break: clone; box-decoration-break: clone;
  }

  .txt { font-size: 17px; line-height: 1.66; color: var(--ink); }
  @media (min-width: 768px) { .txt { font-size: 19px; } }
  .sec--navy .txt, .sec--ink .txt { color: var(--on-navy); }
  .txt strong { font-weight: 800; color: var(--navy-deep); }
  .sec--navy .txt strong, .sec--ink .txt strong { color: var(--white); }

  .say {
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep);
    font-size: clamp(20px, 5.6vw, 25px); line-height: 1.28; letter-spacing: -.012em;
  }
  @media (min-width: 768px) { .say { font-size: 27px; } }
  .sec--navy .say, .sec--ink .say { color: var(--white); }
  .say--y { color: var(--yellow-vivid) !important; }

  .callout {
    position: relative; padding: 20px 20px 20px 22px; border-radius: 4px 18px 18px 4px;
    border-left: 5px solid var(--yellow); background: var(--white); box-shadow: var(--shadow-card);
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep);
    font-size: clamp(19px, 5.3vw, 24px); line-height: 1.32; letter-spacing: -.01em;
  }
  @media (min-width: 768px) { .callout { padding: 26px 30px 26px 30px; font-size: 26px; } }
  .sec--white .callout { background: var(--cream); box-shadow: none; }
  .sec--navy .callout, .sec--ink .callout {
    background: linear-gradient(120deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
    color: var(--white); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
  }

  .next { display: flex; align-items: center; gap: 12px; font-weight: 600; }
  .next .icon { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: var(--yellow); color: var(--navy-deep); }

  .note { font-size: 14px; line-height: 1.55; color: var(--slate); font-style: italic; }
  @media (min-width: 768px) { .note { font-size: 15px; } }
  .sec--navy .note, .sec--ink .note { color: var(--on-navy-muted); }

  /* Listas visuais (o texto de cada item é a linha da copy, sem alterações) */
  .chips { display: flex; flex-wrap: wrap; gap: 10px; }
  .chips > li {
    display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
    padding: 10px 15px; border-radius: 99px; background: var(--white);
    box-shadow: inset 0 0 0 1px var(--line-strong), 0 6px 14px -12px rgba(7, 27, 60, .5);
    font-size: 15.5px; font-weight: 700; line-height: 1.3; color: var(--navy-deep);
  }
  .chips > li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 3px var(--yellow-100); }
  .sec--white .chips > li { background: var(--cream); box-shadow: inset 0 0 0 1px #F0E3C2; }
  .sec--navy .chips > li, .sec--ink .chips > li { background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); color: var(--white); }
  .sec--navy .chips > li::before, .sec--ink .chips > li::before { box-shadow: 0 0 0 3px rgba(255, 213, 46, .2); }
  @media (min-width: 768px) { .chips > li { font-size: 17px; padding: 12px 18px; } }

  .ticks { display: grid; gap: 10px; }
  .ticks > li { display: flex; align-items: flex-start; gap: 12px; font-family: var(--font-display); font-weight: 800; font-size: 18px; line-height: 1.3; }
  .ticks .tk { display: grid; place-items: center; flex: none; width: 26px; height: 26px; margin-top: -1px; border-radius: 50%; background: var(--yellow); color: var(--navy-deep); }
  .ticks .tk .icon { width: 15px; height: 15px; }
  @media (min-width: 768px) { .ticks > li { font-size: 20px; } }
  .sec--navy .ticks > li, .sec--ink .ticks > li { color: var(--white); }

  /* Fotos reais (prova) */
  .photo { position: relative; margin: 0; }
  .photo img { display: block; width: 100%; height: auto; border-radius: 16px; background: #E9E2D2; }
  .photo--frame { padding: 8px; border-radius: 22px; background: var(--white); box-shadow: 0 0 0 1px rgba(7, 27, 60, .08), var(--shadow-float); }
  .photo--frame img { border-radius: 15px; }

  /* =========================================================== S1 — RESULTADO */
  .s1 { padding-top: 26px; background: linear-gradient(180deg, var(--navy-deep) 0, var(--navy-deep) 200px, var(--cream) 200px); }
  .s1 .layer::before {
    content: ""; position: absolute; left: 50%; top: -260px; width: 900px; height: 520px; transform: translateX(-50%); border-radius: 50%;
    background: radial-gradient(closest-side, rgba(7, 92, 229, .45), transparent);
  }
  .s1-card {
    position: relative; max-width: 880px; margin-inline: auto; padding: 26px 20px 28px;
    border-radius: 26px; background: var(--white);
    box-shadow: 0 0 0 1px rgba(7, 27, 60, .06), 0 40px 80px -40px rgba(7, 27, 60, .55), 0 0 0 8px rgba(255, 255, 255, .06);
  }
  .s1-card::before { content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, var(--yellow-vivid), var(--gold)); }
  .s1-title { font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: clamp(27px, 7.6vw, 36px); line-height: 1.1; letter-spacing: -.024em; text-wrap: balance; }
  .s1-card.flow > .s1-title { margin-top: 18px; }
  .pf {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; margin-top: 24px !important;
    padding: 18px 16px; border-radius: 20px; color: var(--on-navy);
    background: radial-gradient(120% 140% at 100% 0%, rgba(7, 92, 229, .55), rgba(7, 92, 229, 0) 60%), linear-gradient(145deg, #0D2C63, var(--navy-deep));
    box-shadow: 0 24px 40px -26px rgba(7, 27, 60, .9);
  }
  .pf-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(150deg, var(--yellow-vivid), var(--yellow)); color: var(--navy-deep); }
  .pf-icon .icon { width: 25px; height: 25px; }
  .pf-name { font-family: var(--font-display); line-height: 1.2; color: var(--white); }
  .pf-name strong { font-weight: 800; }
  .pf-label { display: block; font-size: 14px; letter-spacing: .02em; color: var(--on-navy-muted); }
  .pf-value { display: block; margin-top: 4px; font-size: clamp(20px, 5.8vw, 26px); letter-spacing: -.01em; color: var(--yellow-vivid); }
  .pf-guide { display: grid; gap: 8px; margin-top: 10px; font-size: 15.5px; line-height: 1.55; }
  .pf-capital { display: flex; align-items: flex-start; gap: 9px; margin-top: 4px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); font-size: 14.5px; }
  .pf-capital .icon { width: 18px; height: 18px; margin-top: 2px; color: var(--yellow); }
  .s1-callout {
    padding: 18px 18px 18px 20px; border-radius: 4px 16px 16px 4px; border-left: 5px solid var(--yellow); background: var(--yellow-50);
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: clamp(18px, 5vw, 22px); line-height: 1.32;
  }
  .s1 .next { color: var(--navy-deep); }
  @media (min-width: 640px) {
    .s1-card { padding: 40px 44px 40px; }
    .pf { padding: 22px 24px; gap: 18px; }
    .pf-icon { width: 54px; height: 54px; border-radius: 16px; }
  }
  @media (min-width: 960px) {
    .s1 { padding-top: 56px; background: linear-gradient(180deg, var(--navy-deep) 0, var(--navy-deep) 260px, var(--cream) 260px); }
    .s1-card { padding: 52px 64px 52px; }
    .s1-title { font-size: 46px; }
    .pf-guide { font-size: 16.5px; }
    .s1-callout { font-size: 25px; padding: 24px 28px; }
  }

  /* =========================================================== S2 — PROMESSA */
  .s2 .layer {
    background:
      radial-gradient(60% 50% at 85% 40%, rgba(255, 201, 50, .16), rgba(255, 201, 50, 0) 70%),
      radial-gradient(70% 60% at 0% 0%, rgba(7, 92, 229, .45), rgba(7, 92, 229, 0) 65%),
      var(--navy-deep);
  }
  .s2 .layer::after {
    content: ""; position: absolute; inset: 0; opacity: .5;
    background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 44px 44px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%);
  }
  .s2-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "art" "b"; }
  .s2-a { grid-area: a; } .s2-b { grid-area: b; } .s2-art { grid-area: art; }
  .s2-title { font-size: clamp(27px, 7.6vw, 40px); }
  .s2-a .ticks { margin-top: 26px; }
  .s2-art { position: relative; justify-self: center; width: min(86%, 380px); margin: 34px 0 30px; }
  .s2-art::before { content: ""; position: absolute; left: 50%; top: 52%; width: 120%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 213, 46, .38), rgba(255, 188, 50, .12) 55%, transparent); }
  .s2-art img { position: relative; display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
  .s2-b .say { color: var(--white); }
  @media (min-width: 960px) {
    .s2-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 64px; grid-template-areas: "a art" "b art"; }
    .s2-title { font-size: clamp(40px, 4vw, 56px); line-height: 1.05; }
    .s2-art { align-self: center; width: 100%; max-width: 470px; margin: 0; }
    .s2-b { margin-top: 36px; }
  }

  /* =========================================================== S3 — IDENTIFICAÇÃO */
  .doubts { display: grid; gap: 12px; margin-top: 26px !important; }
  .doubts > li {
    position: relative; padding: 16px 18px 16px 54px; border-radius: 18px 18px 18px 6px;
    background: var(--cream); box-shadow: inset 0 0 0 1px #F0E3C2;
    font-size: 17px; line-height: 1.45; font-style: italic; font-weight: 600; color: var(--navy-deep);
  }
  .doubts .qm { position: absolute; left: 14px; top: 14px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--navy-deep); color: var(--yellow); }
  .doubts .qm .icon { width: 17px; height: 17px; }
  @media (min-width: 720px) { .doubts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .doubts > li { font-size: 18px; } }

  /* =========================================================== S4 — OPORTUNIDADE */
  .s4-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "photo" "b"; }
  .s4-a { grid-area: a; } .s4-b { grid-area: b; } .s4-photo { grid-area: photo; }
  .s4-photo { margin: 34px auto 6px; width: min(100%, 440px); }
  .s4-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 60%; }
  .chain { position: relative; display: grid; gap: 10px; margin-top: 26px !important; }
  .chain > li {
    position: relative; display: flex; align-items: center; gap: 14px; padding: 12px 16px 12px 12px; border-radius: 14px;
    background: var(--white); box-shadow: inset 0 0 0 1px var(--line-strong);
    font-size: 16.5px; font-weight: 600; line-height: 1.4; color: var(--navy-deep);
  }
  .chain .ci { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 11px; background: var(--navy-deep); color: var(--yellow); }
  .chain .ci .icon { width: 20px; height: 20px; }
  .chain > li + li::before { content: ""; position: absolute; left: 29px; top: -11px; width: 2px; height: 10px; background: var(--yellow-600); }
  @media (min-width: 768px) { .chain > li { font-size: 18px; } }
  @media (min-width: 960px) {
    .s4-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); column-gap: 64px; grid-template-areas: "a photo" "b photo"; }
    .s4-photo { position: sticky; top: 32px; align-self: start; width: 100%; max-width: 480px; margin: 8px 0 0; }
    .s4-b { margin-top: 28px; }
  }

  /* =========================================================== S5 — ESCALA */
  .stat-panel {
    position: relative; overflow: hidden; isolation: isolate; padding: 30px 20px 26px; border-radius: 26px; color: var(--on-navy);
    background: radial-gradient(80% 90% at 100% 0%, rgba(7, 92, 229, .6), rgba(7, 92, 229, 0) 60%), linear-gradient(150deg, #0D2C63, var(--navy-deep) 60%);
    box-shadow: var(--shadow-float);
  }
  .stat-panel > * + * { margin-top: 16px; }
  .stat-panel > .s5-title + * { margin-top: 22px; }
  .stat-panel .txt { color: var(--on-navy); }
  .stat-panel .txt strong { color: var(--yellow-vivid); }
  .s5-title { font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(22px, 6.4vw, 34px); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
  .mega-num { display: block; margin-bottom: 4px; color: var(--yellow-vivid); font-size: clamp(50px, 15.5vw, 96px); line-height: .95; letter-spacing: -.045em; }
  .stat-panel .say { color: var(--white); }
  .stats { display: grid; gap: 12px; margin-top: 22px !important; }
  .stats > li {
    display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 16px;
    background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
    font-family: var(--font-display); font-weight: 800; font-size: 18px; line-height: 1.3; color: var(--white);
  }
  .stats .si { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 13px; background: var(--yellow); color: var(--navy-deep); }
  .stats .si .icon { width: 24px; height: 24px; }
  .s5-body { margin-top: 44px; }
  @media (min-width: 720px) { .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 960px) {
    .stat-panel { padding: 56px 64px 52px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 56px; align-items: start; }
    .stat-panel > .stats { margin-top: 22px !important; }
    .stat-panel > .s5-title { grid-column: 1 / -1; font-size: 44px; }
    .mega-num { font-size: 128px; }
    .stat-panel > :not(.s5-title):not(.stats) { grid-column: 1; }
    .stats { grid-column: 2; grid-row: 2 / span 3; grid-template-columns: minmax(0, 1fr); align-self: end; }
    .stats > li { font-size: 20px; padding: 20px; }
    .s5-body { margin-top: 72px; }
  }

  /* =========================================================== S6 — VISUALIZAÇÃO */
  .s6 .layer {
    background:
      radial-gradient(50% 45% at 82% 30%, rgba(255, 213, 46, .14), rgba(255, 213, 46, 0) 70%),
      radial-gradient(60% 60% at 10% 100%, rgba(7, 92, 229, .35), rgba(7, 92, 229, 0) 70%), var(--navy-900);
  }
  .s6-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "shot" "b"; }
  .s6-a { grid-area: a; } .s6-b { grid-area: b; } .s6-shot { grid-area: shot; }
  .s6-shot { position: relative; justify-self: center; width: min(82%, 320px); margin: 36px 0 34px; }
  .s6-shot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 150%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 213, 46, .22), transparent 70%); }
  .s6-shot img { position: relative; display: block; width: 100%; height: auto; filter: drop-shadow(0 26px 40px rgba(0, 0, 0, .55)); }
  .ping { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 800; color: var(--yellow-vivid); font-size: clamp(22px, 6.4vw, 30px); line-height: 1.2; }
  .ping .pd { position: relative; flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--yellow-vivid); box-shadow: 0 0 0 5px rgba(255, 213, 46, .2), 0 0 18px rgba(255, 213, 46, .8); }
  .clock { display: grid; gap: 0; margin-top: 26px !important; border-left: 2px solid rgba(255, 213, 46, .35); padding-left: 2px; }
  .clock > li { position: relative; padding: 9px 0 9px 22px; font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1.35; color: var(--white); }
  .clock > li::before { content: ""; position: absolute; left: -9px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: var(--navy-900); border: 2px solid var(--yellow-vivid); }
  .clock > li:last-child::before { background: var(--yellow-vivid); }
  @media (min-width: 768px) { .clock > li { font-size: 21px; } }
  @media (min-width: 960px) {
    .s6-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); column-gap: 72px; grid-template-areas: "a shot" "b shot"; }
    .s6-shot { position: sticky; top: 40px; align-self: start; width: 100%; max-width: 400px; margin: 10px 0 0; }
    .s6-b { margin-top: 26px; }
  }

  /* =========================================================== S7 — R$ 4.800 */
  .calc {
    position: relative; overflow: hidden; isolation: isolate; margin-top: 30px !important; padding: 26px 18px 24px; border-radius: 24px; text-align: center;
    background: var(--white); box-shadow: 0 0 0 1px #F0E3C2, var(--shadow-float);
  }
  .calc::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--yellow-vivid), var(--gold)); }
  .eq { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: 18px; line-height: 1.2; }
  .eq .tok { padding: 10px 14px; border-radius: 12px; background: var(--cream); box-shadow: inset 0 0 0 1px #F0E3C2; }
  .eq .op { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--navy-deep); color: var(--yellow-vivid); font-size: 20px; }
  .eq .tok--res { background: var(--yellow); box-shadow: none; }
  @media (max-width: 559px) { .eq { flex-direction: column; gap: 8px; } .eq .tok { min-width: 70%; } }
  .calc-label { margin-top: 22px; font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--slate); }
  .calc-total { margin-top: 6px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: clamp(40px, 12.5vw, 76px); line-height: 1; letter-spacing: -.04em; }
  .calc-total .amt { color: var(--green); }
  .scale { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
  .scale > li { padding: 10px 16px; border-radius: 14px; background: var(--navy-deep); color: var(--white); font-family: var(--font-display); font-weight: 800; line-height: 1.2; }
  .scale > li:nth-child(1) { font-size: 16px; }
  .scale > li:nth-child(2) { font-size: 19px; }
  .scale > li:nth-child(3) { font-size: 22px; background: var(--yellow); color: var(--navy-deep); }
  .caution { padding: 16px 18px; border-radius: 14px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line-strong); font-size: 16px !important; color: var(--slate) !important; }
  @media (min-width: 768px) {
    .calc { padding: 40px 40px 36px; }
    .eq { font-size: 20px; gap: 10px 12px; }
    .eq .tok { padding: 10px 13px; }
    .eq .op { width: 42px; height: 42px; font-size: 24px; }
    .calc-label { font-size: 16px; }
    .caution { font-size: 17px !important; padding: 20px 24px; }
  }

  /* =========================================================== S8 — HISTÓRIA */
  .s8-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "photo" "text"; }
  .s8-head { grid-area: head; } .s8-photo { grid-area: photo; } .s8-text { grid-area: text; }
  .s8-head .h-xl { margin-top: 16px; }
  .s8-photo { margin: 28px auto 30px; width: min(100%, 460px); }
  .s8-photo img { aspect-ratio: 3 / 4; object-fit: cover; }
  .s8-name strong { color: var(--navy-deep); background: linear-gradient(transparent 60%, var(--yellow-100) 60%); }
  .quote-callout { border-left-color: var(--electric); font-style: normal; }
  .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 36px 0; }
  .gallery .photo img { aspect-ratio: 3 / 4; object-fit: cover; border-radius: 14px; }
  .gallery .photo--wide img { object-position: 50% 50%; }
  @media (min-width: 900px) { .gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 56px 0; } }
  .big-claim {
    position: relative; overflow: hidden; isolation: isolate; margin: 40px 0; padding: 40px 20px 34px; border-radius: 26px; text-align: center; color: var(--on-navy);
    background: var(--navy-deep); box-shadow: var(--shadow-float);
  }
  .big-claim .art { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .2; filter: saturate(.55); }
  .big-claim::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(70% 80% at 50% 40%, rgba(7, 27, 60, .55), rgba(7, 27, 60, .92)); }
  .claim-title { max-width: 18em; margin-inline: auto; font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(28px, 8.2vw, 54px); line-height: 1.06; letter-spacing: -.028em; text-wrap: balance; }
  .claim-title .hl { display: inline-block; color: var(--yellow-vivid); font-size: 1.32em; }
  .claim-note { max-width: 40em; margin: 18px auto 0; font-size: 15px; line-height: 1.6; color: var(--on-navy); }
  @media (min-width: 768px) { .big-claim { margin: 64px 0; padding: 72px 56px 60px; } .claim-note { font-size: 17px; } }
  @media (min-width: 960px) {
    .s8-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: 72px; grid-template-areas: "photo head" "photo text"; }
    .s8-photo { position: sticky; top: 32px; align-self: start; width: 100%; max-width: none; margin: 0; }
    .s8-text { margin-top: 30px; }
  }

  /* =========================================================== S9 — COMEÇAR */
  .s9-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "intro" "qs" "photo" "outro"; }
  .s9-head { grid-area: head; } .s9-intro { grid-area: intro; margin-top: 24px; } .qs { grid-area: qs; } .s9-photo { grid-area: photo; } .s9-outro { grid-area: outro; margin-top: 32px; }
  .s9-head .h-xl { max-width: 20em; }
  .qs { display: grid; gap: 10px; margin-top: 22px; }
  .qs > li {
    display: flex; align-items: center; gap: 14px; padding: 13px 16px 13px 12px; border-radius: 14px;
    background: var(--white); box-shadow: inset 0 0 0 1px var(--line-strong);
    font-size: 16.5px; font-weight: 700; line-height: 1.38; color: var(--navy-deep);
  }
  .qs .qi { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 11px; background: var(--yellow); color: var(--navy-deep); }
  .qs .qi .icon { width: 20px; height: 20px; }
  .s9-photo { margin-top: 30px; }
  .s9-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
  @media (min-width: 768px) { .qs > li { font-size: 18px; } }
  @media (min-width: 960px) {
    .s9-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); column-gap: 64px; grid-template-areas: "head head" "intro photo" "qs photo" "outro outro"; }
    .s9-photo { position: sticky; top: 32px; align-self: start; margin-top: 24px; }
    .s9-outro { max-width: 760px; margin-top: 44px; }
  }

  /* =========================================================== S10 — TREINAMENTO */
  .s10 .layer {
    background:
      radial-gradient(60% 60% at 85% 10%, rgba(7, 92, 229, .5), rgba(7, 92, 229, 0) 65%),
      radial-gradient(50% 50% at 0% 100%, rgba(255, 188, 50, .14), rgba(255, 188, 50, 0) 70%), var(--navy-deep);
  }
  .s10-hero { display: grid; gap: 26px; align-items: center; }
  .s10-title { margin-top: 16px; font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(40px, 12.4vw, 60px); line-height: .98; letter-spacing: -.035em; scroll-margin-top: 16px; }
  .s10-sub { margin-top: 16px; font-family: var(--font-display); font-weight: 700; color: var(--on-navy); font-size: clamp(19px, 5.2vw, 24px); line-height: 1.32; letter-spacing: -.01em; }
  .s10-body { margin-top: 40px; max-width: 760px; }
  .nots { display: grid; gap: 10px; }
  .nots > li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); font-size: 16.5px; font-weight: 600; line-height: 1.4; color: var(--white); }
  .nots .nx { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--yellow); color: var(--navy-deep); }
  .nots .nx .icon { width: 16px; height: 16px; }
  .learn { display: grid; gap: 10px; margin-top: 20px; }
  .learn > li {
    display: flex; align-items: flex-start; gap: 12px; padding: 16px; border-radius: 16px;
    background: var(--white); color: var(--navy-deep); box-shadow: 0 18px 30px -24px rgba(0, 0, 0, .8);
    font-size: 16px; font-weight: 700; line-height: 1.42;
  }
  .learn .ln { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 10px; background: var(--navy-deep); color: var(--yellow); }
  .learn .ln .icon { width: 18px; height: 18px; }
  .s10-close { margin-top: 34px; }
  @media (min-width: 640px) { .learn { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
  @media (min-width: 768px) { .nots > li { font-size: 18px; } .learn > li { font-size: 17px; padding: 18px; } }
  @media (min-width: 960px) {
    .s10-hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; }
    .s10-title { font-size: 82px; }
    .s10-sub { font-size: 26px; }
    .s10-body { margin-top: 56px; }
  }
  /* Cartão tipográfico (notebook) da página do curso; nesta página o bloco 7 usa a capa da cartilha (.book-visual) */
  .course-visual { position: relative; width: min(100%, 500px); justify-self: center; padding: 22px 8% 26px 6%; }
  .cv-arc { position: absolute; left: 6%; right: 0; top: 2%; height: 76%; border-radius: 50%; border: 3px solid transparent; border-top-color: var(--gold); border-right-color: rgba(255, 188, 50, .45); filter: drop-shadow(0 0 7px rgba(255, 188, 50, .9)); }
  .cv-box { position: absolute; border-radius: 5px; background: linear-gradient(165deg, #E9C186 0%, #CF9A60 55%, #B98450 100%); box-shadow: inset 0 -10px 16px -12px rgba(0, 0, 0, .45), 0 20px 30px -16px rgba(0, 0, 0, .7); }
  .cv-box::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 16%; transform: translateX(-50%); background: rgba(255, 255, 255, .2); }
  .cv-box--1 { right: 0; bottom: 8%; width: 30%; height: 30%; }
  .cv-box--2 { right: 4%; bottom: 38%; width: 22%; height: 22%; }
  .cv-box--3 { right: 24%; bottom: 6%; width: 18%; height: 18%; }
  .laptop { position: relative; z-index: 1; width: 86%; }
  .laptop-screen { position: relative; padding: 9px; border-radius: 16px 16px 6px 6px; background: linear-gradient(180deg, #1C2740, #0B1222); box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 30px 50px -24px rgba(0, 0, 0, .8); }
  .product {
    position: relative; display: grid; align-content: center; justify-items: center; gap: 10px; min-height: 168px;
    padding: 18px 12px; border-radius: 9px; overflow: hidden; isolation: isolate; text-align: center; background-color: #0B2550;
    background-image: radial-gradient(rgba(255, 255, 255, .08) 1.1px, transparent 1.3px), radial-gradient(120% 90% at 50% 0%, rgba(7, 92, 229, .75), rgba(7, 27, 60, 0) 70%);
    background-size: 16px 16px, 100% 100%;
  }
  .product-cap { display: grid; place-items: center; width: 40px; height: 40px; color: var(--yellow-vivid); }
  .product-cap .icon { width: 100%; height: 100%; }
  .product-name { font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(20px, 6.4vw, 30px); line-height: .98; letter-spacing: -.03em; }
  .product-name span { display: block; color: var(--yellow-vivid); font-size: 1.3em; }
  .product-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
  .product-fact { padding: 5px 10px; border-radius: 99px; border: 1px solid rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .06); color: var(--white); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
  .laptop-base { position: relative; height: 13px; margin: 0 -7%; border-radius: 2px 2px 14px 14px; background: linear-gradient(180deg, #D7DDE7, #9AA4B5 70%, #7A8496); box-shadow: 0 18px 26px -14px rgba(0, 0, 0, .8); }
  .laptop-base::before { content: ""; position: absolute; left: 50%; top: 0; width: 18%; height: 5px; transform: translateX(-50%); border-radius: 0 0 6px 6px; background: rgba(0, 0, 0, .18); }
  @media (min-width: 960px) {
    .course-visual { width: 100%; }
    .product { min-height: 250px; }
    .product-cap { width: 52px; height: 52px; }
    .product-name { font-size: 34px; }
    .product-fact { font-size: 12.5px; padding: 6px 12px; }
  }

  /* Capa tipográfica da cartilha (bloco 7): proporção A5, cores da cartilha, sem logotipo do Mercado Livre */
  .book-visual { padding: 16px 12% 24px 4%; }
  .booklet { position: relative; z-index: 1; width: 64%; margin-left: 9%; transform: rotate(-4deg); filter: drop-shadow(0 28px 30px rgba(0, 0, 0, .55)); }
  .bk-cover {
    position: relative; overflow: hidden; isolation: isolate; aspect-ratio: 148 / 210;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px;
    padding: 14% 8%; border-radius: 3px 10px 10px 3px; text-align: center; color: #13171E;
    background: linear-gradient(180deg, #FFFFFF 0%, #EEF3FA 100%);
    box-shadow: inset 8px 0 10px -7px rgba(19, 23, 30, .4), inset 0 0 0 1px rgba(19, 23, 30, .06);
  }
  .bk-cover::before, .bk-cover::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; background: #FFE01B; }
  .bk-cover::before { width: 52%; aspect-ratio: 1; top: -18%; right: -20%; }
  .bk-cover::after { width: 44%; aspect-ratio: 1; bottom: -17%; left: -17%; }
  .bk-kick { font-family: var(--font-display); font-weight: 800; font-size: 9px; letter-spacing: .2em; color: #1B2B7A; }
  .bk-title { font-family: var(--font-display); font-weight: 800; font-size: clamp(12px, 3.7vw, 16px); line-height: .98; letter-spacing: -.02em; }
  .bk-title span { display: block; font-size: 1.62em; letter-spacing: -.03em; }
  .bk-title .bk-blue { color: #0178C6; }
  .bk-tag { padding: 4px 7px; border-radius: 5px; background: #FFE01B; font-family: var(--font-display); font-weight: 800; font-size: clamp(7.5px, 2.2vw, 9.5px); letter-spacing: .02em; white-space: nowrap; }
  .bk-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
  .bk-facts span { padding: 3px 8px; border-radius: 99px; border: 1px solid rgba(27, 43, 122, .3); background: rgba(255, 255, 255, .75); color: #1B2B7A; font-size: clamp(7.5px, 2.1vw, 9.5px); font-weight: 800; letter-spacing: .08em; }
  @media (min-width: 960px) {
    .booklet { width: 60%; }
    .bk-cover { gap: 12px; }
    .bk-kick { font-size: 11px; }
    .bk-title { font-size: 20px; }
    .bk-tag { font-size: 11.5px; padding: 5px 9px; }
    .bk-facts span { font-size: 11px; padding: 4px 10px; }
  }

  /* =========================================================== S11 — POR QUE COMIGO */
  .frags { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 24px !important; }
  .frags > li {
    display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 16px;
    background: var(--cream); box-shadow: inset 0 0 0 1px #F0E3C2;
    font-size: 15.5px; font-weight: 700; line-height: 1.35; color: var(--navy-deep);
  }
  .frags > li:nth-child(odd) { transform: rotate(-1deg); } .frags > li:nth-child(even) { transform: rotate(1deg); }
  .frags .fp { display: grid; place-items: center; width: 34px; height: 24px; border-radius: 7px; background: var(--navy-deep); color: var(--yellow); }
  .frags .fp .icon { width: 14px; height: 14px; }
  @media (min-width: 768px) { .frags { grid-template-columns: repeat(4, minmax(0, 1fr)); } .frags > li { font-size: 16.5px; } }
  .pills-no { display: grid; gap: 10px; }
  .pills-no > li { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 800; font-size: 19px; line-height: 1.3; color: var(--navy-deep); }
  .pills-no .px { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: #FDE3E1; color: #C2410C; }
  .pills-no .px .icon { width: 15px; height: 15px; }
  .mosaic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 40px 0; }
  .mosaic .photo img { height: 100%; object-fit: cover; border-radius: 14px; }
  .mosaic .m-big { grid-column: 1 / -1; }
  .mosaic .m-big img { aspect-ratio: 4 / 3.4; object-position: 50% 55%; }
  .mosaic .m-sm img { aspect-ratio: 1 / 1; }
  .mosaic .m-wide { grid-column: 1 / -1; }
  .mosaic .m-wide img { aspect-ratio: 16 / 9; }
  @media (min-width: 900px) {
    .mosaic { grid-template-columns: 1.15fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px; margin: 64px 0; }
    .mosaic .m-big { grid-column: 1; grid-row: 1 / span 2; }
    .mosaic .m-big img { aspect-ratio: auto; height: 100%; }
    .mosaic .m-wide { grid-column: 2 / span 2; }
    .mosaic .m-sm img { aspect-ratio: 4 / 3; }
  }

  /* =========================================================== S12 — OBJEÇÕES */
  .s12-title { text-align: center; max-width: 16em; margin-inline: auto; }
  .objs { display: grid; gap: 12px; margin-top: 34px; }
  .obj { padding: 20px 18px; border-radius: 18px; background: var(--white); box-shadow: var(--shadow-card); }
  .obj-q { display: flex; align-items: flex-start; gap: 12px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: 18px; line-height: 1.3; }
  .obj-q .oq { display: grid; place-items: center; flex: none; width: 30px; height: 30px; margin-top: -2px; border-radius: 10px; background: var(--yellow); color: var(--navy-deep); }
  .obj-q .oq .icon { width: 17px; height: 17px; }
  .obj-a { margin-top: 10px; padding-left: 42px; font-size: 16px; line-height: 1.6; color: var(--ink); }
  @media (min-width: 768px) { .objs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 48px; } .obj { padding: 26px 26px; } .obj-q { font-size: 19.5px; } .obj-a { font-size: 17px; } }
  @media (min-width: 768px) { .objs > .obj:last-child:nth-child(odd) { grid-column: 1 / -1; } }

  /* =========================================================== S13 — DECISÃO */
  .s13 .layer { background: radial-gradient(70% 60% at 50% 0%, rgba(7, 92, 229, .45), rgba(7, 92, 229, 0) 70%), var(--navy-deep); }
  .s13 .flow { text-align: left; }
  .asks { display: grid; gap: 10px; }
  .asks > li { padding: 14px 16px; border-radius: 14px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--white); font-style: italic; }
  @media (min-width: 768px) { .asks > li { font-size: 19px; } }
  .ticks--dark > li { font-size: 18px; }

  /* =========================================================== S14 — OFERTA */
  .s14 { background: var(--cream); }
  .s14 .layer::before { content: ""; position: absolute; left: 50%; top: 0; width: 1200px; height: 700px; transform: translate(-50%, -40%); border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 213, 46, .3), transparent); }
  .offer {
    position: relative; max-width: 1060px; margin-inline: auto; overflow: hidden; border-radius: 28px; background: var(--white);
    box-shadow: 0 0 0 1px rgba(7, 27, 60, .06), 0 0 0 8px rgba(255, 213, 46, .22), 0 50px 90px -40px rgba(7, 27, 60, .6);
  }
  .offer-main { padding: 28px 20px 26px; }
  .offer-title { margin-top: 14px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: clamp(32px, 9.6vw, 50px); line-height: 1; letter-spacing: -.03em; text-wrap: balance; }
  .offer-intro { margin-top: 22px; font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--electric); }
  .incl { display: grid; gap: 4px; margin-top: 12px; }
  .incl > li { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-bottom: 1px dashed var(--line-strong); font-size: 16px; line-height: 1.45; color: var(--ink); font-weight: 600; }
  .incl > li:last-child { border-bottom: 0; }
  .incl .ok { flex: none; font-size: 18px; line-height: 1.3; }
  .offer-side {
    position: relative; isolation: isolate; padding: 28px 20px 30px; color: var(--on-navy); text-align: center;
    background: radial-gradient(90% 80% at 100% 0%, rgba(7, 92, 229, .55), rgba(7, 92, 229, 0) 60%), linear-gradient(160deg, #0D2C63, var(--navy-deep) 65%);
  }
  .offer-side > * + * { margin-top: 14px; }
  .offer-side .say { color: var(--white); }
  .offer-side .o-strong { font-family: var(--font-display); font-weight: 800; font-size: 19px; line-height: 1.35; color: var(--yellow-vivid); }
  .offer-side .txt { font-size: 16px; color: var(--on-navy); }
  .price { margin-top: 6px !important; font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(54px, 17vw, 80px); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
  .once { display: inline-flex; padding: 6px 16px; border-radius: 99px; background: rgba(255, 213, 46, .14); color: var(--yellow-vivid); font-family: var(--font-display); font-size: 17px; font-weight: 800; }
  .offer-side .btn-cta { margin-top: 22px; }
  .secure { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; line-height: 1.45; color: var(--on-navy-muted); }
  .secure .icon { width: 16px; height: 16px; color: var(--yellow); }
  @media (min-width: 640px) { .offer-side .btn-cta { min-width: 0; width: 100%; } }
  @media (min-width: 900px) {
    .offer { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
    .offer-main { padding: 52px 48px 48px; }
    .offer-side { padding: 52px 44px 48px; display: flex; flex-direction: column; justify-content: center; }
    .incl > li { font-size: 17px; }
    .price { font-size: 88px; }
  }

  /* =========================================================== S15 — FECHAMENTO */
  .s15-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
  .s15-photo { display: none; }
  .mark-big { justify-self: start; font-family: var(--font-display); font-weight: 800; font-size: clamp(26px, 7.4vw, 40px); line-height: 1.15; letter-spacing: -.02em; color: var(--navy-deep); }
  .mark-big strong { padding: 0 .12em; background: linear-gradient(transparent 52%, var(--yellow) 52%, var(--yellow) 94%, transparent 94%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
  .s15 .cta-wrap { margin-top: 34px !important; }
  .s15 .note { margin-top: 20px !important; }
  .maybe { display: grid; gap: 10px; }
  .maybe > li { padding: 12px 16px; border-left: 4px solid var(--yellow); background: var(--cream); border-radius: 4px 14px 14px 4px; font-size: 17px; line-height: 1.5; color: var(--ink); }
  @media (min-width: 768px) { .maybe > li { font-size: 18.5px; } }
  @media (min-width: 960px) {
    .s15-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); column-gap: 72px; }
    .s15-photo { display: block; position: sticky; top: 40px; align-self: start; margin-top: 8px; }
    .s15-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 55% 62%; }
  }

  /* =========================================================== S16 — FAQ */
  .faq { max-width: 820px; margin: 0 auto; display: grid; gap: 10px; }
  .faq-item { border: 1px solid #E3E9F3; border-radius: var(--r-md); background: var(--white); box-shadow: 0 1px 2px rgba(7, 27, 60, .05), 0 12px 24px -20px rgba(7, 27, 60, .4); }
  .faq-q {
    display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%;
    min-height: 58px; padding: 14px 16px 14px 18px; border: 0; background: none; cursor: pointer; text-align: left;
    font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--navy-deep); border-radius: var(--r-md);
    -webkit-tap-highlight-color: transparent;
  }
  .chevron { width: 20px; height: 20px; flex: none; transition: transform .2s var(--ease); }
  .faq-q .chevron { width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--yellow-100); color: var(--navy-deep); }
  .faq-q[aria-expanded="true"] .chevron { background: var(--yellow); transform: rotate(180deg); }
  .faq-a { padding: 0 18px 18px; font-size: 15.5px; line-height: 1.6; color: var(--slate); }
  @media (min-width: 768px) { .faq-q { font-size: 17px; padding: 16px 20px 16px 24px; } .faq-a { padding: 0 24px 20px; font-size: 16.5px; } }
  .faq-cta { margin-top: 36px; text-align: center; }

  .restart { margin-top: 32px; text-align: center; }
  .btn-restart {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: 99px;
    background: var(--white); color: var(--navy-400); cursor: pointer;
    font-family: var(--font-ui); font-size: 13.5px; font-weight: 800; letter-spacing: .07em; line-height: 1.2;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
    transition: border-color .15s ease, color .15s ease;
  }
  .btn-restart .icon { width: 16px; height: 16px; }
  @media (hover: hover) { .btn-restart:hover { border-color: var(--navy-deep); color: var(--navy-deep); } }
  .btn-restart:focus-visible { outline-offset: 3px; border-radius: 99px; }


  /* =========================================================== V5 — BLOCO 3 (oportunidade + 795 milhões) */
  .stat-card {
    position: relative; overflow: hidden; isolation: isolate; max-width: 980px; margin: 40px auto; padding: 34px 20px 30px; border-radius: 26px; text-align: center;
    background: radial-gradient(80% 90% at 100% 0%, rgba(7, 92, 229, .6), rgba(7, 92, 229, 0) 60%), linear-gradient(150deg, #0D2C63, var(--navy-deep) 60%);
    box-shadow: var(--shadow-float); color: var(--on-navy);
  }
  .stat-icons { display: flex; justify-content: center; gap: 10px; margin-bottom: 18px; }
  .stat-icons span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); color: var(--yellow-vivid); }
  .stat-icons .icon { width: 21px; height: 21px; }
  .stat-title { font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(22px, 6.4vw, 36px); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
  .stat-title .mega-num { display: block; margin-bottom: 6px; }
  .stat-sub { max-width: 30em; margin: 16px auto 0; font-size: 16.5px; line-height: 1.55; color: var(--on-navy); }
  .b3-after { margin-top: 0; }
  @media (min-width: 768px) { .stat-card { margin: 64px auto; padding: 56px 48px 50px; } .stat-title .mega-num { font-size: 120px; } .stat-sub { font-size: 19px; } .stat-icons span { width: 46px; height: 46px; } }
  .mega-num { display: block; margin-bottom: 4px; color: var(--yellow-vivid); font-size: clamp(50px, 15.5vw, 96px); line-height: .95; letter-spacing: -.045em; }

  /* =========================================================== V5 — BLOCO 6 (professor) */
  .prof-card {
    position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: 112px minmax(0, 1fr); grid-template-areas: "side head" "story story";
    column-gap: 16px; padding: 24px 18px 28px; border-radius: 26px; color: var(--on-navy);
    background: radial-gradient(90% 80% at 100% 0%, rgba(7, 92, 229, .55), rgba(7, 92, 229, 0) 60%), linear-gradient(160deg, #0D2C63, var(--navy-deep) 65%);
    box-shadow: var(--shadow-float);
  }
  .prof-side { grid-area: side; align-self: start; }
  .prof-head { grid-area: head; align-self: center; }
  .prof-story { grid-area: story; margin-top: 22px; }
  .prof-avatar { position: relative; margin: 0; aspect-ratio: 1; border-radius: 50%; overflow: hidden;
    background: radial-gradient(circle at 50% 38%, var(--yellow-vivid), var(--yellow) 55%, var(--gold) 100%);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .12), 0 18px 34px -16px rgba(0, 0, 0, .7); }
  .prof-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }
  .prof-head .kick { font-size: 12px; padding: 6px 10px; letter-spacing: .06em; background: rgba(255, 213, 46, .1); color: var(--yellow-vivid); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .32); }
  .prof-name { margin-top: 10px; font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(23px, 6.6vw, 30px); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
  .prof-role { margin-top: 6px; font-family: var(--font-display); font-weight: 700; color: var(--yellow-vivid); font-size: 15.5px; line-height: 1.35; }
  .prof-story .txt { color: var(--on-navy); }
  .prof-claim { padding: 22px 18px; border-radius: 18px; text-align: center; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .3);
    font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(22px, 6.2vw, 34px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
  .prof-claim .hl { display: inline-block; font-size: 1.3em; }
  .history { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
  .history .photo img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; }
  .history .h-first { grid-column: 1 / -1; }
  .history .h-first img { aspect-ratio: 4 / 3; object-position: 50% 62%; }
  @media (min-width: 640px) {
    .prof-card { grid-template-columns: 150px minmax(0, 1fr); column-gap: 24px; padding: 32px 30px 36px; }
    .prof-head .kick { font-size: 13px; }
  }
  @media (min-width: 960px) {
    .prof-card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-areas: "side head" "side story"; column-gap: 56px; padding: 56px 60px 56px; }
    .prof-side { position: sticky; top: 32px; }
    .prof-avatar { max-width: 400px; }
    .prof-head .kick { font-size: 14px; padding: 8px 14px; letter-spacing: .09em; }
    .prof-name { font-size: 46px; margin-top: 16px; }
    .prof-role { font-size: 20px; margin-top: 10px; }
    .prof-story { margin-top: 28px; }
    .history { grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
    .history .h-first { grid-column: auto; }
    .history .photo img, .history .h-first img { aspect-ratio: 3 / 4; height: 100%; }
  }

  /* =========================================================== V5 — compra nos blocos 7, 9 e 10 */
  .b7-buy { max-width: 760px; margin-top: 36px; }
  .price-callout .hl { color: var(--yellow-vivid); }
  .cta-wrap { margin-top: 26px !important; }
  .cta-wrap .btn-cta, .cta-center .btn-cta { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 16px 34px -12px rgba(255, 188, 50, .95), 0 2px 0 rgba(170, 120, 10, .35); }
  .cta-center { margin-top: 36px; text-align: center; }
  .frags--3 { grid-template-columns: minmax(0, 1fr) !important; }
  .frags--3 > li { flex-direction: row; align-items: center; transform: none !important; }
  @media (min-width: 768px) { .frags--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .frags--3 > li { flex-direction: column; align-items: flex-start; } }
  .final-offer {
    position: relative; max-width: 720px; margin: 44px auto 0; padding: 28px 20px 30px; border-radius: 28px; background: var(--white); color: var(--ink);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .8), 0 0 0 8px rgba(255, 213, 46, .22), 0 0 80px -6px rgba(255, 201, 50, .45), 0 40px 70px -30px rgba(0, 0, 0, .75);
  }
  .fo-title { margin-top: 0; text-align: center; }
  .fo-tag { margin-top: 8px; text-align: center; font-size: 16.5px; color: var(--slate); }
  .final-offer .offer-intro { margin-top: 22px; }
  .incl--ck > li { align-items: center; }
  .incl--ck .ok-ic { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #1FAE73; color: var(--white); }
  .incl--ck .ok-ic .icon { width: 14px; height: 14px; }
  .fo-price { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; }
  .fo-price > * + * { margin-top: 12px; }
  .final-offer .price { color: var(--navy-deep); }
  .final-offer .once { background: var(--yellow-100); color: var(--navy-deep); }
  .final-offer .secure { color: var(--slate); }
  .final-offer .secure .icon { color: var(--green); }
  .fo-close { margin-top: 40px; text-align: center; }
  @media (min-width: 640px) { .final-offer { padding: 44px 48px 44px; } .final-offer .btn-cta { width: 100%; min-width: 0; } }
  @media (min-width: 900px) { .final-offer .incl { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; } .fo-close { margin-top: 56px; } }

  /* ============================================================ Rodapé */
  .site-footer { padding-top: 22px; padding-bottom: 28px; background: var(--navy-deep); font-size: 13px; color: var(--on-navy-muted); }
  .footer-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
  .footer-brand { font-family: var(--font-display); font-weight: 800; color: var(--white); letter-spacing: -.01em; }
  .footer-legal { display: inline-flex; gap: 16px; margin-left: auto; }
  .footer-legal a { color: var(--on-navy); }

  /* ============================================================ Sem resultado (igual à V3) */
  .empty { position: relative; isolation: isolate; padding-top: 40px; padding-bottom: 64px; }
  .empty .layer { background: var(--navy-deep) url("assets/hero-armazem-azul-dourado.webp") 66% 50% / cover no-repeat; }
  .empty .layer::before { content: ""; position: absolute; inset: 0; background: rgba(7, 27, 60, .82); }
  .empty-card {
    max-width: 560px; margin-inline: auto; padding: 32px 22px; text-align: center;
    border-radius: var(--r-xl); background: var(--white); box-shadow: 0 0 0 1px rgba(255, 255, 255, .7), 0 30px 60px -26px rgba(0, 0, 0, .65);
  }
  .empty-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto; border-radius: 16px; background: linear-gradient(150deg, var(--yellow-vivid), var(--yellow)); color: var(--navy-deep); }
  .empty-icon .icon { width: 26px; height: 26px; }
  .empty-card h1 { margin-top: 16px; font-family: var(--font-display); font-weight: 800; font-size: clamp(22px, 6vw, 28px); line-height: 1.2; color: var(--navy-deep); }
  .empty-card p { margin-top: 10px; color: var(--slate); }
  .empty-card .btn { margin-top: 22px; width: 100%; }
  @media (min-width: 600px) { .empty-card .btn { width: auto; min-width: 260px; } .empty { padding-top: 72px; padding-bottom: 96px; } }

  .noscript { padding: 24px 16px; text-align: center; color: var(--ink); }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  }

  /* =========================================================== V6.1 — RESULTADO PERSONALIZADO COMPACTO
     Substitui o bloco 1 da V5: cabeçalho no fundo azul; cartão principal (perfil,
     headline, objetivo + experiência, orientação); SEU PONTO DE PARTIDA (3 cartões
     em linha); O QUE VOCÊ PRECISA APRENDER AGORA? com o botão para continuar a
     página e o link direto ao treinamento. Mesma paleta, fontes e componentes. */
  .r61 { padding-top: 0; padding-bottom: 44px; background: var(--cream); }
  .r61-hero { position: relative; isolation: isolate; padding: 20px 0 72px; background: var(--navy-deep); text-align: center; }
  .r61-hero .layer::before {
    content: ""; position: absolute; left: 50%; top: -260px; width: 900px; height: 520px; transform: translateX(-50%); border-radius: 50%;
    background: radial-gradient(closest-side, rgba(7, 92, 229, .45), transparent);
  }
  .r61-hero-in { display: flex; flex-direction: column; align-items: center; }
  .r61-kick { padding: 6px 12px; font-size: 12.5px; }
  .r61-kick .kick-check { width: 20px; height: 20px; }
  .r61-title {
    margin-top: 12px; font-family: var(--font-display); font-weight: 800; color: var(--white);
    font-size: clamp(22px, 6.2vw, 30px); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance;
  }
  .r61-sub { max-width: 34em; margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--on-navy); text-wrap: pretty; }

  .r61-card {
    position: relative; max-width: 1080px; margin: -52px auto 0; padding: 16px 16px 18px;
    border-radius: 22px; background: var(--white);
    box-shadow: 0 0 0 1px rgba(7, 27, 60, .06), 0 32px 64px -36px rgba(7, 27, 60, .55);
  }
  .r61-card::before { content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, var(--yellow-vivid), var(--gold)); }
  .r61-profile {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px;
    background: radial-gradient(120% 140% at 100% 0%, rgba(7, 92, 229, .55), rgba(7, 92, 229, 0) 60%), linear-gradient(145deg, #0D2C63, var(--navy-deep));
  }
  .r61-profile .pf-icon { flex: none; width: 40px; height: 40px; border-radius: 12px; }
  .r61-profile .pf-icon .icon { width: 22px; height: 22px; }
  .r61-pname { font-family: var(--font-display); font-weight: 800; font-size: 17px; line-height: 1.15; letter-spacing: -.005em; color: var(--yellow-vivid); }
  .r61-psub { margin-top: 2px; font-size: 13.5px; line-height: 1.35; color: var(--on-navy); }
  .r61-headline {
    margin-top: 14px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep);
    font-size: clamp(23px, 6.4vw, 32px); line-height: 1.12; letter-spacing: -.022em; text-wrap: balance;
  }
  .r61-explain { margin-top: 10px; font-size: 16px; line-height: 1.55; color: var(--ink); }
  .r61-orient {
    display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; padding: 11px 14px 11px 12px;
    border-left: 4px solid var(--yellow); border-radius: 4px 14px 14px 4px; background: var(--yellow-50);
    font-size: 15.5px; font-weight: 600; line-height: 1.48; color: var(--navy-deep);
  }
  .r61-orient .icon { width: 20px; height: 20px; margin-top: 1px; color: var(--yellow-600); }

  .r61-point { max-width: 1080px; margin: 18px auto 0; }
  .r61-h2 { font-family: var(--font-display); font-weight: 800; font-size: 14px; letter-spacing: .08em; color: var(--navy-deep); }
  .r61-cards { display: grid; gap: 8px; margin-top: 8px; }
  .r61-mini {
    display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 11px 14px;
    border-radius: 14px; background: var(--white); box-shadow: 0 0 0 1px rgba(7, 27, 60, .07), 0 8px 18px -14px rgba(7, 27, 60, .45);
  }
  .r61-mini-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(150deg, var(--yellow-vivid), var(--yellow)); color: var(--navy-deep); }
  .r61-mini-icon .icon { width: 20px; height: 20px; }
  .r61-mini-title { font-family: var(--font-ui); font-weight: 800; font-size: 12.5px; letter-spacing: .1em; line-height: 1.3; color: var(--slate); }
  .r61-mini-text { margin-top: 2px; font-size: 15px; line-height: 1.42; color: var(--ink); }

  .r61-next {
    max-width: 1080px; margin: 18px auto 0; padding: 20px 18px 16px; border-radius: 20px; color: var(--on-navy);
    background: radial-gradient(90% 120% at 100% 0%, rgba(7, 92, 229, .5), rgba(7, 92, 229, 0) 60%), linear-gradient(140deg, #0C2B5E 0%, var(--navy-deep) 70%);
    box-shadow: 0 26px 52px -32px rgba(7, 27, 60, .85);
  }
  .r61-next-title { font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(20px, 5.6vw, 26px); line-height: 1.15; letter-spacing: -.015em; text-wrap: balance; }
  .r61-ready { margin-top: 8px; font-size: 16.5px; font-weight: 600; line-height: 1.45; color: var(--white); }
  .r61-trans { margin-top: 8px; font-size: 15.5px; line-height: 1.5; color: var(--on-navy); }
  .r61-trans--b { margin-top: 4px; }
  .r61-trans strong { font-weight: 800; color: var(--yellow-vivid); }
  .r61-actions { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin-top: 16px; }
  .btn-offer { width: 100%; padding: 12px 18px; font-size: 16px; letter-spacing: .02em; line-height: 1.3; }
  .btn-offer > span { min-width: 0; }
  @media (max-width: 374px) { .btn-offer { padding: 12px 12px; font-size: 15px; letter-spacing: 0; gap: 8px; } }
  .r61-link {
    display: inline-flex; align-items: center; justify-content: center; align-self: center; min-height: 44px; padding: 0 10px;
    font-size: 13.5px; font-weight: 700; letter-spacing: .06em; color: var(--on-navy);
    text-decoration: underline; text-decoration-color: rgba(214, 222, 235, .45); text-underline-offset: 4px;
  }
  @media (hover: hover) { .r61-link:hover { color: var(--white); text-decoration-color: var(--yellow); } }

  @media (min-width: 640px) {
    .r61-card { padding: 24px 28px 26px; }
    .r61-mini { padding: 14px 18px; }
    .r61-next { padding: 26px 28px 22px; }
    .btn-offer { width: auto; min-width: 420px; align-self: flex-start; padding: 14px 28px; font-size: 17px; }
    .r61-link { align-self: flex-start; }
  }
  @media (min-width: 768px) {
    .r61-sub { font-size: 16px; }
    .r61-explain { font-size: 17px; }
    .r61-orient { font-size: 16px; }
    .r61-mini-text { font-size: 15.5px; }
  }
  @media (min-width: 960px) {
    .r61 { padding-bottom: 64px; }
    .r61-hero { padding: 36px 0 92px; }
    .r61-title { font-size: 32px; }
    .r61-card {
      display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; align-items: center;
      margin-top: -64px; padding: 34px 44px;
    }
    .r61-headline { font-size: 36px; }
    .r61-card-b .r61-explain { margin-top: 0; }
    .r61-point { margin-top: 26px; }
    .r61-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 10px; }
    .r61-mini { align-items: start; padding: 16px 18px; }
    .r61-next {
      display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 44px; align-items: center;
      margin-top: 26px; padding: 30px 44px;
    }
    .r61-next-title { font-size: 28px; }
    .r61-actions { margin-top: 0; align-items: stretch; }
    .btn-offer { width: 100%; min-width: 0; align-self: stretch; }
    .r61-link { align-self: center; }
  }
  /* V6.1 — celulares estreitos (até 374 px): espaçamentos e títulos um pouco menores, sem cortar texto */
  @media (max-width: 374px) {
    .r61-hero { padding: 16px 0 64px; }
    .r61-title { margin-top: 10px; }
    .r61-sub { font-size: 14.5px; }
    .r61-card { margin-top: -48px; padding: 14px 14px 16px; }
    .r61-profile { padding: 9px 10px; gap: 10px; }
    .r61-headline { margin-top: 12px; font-size: 22px; }
    .r61-explain { font-size: 15.5px; line-height: 1.5; }
    .r61-orient { margin-top: 10px; padding: 10px 12px 10px 10px; font-size: 15px; }
    .r61-point { margin-top: 16px; }
    .r61-mini { gap: 10px; padding: 10px 12px; }
    .r61-mini-icon { width: 34px; height: 34px; }
    .r61-next { margin-top: 16px; padding: 18px 14px 12px; }
    .r61-next-title { font-size: 19px; }
    .r61-ready { font-size: 16px; }
    .r61-trans { font-size: 15px; }
  }

  /* ==========================================================================
     CARTILHA V2 — estrutura do PROMPT MESTRE (10 blocos + perguntas).
     Mesma identidade (cores, Manrope/Inter, cartões e botões da página atual).
     ========================================================================== */
  .btn-ghost {
    width: 100%; min-height: 54px; padding: 12px 18px; border-radius: 14px; background: transparent; color: var(--white);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .34); font-size: 15px; letter-spacing: .06em;
  }
  .btn-ghost .icon { color: var(--yellow-vivid); }
  @media (hover: hover) {
    .btn-ghost:hover { color: var(--yellow-vivid); box-shadow: inset 0 0 0 2px var(--yellow-vivid); }
    .btn-ghost:hover .icon { transform: translateY(2px); }
  }
  @media (min-width: 640px) { .btn-ghost { width: auto; padding: 12px 26px; } }

  /* Capa oficial em formato de cartilha A5: lombada e borda das páginas só no CSS; a arte não muda */
  .cover3d { position: relative; margin: 0; }
  .cover3d::before {
    content: ""; position: absolute; left: 50%; top: 50%; z-index: -1; width: 150%; aspect-ratio: 1; transform: translate(-50%, -50%);
    border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 213, 46, .34), rgba(255, 188, 50, .1) 55%, transparent);
  }
  .cv-pages {
    position: absolute; top: 1.6%; bottom: 1.6%; left: 3%; right: -2.6%; border-radius: 3px 8px 8px 3px;
    background: repeating-linear-gradient(90deg, #FFFFFF 0 1px, #E8ECF2 1px 2px); box-shadow: 0 30px 46px -22px rgba(0, 0, 0, .7);
  }
  .cv-img { position: relative; display: block; overflow: hidden; border-radius: 3px 8px 8px 3px; box-shadow: 0 0 0 1px rgba(7, 27, 60, .1), 0 26px 40px -20px rgba(0, 0, 0, .65); }
  .cv-img img { display: block; width: 100%; height: auto; }
  .cv-img::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .26) 0, rgba(0, 0, 0, .06) 2%, rgba(255, 255, 255, .22) 3.2%, rgba(255, 255, 255, 0) 7.5%),
                linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 32%);
  }

  /* --------------------------------------------------------------- BLOCO 01 — HERO */
  .c1 { padding-top: 40px; }
  .c1 .layer {
    background:
      radial-gradient(60% 50% at 85% 40%, rgba(255, 201, 50, .16), rgba(255, 201, 50, 0) 70%),
      radial-gradient(70% 60% at 0% 0%, rgba(7, 92, 229, .45), rgba(7, 92, 229, 0) 65%),
      var(--navy-deep);
  }
  .c1-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "prod" "b"; }
  .c1-a { grid-area: a; } .c1-prod { grid-area: prod; } .c1-b { grid-area: b; }
  .c1-a .kick { font-size: 13px; letter-spacing: .06em; }
  .c1-title { margin-top: 18px; font-size: clamp(27px, 7.5vw, 40px); }
  .c1-sub { margin-top: 16px; }
  .c1-prod { display: grid; justify-items: center; margin: 34px 0 30px; text-align: center; }
  .c1-cover { width: min(64vw, 290px); }
  .c1-pname { margin-top: 26px; max-width: 22em; font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: 16px; line-height: 1.3; letter-spacing: .05em; }
  .c1-ptag { margin-top: 10px; padding: 6px 12px; border-radius: 8px; background: #FFE01B; color: #13171E; font-family: var(--font-display); font-weight: 800; font-size: 14px; line-height: 1.25; letter-spacing: .04em; }
  .c1-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
  .c1-facts > li { padding: 7px 12px; border-radius: 99px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); color: var(--white); font-size: 12.5px; font-weight: 800; line-height: 1.2; letter-spacing: .07em; }
  .c1-phrase { margin-top: 26px; color: var(--white); }
  .c1-ctas { display: grid; gap: 12px; margin-top: 26px; }
  @media (min-width: 640px) {
    .c1-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
    .c1-ctas .btn-cta { min-width: 0; }
  }
  @media (min-width: 960px) {
    .c1 { padding-top: 72px; }
    .c1-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); column-gap: 64px; grid-template-areas: "a prod" "b prod"; }
    .c1-title { font-size: clamp(40px, 3.9vw, 54px); line-height: 1.05; }
    .c1-prod { align-self: center; margin: 0; }
    .c1-cover { width: 340px; }
    .c1-pname { font-size: 17px; }
    .c1-b { margin-top: 30px; }
  }

  /* --------------------------------------------------------------- BLOCO 03 — DOR DO INICIANTE */
  .pains { display: grid; gap: 12px; max-width: 1060px; margin: 34px auto 0; }
  .pains > li {
    display: flex; align-items: center; gap: 14px; padding: 18px 18px 18px 16px; border-radius: 18px;
    background: var(--cream); box-shadow: inset 0 0 0 1px #F0E3C2, 0 14px 26px -22px rgba(7, 27, 60, .5);
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: 17px; line-height: 1.3; letter-spacing: -.005em;
  }
  .pains .pq { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--navy-deep); color: var(--yellow-vivid); }
  .pains .pq .icon { width: 22px; height: 22px; }
  .c3-after { margin-top: 40px; }
  .callout--box { border: 3px solid var(--yellow); border-radius: 18px; background: var(--yellow-50) !important; text-align: center; }
  @media (min-width: 640px) { .pains { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
  @media (min-width: 1024px) { .pains { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 48px; } .pains > li { font-size: 18.5px; padding: 22px 20px; } .c3-after { margin-top: 56px; } }

  /* --------------------------------------------------------------- BLOCO 04 — APRESENTAÇÃO DA SOLUÇÃO */
  .c4-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "vis" "body"; }
  .c4-head { grid-area: head; } .c4-vis { grid-area: vis; } .c4-body { grid-area: body; }
  .c4-title { margin-top: 16px; }
  .c4-title .hl { color: var(--yellow-vivid); }
  .c4-vis { position: relative; justify-self: center; width: min(78vw, 360px); margin: 38px 0 34px; padding: 4% 0 6% 16%; }
  .c4-page { position: absolute; left: 0; top: 0; width: 64%; margin: 0; transform: rotate(-8deg); transform-origin: 70% 90%; }
  .c4-page img { display: block; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 0 0 1px rgba(7, 27, 60, .1), 0 24px 36px -20px rgba(0, 0, 0, .7); }
  .c4-cover { width: 92%; margin-left: auto; transform: rotate(2.5deg); }
  .feats { display: grid; gap: 10px; margin-top: 26px !important; }
  .feats > li {
    display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 16px; background: var(--white); color: var(--navy-deep);
    box-shadow: 0 18px 30px -24px rgba(0, 0, 0, .8); font-family: var(--font-display); font-weight: 800; font-size: 15.5px; line-height: 1.3; letter-spacing: .01em;
  }
  .feats .fi { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--navy-deep); color: var(--yellow-vivid); }
  .feats .fi .icon { width: 22px; height: 22px; }
  @media (min-width: 520px) { .feats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 960px) {
    .c4-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); column-gap: 72px; grid-template-areas: "head vis" "body vis"; }
    .c4-vis { align-self: center; width: 100%; max-width: 440px; margin: 0; }
    .c4-body { margin-top: 30px; }
    .feats > li { font-size: 16px; padding: 18px; }
  }

  /* --------------------------------------------------------------- BLOCO 05 — POR DENTRO DA CARTILHA */
  .c5-head { max-width: 860px; margin-inline: auto; text-align: center; }
  .c5-head .h-long { scroll-margin-top: 18px; }
  .c5-head .h-long:focus { outline: none; }
  .c5-sub { margin-top: 16px; }
  .lessons { display: grid; gap: 12px; margin-top: 34px; counter-reset: none; }
  .ls {
    position: relative; overflow: hidden; isolation: isolate; padding: 20px 18px 20px; border-radius: 18px; background: var(--cream);
    box-shadow: inset 0 0 0 1px #F0E3C2, 0 16px 30px -26px rgba(7, 27, 60, .55);
  }
  .ls::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 4px; border-radius: 0 4px 4px 0; background: var(--yellow); }
  .ls::after {
    content: attr(data-n); position: absolute; z-index: -1; right: 12px; top: 2px;
    font-family: var(--font-display); font-weight: 800; font-size: 64px; line-height: 1; letter-spacing: -.05em; color: rgba(7, 27, 60, .07);
  }
  .ls-title { padding-right: 40px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: 17px; line-height: 1.28; letter-spacing: -.005em; }
  .ls-num { color: var(--electric); }
  .ls-sep { color: var(--yellow-600); }
  .ls-desc { margin-top: 10px; font-size: 15.5px; line-height: 1.6; color: var(--ink); }
  .c5-close { margin-top: 44px; }
  .c5-gal { margin-top: 56px; }
  .c5-gal-title { text-align: center; }
  .pgal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 1080px; margin: 28px auto 0; }
  .pg { margin: 0; }
  .pg img { display: block; width: 100%; height: auto; border-radius: 4px; background: var(--white); box-shadow: 0 0 0 1px rgba(7, 27, 60, .1), 0 20px 34px -22px rgba(7, 27, 60, .6); }
  .pgal > .pg:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 7px); }
  @media (min-width: 640px) {
    .lessons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .pgal { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .pgal > .pg:last-child:nth-child(odd) { grid-column: auto; width: auto; }
  }
  @media (min-width: 1024px) {
    .lessons { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 48px; }
    .ls { padding: 24px 22px; }
    .ls-title { font-size: 18px; }
    .ls-desc { font-size: 16px; }
    .pgal { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .c5-close { margin-top: 64px; }
    .c5-gal { margin-top: 80px; }
  }

  /* --------------------------------------------------------------- BLOCO 06 — POTENCIAL */
  .stat-label { font-family: var(--font-display); font-weight: 800; color: var(--on-navy); font-size: 14px; line-height: 1.4; letter-spacing: .08em; }
  .stat-label + .stat-title { margin-top: 14px; }
  .duo { padding: 22px 20px; border-radius: 18px; background: var(--navy-deep); box-shadow: var(--shadow-float); text-align: center; }
  .duo-l { font-family: var(--font-display); font-weight: 800; color: var(--white); font-size: clamp(19px, 5.4vw, 25px); line-height: 1.25; letter-spacing: -.01em; }
  .duo-l + .duo-l { margin-top: 8px; color: var(--yellow-vivid); }
  .duo--y { background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .32); }
  .duo--y .duo-l { color: var(--yellow-vivid); }
  .duo--y .duo-l:first-child { color: var(--white); }
  @media (min-width: 768px) { .duo { padding: 32px 36px; } .duo-l { font-size: 27px; } .stat-label { font-size: 16px; } }

  /* --------------------------------------------------------------- BLOCO 08 — SIMULAÇÃO */
  .calc3 { display: grid; gap: 30px; }
  .cbox {
    position: relative; padding: 16px 14px; border-radius: 16px; background: var(--cream); box-shadow: inset 0 0 0 1px #F0E3C2;
    font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: 19px; line-height: 1.2; letter-spacing: -.005em;
  }
  .cbox--res { background: var(--yellow); box-shadow: none; }
  .cbox--op-x::before, .cbox--op-eq::before {
    position: absolute; left: 50%; top: -26px; display: grid; place-items: center; width: 22px; height: 22px; transform: translateX(-50%);
    border-radius: 50%; background: var(--navy-deep); color: var(--yellow-vivid); font-size: 15px; line-height: 1;
  }
  .cbox--op-x::before { content: "×"; }
  .cbox--op-eq::before { content: "="; }
  .calc .calc-label { margin-top: 26px; color: var(--navy-400); font-size: 18px; letter-spacing: .04em; }
  .calc .calc-total { font-size: clamp(36px, 11vw, 70px); line-height: 1.02; }
  .calc-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--slate); font-size: 14.5px; }
  @media (min-width: 640px) {
    .calc3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; align-items: stretch; }
    .cbox { display: grid; place-items: center; min-height: 96px; padding: 18px 14px; font-size: 19px; }
    .cbox--op-x::before, .cbox--op-eq::before { left: -28px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%); }
  }
  @media (min-width: 768px) { .calc .calc-label { font-size: 20px; } .calc-note { font-size: 15.5px; } .cbox { font-size: 21px; } }

  /* --------------------------------------------------------------- BLOCO 09 — AUTOR */
  .author {
    position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "side" "story";
    padding: 26px 18px 30px; border-radius: 26px; color: var(--on-navy);
    background: radial-gradient(90% 80% at 100% 0%, rgba(7, 92, 229, .55), rgba(7, 92, 229, 0) 60%), linear-gradient(160deg, #0D2C63, var(--navy-deep) 65%);
    box-shadow: var(--shadow-float);
  }
  .au-head { grid-area: head; } .au-side { grid-area: side; } .au-story { grid-area: story; }
  .au-head .kick { font-size: 12.5px; letter-spacing: .07em; background: rgba(255, 213, 46, .1); color: var(--yellow-vivid); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .32); }
  .au-side { display: grid; grid-template-columns: 40% minmax(0, 1fr); align-items: center; gap: 14px; margin-top: 22px; }
  .au-story { margin-top: 26px; }
  .au-story .txt { color: var(--on-navy); }
  .rev-card {
    padding: 16px 14px; border-radius: 18px; text-align: center; background: linear-gradient(160deg, #0B2550, #061733);
    box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .38), 0 18px 34px -18px rgba(0, 0, 0, .8);
    font-family: var(--font-display); font-weight: 800; color: var(--white); line-height: 1.15;
  }
  .rev-card span { display: block; }
  .rv-a { font-size: 13px; letter-spacing: .12em; color: var(--on-navy); }
  .rv-b { margin: 4px 0 6px; font-size: clamp(24px, 7.4vw, 34px); letter-spacing: -.03em; color: var(--yellow-vivid); }
  .rv-c { font-size: 12.5px; line-height: 1.3; letter-spacing: .04em; color: var(--white); }
  .au-emo { padding: 18px 18px; border-radius: 16px; background: rgba(255, 213, 46, .1); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .32);
    font-family: var(--font-display); font-weight: 800; color: var(--yellow-vivid); font-size: clamp(22px, 6.4vw, 32px); line-height: 1.15; letter-spacing: -.015em; text-align: center; }
  .author .callout { background: linear-gradient(120deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)); color: var(--white); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
  .author .note { color: var(--on-navy-muted); }
  .history--cap { margin-top: 22px; }
  .history--cap .photo { display: flex; flex-direction: column; }
  .ph-cap { margin-top: 8px; font-family: var(--font-display); font-weight: 800; color: var(--navy-deep); font-size: 12.5px; line-height: 1.3; letter-spacing: .05em; }
  @media (min-width: 640px) {
    .author { padding: 34px 32px 38px; }
    .au-side { grid-template-columns: 200px minmax(0, 260px); }
    .rv-b { font-size: 36px; }
  }
  @media (min-width: 960px) {
    .author { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); grid-template-areas: "side head" "side story"; column-gap: 60px; padding: 56px 60px 56px; }
    .au-side { position: sticky; top: 32px; align-self: start; grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 0; }
    .au-side .prof-avatar { max-width: 360px; }
    .rev-card { padding: 24px 20px; }
    .rv-a { font-size: 15px; }
    .rv-b { font-size: 50px; }
    .rv-c { font-size: 15px; }
    .au-head .kick { font-size: 14px; }
    .au-head .prof-name { font-size: 46px; margin-top: 16px; }
    .au-story { margin-top: 30px; }
    .history--cap { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .history--cap .photo img, .history--cap .h-first img { aspect-ratio: 3 / 4; height: auto; }
    .ph-cap { font-size: 13px; }
  }

  /* --------------------------------------------------------------- BLOCO 10 — OFERTA FINAL */
  .c10c .duo { margin-top: 30px; }
  .offer2 {
    position: relative; display: grid; grid-template-columns: minmax(0, 1fr); max-width: 980px; margin: 48px auto 0; overflow: hidden; border-radius: 28px; background: var(--white); color: var(--ink);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .8), 0 0 0 8px rgba(255, 213, 46, .22), 0 0 80px -6px rgba(255, 201, 50, .45), 0 40px 70px -30px rgba(0, 0, 0, .75);
  }
  .o2-vis { position: relative; isolation: isolate; display: grid; place-items: center; padding: 34px 20px 30px; background: radial-gradient(80% 70% at 50% 40%, var(--yellow-50), var(--cream)); }
  .o2-cover { width: min(52vw, 230px); }
  .o2-main { padding: 26px 20px 30px; }
  .o2-kick { font-family: var(--font-display); font-weight: 800; color: var(--electric); font-size: 13px; letter-spacing: .14em; text-align: center; }
  .o2-title { margin-top: 8px; text-align: center; font-size: clamp(30px, 8.6vw, 44px); }
  .o2-tag { display: table; margin: 12px auto 0; padding: 6px 12px; border-radius: 8px; background: #FFE01B; color: #13171E; font-family: var(--font-display); font-weight: 800; font-size: 14px; letter-spacing: .04em; }
  .o2-intro { margin-top: 20px; font-size: 16px; line-height: 1.6; color: var(--ink); text-align: center; }
  .offer2 .incl { margin-top: 18px; }
  .offer2 .fo-price { margin-top: 22px; }
  .offer2 .price { color: var(--navy-deep); }
  .offer2 .once { background: var(--yellow-100); color: var(--navy-deep); letter-spacing: .06em; }
  .offer2 .secure { color: var(--slate); }
  .offer2 .secure .icon { color: var(--green); }
  .fo-delivery { margin-top: 14px; font-size: 15px; color: var(--slate); text-align: center; }
  @media (min-width: 640px) { .offer2 .btn-cta { width: 100%; min-width: 0; } .o2-main { padding: 34px 40px 40px; } }
  @media (min-width: 900px) {
    .offer2 { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
    .o2-vis { padding: 48px 34px; }
    .o2-cover { width: 100%; max-width: 300px; }
    .o2-main { padding: 48px 48px 46px; }
    .o2-kick, .o2-title, .o2-intro { text-align: left; }
    .o2-tag { margin-left: 0; }
    .offer2 .incl { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .offer2 .incl > li { font-size: 15.5px; }
  }

  /* ==========================================================================
     CARTILHA V3 — OTIMIZAÇÃO DE CONVERSÃO (ajustes pontuais; identidade, fontes e cores iguais)
     ========================================================================== */
  /* Hero: assinatura curta de autoridade (linha editorial discreta) + CTA antecipado */
  .c1-by { margin-top: 16px; padding: 2px 0 2px 12px; border-left: 3px solid var(--yellow-vivid); font-size: 14px; line-height: 1.45; letter-spacing: .01em; color: var(--on-navy); }
  .c1-by .c1-by-name { font-weight: 800; color: var(--white); }
  .c1-by .c1-by-name, .c1-by .nowrap { white-space: nowrap; }
  .c1-cta-early { margin-top: 20px; }
  @media (min-width: 768px) { .c1-by { font-size: 15px; margin-top: 20px; } .c1-cta-early { margin-top: 24px; } }

  /* Lições 07–12: mesma grade das 6 primeiras; botão secundário (não é botão de compra) */
  .lessons--more { margin-top: 12px; }
  .ls-toggle { margin-top: 18px; text-align: center; }
  .btn-more {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; max-width: 100%; padding: 12px 24px;
    border: 2px solid var(--navy-deep); border-radius: 14px; background: var(--white); color: var(--navy-deep); cursor: pointer;
    font-family: var(--font-ui); font-size: 15px; font-weight: 800; letter-spacing: .05em; line-height: 1.25;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation; transition: background-color .15s ease, box-shadow .15s ease;
  }
  .btn-more .icon { width: 18px; height: 18px; transition: transform .2s var(--ease); }
  .btn-more[aria-expanded="true"] .icon { transform: rotate(180deg); }
  .btn-more:focus-visible { outline-offset: 4px; border-radius: 14px; }
  @media (hover: hover) { .btn-more:hover { background: var(--cream); box-shadow: 0 8px 18px -12px rgba(7, 27, 60, .55); } }
  @media (min-width: 640px) { .lessons--more { margin-top: 14px; } .ls-toggle { margin-top: 24px; } }
  @media (min-width: 1024px) { .lessons--more { margin-top: 16px; } .ls-toggle { margin-top: 28px; } }
  @media (prefers-reduced-motion: reduce) { .btn-more, .btn-more .icon { transition: none; } }

  /* Grupos narrativos: frases curtas da mesma sequência ficam mais próximas (texto idêntico) */
  .grp > * + * { margin-top: 8px; }
  @media (min-width: 768px) { .grp > * + * { margin-top: 12px; } }

  /* CTAs novos depois da simulação e da história do autor */
  .c9-cta { margin-top: 30px; }
  .cta-sub { margin-top: 12px; font-size: 14.5px; line-height: 1.45; color: var(--slate); text-align: center; }
  @media (min-width: 768px) { .c9-cta { margin-top: 44px; } .cta-sub { font-size: 15.5px; } }

  /* Leitura mais dinâmica no celular: espaçamentos verticais um pouco menores (sem mexer em fontes) */
  @media (max-width: 767px) {
    .sec { padding-top: 40px; padding-bottom: 40px; }
    .callout { padding: 16px 16px 16px 18px; }
    .obj-a { margin-top: 8px; padding-left: 0; }
    .duo { padding: 18px 16px; }
    .txt { line-height: 1.58; }
    /* imagens um pouco menores no celular (proporções originais preservadas) */
    .c1-cover { width: min(56vw, 250px); }
    .c4-vis { width: min(70vw, 320px); }
    .s6-shot { width: min(68%, 280px); }
    .o2-cover { width: min(44vw, 190px); }
    /* páginas reais: 3 por linha no celular (5 = 3 + 2, centralizadas) */
    .pgal { display: flex; flex-wrap: wrap; justify-content: center; }
    .pgal > .pg, .pgal > .pg:last-child:nth-child(odd) { width: calc((100% - 24px) / 3); grid-column: auto; }
    .c1 { padding-top: 30px; }
    .flow > * + * { margin-top: 14px; }
    .flow > .h-xl + *, .flow > .h-long + * { margin-top: 18px; }
    .flow > * + .h-xl, .flow > * + .h-long { margin-top: 36px; }
    .flow > * + .callout, .flow > .callout + * { margin-top: 20px; }
    .c1-title { margin-top: 16px; }
    .c1-sub { margin-top: 14px; }
    .c1-prod { margin: 28px 0 22px; }
    .c1-pname { margin-top: 20px; }
    .c1-phrase { margin-top: 20px; }
    .c1-ctas { margin-top: 20px; }
    .chain, .pains { margin-top: 20px !important; }
    .pains { gap: 10px; }
    .pains > li { padding: 14px 14px 14px 12px; }
    .c3-after { margin-top: 28px; }
    .frags { margin-top: 18px !important; }
    .c4-vis { margin: 26px 0 22px; }
    .feats { margin-top: 20px !important; }
    .feats > li { padding: 13px 14px; }
    .lessons { margin-top: 24px; gap: 10px; }
    .lessons--more { margin-top: 10px; }
    .ls { padding: 16px 16px 15px; }
    .ls-desc { margin-top: 6px; line-height: 1.55; }
    .c5-close { margin-top: 30px; }
    .c5-gal { margin-top: 38px; }
    .pgal { margin-top: 20px; gap: 12px; }
    .stat-card { margin: 26px auto; padding: 26px 18px 24px; }
    .stat-icons { margin-bottom: 14px; }
    .s6-shot { margin: 26px 0 24px; }
    .calc { margin-top: 22px !important; padding: 22px 16px 20px; }
    .calc3 { gap: 26px; }
    .calc .calc-label { margin-top: 20px; }
    .calc-note { margin-top: 14px; padding-top: 12px; }
    .author { padding: 22px 16px 24px; }
    .au-side { margin-top: 18px; }
    .au-story { margin-top: 20px; }
    .history--cap { margin-top: 16px; }
    .objs { margin-top: 24px; gap: 10px; }
    .obj { padding: 16px 16px; }
    .offer2 { margin-top: 34px; }
    .o2-vis { padding: 26px 20px 22px; }
    .o2-main { padding: 22px 18px 26px; }
    .fo-close { margin-top: 30px; }
    .cta-center { margin-top: 28px; }
    .faq { gap: 8px; }
  }

  /* ==========================================================================
     CARTILHA V4 — formato digital (selo no hero + informação no card final)
     ========================================================================== */
  .c1-pdf {
    display: inline-flex; align-items: center; gap: 8px; max-width: 100%; margin-top: 14px; padding: 6px 12px 6px 9px; border-radius: 99px;
    background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 213, 46, .38);
    color: var(--white); font-size: 12.5px; font-weight: 800; line-height: 1.2; letter-spacing: .08em;
  }
  .c1-pdf-ic { display: grid; place-items: center; flex: none; color: var(--yellow-vivid); }
  .c1-pdf-ic .icon { width: 16px; height: 16px; }
  .c1-pdf + .c1-cta-early { margin-top: 14px; }
  @media (min-width: 768px) { .c1-pdf { margin-top: 18px; font-size: 13px; } .c1-pdf + .c1-cta-early { margin-top: 16px; } }

  .fo-delivery {
    display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; padding: 11px 14px; border-radius: 12px;
    background: var(--electric-50); box-shadow: inset 0 0 0 1px rgba(7, 92, 229, .32);
    color: var(--navy-deep); font-size: 15px; font-weight: 600; line-height: 1.4; text-align: left;
  }
  .fo-delivery-ic { display: grid; place-items: center; flex: none; color: var(--electric); }
  .fo-delivery-ic .icon { width: 20px; height: 20px; }
  @media (min-width: 900px) { .fo-delivery { justify-content: flex-start; } }
