/* =========================================================
   SPR — O NOVO CICLO · Pablo Marçal
   Identidade herdada de qbc.quizpablomarcal.com.br/v1
   (brasa + ruptura): mesmos tokens, mesma tipografia.
   ========================================================= */

:root{
  --ink:      #0B0705;
  --char:     #150E08;
  --char-2:   #1F150C;
  --char-3:   #2A1C10;
  --line:     #35281c;
  --ember:    #E8791A;
  --ember-hot:#F5A623;
  --ash:      #D9D2C7;
  --ash-dim:  #A79C8D;
  --smoke:    #8A8078;
  --crack:    #C23A16;

  --grad-cta: linear-gradient(135deg,#ff8800 0%,#f16200 100%);
  --grad-txt: linear-gradient(135deg,#ff9422 0%,#f16200 100%);

  --wrap: 1120px;
  --r: 14px;
  --ease: cubic-bezier(.16,1,.3,1);
  --eo: cubic-bezier(.22,.61,.36,1);

  --fd: 'Anton','Arial Narrow',system-ui,sans-serif;
  --fh: 'Space Grotesk','Inter',system-ui,sans-serif;
  --fb: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{ font-family:var(--fb); background:var(--ink); color:var(--ash); line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
b,strong{ color:#fff; font-weight:700; }
::selection{ background:var(--ember); color:#150E08; }

/* =========================================================
   CAMADAS GLOBAIS
   ========================================================= */
.grain{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.thermal{ position:fixed; inset:0; z-index:3; pointer-events:none;
  mix-blend-mode:soft-light; opacity:var(--thermal-op,.3);
  transition:opacity 1.1s var(--eo); will-change:opacity;
  background:
    radial-gradient(82% 55% at 50% -6%,  rgba(245,166,35,.9), transparent 62%),
    radial-gradient(76% 55% at 50% 106%, rgba(232,121,26,.62), transparent 62%); }
.edge-fade{ position:fixed; left:0; right:0; height:10vh; z-index:4; pointer-events:none; }
.edge-fade--top{ top:0; background:linear-gradient(180deg,var(--ink),rgba(11,7,5,0)); opacity:.5; }
.edge-fade--bottom{ bottom:0; background:linear-gradient(0deg,var(--ink),rgba(11,7,5,0)); opacity:.42; }
@media (prefers-reduced-motion: reduce){ .thermal{ transition:none; } }

/* o cursor tem que ficar acima de TUDO, inclusive do modal (z-index 10002):
   senão o ponteiro some por baixo do pop-up e a pessoa perde a seta */
.cursor-dot,.cursor-ring{ position:fixed; top:0; left:0; z-index:10050; border-radius:50%;
  pointer-events:none; opacity:0; transition:opacity .25s, width .22s var(--ease), height .22s var(--ease); }
.cursor-dot{ width:7px; height:7px; background:var(--ember-hot); box-shadow:0 0 12px 2px rgba(245,166,35,.65); }
.cursor-ring{ width:34px; height:34px; border:1.5px solid rgba(232,121,26,.75); }
.cursor-ring.is-hover{ width:52px; height:52px; border-color:var(--ember-hot); background:rgba(232,121,26,.09); }
.cursor-dot.is-hover{ opacity:.5; }
.cursor-ring.is-down{ width:26px; height:26px; }
html.has-custom-cursor,html.has-custom-cursor *{ cursor:none !important; }
@media (pointer:coarse){ .cursor-dot,.cursor-ring{ display:none; } }

/* =========================================================
   LAYOUT
   ========================================================= */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:22px; }
.wrap--mid{ max-width:920px; }

.section{ position:relative; padding-block:clamp(58px,7.5vw,100px); }
.section--surface{ background:
  radial-gradient(120% 90% at 50% 0%, rgba(232,121,26,.05), transparent 60%),
  linear-gradient(180deg, var(--ink) 0%, var(--char) 9%, var(--char) 91%, var(--ink) 100%); }

.fracture{ position:relative; height:26px; background:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='26'%3E%3Cpath d='M0 13 L26 9 L48 16 L74 7 L98 17 L124 10 L146 15 L160 12' fill='none' stroke='%23C23A16' stroke-width='1.4' opacity='.55'/%3E%3C/svg%3E");
  background-repeat:repeat-x; background-position:center; }
.fracture--strong{ height:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='34'%3E%3Cpath d='M0 17 L26 10 L48 22 L74 7 L98 24 L124 12 L146 20 L160 16' fill='none' stroke='%23E8791A' stroke-width='2' opacity='.8'/%3E%3C/svg%3E"); }
.section--surface + .fracture,.fracture + .section--surface{ background-color:transparent; }

/* =========================================================
   TIPOGRAFIA
   ========================================================= */
.h2{ font-family:var(--fd); font-weight:400; font-size:clamp(28px,4.6vw,48px);
  line-height:1.04; letter-spacing:.01em; color:#fff; text-wrap:balance; }
.h2--xl{ font-size:clamp(44px,8vw,86px); line-height:.94; }
.hot{ color:var(--ember); }
.og{ background:var(--grad-txt); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; }

.eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:11.5px; font-weight:700;
  letter-spacing:.26em; text-transform:uppercase; color:var(--ember); margin-bottom:18px; }
.eyebrow::before{ content:""; width:30px; height:2px; background:var(--ember); }
.eyebrow--center{ justify-content:center; }

.head-center{ text-align:center; max-width:820px; margin-inline:auto;
  margin-bottom:clamp(32px,4.4vw,52px); }
.lead{ margin-top:18px; font-size:clamp(15.5px,1.95vw,18.5px); color:var(--ash-dim); line-height:1.6; }
.lead b{ color:var(--ember-hot); }

.prosa{ max-width:66ch; font-size:clamp(15.5px,1.9vw,17.5px); color:var(--ash-dim); line-height:1.65; }
.prosa--center{ margin-inline:auto; text-align:center; }
.prosa p + p{ margin-top:15px; }
.prosa strong{ color:#fff; }

.pull{ font-family:var(--fd); font-weight:400; font-size:clamp(21px,3.3vw,34px); line-height:1.08;
  color:#fff; text-wrap:balance; border-left:3px solid var(--ember); padding:6px 0 6px 22px; }
.pull--center{ border-left:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:clamp(22px,3vw,30px) 0; text-align:center; max-width:900px; margin-inline:auto; }

.destaque{ font-family:var(--fh); font-weight:700; font-size:clamp(17px,2.3vw,23px); line-height:1.35;
  color:#fff; text-wrap:balance; text-align:center; max-width:60ch; margin-inline:auto; }

.assinatura{ margin-top:clamp(26px,3.2vw,36px); text-align:center;
  font-size:clamp(16px,2vw,19px); color:var(--ash); }
.assinatura b{ color:var(--ember-hot); }

.aviso{ margin-top:clamp(24px,3vw,32px); text-align:center; font-size:13px; color:var(--smoke);
  max-width:70ch; margin-inline:auto; line-height:1.55; }

.tbd{ display:inline-block; font-family:var(--fb); font-weight:700; font-size:13px;
  color:var(--ember-hot); background:rgba(232,121,26,.1);
  border:1px dashed rgba(245,166,35,.45); border-radius:7px;
  padding:2px 9px; letter-spacing:.02em; white-space:nowrap; vertical-align:middle; }

/* =========================================================
   BOTÕES
   ========================================================= */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:14px;
  font-family:var(--fb); font-weight:700; font-size:15px; letter-spacing:.4px; text-transform:uppercase;
  border:0; border-radius:999px; padding:17px 32px; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease; }
.btn--ember{ background:var(--grad-cta); color:#fff; box-shadow:0 14px 36px rgba(241,98,0,.42); }
.btn--ember:hover{ transform:translateY(-2px); box-shadow:0 18px 46px rgba(241,98,0,.52); }
.btn--ember:active{ transform:translateY(0); }
.btn--lg{ padding:20px 38px; font-size:16px; }
.btn--block{ width:100%; }
.btn__price{ background:rgba(0,0,0,.26); border-radius:999px; padding:4px 13px;
  font-size:13.5px; letter-spacing:0; text-transform:none; }
.ic-arrow{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2.4;
  stroke-linecap:round; stroke-linejoin:round; transition:transform .2s var(--ease); flex:none; }
.btn:hover .ic-arrow{ transform:translateX(4px); }
.cta-block{ margin-top:clamp(28px,3.6vw,40px); display:flex; flex-direction:column; gap:14px; }
.cta-block--center{ align-items:center; text-align:center; }
.ic{ width:16px; height:16px; fill:none; stroke:var(--ember); stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round; flex:none; }
.ic--off{ stroke:#7d7268; }

/* =========================================================
   01 · HERO
   ========================================================= */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; background:#0a0a0a; isolation:isolate; }
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media img{ width:100%; height:100%; object-fit:cover; object-position:center right; }
.hero__scrim{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,8,9,.97) 0%, rgba(8,8,9,.87) 27%, rgba(8,8,9,.44) 51%, rgba(8,8,9,0) 67%),
    linear-gradient(0deg, rgba(8,8,9,.55) 0%, transparent 26%); }
.hero__wrap{ position:relative; z-index:2; width:100%; max-width:1280px;
  margin:0 auto; padding:0 clamp(22px,5vw,80px); }
.hero__content{ max-width:680px; }

.apresenta{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.3em;
  text-transform:uppercase; color:rgba(255,255,255,.62); margin-bottom:14px; }

/* logo oficial: o PNG já vem com o fundo preto removido por luminância,
   então ela assenta sobre o hero sem retângulo visível. O drop-shadow
   devolve o brilho de brasa que o recorte comeu nas bordas. */
.logo{ width:min(100%, clamp(300px,38vw,520px)); height:auto;
  margin:0 0 clamp(18px,2.4vw,26px) -3%;
  filter:drop-shadow(0 0 40px rgba(232,121,26,.28)); }

.hero__title{ font-family:var(--fh); font-weight:700; font-size:clamp(20px,2.15vw,29px);
  line-height:1.28; letter-spacing:-.4px; color:#fff; max-width:620px; }
.hero__sub{ margin-top:16px; font-size:clamp(15px,1.35vw,17.5px); line-height:1.55;
  color:rgba(255,255,255,.78); max-width:540px; font-weight:600; }
.hero__jornada{ margin-top:14px; font-size:14px; color:rgba(255,255,255,.6); }
.hero__jornada b{ color:var(--ember-hot); }
.hero .btn{ margin-top:26px; padding:18px 28px; font-size:14.5px; gap:12px; }

.hero__scroll{ position:absolute; left:50%; bottom:18px; transform:translateX(-50%);
  z-index:3; color:rgba(255,255,255,.5); }
.hero__scroll svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round; animation:bob 1.8s ease-in-out 2s infinite; }
@keyframes bob{ 50%{ transform:translateY(6px); } }

/* faixa SPR */
.spr-faixa{ border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(232,121,26,.07),transparent); }
.spr-faixa__in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:12px 26px; padding-block:18px; }
.spr-item{ font-size:14.5px; color:var(--ash-dim); }
.spr-item b{ font-family:var(--fd); font-weight:400; font-size:19px; letter-spacing:.02em;
  color:var(--ember-hot); margin-right:6px; }
.spr-sep{ width:5px; height:5px; border-radius:50%; background:var(--line); }

/* =========================================================
   02 · IDENTIFICAÇÃO
   ========================================================= */
.gatilhos{ list-style:none; display:flex; flex-wrap:wrap; gap:10px;
  margin-block:clamp(26px,3.2vw,36px); }
.gatilhos li{ font-family:var(--fd); font-weight:400; font-size:clamp(15px,1.9vw,19px);
  letter-spacing:.02em; color:var(--ash); padding:11px 18px; border-radius:999px;
  border:1px solid var(--line); background:var(--char-2); }

/* =========================================================
   03 · PESQUISA
   ========================================================= */
.stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.6vw,18px); }
.stat{ position:relative; padding:clamp(22px,2.6vw,28px) clamp(18px,2.2vw,24px);
  border:1px solid var(--line); border-radius:var(--r); background:var(--char-2); text-align:center;
  transition:border-color .3s var(--ease), transform .3s var(--ease); }
.stat:hover{ border-color:rgba(232,121,26,.42); transform:translateY(-3px); }
.stat__n{ display:block; font-family:var(--fd); font-weight:400;
  font-size:clamp(36px,5.4vw,58px); line-height:1; letter-spacing:.01em;
  background:var(--grad-txt); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; font-variant-numeric:tabular-nums; }
.stat__d{ display:block; margin-top:12px; font-size:14px; color:var(--ash-dim); line-height:1.45; }
.stat__d b{ color:var(--ash); }

.vozes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.6vw,18px); margin-top:clamp(24px,3vw,34px); }
.voz{ position:relative; padding:clamp(22px,2.6vw,28px); border-radius:var(--r);
  border:1px solid var(--line); background:var(--char-2);
  font-family:var(--fh); font-weight:500; font-size:clamp(15.5px,1.85vw,17.5px);
  line-height:1.42; color:#fff; }
.voz::before{ content:""; position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg,var(--ember-hot),var(--crack)); border-radius:var(--r) 0 0 var(--r); }

/* =========================================================
   04 · EGITO
   ========================================================= */
.egito-list{ display:grid; gap:11px; margin-top:clamp(26px,3.2vw,36px); }
.egito-item{ position:relative; padding:17px 20px 17px 50px; border-radius:12px;
  border:1px solid var(--line); background:var(--char-2);
  font-size:15.5px; line-height:1.5; color:var(--ash-dim); }
.egito-item span{ position:absolute; left:19px; top:20px; width:9px; height:9px;
  border-radius:50%; background:var(--crack); box-shadow:0 0 0 4px rgba(194,58,22,.16); }
.egito-item b{ color:var(--ember-hot); font-weight:700; }

/* =========================================================
   05 · OS SETE CICLOS
   ========================================================= */
.ciclos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.6vw,16px); }
.ciclo{ position:relative; overflow:hidden; padding:clamp(20px,2.4vw,26px);
  border:1px solid var(--line); border-radius:var(--r); background:var(--char-2);
  transition:border-color .3s var(--ease), transform .3s var(--ease); }
.ciclo:hover{ border-color:rgba(232,121,26,.42); transform:translateY(-3px); }
.ciclo--hi{ grid-column:span 2; border-color:rgba(232,121,26,.45);
  background:linear-gradient(160deg,rgba(232,121,26,.13),var(--char-2) 58%); }
.ciclo__tag{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ember-hot); border:1px solid rgba(245,166,35,.34);
  border-radius:999px; padding:4px 11px; margin-bottom:12px; }
