/* =========================================================================
   PROTOCOLO ACP — GATILHO DOPAMINÉRGICO | Ecossistema Parkinson
   LP elegante, mobile-first, alta legibilidade (público idoso/aposentado)
   Paleta: off-white + verde escuro + dourado + carvão.  ZERO emojis.
   Tipografia: Playfair Display (títulos) + Inter (texto).
   ========================================================================= */

/* ==================== 1. RESET & BASE ==================== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html {
  font-size: 18px;                 /* base maior: leitura confortável p/ idoso */
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.75;
  color: var(--carvao);
  background: var(--bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

/* ==================== 2. VARIÁVEIS ==================== */
:root {
  --bg:            #FAFAF8;   /* off-white principal */
  --bg-alt:        #F2F0E8;   /* seção levemente mais escura (mecanismo) */
  --bg-card:       #FFFFFF;

  --green-900:     #14301F;   /* verde mais profundo (oferta) */
  --green-800:     #1E3D2A;   /* verde escuro (botões, títulos) */
  --green-700:     #2A5138;
  --green-600:     #386B49;

  --gold:          #B08D45;   /* dourado elegante sobre claro */
  --gold-soft:     #CBA766;   /* dourado sobre verde escuro */
  --gold-line:     rgba(176, 141, 69, 0.32);

  --cta:           #1E9E57;   /* verde do botão — mais claro/vivo p/ conversão */
  --cta-hover:     #178A4A;
  --cta-glow:      rgba(30, 158, 87, 0.45);

  --carvao:        #26251F;   /* texto principal */
  --carvao-soft:   #565349;   /* texto secundário */
  --cinza-linha:   rgba(38, 37, 31, 0.10);
  --cream:         #F6F1E6;   /* botão/superfície sobre verde */
  --bg-cream:      #F4EDDD;   /* dobra quente/dourada (esperança) */

  --sombra-suave:  0 14px 40px rgba(20, 48, 31, 0.10);
  --sombra-card:   0 8px 30px rgba(20, 48, 31, 0.07);
}

/* ==================== 3. UTILITÁRIOS ==================== */
.container {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.narrow { max-width: 620px; }

.text-center { text-align: center; }
.hidden { display: none !important; }

.section {
  padding: 4rem 0;
  position: relative;
}
.section-lg { padding: 5rem 0; }

.bg-off      { background: var(--bg); }
.bg-alt      { background: var(--bg-alt); }
.bg-cream    { background: var(--bg-cream); }
.bg-card     { background: var(--bg-card); }

/* Dobra escura (verde profundo) — usada no mecanismo e onde precisa de drama */
.bg-green {
  background:
    radial-gradient(circle at 50% 0%, rgba(203,167,102,0.12), transparent 55%),
    linear-gradient(180deg, #1B3A27 0%, #10261A 100%);
  color: var(--cream);
}
.bg-green h1, .bg-green h2, .bg-green h3 { color: var(--cream); }
.bg-green p { color: rgba(246,241,230,0.82); }
.bg-green strong { color: var(--gold-soft); }
.bg-green .gold { color: var(--gold-soft); }

/* Divisor delicado entre seções */
.section + .section::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 64px; height: 1px;
  background: var(--gold-line);
}

/* ==================== 4. TIPOGRAFIA ==================== */
h1, h2, h3 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 700;
  line-height: 1.18;
  color: var(--green-900);
  letter-spacing: -0.01em;
}

h1 { font-size: 2.1rem; margin-bottom: 1rem; }
h2 { font-size: 1.85rem; margin-bottom: 1.25rem; }
h3 { font-size: 1.4rem;  margin-bottom: 0.9rem; }

p {
  font-size: 1.075rem;
  margin-bottom: 1.15rem;
  color: var(--carvao-soft);
}

.lead {
  font-size: 1.25rem;
  color: var(--carvao);
  line-height: 1.65;
}

em { font-style: italic; }
strong { color: var(--green-800); font-weight: 700; }

.gold { color: var(--gold); }
.serif { font-family: 'Playfair Display', Georgia, serif; }

/* Sublinhado dourado manuscrito em palavra-chave */
.underline-gold {
  background-image: linear-gradient(var(--gold-line), var(--gold-line));
  background-position: 0 88%;
  background-repeat: no-repeat;
  background-size: 100% 0.45em;
  padding: 0 0.05em;
}

/* Linha-guia vertical (conduz o olhar p/ baixo) */
.guide-line {
  width: 1px;
  height: 56px;
  margin: 2rem auto;
  background: linear-gradient(180deg, var(--gold-line), transparent);
}
.guide-line.short { height: 36px; margin: 1.4rem auto; }

/* ==================== 5. SCROLL REVEAL ==================== */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: none; }

