/* ================================================================
   COMPRAS SOB CONTROLE — Design System
   Identidade: Editorial Arquitetônico Premium
   Tipografia: Cormorant Garamond (serif display) + Inter (sans)
   Paleta: off-white areia / grafite / verde-oliva discreto
   ================================================================ */

/* === TOKENS === */
:root {
  /* Palette */
  --c-soil:       #1C1917;
  --c-soil-90:    rgba(28,25,23,.9);
  --c-dust:       #68635D;
  --c-haze:       #ABA49B;
  --c-stone:      #D4CFC6;
  --c-sand:       #F4F0E8;
  --c-linen:      #EDE9E0;
  --c-milk:       #FAF8F3;
  --c-olive:      #4D5E3F;
  --c-olive-h:    #3D4D31;
  --c-olive-bg:   rgba(77,94,63,.12);
  --c-action:     #C4501A;
  --c-action-h:   #A84015;
  --c-action-bg:  rgba(196,80,26,.10);
  --c-action-gl:  rgba(196,80,26,.22);
  --c-amber:      #8C7355;
  --c-amber-l:    #B09575;
  --c-amber-bg:   rgba(140,115,85,.08);
  --c-warn:       rgba(140,115,85,.2);
  --c-err:        #b85c4a;

  /* Type */
  --ff-serif:  'Cormorant Garamond', Georgia, serif;
  --ff-sans:   'Inter', system-ui, sans-serif;

  /* Sizes */
  --fs-eye:  11px;
  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-md:   18px;
  --fs-lg:   22px;
  --fs-xl:   28px;
  --fs-2xl:  36px;
  --fs-3xl:  48px;

  /* Spacing */
  --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px;  --sp-8: 32px;  --sp-10: 40px;
  --sp-12: 48px; --sp-16: 64px; --sp-20: 80px; --sp-24: 96px;

  /* Containers */
  --w-max:  1200px;
  --w-mid:  900px;
  --w-slim: 680px;
  --px:     24px;

  /* Section */
  --sec-py: 88px;

  /* Transitions */
  --ease:  0.2s ease;
  --ease-s: 0.45s ease;

  /* Borders */
  --b-light: 1px solid var(--c-stone);
  --b-dark:  1px solid rgba(255,255,255,.09);
}

/* === RESET === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  font-family: var(--ff-sans);
  font-size: var(--fs-base);
  line-height: 1.65;
  background: var(--c-sand);
  color: var(--c-soil);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

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

/* === SKIP LINK === */
.skip {
  position: absolute; top: -999px; left: 16px; padding: 8px 16px;
  background: var(--c-action); color: #fff; font-size: var(--fs-sm); border-radius: 2px; z-index: 9999;
}
.skip:focus { top: 16px; }

/* === LAYOUT === */
.wrap      { max-width: var(--w-max);  margin: 0 auto; padding: 0 var(--px); }
.wrap--mid { max-width: var(--w-mid);  margin: 0 auto; padding: 0 var(--px); }
.wrap--slim{ max-width: var(--w-slim); margin: 0 auto; padding: 0 var(--px); }
.sec       { padding: var(--sec-py) 0; }
.sec--sand  { background: var(--c-sand); }
.sec--linen { background: var(--c-linen); }
.sec--milk  { background: var(--c-milk); }
.sec--soil  { background: var(--c-soil); color: #fff; }

/* === TYPOGRAPHY HELPERS === */
.eyebrow {
  font-family: var(--ff-sans);
  font-size: var(--fs-eye);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-olive);
  display: block;
}
.eyebrow--faint  { color: rgba(255,255,255,.4); }
.eyebrow--amber  { color: var(--c-amber); }
.eyebrow--action { color: var(--c-action); }