.ciclo__t{ font-family:var(--fd); font-weight:400; font-size:clamp(21px,2.5vw,28px);
  line-height:1.04; color:#fff; letter-spacing:.01em; }
.ciclo--hi .ciclo__t{ font-size:clamp(26px,3.2vw,36px); }
.ciclo__d{ margin-top:9px; font-size:14.5px; line-height:1.48; color:var(--ash-dim); }

.regra{ margin-top:clamp(26px,3.2vw,38px); padding:clamp(24px,3vw,32px);
  border:1px solid rgba(232,121,26,.3); border-radius:var(--r);
  background:linear-gradient(160deg,rgba(232,121,26,.08),var(--char-2) 60%); text-align:center; }
.regra__t{ font-family:var(--fd); font-weight:400; font-size:clamp(19px,2.5vw,27px);
  line-height:1.14; color:#fff; letter-spacing:.01em; text-wrap:balance; }
.regra__d{ margin-top:12px; font-size:15px; color:var(--ash-dim); line-height:1.55;
  max-width:64ch; margin-inline:auto; }

/* =========================================================
   06 · TRÊS MOVIMENTOS DO DINHEIRO
   ========================================================= */
.tres{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(13px,1.8vw,20px); }
.tres__c{ position:relative; overflow:hidden; padding:clamp(24px,3vw,32px);
  border:1px solid var(--line); border-radius:var(--r); background:var(--char-2);
  transition:border-color .3s var(--ease), transform .3s var(--ease); }
.tres__c:hover{ border-color:rgba(232,121,26,.42); transform:translateY(-3px); }
.tres__c::after{ content:""; position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg,var(--ember-hot),var(--crack)); }
.tres__n{ font-family:var(--fd); font-size:13px; letter-spacing:.2em; color:var(--ember); }
.tres__t{ font-family:var(--fd); font-weight:400; font-size:clamp(23px,2.9vw,32px);
  line-height:1.02; color:#fff; margin-top:8px; letter-spacing:.01em; }
.tres__d{ margin-top:11px; font-size:15px; line-height:1.5; color:var(--ash-dim); }

/* =========================================================
   07 · SOLUÇÃO
   ========================================================= */
.naoe{ display:grid; gap:10px; margin-top:clamp(24px,3vw,34px); max-width:640px; margin-inline:auto; }
.naoe__i{ position:relative; padding:15px 18px 15px 48px; border-radius:12px;
  border:1px dashed var(--line); font-size:15px; color:var(--smoke); line-height:1.45; }
.naoe__i span{ position:absolute; left:18px; top:14px; width:19px; height:19px; border-radius:50%;
  display:grid; place-items:center; font-size:11px; color:var(--crack);
  border:1px solid rgba(194,58,22,.45); }
.tripe{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  margin-top:clamp(24px,3vw,34px); }
.tripe span{ font-family:var(--fd); font-weight:400; font-size:clamp(14px,1.7vw,17px);
  letter-spacing:.03em; color:var(--ash); padding:11px 20px; border-radius:999px;
  border:1px solid var(--line); background:var(--char-2); }
.tripe--forte span{ border-color:rgba(232,121,26,.4); color:var(--ember-hot);
  background:rgba(232,121,26,.08); }

/* =========================================================
   08 · MÉTODO (4 movimentos)
   ========================================================= */
.loop{ position:relative; display:grid; gap:clamp(22px,2.8vw,36px);
  grid-template-columns:repeat(4,minmax(0,1fr)); }
.loop::before{ content:""; position:absolute; top:11px; left:11%; right:11%;
  height:1.5px; background:var(--line); }
.loop::after{ content:""; position:absolute; top:11px; left:11%; width:0; height:1.5px;
  background:linear-gradient(90deg,var(--crack),var(--ember-hot));
  transition:width 1.8s var(--eo); }
.loop.on::after{ width:78%; }
.loop__step{ position:relative; padding-top:34px; }
.loop__dot{ position:absolute; top:5px; left:0; width:13px; height:13px; border-radius:50%;
  background:var(--ink); border:1.5px solid var(--line);
  transition:.45s var(--ease); transition-delay:var(--d,0s); }
.loop.on .loop__dot{ border-color:var(--ember); background:var(--ember);
  box-shadow:0 0 0 5px rgba(232,121,26,.16); }
.loop__n{ font-family:var(--fd); font-size:13px; letter-spacing:.16em; color:var(--ember); }
.loop__t{ font-family:var(--fd); font-weight:400; font-size:clamp(21px,2.6vw,28px);
  line-height:1.04; color:#fff; margin-top:8px; letter-spacing:.01em; }
.loop__d{ margin-top:10px; font-size:14.5px; color:var(--ash-dim); line-height:1.5; }

/* =========================================================
   09 · JORNADA (2 fases)
   ========================================================= */
.fases{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,2vw,20px); }
.fase{ position:relative; overflow:hidden; padding:clamp(26px,3.2vw,34px);
  border:1px solid var(--line); border-radius:var(--r); background:var(--char-2); }
.fase::after{ content:""; position:absolute; inset:0 auto 0 0; width:3px; }
.fase--intensiva{ border-color:rgba(232,121,26,.4);
  background:linear-gradient(165deg,rgba(232,121,26,.1),var(--char-2) 58%); }
.fase--intensiva::after{ background:linear-gradient(180deg,var(--ember-hot),var(--crack)); }
.fase--continuidade::after{ background:linear-gradient(180deg,#6a5340,#3a2c20); }
.fase__n{ font-family:var(--fd); font-size:12.5px; letter-spacing:.2em; color:var(--ember);
  text-transform:uppercase; }
.fase--continuidade .fase__n{ color:var(--smoke); }
.fase__name{ font-family:var(--fd); font-weight:400; font-size:clamp(26px,3.4vw,38px);
  line-height:1.02; color:#fff; margin-top:8px; letter-spacing:.01em; }
.fase__d{ margin-top:12px; font-size:15px; color:var(--ash-dim); line-height:1.5; }
.fase__l{ list-style:none; margin-top:18px; display:grid; gap:10px; }
.fase__l li{ position:relative; padding-left:26px; font-size:14.5px; line-height:1.48; color:var(--ash); }
.fase__l li::before{ content:""; position:absolute; left:0; top:7px; width:13px; height:13px;
  border-radius:4px; border:1.5px solid rgba(245,166,35,.55); }
.fase__l--off{ margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.fase__l--off li{ color:var(--smoke); }
.fase__l--off li::before{ border-color:#4b3b2e; border-radius:50%; width:11px; height:11px; top:8px; }

/* =========================================================
   10 · ENTREGÁVEIS
   ========================================================= */
.entregas{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(13px,1.8vw,18px); }
.entrega{ position:relative; display:flex; flex-direction:column;
  padding:clamp(24px,2.8vw,30px); border:1px solid var(--line); border-radius:var(--r);
  background:var(--char-2); transition:border-color .3s var(--ease), transform .3s var(--ease); }
.entrega:hover{ border-color:rgba(232,121,26,.42); transform:translateY(-3px); }
.entrega__n{ font-family:var(--fd); font-size:13px; letter-spacing:.2em; color:var(--ember); }
.entrega__t{ font-family:var(--fd); font-weight:400; font-size:clamp(21px,2.5vw,26px);
  line-height:1.04; color:#fff; margin-top:8px; letter-spacing:.01em; }
.entrega__d{ margin-top:11px; font-size:14.5px; line-height:1.5; color:var(--ash-dim); flex:1; }
.entrega__e{ margin-top:16px; padding-top:14px; border-top:1px dashed var(--line);
  font-size:13.5px; line-height:1.5; color:var(--ash); }
.entrega__e b{ color:var(--ember-hot); font-weight:700; }

/* =========================================================
   11 · IA
   ========================================================= */
.ia-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(13px,1.8vw,18px); }
.ia-col{ padding:clamp(24px,3vw,32px); border:1px solid var(--line); border-radius:var(--r);
  background:var(--char-2); }
.ia-col--hi{ border-color:rgba(232,121,26,.42);
  background:linear-gradient(165deg,rgba(232,121,26,.1),var(--char-2) 58%); }
.ia-col__k{ display:block; font-size:11px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--smoke); margin-bottom:16px; }
.ia-col--hi .ia-col__k{ color:var(--ember); }
.ia-col__l{ list-style:none; display:grid; gap:12px; }
.ia-col__l li{ position:relative; padding-left:22px; font-size:15px; line-height:1.5; color:var(--smoke); }
.ia-col__l li::before{ content:""; position:absolute; left:0; top:8px; width:7px; height:7px;
  border-radius:50%; background:#4b3b2e; }
.ia-col--hi .ia-col__l li{ color:var(--ash); }
.ia-col--hi .ia-col__l li::before{ background:var(--ember); box-shadow:0 0 0 4px rgba(232,121,26,.15); }

/* =========================================================
   12 · PARA QUEM É
   ========================================================= */
.pq-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(13px,1.8vw,18px); }
.pq{ padding:clamp(24px,3vw,32px); border:1px solid var(--line); border-radius:var(--r);
  background:var(--char-2); }
.pq--sim{ border-color:rgba(232,121,26,.4); }
.pq__t{ display:flex; align-items:center; gap:11px; font-family:var(--fd); font-weight:400;
  font-size:clamp(17px,2vw,21px); line-height:1.14; color:#fff; letter-spacing:.01em; }
.pq__l{ list-style:none; margin-top:18px; display:grid; gap:11px; }
.pq__l li{ position:relative; padding-left:22px; font-size:15px; line-height:1.48; color:var(--ash-dim); }
.pq__l li::before{ content:""; position:absolute; left:0; top:8px; width:6px; height:6px;
  border-radius:50%; background:var(--ember); }
.pq--nao .pq__l li::before{ background:#5c4b3c; }

/* =========================================================
   13 · OFERTA
   ========================================================= */
.oferta{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  gap:clamp(20px,3vw,40px); align-items:start; }
.inclui{ padding:clamp(26px,3.2vw,34px); border:1px solid var(--line); border-radius:var(--r);
  background:var(--char-2); }
.inclui__t{ font-family:var(--fd); font-weight:400; font-size:clamp(26px,3.4vw,38px);
  line-height:1.02; color:#fff; letter-spacing:.01em; }
.inclui__l{ list-style:none; margin-top:20px; display:grid; gap:12px; }
.inclui__l li{ position:relative; padding-left:28px; font-size:15.5px; line-height:1.48; color:var(--ash); }
.inclui__l li::before{ content:""; position:absolute; left:0; top:6px; width:15px; height:15px;
  border-radius:5px; background:rgba(232,121,26,.14); border:1px solid rgba(245,166,35,.5); }
.inclui__l li::after{ content:""; position:absolute; left:4px; top:10px; width:6px; height:3px;
  border-left:1.8px solid var(--ember-hot); border-bottom:1.8px solid var(--ember-hot);
  transform:rotate(-45deg); }

.preco{ position:relative; border-radius:18px; padding:2px; overflow:hidden; isolation:isolate;
  background:linear-gradient(150deg, rgba(245,166,35,.55), rgba(232,121,26,.12) 44%, rgba(255,255,255,.05)); }
.preco::before,.preco::after{ content:""; position:absolute; width:300%; height:52%;
  border-radius:50%; z-index:-1; opacity:.6;
  background:radial-gradient(circle, rgba(245,166,35,.9), transparent 12%); }
.preco::before{ top:-13px; left:-250%; animation:starTop 7s linear 2.4s infinite alternate; }
.preco::after{ bottom:-13px; right:-250%; animation:starBottom 7s linear 2.4s infinite alternate; }
@keyframes starTop{ 0%{ transform:translateX(0); opacity:.9; } 100%{ transform:translateX(100%); opacity:0; } }
@keyframes starBottom{ 0%{ transform:translateX(0); opacity:.9; } 100%{ transform:translateX(-100%); opacity:0; } }
.preco__in{ border-radius:16px; padding:clamp(26px,3.2vw,34px);
  background:linear-gradient(168deg,#231810,#120C08); text-align:center; }
.preco__tag{ display:inline-flex; font-size:11px; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ember-hot);
  border:1px solid rgba(245,166,35,.34); border-radius:999px; padding:6px 14px; }
.preco__val{ margin-top:20px; }
/* "12x R$ 297,86" tem 13 caracteres: em Anton grande ele quebra em duas
   linhas e vira "12x R$ / 297,86". nowrap + tamanho menor mantém em uma. */
.preco__val .big{ display:block; font-family:var(--fd); font-weight:400;
  font-size:clamp(32px,4.4vw,50px); line-height:1.04; letter-spacing:.01em; white-space:nowrap;
  background:var(--grad-txt); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; }
.preco__val .sm{ display:block; margin-top:8px; font-size:14px; color:var(--smoke); }
.preco__specs{ list-style:none; margin-top:22px; display:grid; gap:10px; text-align:left; }
.preco__specs li{ display:flex; justify-content:space-between; gap:14px; align-items:baseline;
  font-size:14px; color:var(--smoke); padding-bottom:9px;
  border-bottom:1px dashed rgba(255,255,255,.09); }
.preco__specs li b{ color:var(--ash); font-weight:600; text-align:right; }
.preco .btn{ margin-top:22px; }
.preco__pay{ margin-top:13px; font-size:12px; color:var(--smoke); }

/* =========================================================
   14 · FAQ
   ========================================================= */
.faq{ display:flex; flex-direction:column; gap:10px; }
.faq__i{ border:1px solid var(--line); border-radius:var(--r); background:var(--char-2);
  overflow:hidden; transition:border-color .25s; }
.faq__i.open{ border-color:rgba(232,121,26,.4); }
.faq__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:19px 22px; background:none; border:0; cursor:pointer; text-align:left;
  font-family:var(--fd); font-weight:400; font-size:clamp(16px,1.9vw,19px);
  line-height:1.25; color:#fff; letter-spacing:.01em; transition:color .2s; }
.faq__q:hover{ color:var(--ember); }
.faq__sign{ display:block; position:relative; width:16px; height:16px; flex:none; }
.faq__sign::before,.faq__sign::after{ content:""; position:absolute; inset:50% 0 auto;
  height:1.8px; background:var(--ember); border-radius:2px; transition:transform .3s var(--ease); }
.faq__sign::after{ transform:rotate(90deg); }
.faq__i.open .faq__sign::after{ transform:rotate(0); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq__a > div{ padding:0 22px 20px; font-size:15px; color:var(--ash-dim); line-height:1.6; max-width:72ch; }

/* =========================================================
   15 · FECHAMENTO
   ========================================================= */
.fim{ position:relative; overflow:hidden; text-align:center;
  padding-block:clamp(66px,9vw,110px);
  background:radial-gradient(90% 70% at 50% 45%, rgba(232,121,26,.16), transparent 66%), var(--ink); }
.fim__t{ font-family:var(--fd); font-weight:400; font-size:clamp(30px,5.4vw,58px);
  line-height:1.04; color:#fff; letter-spacing:.01em; text-wrap:balance; }
.fim__list{ margin-top:clamp(26px,3.2vw,36px); display:grid; gap:9px; }
.fim__list p{ font-size:clamp(15.5px,1.9vw,18px); color:var(--smoke); }
.fim__ou{ margin-top:clamp(24px,3vw,32px); font-size:clamp(15.5px,1.9vw,18px);
  color:var(--ash); max-width:64ch; margin-inline:auto; line-height:1.6; }
.fim__pull{ margin:clamp(30px,3.8vw,44px) auto 0; max-width:800px;
  font-family:var(--fd); font-weight:400; font-size:clamp(21px,3.2vw,34px);
  line-height:1.1; color:#fff; letter-spacing:.01em; text-wrap:balance;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding-block:clamp(22px,2.8vw,30px); }
.fim__p{ margin-top:clamp(24px,3vw,32px); font-size:clamp(16px,2vw,19px); color:var(--ash);
  max-width:60ch; margin-inline:auto; line-height:1.55; }
.fim__meta{ font-size:13.5px; color:var(--smoke); }

.footer{ padding-block:36px; border-top:1px solid var(--line); background:var(--ink);
  font-size:12px; color:var(--smoke); text-align:center; line-height:1.6; }
.footer p{ max-width:80ch; margin-inline:auto; }
.footer__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; margin-top:14px; }
.footer__links a:hover{ color:var(--ember); }

/* =========================================================
   CTA FIXO + MODAL
   ========================================================= */
.sticky{ position:fixed; left:0; right:0; bottom:0; z-index:50;
  padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  background:rgba(11,7,5,.93); backdrop-filter:blur(12px);
  border-top:1px solid rgba(232,121,26,.24);
  transform:translateY(120%); transition:transform .35s var(--ease);
  display:flex; align-items:center; gap:12px; }
.sticky.show{ transform:translateY(0); }
.sticky__t{ flex:1; min-width:0; font-size:12px; color:var(--smoke); line-height:1.3; }
.sticky__t b{ display:block; color:#fff; font-size:13px; }
.sticky .btn{ flex:none; padding:13px 22px; font-size:13px; }
@media (min-width:1001px){ .sticky{ display:none; } }

.modal[hidden]{ display:none; }
.modal{ position:fixed; inset:0; z-index:10002; display:grid; place-items:center; padding:20px; }
.modal__bd{ position:absolute; inset:0; background:rgba(6,4,3,.82); backdrop-filter:blur(6px);
  opacity:0; transition:opacity .3s var(--ease); }
.modal.open .modal__bd{ opacity:1; }
.modal__box{ position:relative; width:min(100%,460px); max-height:92vh; overflow-y:auto;
  background:linear-gradient(168deg,#241810,#130D08);
  border:1px solid rgba(232,121,26,.3); border-radius:18px; padding:clamp(24px,3.4vw,32px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.95);
  transform:translateY(16px) scale(.97); opacity:0;
  transition:transform .32s var(--ease), opacity .28s var(--ease); }
.modal.open .modal__box{ transform:none; opacity:1; }
.modal__x{ position:absolute; top:13px; right:13px; width:33px; height:33px; border-radius:9px;
  background:rgba(255,255,255,.07); border:0; color:var(--ash-dim); cursor:pointer;
  display:grid; place-items:center; font-size:19px; line-height:1; }
.modal__x:hover{ background:rgba(255,255,255,.13); color:#fff; }
.modal__t{ font-family:var(--fd); font-weight:400; font-size:clamp(22px,2.8vw,28px);
  line-height:1.1; color:#fff; padding-right:34px; letter-spacing:.01em; }
.modal__d{ margin-top:10px; font-size:14px; color:var(--ash-dim); line-height:1.5; }
.form{ margin-top:20px; display:grid; gap:12px; }
.field{ display:grid; gap:6px; }
.field label{ font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--smoke); }
.field input{ width:100%; font-family:inherit; font-size:16px; color:#fff;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.13);
  border-radius:10px; padding:14px 15px; transition:.2s; }
.field input::placeholder{ color:#6B6158; }
.field input:focus{ outline:0; border-color:var(--ember); background:rgba(255,255,255,.08);
  box-shadow:0 0 0 3px rgba(232,121,26,.18); }
.field--err input{ border-color:var(--crack); }
.field--err::after{ content:"Confira este campo"; font-size:11.5px; color:#DE7A5E; }
.modal__fine{ margin-top:14px; font-size:11.5px; color:#6B6158; line-height:1.5; text-align:center; }
.modal__ok{ text-align:center; padding-block:10px; }
.modal__ok svg{ width:50px; height:50px; margin:0 auto 15px; stroke:var(--ember); fill:none;
  stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* =========================================================
   REVEAL
   ========================================================= */
.rv{ opacity:0; transform:translateY(20px);
  transition:opacity .6s var(--eo), transform .6s var(--eo); }
.rv.in{ opacity:1; transform:none; }
.rv-d1{ transition-delay:.08s; } .rv-d2{ transition-delay:.16s; }
.rv-d3{ transition-delay:.24s; } .rv-d4{ transition-delay:.32s; }

/* hero entra por CSS: acima da dobra nunca espera JS */
@keyframes rise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.hero .rv{ animation:rise .6s var(--eo) both; }
.hero .rv-d1{ animation-delay:.08s; } .hero .rv-d2{ animation-delay:.16s; }
.hero .rv-d3{ animation-delay:.24s; } .hero .rv-d4{ animation-delay:.32s; }

@media (prefers-reduced-motion: reduce){
  .rv,.hero .rv{ opacity:1 !important; transform:none !important;
    animation:none !important; transition:none !important; }
  .preco::before,.preco::after,.hero__scroll svg{ animation:none !important; }
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1000px){
  .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ciclos{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ciclo--hi{ grid-column:span 2; }
  .loop{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .loop::before,.loop::after{ display:none; }
  .loop__step{ padding-top:0; padding-left:26px; }
  .loop__dot{ top:6px; }
  .vozes,.tres,.entregas,.fases,.ia-grid,.pq-grid,.oferta{ grid-template-columns:1fr; }
  .hero__title{ font-size:clamp(19px,2.6vw,26px); }
}
@media (max-width:880px){
  .hero{ display:block; min-height:100svh; background:#08080a; text-align:center; }
  .hero__media{ position:relative; inset:auto; width:100%;
    height:min(36vh, calc(100svh - 460px)); min-height:180px; }
  .hero__media img{ object-position:center top; }
  .hero__scrim{ background:linear-gradient(0deg,#08080a 0%, rgba(8,8,10,.72) 14%, rgba(8,8,10,.12) 36%, transparent 58%); }
  .hero__wrap{ max-width:none; padding:0 22px 32px; margin-top:-26px; }
  .hero__content{ max-width:500px; margin:0 auto; display:flex; flex-direction:column; align-items:center; }
  .hero__title{ font-size:clamp(18px,4.6vw,23px); line-height:1.32; }
  .hero__sub{ font-size:15px; margin-top:13px; }
  .hero .btn{ width:100%; margin-top:18px; flex-wrap:wrap; gap:9px;
    padding:15px 18px; font-size:13.5px; line-height:1.25; }
  .hero .btn__price{ font-size:12.5px; }
  .hero__scroll{ display:none; }
  .logo{ width:min(100%,340px); margin:0 auto 14px; }
  .gatilhos{ justify-content:center; }
}
@media (max-width:640px){
  .wrap{ padding-inline:20px; }
  .stats,.ciclos,.loop{ grid-template-columns:1fr; }
  .ciclo--hi{ grid-column:span 1; }
  .spr-faixa__in{ gap:8px 16px; }
  .spr-item{ font-size:13px; }
  .spr-item b{ font-size:16px; }
  .btn{ width:100%; }
  .sticky .btn{ width:auto; }
  .cta-block{ align-items:stretch; }
  .preco__specs li{ font-size:13px; }
}

/* =========================================================
   12.5 · ANCORAGEM (antes do pitch)
   ========================================================= */
.anc{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(13px,1.8vw,18px); }
.anc__c{ position:relative; overflow:hidden; padding:clamp(26px,3.2vw,34px);
  border:1px solid var(--line); border-radius:var(--r); background:var(--char-2); }
.anc__c--custo::after{ content:""; position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg,#6b3a26,var(--crack)); }
.anc__c--valor{ border-color:rgba(232,121,26,.42);
  background:linear-gradient(165deg,rgba(232,121,26,.1),var(--char-2) 58%); }
.anc__c--valor::after{ content:""; position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg,var(--ember-hot),var(--crack)); }
.anc__k{ display:block; font-size:11px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--smoke); margin-bottom:18px; }
.anc__c--valor .anc__k{ color:var(--ember); }

.anc__l{ list-style:none; display:grid; gap:13px; }
.anc__l li{ position:relative; padding-left:24px; font-family:var(--fh); font-weight:500;
  font-size:clamp(15px,1.85vw,17px); line-height:1.42; color:var(--ash); }
.anc__l li::before{ content:"?"; position:absolute; left:0; top:-1px;
  font-family:var(--fd); font-size:16px; color:var(--crack); }

.anc__big{ font-family:var(--fd); font-weight:400; font-size:clamp(56px,9vw,88px);
  line-height:.9; letter-spacing:.01em; background:var(--grad-txt);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.anc__big span{ display:block; margin-top:8px; font-family:var(--fb); font-weight:600;
  font-size:14px; letter-spacing:.02em; color:var(--ash-dim);
  -webkit-text-fill-color:var(--ash-dim); }
.anc__soma{ list-style:none; margin-top:20px; display:grid; gap:10px; }
.anc__soma li{ position:relative; padding-left:24px; font-size:14.5px; line-height:1.45; color:var(--ash); }
.anc__soma li::before{ content:"+"; position:absolute; left:0; top:-1px;
  font-family:var(--fd); font-size:15px; color:var(--ember); }
.anc__soma b{ color:var(--ember-hot); font-weight:700; }

.anc__f{ margin-top:18px; padding-top:15px; border-top:1px dashed var(--line);
  font-size:13.5px; line-height:1.5; color:var(--smoke); }

.anc__dia{ margin-top:clamp(18px,2.4vw,24px); padding:clamp(26px,3.4vw,38px);
  border:1px solid rgba(232,121,26,.3); border-radius:var(--r); text-align:center;
  background:radial-gradient(80% 120% at 50% 0%, rgba(232,121,26,.12), transparent 70%), var(--char-2); }
.anc__dia-t{ font-size:14.5px; color:var(--ash-dim); }
.anc__dia-n{ margin-top:10px; font-family:var(--fd); font-weight:400;
  font-size:clamp(30px,5.4vw,56px); line-height:1.04; color:#fff; letter-spacing:.01em; }
.anc__dia-n .tbd{ font-size:15px; }
.anc__dia-d{ margin-top:14px; font-size:14.5px; color:var(--smoke);
  max-width:56ch; margin-inline:auto; line-height:1.5; }

/* preço: parcelado em destaque, à vista logo abaixo */
.preco__val .sm b{ color:var(--ash); font-weight:700; }

@media (max-width:1000px){ .anc{ grid-template-columns:1fr; } }
.preco__val .de{ display:block; font-size:14px; color:var(--smoke); margin-bottom:6px; }
.preco__val .de s{ color:var(--ash-dim); text-decoration-color:var(--crack); }

/* =========================================================
   12.7 · BÔNUS (modelado na seção de bônus de pablomarcal.com.br/med)
   ========================================================= */
.selo{ display:inline-flex; align-items:center; font-family:var(--fd); font-weight:400;
  font-size:13px; letter-spacing:.24em; text-transform:uppercase; color:var(--ember-hot);
  border:1px solid rgba(245,166,35,.42); background:rgba(232,121,26,.09);
  border-radius:999px; padding:9px 22px; margin-bottom:18px; }

.bn-grupo{ display:flex; align-items:center; gap:14px; margin-block:clamp(26px,3.2vw,36px) 16px; }
.bn-grupo::after{ content:""; flex:1; height:1px; background:var(--line); }
.bn-grupo__k{ display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ash-dim); white-space:nowrap; }
.bn-grupo__k i{ width:8px; height:8px; border-radius:50%; background:var(--ember); flex:none; }
.bn-grupo--hoje .bn-grupo__k{ color:var(--ember-hot); }
.bn-grupo--hoje .bn-grupo__k i{ background:var(--crack);
  box-shadow:0 0 0 4px rgba(194,58,22,.2); animation:pulseHoje 2.2s ease-in-out 2s infinite; }
@keyframes pulseHoje{ 50%{ box-shadow:0 0 0 8px rgba(194,58,22,0); } }

.bonus{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,16px); }
.bn{ position:relative; overflow:hidden; padding:clamp(22px,2.6vw,28px);
  border:1px solid var(--line); border-radius:var(--r); background:var(--char-2);
  transition:border-color .3s var(--ease), transform .3s var(--ease); }
.bn:hover{ border-color:rgba(232,121,26,.45); transform:translateY(-3px); }
.bn__n{ display:block; font-family:var(--fd); font-size:12.5px; letter-spacing:.2em;
  color:var(--ember); margin-bottom:10px; }
.bn__t{ font-family:var(--fd); font-weight:400; font-size:clamp(19px,2.2vw,24px);
  line-height:1.06; color:#fff; letter-spacing:.01em; }
.bn__d{ margin-top:10px; font-size:14px; line-height:1.5; color:var(--ash-dim); }
.bn__v{ margin-top:14px; padding-top:13px; border-top:1px dashed var(--line);
  font-size:14.5px; color:var(--smoke); }
.bn__v s{ color:var(--ash-dim); text-decoration-color:var(--crack); }
.bn__v b{ font-family:var(--fd); font-weight:400; font-size:21px; letter-spacing:.02em;
  color:var(--ember-hot); margin-left:4px; }

/* card de soma: fecha o grupo com o total */
.bn--soma{ display:flex; flex-direction:column; justify-content:center;
  border-color:rgba(232,121,26,.42);
  background:linear-gradient(160deg,rgba(232,121,26,.12),var(--char-2) 60%); }
.bn--soma .bn__n{ color:var(--ash-dim); }
.bn--soma .bn__t{ font-size:clamp(18px,2vw,21px); line-height:1.16; }

/* bônus de hoje: escassez em vez de preço */
.bn--hoje{ border-color:rgba(194,58,22,.3); }
.bn--raro{ border-color:rgba(245,166,35,.5);
  background:linear-gradient(160deg,rgba(245,166,35,.11),var(--char-2) 58%); }
.bn__tag{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ember-hot); border:1px solid rgba(245,166,35,.4);
  border-radius:999px; padding:5px 12px; margin-bottom:13px; }
.bn--raro .bn__tag{ color:#fff; background:var(--crack); border-color:var(--crack); }
.bonus--hoje{ grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:1000px){ .bonus,.bonus--hoje{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .bonus,.bonus--hoje{ grid-template-columns:1fr; } }

/* cards de bônus com altura igual: o preço encosta no rodapé do card,
   então todos os "por R$ 0" ficam alinhados na mesma linha da grade */
.bn{ display:flex; flex-direction:column; }
.bn__d{ flex:1; }
.bn__v{ margin-top:auto; }
.bn__t + .bn__v{ margin-top:14px; }

/* =========================================================
   BÔNUS · capas visuais
   Sem arte pronta de cada bônus, a capa é montada em CSS+SVG:
   gradiente de brasa com ângulo próprio por card, glow radial e
   um ícone temático. Dá presença visual e diferencia um do outro
   sem depender de mockup que ainda não existe.
   ========================================================= */
.bn{ padding:0; overflow:hidden; }
.bn__capa{ position:relative; aspect-ratio:16/9; display:grid; place-items:center;
  overflow:hidden; border-bottom:1px solid var(--line); background:#140D08; }
.bn__glow{ position:absolute; width:150%; height:150%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(232,121,26,.4), transparent 70%);
  filter:blur(18px); transition:opacity .4s var(--ease); opacity:.85; }
.bn__ic{ position:relative; width:clamp(46px,5.4vw,62px); height:auto;
  fill:none; stroke:var(--ember-hot); stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 14px rgba(245,166,35,.5));
  transition:transform .45s var(--ease); }
.bn:hover .bn__ic{ transform:scale(1.09); }
.bn:hover .bn__glow{ opacity:1; }
/* textura sobre a capa, mesma linguagem do grão da página */
.bn__capa::after{ content:""; position:absolute; inset:0; opacity:.16; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* cada capa com seu ângulo e temperatura, pra não parecerem repetidas */
.bn__capa--a{ background:linear-gradient(135deg,#3a1c08,#140D08 62%); }
.bn__capa--b{ background:linear-gradient(200deg,#42210a,#130C07 60%); }
.bn__capa--c{ background:linear-gradient(115deg,#331a0b,#150E09 64%); }
.bn__capa--d{ background:linear-gradient(160deg,#3d1f0c,#120B06 62%); }
.bn__capa--e{ background:linear-gradient(225deg,#48250c,#150D07 58%); }
.bn__capa--f{ background:linear-gradient(140deg,#5a2410,#160D07 60%); }
.bn__capa--g{ background:linear-gradient(190deg,#523009,#150E08 62%); }
.bn__capa--h{ background:linear-gradient(120deg,#3a1e0c,#130C07 64%); }
.bn__capa--i{ background:linear-gradient(210deg,#4a2409,#140D08 60%); }
.bn__capa--j{ background:linear-gradient(145deg,#452a0b,#150E08 62%); }

/* conteúdo do card ganha respiro próprio agora que a capa ocupa o topo */
.bn > :not(.bn__capa){ padding-inline:clamp(20px,2.4vw,24px); }
.bn__n,.bn__tag{ margin-top:clamp(18px,2.2vw,22px); }
.bn__t{ margin-top:9px; }
.bn__d{ margin-top:10px; padding-bottom:4px; }
.bn__v{ margin-top:auto; margin-bottom:clamp(18px,2.2vw,22px); }
.bn__d:last-child{ margin-bottom:clamp(18px,2.2vw,22px); }
.bn__v b{ font-size:23px; }

/* card de soma continua sem capa: centraliza e ganha o mesmo padding */
.bn--soma{ justify-content:center; }
.bn--soma > *{ padding-inline:clamp(20px,2.4vw,24px); }
.bn--soma .bn__n{ margin-top:clamp(22px,2.6vw,28px); }
.bn--soma .bn__t{ margin-bottom:clamp(22px,2.6vw,28px); }

/* filho direto de flex-column estica na largura (align-items:stretch):
   sem isso o selo inline-block vira uma barra de ponta a ponta do card */
.bn__tag,.bn__n{ align-self:flex-start; }

/* =========================================================
   HERO MOBILE — CTA na primeira dobra é regra inegociável.
   Medido em 375x574, 360x550 e 390x726 (altura útil real, já
   descontada a barra do navegador). Cada bloco cede altura para
   o botão caber sem rolagem.
   ========================================================= */
@media (max-width:880px){
  .hero__media{ height:min(26vh, calc(100svh - 402px)); min-height:118px; }
  .hero__wrap{ margin-top:-22px; padding-bottom:24px; }
  .apresenta{ font-size:10px; letter-spacing:.26em; margin-bottom:8px; }
  .logo{ width:min(100%,172px); margin:0 auto 10px; }
  .hero__title{ font-size:clamp(17px,4.4vw,21px); line-height:1.3; }
  .hero__sub{ font-size:14px; line-height:1.45; margin-top:10px; }
  .hero__jornada{ font-size:12.5px; margin-top:8px; }
  .hero .btn{ margin-top:14px; padding:14px 16px; font-size:12.5px; gap:8px; }
  .hero .btn__price{ font-size:11.5px; padding:3px 10px; }
}

/* telas curtas (iPhone SE, Android 640): corta o que se repete adiante */
@media (max-width:880px) and (max-height:720px){
  .hero__media{ height:min(19vh, calc(100svh - 352px)); min-height:88px; }
  .hero__wrap{ margin-top:-18px; padding-bottom:18px; }
  .logo{ width:min(100%,148px); margin-bottom:8px; }
  .apresenta{ font-size:9.5px; margin-bottom:6px; }
  .hero__title{ font-size:clamp(16px,4.2vw,19px); line-height:1.28; }
  .hero__sub{ font-size:13px; margin-top:8px; }
  /* a jornada de 6 meses reaparece na faixa SPR e no card de oferta */
  .hero__jornada{ display:none; }
  .hero .btn{ margin-top:12px; padding:13px 14px; }
}

/* sobrou folga: devolve altura para a foto e reenquadra no rosto,
   em vez de cortar a cabeça pela metade em tela curta */
@media (max-width:880px){
  .hero__media{ height:min(28vh, calc(100svh - 372px)); min-height:150px; }
  .hero__media img{ object-position:center 20%; }
}
@media (max-width:880px) and (max-height:720px){
  .hero__media{ height:min(26vh, calc(100svh - 330px)); min-height:132px; }
  .hero__jornada{ display:block; font-size:12px; margin-top:7px; }
}


/* =========================================================
   ENXUGAMENTO MOBILE
   Consolidado da mesa de três lentes: copy/narrativa, conversão
   e densidade. Nenhum token de identidade muda: é só ritmo,
   densidade e correção de alvos de toque.
   ========================================================= */

/* ---------- 1 · VÃO ENTRE SEÇÕES ---------- */
@media (max-width:880px){
  .section{ padding-block:40px; }
  .section--surface{ padding-block:44px; }
  .fracture{ height:14px; background-size:160px 26px; }
  .fracture--strong{ height:18px; background-size:160px 34px; }

  .head-center{ margin-bottom:24px; }
  .eyebrow{ margin-bottom:11px; }
  .lead{ margin-top:13px; }

  .fim{ padding-block:44px; }
  .fim__list{ margin-top:22px; }
  .fim__ou{ margin-top:20px; }
  .fim__pull{ margin-top:26px; padding-block:18px; }
  .fim__p{ margin-top:20px; }
  .footer{ padding-block:26px; }
}

/* ---------- 2 · BÔNUS: capa 16:9 vira brasão 54px ---------- */
@media (max-width:880px){
  .bn{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    column-gap:14px;
    align-content:start;
    padding:16px 18px 18px;
  }
  .bn > :not(.bn__capa){ padding-inline:0; }

  .bn__capa{
    grid-column:1; grid-row:1 / span 2;
    width:54px; height:54px; aspect-ratio:auto;
    align-self:start;
    border:1px solid rgba(245,166,35,.26);
    border-radius:13px;
  }
  .bn__ic{ width:26px; }
  .bn__glow{ width:190%; height:190%; filter:blur(9px); opacity:.9; }
  .bn__capa::after{ opacity:.1; }

  /* justify-self:start é obrigatório: em grid o item estica na coluna
     e o selo vira uma barra de ponta a ponta (align-self:flex-start
     do CSS atual só resolve em flex) */
  .bn__n,.bn__tag{ grid-column:2; grid-row:1; margin:0 0 5px;
    align-self:end; justify-self:start; }
  .bn__tag{ padding:4px 10px; }
  .bn__t{ grid-column:2; grid-row:2; margin:0; align-self:start; }
  .bn__d{ grid-column:1/-1; grid-row:3; margin:11px 0 0; padding-bottom:0; }
  .bn__d:last-child{ margin-bottom:0; }
  .bn__v{ grid-column:1/-1; grid-row:4; margin:11px 0 0; padding-top:11px; }

  .bn--soma{ grid-template-columns:1fr; padding:20px 18px; }
  .bn--soma > *{ padding-inline:0; }
  .bn--soma .bn__n{ grid-column:1; grid-row:1; margin:0 0 6px; }
  .bn--soma .bn__t{ grid-column:1; grid-row:2; margin:0; }

  .bn-grupo{ margin-block:20px 12px; }
  .selo{ margin-bottom:13px; padding:7px 18px; }
}

/* ---------- 3 · GRIDS QUE VIRARAM COLUNA ÚNICA ---------- */
@media (max-width:640px){
  .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .stat{ padding:18px 12px; }
  .stat__n{ font-size:34px; }
  .stat__d{ margin-top:8px; font-size:13px; }

  .ciclos{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ciclo{ padding:16px 15px; }
  .ciclo--hi{ grid-column:span 2; }
  .ciclo__d{ margin-top:7px; font-size:13.5px; }
  .ciclo__tag{ margin-bottom:9px; }
}

/* vozes: fila com snap em vez de pilha de 3 blocos */
@media (max-width:880px){
  .vozes{ display:flex; gap:10px; margin-top:20px;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
    margin-inline:-20px; padding-inline:20px; }
  .vozes::-webkit-scrollbar{ display:none; }
  .voz{ flex:0 0 78%; scroll-snap-align:center; padding:18px 18px 18px 20px; }
}

/* ---------- 4 · CARDS DE CONTEÚDO: padding e respiros ---------- */
@media (max-width:880px){
  .entrega{ padding:19px 18px; }
  .entrega__d{ margin-top:9px; }
  .entregas{ gap:11px; }

  .tres__c{ padding:19px 18px; }
  .tres__d{ margin-top:9px; }

  .fase{ padding:20px 18px; }
  .fase__d{ margin-top:9px; }
  .fase__l{ margin-top:13px; gap:8px; }
  .fase__l--off{ margin-top:11px; padding-top:11px; }


  .pq{ padding:19px 18px; }
  .pq__l{ margin-top:13px; gap:9px; }

  .anc__c{ padding:20px 18px; }
  .anc__k{ margin-bottom:13px; }
  .anc__l{ gap:11px; }
  .anc__soma{ margin-top:14px; gap:8px; }
  .anc__f{ margin-top:13px; padding-top:11px; }
  .anc__dia{ margin-top:12px; padding:20px 18px; }
  .anc__dia-d{ margin-top:10px; }
  .anc__big{ font-size:48px; }

  .preco__in{ padding:22px 18px; }
  .preco__val{ margin-top:15px; }
  .preco__specs{ margin-top:16px; gap:8px; }
  .preco .btn{ margin-top:16px; }

  .faq__q{ padding:15px 18px; }
  .faq__a > div{ padding:0 18px 16px; }
  .faq{ gap:8px; }

  .regra{ margin-top:20px; padding:20px 18px; }
  .regra__d{ margin-top:9px; }

  .egito-list{ margin-top:20px; gap:9px; }
  .egito-item{ padding:13px 16px 13px 44px; }
  .egito-item span{ top:17px; left:17px; }

  .naoe{ margin-top:18px; gap:8px; }
  .naoe__i{ padding:12px 16px 12px 44px; }
  .naoe__i span{ top:11px; }

  .gatilhos{ margin-block:20px; gap:8px; }
  .gatilhos li{ padding:8px 15px; }

  .tripe{ margin-top:18px; gap:8px; }
  .tripe span{ padding:9px 16px; }


  .pull--center{ padding-block:16px; }
  .prosa p + p{ margin-top:12px; }
  .cta-block{ margin-top:22px; }
}
/* ---------- 5 · A BARRA FIXA COM HEADROOM ----------
   Ela agora entra logo depois do herói (antes só aparecia na
   oitava tela) e some enquanto a pessoa desce lendo. Com a
   transição em .35s ela "arrastava" por cima do texto ao
   esconder; em .22s o sumiço acompanha o dedo.               */
.sticky{ transition:transform .22s var(--ease); }
@media (prefers-reduced-motion:reduce){ .sticky{ transition:none; } }

/* ---------- 6 · PREÇO POR DIA DENTRO DO CARD ----------
   Antes era um bloco inteiro duas telas acima do preço. O
   argumento vale mais colado no número que ele justifica.     */
.preco__dia{ display:block; margin-top:11px; font-size:12.5px;
  color:var(--smoke); line-height:1.4; }
.preco__dia b{ color:var(--ember-hot); font-weight:700; }

/* ---------- 7 · ALVO DE TOQUE DO FECHAR ----------
   33px está abaixo do mínimo de 44px, e é o alvo mais crítico
   do funil: é onde o lead é capturado.                        */
.modal__x{ width:44px; height:44px; border-radius:12px; }

/* ---------- 8 · RODAPÉ LEGAL ----------
   Razão social, CNPJ, endereço e canais de contato. É exigência
   de transparência do anunciante e da plataforma de pagamento. */
/* nada de opacity aqui: ela compõe a cor com o fundo e o texto
   caía para 4.02:1 sobre #0b0705, abaixo do mínimo de 4.5:1.
   #9a8f87 dá 6.36:1 mantendo a discrição de rodapé legal. */
.footer__legal{ margin-top:16px; font-size:12px; line-height:1.7;
  color:#9a8f87; }
.footer__legal a{ color:#9a8f87; text-decoration:underline;
  text-underline-offset:2px; }
.footer__legal a:hover{ color:var(--ember); }
/* a classe nasceu como fila de links (flex com gap). Agora é uma
   frase corrida: em flex, cada link virava um item solto e até o
   ponto final ficava descolado da última palavra. */
.footer__links{ display:block; font-size:12.5px; margin-top:14px; }

/* ---------- 9 · CARROSSEL NÃO COMBINA COM REVEAL ----------
   Os depoimentos viraram fila horizontal. O IntersectionObserver
   mede interseção com a viewport inteira, então o card que está
   fora da área visível À DIREITA nunca recebe a classe .in e
   ficaria invisível para sempre: quem arrastasse o carrossel
   encontraria um cartão em branco. Dentro do carrossel o card
   entra já visível, e o próprio arrastar faz o papel do reveal. */
@media (max-width:880px){
  .vozes .rv{ opacity:1; transform:none; }
}

/* =========================================================
   CAPAS COM IMAGEM (bonus) — a imagem entra por cima do
   gradiente, que continua como fallback se ela nao carregar.
   ========================================================= */
.bn__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  display:block; transform:scale(1.01); transition:transform .6s var(--ease); }
.bn:hover .bn__img{ transform:scale(1.06); }
/* costura a imagem com o corpo do card e segura o contraste */
.bn__capa--img::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,6,4,.10) 0%, rgba(10,6,4,.28) 55%, rgba(19,12,7,.82) 100%),
             radial-gradient(120% 80% at 50% 30%, transparent 40%, rgba(10,6,4,.45) 100%); }
/* com imagem real, o icone sai de cena e o glow fica so como brasa de borda */
.bn__capa--img .bn__ic{ display:none; }
.bn__capa--img .bn__glow{ opacity:.28; mix-blend-mode:screen; }
.bn:hover .bn__capa--img .bn__glow{ opacity:.45; }
.bn__capa--img::after{ z-index:2; opacity:.12; }
@media (max-width:640px){
  .bn__capa--img::before{ background:linear-gradient(90deg, rgba(10,6,4,.05), rgba(19,12,7,.55)); }
}