/* ==================== 6. HERO / VSL ==================== */
.hero {
  background: var(--bg);
  padding: 2.5rem 0 3rem;
}
.hero .container { max-width: 820px; }
.hero-inner { display: flex; flex-direction: column; }

/* Moldura do vídeo (VSL) — STORY vertical 9:16 */
.vsl-frame {
  position: relative;
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--sombra-suave);
  margin: 0 auto 0.5rem;
}
.vsl-story {
  max-width: 400px;               /* story não ocupa a tela toda no desktop */
}
vturb-smartplayer { display: block; width: 100%; margin: 0 auto; }

/* Placeholder elegante enquanto o VSL real não é embutido */
.vsl-placeholder {
  aspect-ratio: 9 / 16;           /* formato story */
  background:
    radial-gradient(circle at 50% 38%, rgba(203,167,102,0.16), transparent 62%),
    linear-gradient(160deg, #17321F 0%, #0F241A 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--cream);
  text-align: center;
  padding: 1.5rem;
}
.vsl-play {
  width: 78px; height: 78px;
  border-radius: 50%;
  border: 2px solid var(--gold-soft);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.1rem;
  transition: transform 0.4s ease;
}
.vsl-play::after {
  content: "";
  width: 0; height: 0;
  border-left: 22px solid var(--gold-soft);
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  margin-left: 6px;
}
.vsl-frame:hover .vsl-play { transform: scale(1.06); }
.vsl-placeholder-label {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  max-width: 220px;
}
.vsl-placeholder-sub {
  font-size: 0.82rem;
  opacity: 0.7;
  margin-top: 0.4rem;
  letter-spacing: 0.02em;
}

/* ==================== 7. CTA ==================== */
.cta-button {
  display: block;
  width: 100%;
  max-width: 500px;
  margin: 1.5rem auto 0.9rem;
  padding: 1.3rem 1.5rem;
  background: var(--cta);
  color: #fff;
  text-align: center;
  border-radius: 12px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.3;
  cursor: pointer;
  border: none;
  box-shadow: 0 10px 20px -3px var(--cta-glow);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, background 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
.cta-button:hover, .cta-button:focus {
  transform: scale(1.08);
  background: var(--cta-hover);
  box-shadow: 0 20px 35px -5px var(--cta-glow), 0 0 40px var(--cta-glow);
  animation: none;
}
.cta-button:active { transform: scale(0.98); animation: none; }

/* Pulse padrão (mesmo das outras LPs) */
.cta-primary { animation: pulse 2s ease-in-out infinite; }
@keyframes pulse {
  0%   { transform: scale(1);    box-shadow: 0 10px 20px -3px var(--cta-glow); }
  50%  { transform: scale(1.05); box-shadow: 0 15px 35px -3px var(--cta-glow), 0 0 35px var(--cta-glow); }
  100% { transform: scale(1);    box-shadow: 0 10px 20px -3px var(--cta-glow); }
}

/* Badges de confiança com ícone (compactos e elegantes) */
.trust-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem 1.3rem;
  margin-top: 1rem;
}
.tb {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  color: var(--carvao-soft);
}
.tb svg { color: var(--gold); flex-shrink: 0; }
.oferta .tb { color: rgba(246,241,230,0.85); }
.oferta .tb svg { color: var(--gold-soft); }

/* ==================== 8. BLOCO 2 — ESPIRAL DO DECLÍNIO ==================== */
.declinio { text-align: center; }

.question-block {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  line-height: 1.35;
  color: var(--green-900);
  max-width: 580px;
  margin: 0 auto 2.5rem;
}

/* Rótulo "Você já ouviu isso mil vezes" */
.declinio-label {
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--carvao-soft);
  margin-bottom: 1.1rem;
}