.sec-title {
  font-family: var(--ff-serif);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.025em;
  color: var(--c-soil);
  margin-top: var(--sp-3);
}
.sec-title--dark  { color: #fff; }
.sec-title--italic { font-style: italic; }

.sec-sub {
  font-size: var(--fs-md);
  line-height: 1.75;
  color: var(--c-dust);
  margin-top: var(--sp-4);
}
.sec-sub--dark { color: rgba(255,255,255,.6); }

.sec-head { margin-bottom: var(--sp-12); }

.hline { width: 36px; height: 1px; background: var(--c-olive); margin: var(--sp-6) 0; }

/* === BUTTONS === */
.btn {
  display: inline-block;
  font-family: var(--ff-sans);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: .10em;
  text-transform: uppercase;
  padding: 16px 36px;
  border-radius: 12px;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: background var(--ease), transform var(--ease), box-shadow var(--ease);
  white-space: normal;
  line-height: 1.3;
  text-align: center;
  max-width: 100%;
  box-sizing: border-box;
  word-break: break-word;
  touch-action: manipulation;
}
.btn:focus-visible { outline: 2px solid var(--c-action); outline-offset: 3px; }
.btn--olive  { background: var(--c-action); color: #fff; border-color: var(--c-action); box-shadow: 0 4px 16px var(--c-action-gl); }
.btn--olive:hover { background: var(--c-action-h); border-color: var(--c-action-h); transform: translateY(-2px); box-shadow: 0 10px 32px var(--c-action-gl); }
.btn--ghost  { background: transparent; color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.2); }
.btn--ghost:hover { background: rgba(255,255,255,.06); }
.btn--lg     { font-size: var(--fs-base); padding: 22px 60px; letter-spacing: .12em; box-shadow: 0 6px 22px var(--c-action-gl); }
.btn--lg:hover { box-shadow: 0 14px 42px var(--c-action-gl); }
.btn--block  { display: block; width: 100%; text-align: center; }
.btn-micro   { font-size: 12px; color: var(--c-haze); letter-spacing: .04em; margin-top: var(--sp-3); display: block; }
.btn-micro--dark { color: rgba(255,255,255,.35); }

/* === NOTICE / WARNING BADGE === */
.notice {
  background: var(--c-warn);
  border: 1px solid var(--c-amber-l);
  border-radius: 2px;
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-xs);
  color: var(--c-amber);
  line-height: 1.5;
}

/* ================================================================
   SECTIONS
   ================================================================ */

/* === HERO === */
.hero {
  background: var(--c-soil);
  padding: 72px 0 96px;
  position: relative;
  overflow: hidden;
}
/* Ghost watermark — architectural detail */
.hero::before {
  content: 'CSC';
  position: absolute;
  font-family: var(--ff-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 380px;
  color: rgba(255,255,255,.022);
  top: -60px;
  right: -40px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.04em;
}
/* Hero — centralizado, coluna única, vídeo como foco */
.hero__text {
  text-align: center;
  max-width: 780px;
  margin: 0 auto var(--sp-12);
}
.hero__headline {
  font-family: var(--ff-serif);
  font-style: italic;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.02em;
  color: #fff;
  margin-bottom: var(--sp-6);
}
.hero__headline-pivot { color: rgba(255,255,255,.42); }
.hero__sub {
  font-size: var(--fs-md);
  line-height: 1.8;
  color: rgba(255,255,255,.55);
  max-width: 660px;
  margin: 0 auto;
}
/* Vídeo 16:9 — foco visual com moldura terracota sofisticada */
.hero__vsl {
  width: 100%;
  max-width: 900px;
  aspect-ratio: 16/9;
  margin: 0 auto;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  background: #000;
  /*
   * Moldura dupla elegante:
   * camada 1 — anel interno fino terracota (inset, dentro do vídeo)
   * camada 2 — borda externa 1px terracota semitransparente
   * camada 3 — halo/glow suave terracota (5px respiro)
   * camada 4 — sombra profunda original
   */
  box-shadow:
    inset 0 0 0 1px rgba(196,80,26,.50),
    0 0 0 1px rgba(196,80,26,.40),
    0 0 0 6px rgba(196,80,26,.10),
    0 36px 90px rgba(0,0,0,.60);
  /* Transição suave de box-shadow ao flutuar/retornar (position não é animável via CSS) */
  transition: box-shadow 0.50s ease;
}
.hero__vsl iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; border-radius: 4px; }

/* ── Botão X — visível apenas no estado flutuante ── */
.hero__vsl-close {
  display: none;
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  background: rgba(12,8,4,.82);
  border: 1.5px solid rgba(196,80,26,.55);
  border-radius: 50%;
  color: rgba(255,255,255,.85);
  font-size: 15px;
  line-height: 1;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 3;
  padding: 0;
  transition: background var(--ease), border-color var(--ease);
}
.hero__vsl-close:hover { background: var(--c-action); border-color: var(--c-action); color: #fff; }
.hero__vsl-close:focus-visible { outline: 2px solid var(--c-action); outline-offset: 3px; }

/* ── Animação de entrada no modo flutuante: fade-up simples ── */
@keyframes vsl-float-in {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}

/* ── Estado flutuante ── */
.hero__vsl.is-floating {
  position: fixed;
  bottom: 24px;
  right: 24px;
  top: auto;
  left: auto;
  width: 320px;
  max-width: calc(100vw - 48px);
  margin: 0;
  z-index: 8000; /* abaixo do popup (z-index: 9100), acima de tudo mais */
  /* Moldura terracota intensificada no mini player */
  box-shadow:
    inset 0 0 0 1px rgba(196,80,26,.65),
    0 0 0 1px rgba(196,80,26,.50),
    0 0 0 5px rgba(196,80,26,.14),
    0 12px 40px rgba(0,0,0,.80);
  /* Fade-up suave ao entrar no modo mini player (roda UMA vez por ativação) */
  animation: vsl-float-in 0.45s ease both;
}
.hero__vsl.is-floating .hero__vsl-close { display: flex; }

@media (max-width: 600px) {
  .hero__vsl.is-floating { width: 200px; bottom: 16px; right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__vsl, .hero__vsl.is-floating { transition: none; animation: none; }
}

/* CTA abaixo do vídeo */
.hero__cta {
  text-align: center;
  margin: var(--sp-10) auto 0;
}
.hero__cta .btn { display: inline-block; }
.hero__cta .btn-micro--dark { display: block; }
/* Meta strip centralizada */
.hero__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 0;
  font-size: var(--fs-xs);
  font-weight: 500;
  color: rgba(255,255,255,.35);
  letter-spacing: .04em;
  margin-top: var(--sp-8);
}
.hero__meta-item::after { content: ' · '; margin: 0 6px; opacity: .45; }
.hero__meta-item:last-child::after { display: none; }

/* === CREDIBILITY BAR === */
.cred { background: var(--c-linen); border-top: var(--b-light); border-bottom: var(--b-light); padding: var(--sp-12) 0; }
.cred__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6) var(--sp-10); }
.cred-item { display: flex; align-items: flex-start; gap: var(--sp-3); }
.cred-item__dot { width: 6px; height: 6px; background: var(--c-olive); border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
.cred-item p { font-size: var(--fs-sm); line-height: 1.55; color: var(--c-dust); }
.cred-item strong { color: var(--c-soil); font-weight: 600; }

/* === BARRIERS / PROBLEMA === */
.barriers__intro { max-width: 640px; margin-bottom: var(--sp-12); }
.barriers__intro p { font-size: var(--fs-md); line-height: 1.8; color: var(--c-dust); margin-top: var(--sp-4); }
.barriers__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
.bcard {
  border: var(--b-light);
  border-radius: 2px;
  padding: var(--sp-8);
  background: var(--c-milk);
  position: relative;
  overflow: hidden;
}
.bcard__ghost {
  position: absolute; top: -12px; right: -8px;
  font-family: var(--ff-serif); font-size: 96px; font-weight: 700;
  color: var(--c-stone); line-height: 1; pointer-events: none; user-select: none;
  letter-spacing: -.04em; opacity: .7;
}
.bcard__label { margin-bottom: var(--sp-3); }
.bcard__title { font-family: var(--ff-serif); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--c-soil); margin-bottom: var(--sp-4); }
.bcard__body { font-size: var(--fs-sm); line-height: 1.75; color: var(--c-dust); }
.bcard__shift { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: var(--b-light); }
.bcard__shift-label { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--c-olive); display: block; margin-bottom: var(--sp-2); }
.bcard__shift p { font-size: var(--fs-xs); line-height: 1.65; color: var(--c-dust); font-style: italic; }