/* Conselhos repetidos — cards horizontais que "não funcionaram" */
.advice-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  max-width: 560px;
  margin: 0 auto 2.5rem;
}
.advice-card {
  position: relative;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid var(--gold-line);
  border-radius: 12px;
  padding: 1.05rem 1.25rem 1.05rem 2.75rem;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.12rem;
  color: var(--carvao-soft);
  text-align: left;
  line-height: 1.35;
}
.advice-card::before {
  content: "\201C";
  position: absolute;
  left: 0.85rem; top: 0.35rem;
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--gold);
  opacity: 0.55;
}

/* Pergunta-pivô */
.question-pivot {
  font-family: 'Playfair Display', serif;
  font-size: 1.55rem;
  line-height: 1.35;
  color: var(--green-900);
  max-width: 560px;
  margin: 0 auto 2.5rem;
}
.question-pivot .pivot-strong { color: var(--green-800); font-weight: 700; }

/* Medos — painel contido (agrupa em vez de espalhar) */
.fears-panel {
  position: relative;
  max-width: 520px;
  margin: 0 auto 2.5rem;
  padding: 1.6rem 1.75rem;
  background: rgba(38, 37, 31, 0.045);
  border-left: 3px solid var(--gold);
  border-radius: 0 14px 14px 0;
  text-align: left;
}
.fears-title {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.9rem;
}
.fears-panel .fear-line {
  font-family: 'Playfair Display', serif;
  font-size: 1.18rem;
  color: var(--carvao);
  margin-bottom: 0.55rem;
  line-height: 1.4;
}
.fears-panel .fear-line:last-child { margin-bottom: 0; }

.turn-statement {
  margin: 0 auto;
  max-width: 560px;
}
.turn-statement .big {
  font-family: 'Playfair Display', serif;
  font-size: 1.55rem;
  color: var(--green-900);
  line-height: 1.3;
  margin-bottom: 1rem;
}

/* ==================== 9. BLOCO 3 — MECANISMO ==================== */
.mecanismo { text-align: center; }
.mecanismo .reveal-line {
  font-family: 'Playfair Display', serif;
  font-size: 1.9rem;
  line-height: 1.28;
  color: var(--green-900);
  margin-bottom: 1.2rem;
}
.mecanismo .support {
  font-size: 1.2rem;
  color: var(--carvao);
  max-width: 560px;
  margin: 0 auto 1rem;
}

/* Linha "Nós chamamos isso de" antes da imagem-revelação */
.eyebrow-reveal {
  font-size: 0.95rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 2.5rem auto 1.1rem;
}

/* Moldura de imagem cinematográfica (zona morta / destaques) */
.feature-figure {
  margin: 0 auto 2rem;
  max-width: 720px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--sombra-suave);
  border: 1px solid var(--gold-line);
}
.feature-figure img { width: 100%; height: auto; display: block; }

.mecanismo .payoff {
  font-size: 1.15rem;
  color: var(--carvao);
  max-width: 560px;
  margin: 0 auto 0.7rem;
}
.mecanismo .payoff strong { display: inline; }
.command-line {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  color: var(--green-900);
  margin: 1.4rem auto 0;
  max-width: 540px;
}

/* Overrides do mecanismo quando a dobra é escura (precisam vir após .mecanismo) */
.bg-green .reveal-line,
.bg-green .command-line { color: var(--cream); }
.bg-green .support { color: rgba(246,241,230,0.85); }
.bg-green .support strong,
.bg-green .payoff strong,
.bg-green .build-line strong { color: var(--gold-soft); }
.bg-green .eyebrow-reveal { color: var(--gold-soft); }
/* payoff estava herdando cor escura (invisível no fundo verde) — corrigido */
.bg-green .payoff { color: rgba(246,241,230,0.9); }
.bg-green .feature-figure {
  border-color: rgba(203,167,102,0.28);
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}

/* Beats visuais da 3ª dobra */
.insight-panel {
  max-width: 470px;
  margin: 0 auto 2.25rem;
  padding: 1.4rem 1.75rem;
  background: rgba(203, 167, 102, 0.08);
  border-left: 3px solid var(--gold-soft);
  border-radius: 0 14px 14px 0;
  text-align: left;
}
.insight-panel p {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  line-height: 1.35;
  color: var(--cream);
  margin-bottom: 0.25rem;
}
.insight-panel p:last-child { margin-bottom: 0; }
.insight-panel strong { color: var(--gold-soft); }

.contrast-line {
  font-family: 'Playfair Display', serif;
  font-size: 1.85rem;
  line-height: 1.25;
  color: var(--cream);
  max-width: 520px;
  margin: 0 auto 2.25rem;
}

.build-line {
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--cream);
  max-width: 540px;
  margin: 0 auto 0.4rem;
}

/* ==================== 10. BLOCO 4 — 3 EIXOS ==================== */
.eixos-intro {
  text-align: center;
  font-size: 1.3rem;
  font-family: 'Playfair Display', serif;
  color: var(--green-900);
  max-width: 520px;
  margin: 0 auto 2.5rem;
}
.eixo {
  display: flex;
  gap: 1.4rem;
  padding: 1.8rem 0;
  align-items: flex-start;
}
.eixo + .eixo { border-top: 1px solid var(--gold-line); }
.eixo-num {
  font-family: 'Playfair Display', serif;
  font-size: 2.6rem;
  line-height: 1;
  color: var(--gold);
  flex-shrink: 0;
  min-width: 2.4rem;
}
.eixo-body h3 { margin-bottom: 0.5rem; }
.eixo-body p { margin-bottom: 0.35rem; font-size: 1.05rem; }
.eixo-body p:last-child { margin-bottom: 0; }
.eixo-body .accent { color: var(--green-700); font-weight: 600; }

/* ==================== 11. BLOCO 5 — 3 FASES (cards com foto) ==================== */
.fases-intro {
  text-align: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  color: var(--green-900);
  margin-bottom: 3rem;
}
.fases { display: flex; flex-direction: column; gap: 2.25rem; }
.fase-card {
  background: var(--bg-card);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--sombra-suave);
  border: 1px solid var(--cinza-linha);
}
/* foto cinematográfica (título já embutido na arte) — sem crop do texto */
.fase-img {
  width: 100%;
  height: auto;
  display: block;
}
.fase-copy { padding: 1.6rem 1.75rem 1.9rem; }
.fase-copy h3 { margin-bottom: 0.75rem; }
.fase-copy p { margin-bottom: 0.5rem; font-size: 1.05rem; }
.fase-copy p:last-child { margin-bottom: 0; }
.fase-copy .highlight {
  color: var(--green-800);
  font-weight: 600;
}

/* ==================== 11b. PROFESSOR ELIAS (autoridade) ==================== */
.autor-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.6rem;
  background: var(--bg-card);
  border: 1px solid var(--gold-line);
  border-radius: 20px;
  padding: 2.5rem 1.75rem;
  box-shadow: var(--sombra-card);
}
.autor-foto {
  width: 128px; height: 128px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--gold);
  background: linear-gradient(160deg, #234032, #16301F);
  display: flex; align-items: center; justify-content: center;
}
.autor-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.autor-mono {
  font-family: 'Playfair Display', serif;
  font-size: 3.2rem;
  color: var(--gold-soft);
  line-height: 1;
}
.autor-eyebrow {
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.4rem;
}
.autor-info h2 { margin-bottom: 1rem; }
.autor-info p { font-size: 1.05rem; }

/* Chips de credenciais */
.autor-creds {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  justify-content: center;
  margin-bottom: 1.4rem;
}
.cred {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--carvao-soft);
  background: transparent;
  border: 1px solid var(--gold-line);
  border-radius: 30px;
  padding: 0.3rem 0.7rem;
  line-height: 1.2;
}

.autor-assinatura {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.3rem;
  color: var(--green-800);
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--gold-line);
}