/* === METHOD: bio, 3P'S, 4E's === */
.bio-grid { display: grid; grid-template-columns: 260px 1fr; gap: var(--sp-16); align-items: start; }
.bio-photo {
  width: 100%;
  aspect-ratio: 600/745;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,.08);
  /* Offset shadow em terracota — detalhe editorial que ecoa a paleta */
  box-shadow: 6px 6px 0 var(--c-action-bg), 7px 7px 0 rgba(196,80,26,.45);
  flex-shrink: 0;
}
.bio-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
/* Bio está em seção de fundo escuro (--c-soil) — cores em escala de branco/terracota */
/* Corpo: off-white nítido, leitura confortável (~18:1) */
.bio-content p { font-size: var(--fs-base); line-height: 1.8; color: rgba(255,255,255,.82); margin-bottom: var(--sp-4); }
.bio-content p:last-child { margin-bottom: 0; }
/* Destaques: terracota vibrante sobre fundo escuro (4.1:1, passe para large text) */
.bio-content strong { color: var(--c-action); font-weight: 600; }
.bio-stat { display: flex; gap: var(--sp-12); margin-top: var(--sp-8); padding-top: var(--sp-8); border-top: 1px solid rgba(255,255,255,.08); }
.bio-stat__item { text-align: center; }
/*
 * Especificidade (0,2,0) é necessária aqui.
 * .bio-content p tem especificidade (0,1,1) e vence .bio-stat__num (0,1,0)
 * porque <p class="bio-stat__num"> está dentro de .bio-content.
 * Usando .bio-stat .bio-stat__num (0,2,0) garantimos vitória.
 */
.bio-stat .bio-stat__num {
  font-family: var(--ff-serif);
  font-size: 64px;
  font-weight: 700;
  color: var(--c-action);
  line-height: 1;
  letter-spacing: -.02em;
  margin-bottom: 0;
}
.bio-stat .bio-stat__label {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.72);
  margin-top: var(--sp-3);
  margin-bottom: 0;
  line-height: 1.55;
}

.ps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); margin-top: var(--sp-10); }
.pcard {
  padding: var(--sp-8) var(--sp-6);
  background: rgba(255,255,255,.032);
  border: var(--b-dark);
  border-top: 2px solid var(--c-olive);
  border-radius: 2px;
}
.pcard__letter { font-family: var(--ff-serif); font-size: 52px; font-weight: 700; color: var(--c-olive); opacity: .35; line-height: 1; margin-bottom: var(--sp-4); }
.pcard__title { font-family: var(--ff-serif); font-size: 26px; font-weight: 700; color: #fff; margin-bottom: var(--sp-3); line-height: 1.2; }
.pcard__body { font-size: var(--fs-sm); line-height: 1.75; color: rgba(255,255,255,.5); }

.es-list { margin-top: var(--sp-12); display: flex; flex-direction: column; }
.estep { display: grid; grid-template-columns: 72px 1fr; gap: var(--sp-8); padding: var(--sp-10) 0; border-top: 1px solid rgba(255,255,255,.065); }
.estep:last-child { border-bottom: 1px solid rgba(255,255,255,.065); }
/* Era olive a 30% de opacidade — ~1.2:1 no fundo escuro, invisível. Off-white claro como âncora visual. */
.estep__num { font-family: var(--ff-serif); font-size: 72px; font-weight: 700; color: rgba(255,255,255,.62); line-height: 1; text-align: right; }
.estep__label { margin-bottom: var(--sp-3); }
.estep__title { font-family: var(--ff-serif); font-size: 28px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: var(--sp-4); }
.estep__body { font-size: var(--fs-sm); line-height: 1.8; color: rgba(255,255,255,.52); }
.estep__tools { margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid rgba(255,255,255,.055); }
.estep__tools-label { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.28); display: block; margin-bottom: var(--sp-2); }
.estep__tools p { font-size: var(--fs-xs); color: rgba(255,255,255,.38); line-height: 1.55; }

/* === MODULES === */
.modules-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-5); margin-bottom: var(--sp-8); }
.mcard { border: var(--b-light); border-radius: 2px; padding: var(--sp-8); background: var(--c-milk); }
.mcard--hl { border-color: var(--c-amber-l); background: var(--c-amber-bg); }
.mcard__num { margin-bottom: var(--sp-3); }
.mcard__title { font-family: var(--ff-serif); font-size: 22px; font-weight: 700; color: var(--c-soil); line-height: 1.2; margin-bottom: var(--sp-2); }
.mcard__result { font-size: var(--fs-sm); font-weight: 600; font-style: italic; color: var(--c-dust); margin-bottom: var(--sp-4); }
.mcard__body { font-size: var(--fs-sm); line-height: 1.7; color: var(--c-dust); }
.mcard__lessons { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: var(--b-light); }
.mcard__lessons-label { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--c-haze); display: block; margin-bottom: var(--sp-2); }
.mcard__lessons p { font-size: var(--fs-xs); color: var(--c-haze); line-height: 1.6; }

/* Kit de Ferramentas */
.kit-card { border: 1px solid var(--c-amber-l); border-left: 3px solid var(--c-amber); border-radius: 2px; padding: var(--sp-8); background: var(--c-amber-bg); }
.kit-card__tag { display: inline-block; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .06em; color: var(--c-amber); background: rgba(140,115,85,.15); padding: 4px 12px; border-radius: 2px; margin-bottom: var(--sp-4); }
.kit-card__title { font-family: var(--ff-serif); font-size: 28px; font-weight: 700; color: var(--c-soil); margin-bottom: var(--sp-3); }
.kit-card__sub { font-size: var(--fs-sm); color: var(--c-dust); margin-bottom: var(--sp-6); }
.kit-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); }
.kit-item { padding: var(--sp-5); border: var(--b-light); border-radius: 2px; background: var(--c-milk); }
.kit-item__name { font-size: var(--fs-sm); font-weight: 600; color: var(--c-soil); margin-bottom: var(--sp-1); }
.kit-item__desc { font-size: var(--fs-xs); color: var(--c-dust); line-height: 1.55; }

/* === BONUSES === */
.bonus-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); margin-bottom: var(--sp-8); }
.bns-card { border: var(--b-light); border-radius: 2px; padding: var(--sp-8); background: var(--c-milk); }
.bns-card__val { display: inline-block; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--c-olive); background: var(--c-olive-bg); padding: 4px 12px; border-radius: 2px; margin-bottom: var(--sp-4); }
.bns-card__title { font-family: var(--ff-serif); font-size: 24px; font-weight: 700; color: var(--c-soil); line-height: 1.2; margin-bottom: var(--sp-4); }
.bns-card__body { font-size: var(--fs-sm); line-height: 1.75; color: var(--c-dust); }
.bns-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); margin-top: var(--sp-2); }
.bns-table th, .bns-table td { padding: var(--sp-4) var(--sp-5); border: var(--b-light); text-align: left; }
.bns-table th { font-weight: 600; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--c-dust); background: var(--c-linen); }
.bns-table tr:last-child td { font-weight: 700; color: var(--c-action); font-family: var(--ff-serif); font-size: 20px; }

/* === SOCIAL PROOF === */
.proof-videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); margin-bottom: var(--sp-10); }

/* Depoimento em vídeo (vertical 9:16) */
.testi-item { display: flex; flex-direction: column; gap: var(--sp-4); }
.testi-video {
  aspect-ratio: 9/16;
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  background: var(--c-soil);
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
}
.testi-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }
.testi-name {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--c-dust);
  text-align: center;
}

/* Placeholder slots (reserva) */
.proof-slot { aspect-ratio: 9/16; background: var(--c-linen); border: 1px dashed var(--c-stone); border-radius: 2px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-3); color: var(--c-haze); font-size: var(--fs-xs); letter-spacing: .06em; text-align: center; padding: var(--sp-6); }
.proof-slot__ring { width: 44px; height: 44px; border: 1px solid var(--c-stone); border-radius: 50%; display: flex; align-items: center; justify-content: center; }

.proof-results { display: flex; flex-direction: column; gap: var(--sp-4); max-width: var(--w-slim); }
.proof-quote { padding: var(--sp-6); border-left: 2px solid var(--c-olive); background: var(--c-milk); }
.proof-quote p { font-size: var(--fs-sm); line-height: 1.75; color: var(--c-dust); font-style: italic; }