/* ==================== 11c. DEPOIMENTOS (vídeos YouTube) ==================== */
.dep-sub {
  text-align: center;
  font-size: 1.1rem;
  color: var(--carvao-soft);
  max-width: 540px;
  margin: 0 auto 2.5rem;
}
.depoimentos-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.video-card {
  background: var(--bg-card);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--sombra-card);
  border: 1px solid var(--cinza-linha);
  display: flex;
  flex-direction: column;
}
.video-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #0F241A;
}
/* Short vertical (9:16) — moldura de celular centralizada no card */
.video-wrap.is-vertical {
  aspect-ratio: 9 / 16;
  width: 100%;
  max-width: 264px;
  margin: 0 auto;
}
.yt-facade {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  border: none;
  cursor: pointer;
  background-color: #0F241A;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  color: var(--cream);
  -webkit-tap-highlight-color: transparent;
  transition: filter 0.3s ease;
}
.yt-facade.has-video::after {
  content: "";
  position: absolute; inset: 0;
  background: rgba(15, 36, 26, 0.35);
}
.yt-facade:hover { filter: brightness(1.08); }
.yt-play {
  position: relative;
  z-index: 1;
  width: 70px; height: 70px;
  border-radius: 50%;
  background: rgba(30, 158, 87, 0.92);
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.3s ease;
}
.yt-facade:hover .yt-play { transform: scale(1.08); }
.yt-play::after {
  content: "";
  width: 0; height: 0;
  border-left: 20px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 5px;
}
.yt-label {
  position: relative;
  z-index: 1;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  opacity: 0.85;
}
.yt-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-caption {
  padding: 1.2rem 1.4rem 1.4rem;
  text-align: left;
}
/* Frase de transformação — dita pela própria pessoa (pull-quote) */
.video-quote {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 1.14rem;
  line-height: 1.5;
  color: var(--green-800);
  border-left: 3px solid var(--gold);
  padding-left: 0.9rem;
}
.video-author {
  margin-top: 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
}

/* ==================== 11d. PRINTS DO GRUPO (carrossel) ==================== */
.prints-block { margin-top: 3rem; }
.prints-intro {
  text-align: center;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--carvao-soft);
  margin-bottom: 1.25rem;
}
.prints-carousel-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.prints-carousel {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 1.5rem;
  padding: 0.25rem 0.25rem 0.5rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.prints-carousel::-webkit-scrollbar { display: none; }
.print-slide {
  flex: 0 0 auto;
  width: 78%;
  max-width: 300px;
  scroll-snap-align: center;
  background: var(--bg-card);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--sombra-card);
  border: 1px solid var(--cinza-linha);
}
.print-slide img { width: 100%; height: auto; display: block; }
.prints-hint {
  text-align: center;
  font-size: 0.8rem;
  color: var(--carvao-soft);
  opacity: 0.75;
  margin-top: 0.5rem;
}
.prints-dots {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.9rem;
}
.prints-dots .dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--cinza-linha);
  transition: background 0.25s ease, transform 0.25s ease;
}
.prints-dots .dot.is-active {
  background: var(--gold);
  transform: scale(1.3);
}
.prints-arrow {
  display: none; /* setas só no desktop — no mobile o gesto de arrastar já resolve */
  flex-shrink: 0;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--cinza-linha);
  background: var(--bg-card);
  color: var(--green-800);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--sombra-card);
}
.prints-arrow:hover { background: var(--bg-alt); }

/* ==================== 12. BLOCO 6 — PARA QUEM É ==================== */
.para-quem-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 1rem;
}
.pq-col { padding: 1.75rem; border-radius: 16px; }
.pq-col.sim {
  background: rgba(42, 81, 56, 0.06);
  border: 1px solid rgba(42, 81, 56, 0.18);
}
.pq-col.nao {
  background: rgba(38, 37, 31, 0.035);
  border: 1px solid var(--cinza-linha);
}
.pq-col h3 {
  font-size: 1.25rem;
  margin-bottom: 1.1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--gold-line);
}
.pq-col.nao h3 { color: var(--carvao-soft); }
.pq-list { list-style: none; }
.pq-list li {
  position: relative;
  padding: 0.6rem 0 0.6rem 1.4rem;
  font-size: 1.05rem;
  color: var(--carvao);
  line-height: 1.5;
}
.pq-list li + li { border-top: 1px solid var(--cinza-linha); }
.pq-list li::before {
  content: "";
  position: absolute;
  left: 0; top: 1.15rem;
  width: 7px; height: 7px;
  border-radius: 50%;
}
.pq-col.sim .pq-list li::before { background: var(--green-600); }
.pq-col.nao .pq-list li::before { background: #b6b1a3; }

/* ==================== 13. BLOCO 7 — BÔNUS (cards com imagem) ==================== */
.bonus-intro {
  text-align: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.55rem;
  color: var(--green-900);
  margin-bottom: 2.5rem;
}
.bonus-card {
  background: var(--bg-card);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--sombra-suave);
  border: 1px solid var(--cinza-linha);
  margin-bottom: 1.75rem;
}
.bonus-img { width: 100%; height: auto; display: block; }
.bonus-body { padding: 1.5rem 1.75rem 1.75rem; }
/* Eyebrow + título no corpo (usado no bônus cujo título não está na imagem) */
.bonus-eyebrow-dark {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.bonus-body h3 { font-size: 1.35rem; margin-bottom: 0.7rem; }
.bonus-valor {
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: var(--gold);
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.bonus-body p:last-child { margin-bottom: 0; }

/* ==================== 14. BLOCO 8 — OFERTA + GARANTIA ==================== */
.oferta {
  background:
    radial-gradient(circle at 50% 0%, rgba(203,167,102,0.12), transparent 55%),
    linear-gradient(180deg, var(--green-800) 0%, var(--green-900) 100%);
  color: var(--cream);
  text-align: center;
  padding: 4.5rem 0;
}
.oferta h2 { color: var(--cream); }

/* Stack de valores */
.offer-stack {
  max-width: 560px;
  margin: 1.75rem auto;
  padding: 0.4rem 1.25rem;
  text-align: left;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(203, 167, 102, 0.25);
  border-radius: 14px;
}
.offer-row {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(246, 241, 230, 0.12);
  font-size: 0.98rem;
  line-height: 1.35;
}
.offer-row:last-child { border-bottom: none; }
.offer-row > svg { color: var(--gold-soft); flex-shrink: 0; }
.offer-row .oi { flex: 1; color: var(--cream); }
.offer-row .ov {
  flex-shrink: 0;
  font-weight: 700;
  color: var(--cream);
  white-space: nowrap;
}
.offer-total {
  font-size: 1.2rem;
  color: rgba(246, 241, 230, 0.85);
  margin-bottom: 0.6rem;
}
.offer-total s { color: var(--gold-soft); font-weight: 700; }

.oferta .de {
  font-size: 1.15rem;
  color: rgba(246,241,230,0.75);
  margin-bottom: 0.4rem;
}
.oferta .de s { color: var(--gold-soft); }

.price {
  font-family: 'Playfair Display', serif;
  color: var(--cream);
  margin: 0.5rem 0 0.3rem;
  line-height: 1;
}
.price .parcelas {
  display: block;
  font-size: 1.2rem;
  font-family: 'Inter', sans-serif;
  color: var(--gold-soft);
  letter-spacing: 0.04em;
  margin-bottom: 0.3rem;
}
.price .valor {
  font-size: 4.2rem;
  font-weight: 800;
  display: block;
}
.price .valor sup { font-size: 1.8rem; vertical-align: super; margin-right: 0.15rem; }
.oferta .avista {
  font-size: 1.05rem;
  color: rgba(246,241,230,0.8);
  margin-bottom: 2rem;
}
.oferta .avista strong { color: var(--cream); }

/* Garantia dupla — dois selos */
.garantia-dupla {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 2rem;
}
.garantia-card {
  background: var(--bg-card);
  border: 1px solid var(--gold-line);
  border-radius: 18px;
  padding: 2.25rem 1.75rem;
  text-align: center;
  box-shadow: var(--sombra-card);
}
.garantia-card h3 { margin-bottom: 0.7rem; }
.garantia-card p { margin-bottom: 0; }
.garantia-selo {
  width: 96px; height: 96px;
  margin: 0 auto 1.4rem;
  border-radius: 50%;
  border: 2px solid var(--gold);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  color: var(--green-800);
}
.garantia-selo .n {
  font-family: 'Playfair Display', serif;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1;
}
.garantia-selo .d {
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 0.15rem;
}
.garantia-selo.selo-icon { color: var(--gold); }

/* ==================== 15. BLOCO 9 — FAQ (acordeão CSS puro) ==================== */
.faq-intro { text-align: center; margin-bottom: 2.5rem; }
.faq-item {
  background: var(--bg-card);
  border: 1px solid var(--cinza-linha);
  border-radius: 12px;
  margin-bottom: 0.9rem;
  overflow: hidden;
  transition: border-color 0.3s ease;
}
.faq-toggle { display: none; }
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.35rem 1.4rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--green-900);
  -webkit-tap-highlight-color: transparent;
}
.faq-arrow {
  flex-shrink: 0;
  width: 12px; height: 12px;
  border-right: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  transform: rotate(45deg);
  transition: transform 0.35s ease;
  margin-top: -4px;
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-answer-content {
  padding: 0 1.4rem 1.4rem;
  color: var(--carvao-soft);
  font-size: 1.02rem;
  line-height: 1.7;
}
.faq-toggle:checked + .faq-question + .faq-answer { max-height: 400px; }
.faq-toggle:checked + .faq-question .faq-arrow { transform: rotate(-135deg); margin-top: 4px; }
.faq-toggle:checked ~ .faq-answer { }
.faq-toggle:checked + .faq-question { color: var(--green-700); }
.faq-item:has(.faq-toggle:checked) { border-color: var(--gold-line); }

/* ==================== 16. RODAPÉ ==================== */
.footer {
  background: var(--green-900);
  color: rgba(246,241,230,0.65);
  padding: 3rem 0 2.5rem;
  font-size: 0.86rem;
}
.footer .brand-foot {
  text-align: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cream);
  margin-bottom: 1.5rem;
}
.footer .brand-foot span { color: var(--gold-soft); }
.footer-links {
  display: flex; flex-wrap: wrap;
  justify-content: center; gap: 1.25rem;
  margin-bottom: 1.5rem;
}
.footer-links a { color: rgba(246,241,230,0.8); transition: color 0.3s; }
.footer-links a:hover { color: var(--gold-soft); }
.footer-aviso {
  text-align: center;
  line-height: 1.7;
  max-width: 620px;
  margin: 0 auto;
  color: rgba(246,241,230,0.5);
}
.footer-copyright {
  text-align: center;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(246,241,230,0.12);
  color: rgba(246,241,230,0.4);
  letter-spacing: 0.03em;
}