/* === GUARANTEE === */
.guar-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
.gcard { padding: var(--sp-8); border: var(--b-light); border-radius: 2px; background: var(--c-milk); }
.gcard--l2 { border-color: rgba(196,80,26,.35); background: var(--c-action-bg); }
.gcard__badge { display: inline-flex; align-items: center; gap: var(--sp-2); background: var(--c-action); color: #fff; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 5px 14px; border-radius: 2px; margin-bottom: var(--sp-5); }
.gcard__title { font-family: var(--ff-serif); font-size: 26px; font-weight: 700; color: var(--c-soil); line-height: 1.2; margin-bottom: var(--sp-4); }
.gcard__body { font-size: var(--fs-sm); line-height: 1.8; color: var(--c-dust); }
.gcard__body p { margin-bottom: var(--sp-3); }
.gcard__body p:last-child { margin-bottom: 0; }
.gcard__body strong { color: var(--c-soil); font-weight: 600; }

/* === ROI / ANCORAGEM === */
.roi-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-8); margin: var(--sp-12) 0; }
.rstat { text-align: center; padding: var(--sp-8); border: var(--b-dark); border-radius: 2px; }
.rstat__num { font-family: var(--ff-serif); font-size: clamp(40px, 5vw, 60px); font-weight: 700; color: #fff; line-height: 1; margin-bottom: var(--sp-2); }
.rstat__num span { color: var(--c-action); font-style: italic; }
.rstat__label { font-size: var(--fs-sm); color: rgba(255,255,255,.45); line-height: 1.5; }
.roi-narrative { max-width: var(--w-slim); margin-bottom: var(--sp-8); }
.roi-narrative p { font-size: var(--fs-md); line-height: 1.8; color: rgba(255,255,255,.58); margin-bottom: var(--sp-4); }
.roi-narrative p:last-child { margin-bottom: 0; }
.roi-narrative strong { color: #fff; }
.roi-calc { background: rgba(255,255,255,.04); border: var(--b-dark); border-radius: 2px; padding: var(--sp-6) var(--sp-8); margin-top: var(--sp-8); }
.roi-calc p { font-size: var(--fs-sm); color: rgba(255,255,255,.5); line-height: 1.7; }
.roi-calc strong { color: rgba(255,255,255,.85); }

/* === OFFER / PRICE === */
.offer-wrap {
  max-width: 680px; margin: 0 auto;
  border: 1px solid rgba(196,80,26,.28); border-radius: 2px; overflow: hidden;
  box-shadow: 0 24px 72px rgba(0,0,0,.14), 0 0 0 1px rgba(196,80,26,.10);
}
.offer-hd {
  background: linear-gradient(160deg, #191208 0%, var(--c-soil) 100%);
  border-top: 3px solid var(--c-action);
  padding: var(--sp-10) var(--sp-8);
  text-align: center;
}
.offer-hd h3 { font-family: var(--ff-serif); font-size: 28px; font-weight: 700; color: #fff; margin-bottom: var(--sp-2); }
.offer-hd p { font-size: var(--fs-sm); color: rgba(255,255,255,.46); }
.offer-body { background: var(--c-milk); padding: var(--sp-8); }
.offer-items { display: flex; flex-direction: column; gap: var(--sp-3); margin-bottom: var(--sp-8); }
.offer-item { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: var(--fs-sm); color: var(--c-dust); }
.offer-item__check { color: var(--c-action); flex-shrink: 0; margin-top: 1px; font-weight: 700; font-size: var(--fs-base); line-height: 1; }
.offer-item strong { color: var(--c-soil); font-weight: 600; }
.offer-price { text-align: center; padding: var(--sp-8) 0; border-top: var(--b-light); border-bottom: var(--b-light); margin-bottom: var(--sp-6); }
.offer-price__anc { font-size: var(--fs-sm); color: var(--c-haze); text-decoration: line-through; margin-bottom: var(--sp-3); }
.offer-price__main { font-family: var(--ff-serif); font-size: 64px; font-weight: 700; color: var(--c-action); line-height: 1; }
.offer-price__main sup { font-size: 28px; vertical-align: super; }
.offer-price__or { font-size: var(--fs-sm); color: var(--c-haze); margin: var(--sp-4) 0 var(--sp-3); }
.offer-price__inst { font-size: var(--fs-lg); font-weight: 500; color: var(--c-dust); }
.offer-price__inst em { color: var(--c-soil); font-style: normal; font-weight: 700; }
.offer-cta { text-align: center; }
.offer-cta .btn { width: 100%; display: block; }
.offer-whats { font-size: var(--fs-xs); color: var(--c-haze); text-align: center; margin-top: var(--sp-3); }
.offer-whats a { color: var(--c-action); text-decoration: underline; }

/* === FAQ === */
.faq-list { display: flex; flex-direction: column; max-width: var(--w-mid); margin: 0 auto; }
.faq-item { border-top: var(--b-light); }
.faq-item:last-child { border-bottom: var(--b-light); }
.faq-btn {
  width: 100%; text-align: left; padding: var(--sp-6) 0; cursor: pointer;
  font-family: var(--ff-sans); font-size: var(--fs-base); font-weight: 500; color: var(--c-soil);
  display: flex; justify-content: space-between; align-items: center; gap: var(--sp-4);
  background: none; border: none;
}
.faq-btn:focus-visible { outline: 2px solid var(--c-action); outline-offset: 2px; }
.faq-icon { width: 20px; height: 20px; flex-shrink: 0; color: var(--c-olive); transition: transform var(--ease); }
.faq-btn[aria-expanded="true"] .faq-icon { transform: rotate(45deg); }
.faq-ans { display: none; padding-bottom: var(--sp-6); padding-right: 36px; font-size: var(--fs-sm); line-height: 1.8; color: var(--c-dust); }
.faq-ans.is-open { display: block; }
.faq-ans p { margin-bottom: var(--sp-3); }
.faq-ans p:last-child { margin-bottom: 0; }

/* === CTA FINAL === */
.ctafinal { background: var(--c-soil); }
.cta-narrative { max-width: 640px; margin-bottom: var(--sp-12); }
.cta-narrative p { font-size: var(--fs-md); line-height: 1.85; color: rgba(255,255,255,.58); margin-bottom: var(--sp-4); }
.cta-narrative p:last-child { margin-bottom: 0; }
.cta-narrative strong { color: #fff; }
.cta-box { border: var(--b-dark); border-radius: 2px; padding: var(--sp-8); max-width: 640px; }
.cta-box__name { font-family: var(--ff-serif); font-size: 32px; font-weight: 700; color: #fff; margin-bottom: var(--sp-2); }
.cta-box__tag { font-size: var(--fs-sm); color: rgba(255,255,255,.45); margin-bottom: var(--sp-8); }
.cta-tbl { width: 100%; font-size: var(--fs-sm); margin-bottom: var(--sp-8); }
.cta-tbl tr { border-bottom: 1px solid rgba(255,255,255,.055); }
.cta-tbl td { padding: var(--sp-3) 0; color: rgba(255,255,255,.55); vertical-align: top; }
.cta-tbl td:first-child { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.3); padding-right: var(--sp-8); width: 120px; }
.cta-tbl td strong { color: #fff; }
.cta-box .btn { display: block; width: 100%; text-align: center; }
.cta-box .btn-micro--dark { text-align: center; }

/* === STICKY BAR === */
.sticky {
  position: fixed; top: 0; left: 0; width: 100%;
  background: var(--c-soil); border-bottom: var(--b-dark);
  z-index: 900; transform: translateY(-100%); transition: transform var(--ease-s);
}
.sticky.is-vis { transform: translateY(0); }
.sticky__inner {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  max-width: var(--w-max); margin: 0 auto; padding: 12px var(--px);
}
.sticky__text { font-size: var(--fs-sm); color: rgba(255,255,255,.65); font-weight: 500; }
.sticky__text strong { color: #fff; }

/* === POPUP PRECHECKOUT === */
.pc-over {
  position: fixed; inset: 0; height: 0;
  background: rgba(10,8,6,.93);
  z-index: 9100;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: height var(--ease-s), opacity var(--ease-s), visibility var(--ease-s);
  overflow: hidden;
}
.pc-over.is-open { height: 100%; opacity: 1; visibility: visible; }
.pc-card {
  position: relative; background: #1C1917;
  border: 1px solid rgba(255,255,255,.1); border-radius: 2px;
  padding: 32px; max-width: 400px; width: calc(100% - 32px); text-align: center;
}
.pc-x {
  position: absolute; top: -44px; right: 0;
  width: 32px; height: 32px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%; color: rgba(255,255,255,.55); font-size: 18px; line-height: 1;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: background var(--ease);
}
.pc-x:hover { background: rgba(196,80,26,.35); color: #fff; }
.pc-title { font-family: var(--ff-serif); font-size: 22px; font-weight: 700; color: #fff; margin-bottom: var(--sp-2); }
.pc-sub { font-size: 13px; color: rgba(255,255,255,.45); margin-bottom: var(--sp-6); }
.pc-sub strong { color: rgba(255,255,255,.75); }
.pc-form { display: flex; flex-direction: column; gap: var(--sp-3); }
.pc-field { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.pc-lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.pc-inp {
  width: 100%; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.11);
  border-radius: 2px; color: #fff; font-family: var(--ff-sans); font-size: var(--fs-sm);
  padding: 13px 16px; outline: none; transition: border-color var(--ease);
}
.pc-inp::placeholder { color: rgba(255,255,255,.22); }
.pc-inp:focus { border-color: var(--c-action); }
.pc-inp.err { border-color: var(--c-err); }
.pc-errm { font-size: 11px; color: #c96a56; min-height: 15px; }
.pc-sbm {
  width: 100%; background: var(--c-action); color: #fff; border: none; border-radius: 12px;
  padding: 16px; font-family: var(--ff-sans); font-size: var(--fs-sm); font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; cursor: pointer; margin-top: var(--sp-2);
  transition: background var(--ease), box-shadow var(--ease);
  box-shadow: 0 4px 14px var(--c-action-gl);
}
.pc-sbm:hover:not(:disabled) { background: var(--c-action-h); box-shadow: 0 8px 22px var(--c-action-gl); }
.pc-sbm:disabled { opacity: .6; cursor: wait; }
.pc-ok { display: none; flex-direction: column; align-items: center; gap: var(--sp-4); }
.pc-ok.show { display: flex; }
.pc-ok__ic { width: 48px; height: 48px; background: var(--c-action); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 22px; }
.pc-ok__t { font-family: var(--ff-serif); font-size: 22px; font-weight: 700; color: #fff; }
.pc-ok__m { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.5; }

/* === FOOTER === */
.footer {
  background: #141210;
  border-top: 1px solid rgba(255,255,255,.055);
  padding: var(--sp-10) 0;
}
.footer__inner { display: flex; flex-direction: column; align-items: center; gap: var(--sp-4); text-align: center; }
.footer__copy { font-size: var(--fs-xs); color: rgba(255,255,255,.28); }
.footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; }
.footer__links a { font-size: var(--fs-xs); color: rgba(255,255,255,.28); transition: color var(--ease); }
.footer__links a:hover { color: rgba(255,255,255,.6); }
.footer__plat { font-size: 11px; color: rgba(255,255,255,.18); max-width: 480px; line-height: 1.5; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1024px) {
  :root { --sec-py: 64px; }
  .hero__vsl { max-width: 100%; }
  .hero__text { max-width: 100%; }
  .cred__grid { grid-template-columns: 1fr 1fr; }
  .barriers__grid { grid-template-columns: 1fr; }
  .bio-grid { grid-template-columns: 1fr; }
  .bio-photo { max-width: 300px; }
  .ps-grid { grid-template-columns: 1fr; }
  .estep { grid-template-columns: 60px 1fr; gap: var(--sp-6); }
  .modules-grid { grid-template-columns: 1fr; }
  .kit-items { grid-template-columns: repeat(2, 1fr); }
  .bonus-grid { grid-template-columns: 1fr; }
  .proof-videos { grid-template-columns: 1fr 1fr; }
  .guar-grid { grid-template-columns: 1fr; }
  .roi-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  :root { --sec-py: 56px; --px: 18px; }
  .hero { padding: 56px 0 72px; }
  .hero::before { font-size: 160px; }
  .hero__vsl { max-width: 100%; }
  .hero__sub { max-width: 100%; margin: 0 auto; }
  .cred__grid { grid-template-columns: 1fr; }
  .kit-items { grid-template-columns: 1fr; }
  .proof-videos { grid-template-columns: 1fr; }
  .roi-stats { grid-template-columns: 1fr; }
  .estep { grid-template-columns: 48px 1fr; gap: var(--sp-4); }
  .estep__num { font-size: 56px; }
  .offer-price__main { font-size: 44px; }
  .cta-box { padding: var(--sp-6); }
  .bio-stat { flex-direction: column; gap: var(--sp-6); }
  .sticky__text { font-size: 12px; }
  .hero__headline { font-size: clamp(26px, 7vw, 40px); }

  /* Botões em mobile — reduz padding horizontal, permite quebra de linha */
  .btn--lg { padding: 18px 28px; letter-spacing: .08em; }
  .btn    { letter-spacing: .08em; }
}