/* ==================== 17. RESPONSIVO (DESKTOP) ==================== */
@media (min-width: 768px) {
  html { font-size: 19px; }

  h1 { font-size: 2.6rem; }
  h2 { font-size: 2.3rem; }

  .price .valor { font-size: 5rem; }
  .eyebrow-reveal { font-size: 1rem; }

  .para-quem-grid { grid-template-columns: 1fr 1fr; }
  .depoimentos-grid { grid-template-columns: repeat(2, 1fr); align-items: start; }
  .depoimentos-grid .video-card.is-featured { grid-column: 1 / -1; }
  .garantia-dupla { grid-template-columns: 1fr 1fr; }

  /* Prints do grupo — setas de navegação substituem a dica de arrastar */
  .prints-arrow { display: flex; }
  .prints-hint { display: none; }
  .print-slide { width: 260px; }

  /* Conselhos lado a lado no desktop — encurta a dobra */
  .advice-cards { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .advice-card { font-size: 1.05rem; }

  .question-block { font-size: 1.9rem; }
  .question-pivot { font-size: 1.9rem; }
  .mecanismo .reveal-line { font-size: 2.3rem; }
  .contrast-line { font-size: 2.4rem; }
  .insight-panel p { font-size: 1.5rem; }

  /* Professor Elias — foto à esquerda, texto à direita */
  .autor-card {
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 2.25rem;
    padding: 2.75rem 2.5rem;
  }
  .autor-foto { width: 180px; height: 180px; }
  .autor-mono { font-size: 4.5rem; }
  .autor-creds { justify-content: flex-start; }
}

@media (min-width: 1024px) {
  .container { max-width: 820px; }
}

/* ==================== 18. ACESSIBILIDADE ==================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
}
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

/* ==================== 19. GATE VSL (opcional) ==================== */
/* Enquanto não há VSL, todo o conteúdo fica visível (.gated = só marcador
   semântico, sem efeito). Para ATIVAR o gate quando o VSL for publicado:
   acrescente a classe "esconder" a cada seção .gated que deva aparecer só
   depois do pitch — o VTurb (player:ready → displayHiddenElements) revela. */
.esconder { display: none; }
