/* ============================================================
   20ADS — One Page
   Preto. Branco. Vermelho. Barlow Condensed + Manrope.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --black: #080808;
  --graphite: #141414;
  --graphite-2: #1c1c1c;
  --red: #F20A16;
  --signal: #FF2A20;
  --steel: #8C8C8C;
  --steel-dim: #5c5c5c;
  --white: #FFFFFF;
  --line: rgba(255,255,255,.1);
  --line-red: rgba(242,10,22,.35);

  --display: 'Barlow Condensed', sans-serif;
  --body: 'Manrope', sans-serif;

  --container: 1120px;
  --pad: clamp(24px, 6vw, 64px);
  --section-pad: clamp(72px, 12vw, 140px);
}

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

body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }

::selection{ background:var(--red); color:var(--white); }

body.nav-open{ overflow:hidden; }

a{ color:inherit; }

.container{
  max-width:var(--container);
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}

section{ position:relative; padding:var(--section-pad) 0; }

:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
}

/* ---------- Typography ---------- */

.eyebrow{
  font-family:var(--body);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
  display:inline-flex;
  align-items:center;
  gap:.5em;
}
.eyebrow::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 10px 2px var(--signal);
  flex:none;
}

h1,h2,h3,.display{
  font-family:var(--display);
  text-transform:uppercase;
  font-weight:900;
  line-height:.94;
  letter-spacing:.001em;
  margin:0;
}

h2{
  font-size:clamp(2.4rem, 5.6vw, 4.4rem);
}

h3{
  font-size:clamp(1.5rem, 3vw, 2.1rem);
}

.lede{
  font-family:var(--body);
  font-weight:500;
  font-size:clamp(1.05rem, 1.6vw, 1.3rem);
  line-height:1.5;
  color:#e7e7e7;
}

.muted{ color:var(--steel); }

.accent{ color:var(--red); }

.stack-lines{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(1.4rem, 3vw, 2rem);
  line-height:1.25;
}
.stack-lines span{ display:block; }

p{ margin:0 0 1em; }
p:last-child{ margin-bottom:0; }

.rule{
  width:56px;
  height:2px;
  background:var(--white);
  border:0;
  margin:1.4em 0;
}
.rule.red{ background:var(--red); }

/* ---------- Buttons ---------- */

.btn{
  --btn-fg: var(--black);
  --btn-bg: var(--white);
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.05rem;
  color:var(--btn-fg);
  background:var(--btn-bg);
  border:1px solid var(--btn-bg);
  padding:.95em 1.7em .8em;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  min-height:44px;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 30px -8px rgba(242,10,22,.55); }
.btn:active{ transform:translateY(0); }

.btn-primary{
  --btn-fg: var(--white);
  --btn-bg: var(--red);
  border-color:var(--red);
}
.btn-primary:hover{ box-shadow:0 12px 34px -8px rgba(242,10,22,.7); }

.btn-ghost{
  --btn-fg: var(--white);
  --btn-bg: transparent;
  border-color:rgba(255,255,255,.35);
}
.btn-ghost:hover{ border-color:var(--white); box-shadow:none; }

.btn::before,.btn::after{ content:'['; font-weight:700; opacity:.6; }
.btn::after{ content:']'; }

.btn-nav{
  --btn-fg: var(--white);
  --btn-bg: var(--red);
  border-color:var(--red);
  border-radius:12px;
  padding:.72em 1.3em .62em 1.5em;
  font-size:.92rem;
  letter-spacing:.03em;
  box-shadow:0 3px 20px -3px rgba(242,10,22,.6), 0 0 22px -4px rgba(255,42,32,.45);
}
.btn-nav::before,.btn-nav::after{ content:none; }
.btn-nav .arrow{ display:inline-block; transition:transform .2s ease; }
.btn-nav:hover{
  box-shadow:0 6px 28px -3px rgba(242,10,22,.85), 0 0 34px -2px rgba(255,42,32,.65);
}
.btn-nav:hover .arrow{ transform:translate(3px,-3px); }

.cta-row .btn-nav{
  font-size:1.05rem;
  padding:.9em 1.6em .78em 1.9em;
}

@media (max-width:860px){
  .btn-nav{ font-size:1.05rem; padding:.85em 1.5em .74em 1.7em; }
}

/* ---------- Signature top line ---------- */

.brand-signature{
  position:relative;
  width:100%;
  height:34px;
  pointer-events:none;
}
.brand-signature svg{ width:100%; height:100%; display:block; }
.brand-signature .glow-run{
  stroke-dasharray:160 900;
  stroke-dashoffset:0;
  animation:runline 6s linear infinite;
}
@keyframes runline{
  0%{ stroke-dashoffset:1060; }
  100%{ stroke-dashoffset:0; }
}
@media (prefers-reduced-motion: reduce){
  .brand-signature .glow-run{ animation:none; stroke-dasharray:none; }
}

/* ---------- Header ---------- */

.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  padding:12px var(--pad);
  background:linear-gradient(to bottom, rgba(8,8,8,.92), rgba(8,8,8,0));
  transition:background .3s ease, backdrop-filter .3s ease, padding .3s ease;
}
.site-header.is-scrolled{
  background:rgba(8,8,8,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  padding-top:10px;
  padding-bottom:10px;
}
.site-header .brand{ display:inline-flex; align-items:center; line-height:0; flex:none; }
.site-header .logo{ height:46px; width:auto; }

.nav-wrap{ display:flex; align-items:center; gap:2.4rem; }

.site-nav{ display:flex; align-items:center; gap:1.9rem; }
.site-nav a{
  font-family:var(--body);
  font-weight:600;
  font-size:.92rem;
  color:#c7c7c7;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease;
}
.site-nav a:hover, .site-nav a:focus-visible{ color:var(--white); }

.nav-toggle{
  display:none;
  position:relative;
  z-index:2;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:36px; height:36px;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  flex:none;
}
.nav-toggle span{
  display:block;
  width:22px; height:2px;
  background:var(--white);
  border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:860px){
  .site-header .brand{ order:1; }
  .nav-toggle{ display:flex; order:2; }
  .nav-wrap{
    order:3;
    position:fixed;
    z-index:1;
    top:0; left:0; right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:2rem;
    width:100%;
    padding:104px var(--pad) 40px;
    background:rgba(8,8,8,.98);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    transform:translateY(-100%);
    opacity:0;
    pointer-events:none;
    transition:transform .4s cubic-bezier(.22,.9,.24,1), opacity .3s ease;
  }
  .nav-wrap.is-open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .site-nav{ flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .site-nav a{
    font-family:var(--display);
    font-weight:700;
    text-transform:uppercase;
    font-size:1.5rem;
    color:var(--white);
  }
}

/* ---------- Hero ---------- */

.hero{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:calc(var(--section-pad) + 40px);
  padding-bottom:clamp(16px, 3vw, 32px);
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(60% 55% at 8% 12%, rgba(242,10,22,.22), transparent 60%),
    url('assets/img/glow-mesh.jpg') center 20%/cover no-repeat;
  opacity:.5;
  mask-image:linear-gradient(to bottom, black, transparent 92%);
  z-index:0;
}
.hero::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,8,.35) 0%, var(--black) 78%);
  z-index:0;
}
.hero .container{ position:relative; z-index:1; }

.hero h1{
  font-size:clamp(2.7rem, 8vw, 6.4rem);
  max-width:14ch;
}
.hero h1 .neg{ color:var(--red); }

.hero .lede{
  max-width:640px;
  margin-top:1.6rem;
}

.hero .thesis{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(1.3rem, 2.4vw, 1.7rem);
  line-height:1.2;
  margin-top:2rem;
  max-width:20ch;
}
.hero .thesis .accent{ text-shadow:0 0 24px rgba(242,10,22,.5); }

.hero .cta-row{ margin-top:2.4rem; }

/* ---------- Section frame helpers ---------- */

.section-black{ background:var(--black); }
.section-graphite{ background:var(--graphite); }
.section-red{
  background:var(--red);
  color:var(--white);
}

#logica{
  background:linear-gradient(100deg, #24040a 0%, #a80d12 28%, #F20A16 58%, #ff4638 100%);
}
.section-red .eyebrow{ color:var(--black); }
.section-red .eyebrow::before{ background:var(--black); box-shadow:none; }
.section-red .muted{ color:rgba(255,255,255,.75); }
.section-red .rule{ background:var(--black); }

.kicker{
  display:block;
  margin-bottom:1.1rem;
}

.section-head{ max-width:760px; }
.section-head h2{ margin-top:.5rem; }

/* ---------- Section 2: Provocação ---------- */

.provoke-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(32px, 6vw, 80px);
  align-items:start;
  margin-top:3rem;
}
@media (max-width:860px){ .provoke-grid{ grid-template-columns:1fr; } }

.line-list{ list-style:none; margin:0; padding:0; }
.line-list li{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(1.3rem, 2.6vw, 1.9rem);
  padding:.5em 0;
  border-bottom:1px solid var(--line);
  color:var(--steel);
}
.line-list li:last-child{ border-bottom:0; color:var(--white); }
.line-list li strong{ color:var(--white); font-weight:900; }

.line-checklist{ list-style:none; margin:0; padding:0; }
.line-checklist li{
  display:flex;
  align-items:center;
  gap:.9rem;
  font-family:var(--body);
  font-weight:400;
  text-transform:none;
  font-size:.95rem;
  padding:.65em 0;
  border-bottom:1px solid var(--line);
  color:var(--steel);
}
.line-checklist li:last-child{ border-bottom:0; color:var(--white); }
.line-checklist li strong{ color:var(--white); font-weight:600; }
.line-checklist .box{
  flex:none;
  width:34px; height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1.5px solid currentColor;
  opacity:.85;
}
.line-checklist .box svg{ width:18px; height:18px; }

.closing-statement{
  margin-top:2.4rem;
  font-family:var(--display);
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(1.6rem, 3.2vw, 2.3rem);
  line-height:1.1;
}
.closing-statement .accent{ display:block; }

/* ---------- Section 3: A conta / bars ---------- */

.budget-compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px, 4vw, 56px);
  margin-top:3rem;
}
@media (max-width:760px){ .budget-compare{ grid-template-columns:1fr; } }

.compare-card{
  background:var(--graphite);
  border:1px solid var(--line);
  border-top:3px solid var(--steel-dim);
  padding:clamp(16px,2.4vw,24px);
  position:relative;
}
.compare-card h3{
  margin-bottom:1rem;
  font-size:clamp(1.05rem, 1.8vw, 1.3rem);
}
.compare-card.is-negative h3{ color:var(--steel); }
.compare-card.is-positive{
  border-top:3px solid var(--red);
  border-color:var(--line-red);
  background:linear-gradient(160deg, rgba(242,10,22,.16), rgba(20,20,20,1) 58%);
  box-shadow:0 0 0 1px rgba(242,10,22,.2), 0 40px 80px -36px rgba(242,10,22,.55), 0 0 70px -24px rgba(255,42,32,.4);
}

.stat-row{ padding:.25rem 0; }
.stat-num{
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(1.4rem, 3.2vw, 1.9rem);
  line-height:1;
  color:var(--white);
}
.stat-num.accent{ color:var(--red); text-shadow:0 0 20px rgba(242,10,22,.5); }
.stat-cap{
  margin-top:.3rem;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.45em;
  font-family:var(--body);
  font-weight:600;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--steel);
}
.compare-card.is-positive .stat-cap{ color:#e2e2e2; }
.stat-cap .dash{ opacity:.55; }
.stat-cap strong{
  text-transform:none;
  letter-spacing:0;
  font-weight:700;
  color:var(--white);
}
.stat-cap small{
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
  opacity:.65;
}

.stat-rule{ border:0; border-top:1px solid var(--line); margin:.8rem 0; }
.stat-rule.red{ border-top-color:var(--line-red); }

.compare-verdict{
  margin-top:1.3rem;
  font-family:var(--body);
  font-weight:500;
  text-transform:none;
  font-size:clamp(.92rem, 1.5vw, 1rem);
  line-height:1.65;
  color:#c9c9c9;
}
.compare-verdict .accent{ font-weight:700; color:var(--red); }

/* ---------- Method / split principle ---------- */

#metodo{ overflow:hidden; }
#metodo::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(55% 60% at 88% 12%, rgba(242,10,22,.24), transparent 62%),
    url('assets/img/glow-blade.jpg') center 30%/cover no-repeat;
  opacity:.4;
  mask-image:linear-gradient(115deg, transparent 4%, black 34%, black 78%, transparent 100%);
  z-index:0;
}
#metodo::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,8,.25) 0%, var(--black) 88%);
  z-index:0;
}
#metodo .container{ position:relative; z-index:1; }

.method-copy{
  max-width:640px;
  margin-top:1.8rem;
}

.principle-grid{
  margin-top:2.8rem;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(14px,2.4vw,22px);
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
@media (max-width:760px){ .principle-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

.principle-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.9rem;
  padding:clamp(20px,3vw,28px) 12px;
  background:linear-gradient(160deg, rgba(242,10,22,.1), rgba(20,20,20,.9) 60%);
  border:1px solid var(--line-red);
  box-shadow:0 0 0 1px rgba(242,10,22,.12), 0 22px 44px -26px rgba(242,10,22,.6), 0 0 34px -14px rgba(255,42,32,.4);
  transition:transform .25s ease, box-shadow .25s ease;
}
.principle-box:hover{
  transform:translateY(-4px);
  box-shadow:0 0 0 1px rgba(242,10,22,.25), 0 26px 50px -24px rgba(242,10,22,.75), 0 0 40px -10px rgba(255,42,32,.55);
}
.principle-box .picon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px; height:48px;
  border:1.5px solid var(--red);
  color:var(--red);
  border-radius:50%;
  box-shadow:0 0 22px -4px rgba(242,10,22,.6);
}
.principle-box .picon svg{ width:24px; height:24px; }
.principle-box .plabel{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(1rem,1.8vw,1.2rem);
  color:var(--white);
}

.metodo-strong{
  margin-top:1.1rem;
  font-family:var(--display);
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(1.6rem, 3.6vw, 2.5rem);
  line-height:1.15;
  color:var(--white);
}
.metodo-soft{
  margin-top:.9rem;
  font-family:var(--body);
  font-weight:500;
  font-size:clamp(1.05rem, 1.6vw, 1.3rem);
  line-height:1.5;
  max-width:640px;
}
.metodo-soft .muted{ color:var(--steel); }
.metodo-soft .accent{ color:var(--red); }

/* ---------- Funnel horizontal (Seção 5) ---------- */

.funnel-h{
  margin-top:4rem;
  position:relative;
}

.funnel-h-track{
  position:absolute;
  left:0; right:0;
  top:7px;
  height:2px;
  overflow:hidden;
}
.funnel-h-line{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.14);
}
.funnel-h-glow{
  position:absolute;
  top:0; left:-18%;
  width:18%; height:100%;
  background:linear-gradient(90deg, transparent, var(--signal), transparent);
  filter:drop-shadow(0 0 6px var(--signal));
  animation:hrun 3.4s linear infinite;
}
@keyframes hrun{
  0%{ left:-18%; }
  100%{ left:100%; }
}
@media (prefers-reduced-motion: reduce){
  .funnel-h-glow{ animation:none; left:100%; }
}

.funnel-h-points{
  display:flex;
  justify-content:space-between;
  position:relative;
  z-index:1;
}
.fh-point{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.8rem;
}
.fh-dot{
  width:14px; height:14px;
  border-radius:50%;
  background:var(--graphite);
  border:2px solid var(--steel-dim);
}
.fh-label{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(.72rem, 1.7vw, 1.05rem);
  color:var(--steel);
  text-align:center;
  white-space:nowrap;
}
.fh-point.is-last .fh-dot{
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 0 16px 3px rgba(242,10,22,.7);
}
.fh-point.is-last .fh-label{ color:var(--red); }

@media (max-width:640px){
  .fh-label{ font-size:.62rem; letter-spacing:-.01em; }
  .fh-dot{ width:11px; height:11px; }
  .funnel-h-track{ top:5.5px; }
}

/* ---------- Frequência ---------- */

.repeat-visual{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:2.6rem 0;
}
.repeat-visual span{
  font-family:var(--display);
  font-weight:900;
  text-transform:uppercase;
  font-size:1rem;
  padding:.5em .9em;
  border:1px solid var(--line);
  color:var(--steel-dim);
}
.repeat-visual span.hot{
  color:var(--white);
  border-color:var(--line-red);
  background:rgba(242,10,22,.12);
}
.repeat-visual span.hottest{
  color:var(--white);
  border-color:var(--red);
  background:var(--red);
  box-shadow:0 0 20px rgba(242,10,22,.5);
}

/* ---------- Entregamos: ADS / Conteúdo ---------- */

#entregamos{ position:relative; overflow:hidden; }
#entregamos::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(50% 55% at 12% 88%, rgba(242,10,22,.2), transparent 62%),
    url('assets/img/glow-dune.jpg') center 65%/cover no-repeat;
  opacity:.32;
  mask-image:linear-gradient(200deg, transparent 6%, black 40%, black 82%, transparent 102%);
  z-index:0;
}
#entregamos::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,8,.3) 0%, var(--graphite) 90%);
  z-index:0;
}
#entregamos .container{ position:relative; z-index:1; }

.offer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(20px,4vw,40px);
  margin-top:3rem;
}
@media (max-width:760px){ .offer-grid{ grid-template-columns:1fr; } }

.offer-card{
  padding:clamp(28px,4vw,44px);
  background:linear-gradient(160deg, rgba(242,10,22,.14), rgba(20,20,20,.96) 58%);
  border:1px solid var(--line-red);
  box-shadow:0 0 0 1px rgba(242,10,22,.18), 0 34px 70px -32px rgba(242,10,22,.5), 0 0 56px -22px rgba(255,42,32,.35);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.offer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 0 0 1px rgba(242,10,22,.3), 0 38px 76px -30px rgba(242,10,22,.65), 0 0 64px -16px rgba(255,42,32,.5);
}
.offer-card .num{
  font-family:var(--display);
  font-weight:900;
  font-size:.85rem;
  letter-spacing:.2em;
  color:var(--steel-dim);
}
.offer-card h3{ margin:.6rem 0 1rem; font-size:clamp(2rem,4vw,2.6rem); }
.offer-card.is-ads{ border-top:3px solid var(--red); }
.offer-card.is-content{ border-top:3px solid var(--red); }
.offer-card p{ color:#d8d8d8; }
.offer-card .tag-row{ margin-top:1.4rem; display:flex; flex-wrap:wrap; gap:.5rem; }
.offer-card .tag{
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:.35em .7em;
  border:1px solid var(--line);
  color:var(--steel);
}

/* ---------- A lógica (pull statement, red section) ---------- */

.pull-statement{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}
.pull-statement h2{
  font-size:clamp(2.2rem, 6vw, 4.2rem);
  line-height:1.05;
}
.pull-statement h2 .divider-word{
  display:block;
  color:var(--black);
  -webkit-text-stroke:0;
}
.section-red .pull-statement h2{ color:var(--black); }
.section-red .pull-statement .em{ color:var(--white); }

/* ---------- Não contratamos ---------- */

.exclude-list{
  list-style:none;
  margin:2.6rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem 2rem;
}
@media (max-width:640px){ .exclude-list{ grid-template-columns:1fr; } }
.exclude-list li{
  font-family:var(--body);
  font-weight:600;
  color:var(--steel);
  text-decoration:line-through;
  text-decoration-color:var(--red);
  text-decoration-thickness:2px;
  padding-bottom:.6rem;
  border-bottom:1px solid var(--line);
}

.because-block{
  margin-top:2.6rem;
  padding-top:2rem;
  border-top:1px solid var(--line);
  max-width:640px;
}

/* ---------- Contraste (stat strip) ---------- */

.stat-strip{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(20px,4vw,44px) clamp(32px,5vw,64px);
  margin:3rem 0 3rem;
}
.stat-tile{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  flex:1 1 150px;
  padding-bottom:1.1rem;
  border-bottom:1px solid var(--line);
}
.stat-tile .num{
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(2rem,4.4vw,2.8rem);
  color:var(--white);
  line-height:1;
  white-space:nowrap;
}
.stat-tile .num .accent{ color:var(--red); }
.stat-tile .cap{
  font-family:var(--body);
  font-weight:600;
  font-size:1rem;
  color:var(--white);
  white-space:nowrap;
}

.closing-block{
  margin-top:3.5rem;
  text-align:center;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.closing-eyebrow{
  display:block;
  font-family:var(--body);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.85rem;
  color:var(--steel);
}
.closing-statement-lg{
  margin-top:1.1rem;
  font-family:var(--display);
  font-weight:900;
  text-transform:uppercase;
  line-height:1.12;
  font-size:clamp(1.8rem, 4.4vw, 3rem);
  color:var(--white);
}
.closing-statement-lg .accent{ color:var(--red); }

/* ---------- Posicionamento ---------- */

#posicionamento{ position:relative; overflow:hidden; }
#posicionamento::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(60% 60% at 85% 15%, rgba(242,10,22,.18), transparent 62%),
    url('assets/img/glow-grid.jpg') center 30%/cover no-repeat;
  opacity:.28;
  mask-image:linear-gradient(100deg, transparent 2%, black 38%, black 80%, transparent 104%);
  z-index:0;
}
#posicionamento::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,8,.3) 0%, var(--black) 88%);
  z-index:0;
}
#posicionamento .container{ position:relative; z-index:1; }

.fit-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
}
@media (max-width:760px){ .fit-grid{ grid-template-columns:1fr; } }

.fit-list{ list-style:none; margin:0; padding:0; }
.fit-list li{
  display:flex;
  align-items:baseline;
  gap:.7em;
  padding:.85em 0;
  border-bottom:1px solid var(--line);
  color:#dcdcdc;
  font-size:1.05rem;
}
.fit-list li:last-child{ border-bottom:0; }
.fit-list li strong{ color:var(--white); font-weight:700; }
.fit-list .check{
  color:var(--red);
  font-weight:700;
  flex:none;
}

/* ---------- Planos / slider ---------- */

.plan-tool{
  margin-top:3.2rem;
  background:var(--graphite);
  border:1px solid var(--line);
  padding:clamp(28px,5vw,52px);
}
.plan-amount{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
  margin-bottom:1.6rem;
}
.plan-amount .value{
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(3rem,8vw,5.2rem);
  line-height:1;
}
.plan-amount .value small{
  font-size:.35em;
  font-weight:700;
  color:var(--steel);
  margin-right:.15em;
}
.plan-amount .value .accent{ color:var(--red); }

.plan-slider{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:6px;
  background:linear-gradient(to right, var(--red) 0%, var(--red) var(--fill,0%), rgba(255,255,255,.12) var(--fill,0%));
  outline:none;
  margin:1.4rem 0 .6rem;
}
.plan-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:26px; height:26px;
  border-radius:50%;
  background:var(--white);
  border:4px solid var(--red);
  cursor:pointer;
  box-shadow:0 0 0 6px rgba(242,10,22,.15);
}
.plan-slider::-moz-range-thumb{
  width:26px; height:26px;
  border-radius:50%;
  background:var(--white);
  border:4px solid var(--red);
  cursor:pointer;
}
.plan-ticks{
  display:flex;
  justify-content:space-between;
  font-size:.78rem;
  color:var(--steel-dim);
  font-weight:700;
  gap:.4rem;
}
.plan-ticks span{ flex:1; text-align:center; white-space:nowrap; }
.plan-ticks span:first-child{ text-align:left; }
.plan-ticks span:last-child{ text-align:right; }
.plan-ticks span.is-active{ color:var(--white); }

@media (max-width:520px){
  .plan-ticks{ font-size:.62rem; }
}

.plan-split{
  display:flex;
  height:64px;
  margin-top:2.2rem;
  border:1px solid var(--line);
  overflow:hidden;
}
.plan-split .seg{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  transition:width .5s cubic-bezier(.22,.9,.24,1);
  overflow:hidden;
  white-space:nowrap;
}
.plan-split .seg.op{ background:var(--graphite-2); color:var(--steel); width:20%; }
.plan-split .seg.ex{ background:var(--red); color:var(--white); width:80%; }
.plan-split .seg b{ font-size:1.2rem; }
.plan-split .seg small{ font-size:.68rem; letter-spacing:.08em; font-weight:600; }

@media (max-width:520px){
  .plan-split{ height:80px; }
  .plan-split .seg{ padding:0 4px; }
  .plan-split .seg b{ font-size:.85rem; }
  .plan-split .seg small{ font-size:.52rem; letter-spacing:.02em; }
}

@media (max-width:400px){
  .plan-split{ flex-direction:column; height:auto; }
  .plan-split .seg.op, .plan-split .seg.ex{ width:100% !important; padding:.9rem; }
}

.plan-foot{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1.6rem;
  font-size:.85rem;
  color:var(--steel);
}

.plan-note{
  margin-top:2.4rem;
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(1.2rem,2.4vw,1.6rem);
}

.plan-cta{ margin-top:2.4rem; }
.plan-cta .btn::before, .plan-cta .btn::after{ content:none; }

/* ---------- Processo ---------- */

.process-list{
  margin-top:3rem;
  display:grid;
  gap:0;
}
.process-item{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:clamp(16px,3vw,32px);
  padding:1.8rem 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.process-item:last-child{ border-bottom:0; }
.process-item .pnum{
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(2rem,4vw,2.8rem);
  color:var(--red);
  line-height:1;
}
.process-item h3{ font-size:clamp(1.3rem,2.4vw,1.7rem); margin-bottom:.35rem; }
.process-item p{ color:var(--steel); max-width:52ch; }

/* ---------- Autoidentificação ---------- */

#autoidentificacao{
  background:linear-gradient(100deg, #24040a 0%, #a80d12 28%, #F20A16 58%, #ff4638 100%);
}

.identify-note{
  max-width:none;
}
@media (min-width:640px){
  .identify-note{ white-space:nowrap; }
}

.check-list{
  list-style:none;
  margin:3rem 0 0;
  padding:0;
  max-width:760px;
}
.check-list li{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1rem 0;
  border-bottom:1px solid rgba(0,0,0,.18);
  font-weight:600;
  font-size:1.05rem;
}
.section-red .check-list li{ border-bottom-color:rgba(0,0,0,.2); }
.check-list li:last-child{ border-bottom:0; }
.check-list .box{
  flex:none;
  width:22px; height:22px;
  border:2px solid var(--black);
  margin-top:.15em;
  display:flex;
  align-items:center;
  justify-content:center;
}
.check-list .box::after{
  content:'✓';
  font-size:14px;
  font-weight:800;
  line-height:1;
  color:var(--black);
}
.section-black .check-list .box{ border-color:var(--red); }
.section-black .check-list .box::after{ color:var(--red); }

/* ---------- Google / concorrentes ---------- */

.reveal-steps{
  list-style:none;
  margin:2.2rem 0 0;
  padding:0;
  max-width:620px;
}
.reveal-steps li{
  position:relative;
  display:flex;
  align-items:center;
  gap:1.2rem;
  padding:1.1rem 0 1.1rem 2.8rem;
  border-left:2px solid var(--line);
}
.reveal-steps li:last-child{ border-left-color:var(--red); }
.reveal-steps .rs-icon{
  position:absolute;
  left:-20px; top:50%;
  transform:translateY(-50%);
  width:40px; height:40px;
  border-radius:50%;
  background:var(--graphite);
  border:2px solid var(--steel-dim);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--steel-dim);
  flex:none;
}
.reveal-steps .rs-icon svg{ width:19px; height:19px; }
.reveal-steps .rs-text{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(1rem,2vw,1.3rem);
  color:var(--steel-dim);
}
.reveal-steps li:nth-child(2) .rs-icon{ border-color:var(--steel); color:var(--steel); }
.reveal-steps li:nth-child(2) .rs-text{ color:var(--steel); }
.reveal-steps li:nth-child(3) .rs-icon{ border-color:#c9c9c9; color:#c9c9c9; }
.reveal-steps li:nth-child(3) .rs-text{ color:#c9c9c9; }
.reveal-steps li:last-child .rs-icon{
  border-color:var(--red);
  background:var(--red);
  color:var(--white);
  box-shadow:0 0 20px 3px rgba(242,10,22,.6);
}
.reveal-steps li:last-child .rs-text{ color:var(--white); font-weight:900; }

.recognition-line{
  margin-top:2.4rem;
  font-family:var(--display);
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(1.5rem,3vw,2.1rem);
}

/* ---------- CTA final ---------- */

.cta-final{
  background:var(--black);
  position:relative;
  overflow:hidden;
  padding:calc(var(--section-pad) + 20px) 0;
}
.cta-final::before{
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(65% 65% at 82% 18%, rgba(242,10,22,.35), transparent 60%),
    url('assets/img/glow-eclipse.jpg') center/cover no-repeat;
  opacity:.55;
  z-index:0;
}
.cta-final::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,8,8,.55), var(--black) 75%);
  z-index:0;
}
.cta-final .container{ position:relative; z-index:1; text-align:center; }
.cta-final .eyebrow{ justify-content:center; }
.cta-final h2{
  margin-top:1.2rem;
  font-size:clamp(2.4rem,7vw,5rem);
}
.cta-final .lede{ max-width:640px; margin:1.6rem auto 0; }
.cta-final .final-line{
  margin-top:1.8rem;
  font-family:var(--display);
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(1.3rem,2.6vw,1.8rem);
}
.contact-form{
  margin:2.6rem auto 0;
  max-width:640px;
  text-align:left;
  background:rgba(20,20,20,.55);
  border:1px solid var(--line-red);
  backdrop-filter:blur(6px);
  padding:clamp(24px,4vw,36px);
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.form-row + .form-row{ margin-top:1.2rem; }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }

.form-field{ display:flex; flex-direction:column; gap:.4rem; }
.form-field label{
  font-family:var(--body);
  font-weight:700;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--steel);
}
.form-field input{
  font-family:var(--body);
  font-size:1rem;
  color:var(--white);
  background:transparent;
  border:0;
  border-bottom:1.5px solid rgba(255,255,255,.25);
  padding:.5em .1em;
  min-height:44px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.form-field input::placeholder{ color:var(--steel-dim); }
.form-field input:focus{
  outline:none;
  border-bottom-color:var(--red);
  box-shadow:0 6px 14px -10px rgba(242,10,22,.8);
}

.contact-form .btn{
  margin-top:1.8rem;
  width:100%;
  justify-content:center;
}
.contact-form .btn:disabled{ opacity:.6; cursor:not-allowed; transform:none; }

.hp-field{ position:absolute; left:-9999px; }

.form-status{
  margin-top:1rem;
  margin-bottom:0;
  font-size:.9rem;
  min-height:1.2em;
  color:var(--steel);
}
.form-status.is-success{ color:#6fd88a; }
.form-status.is-error{ color:var(--signal); }

/* ---------- FAQ ---------- */

.faq-list{ margin-top:2.6rem; }
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-item:first-child{ border-top:1px solid var(--line); }
.faq-q{
  width:100%;
  background:none;
  border:0;
  color:var(--white);
  text-align:left;
  padding:1.4rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  font-size:clamp(1.05rem,2vw,1.3rem);
}
.faq-q .plus{
  flex:none;
  font-family:var(--body);
  font-weight:300;
  font-size:1.6rem;
  color:var(--red);
  transition:transform .25s ease;
  line-height:1;
}
.faq-item.is-open .faq-q .plus{ transform:rotate(45deg); }
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.faq-a p{
  padding:0 0 1.5rem;
  color:#c9c9c9;
  max-width:70ch;
}

/* ---------- Footer ---------- */

.site-footer{
  padding:52px var(--pad) 36px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.8rem;
}
.footer-top{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:1.5rem;
}
.footer-brand{ justify-self:center; line-height:0; }
.site-footer .logo{ height:58px; width:auto; }

.footer-social{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--steel);
  text-decoration:none;
  font-size:.88rem;
  font-weight:600;
  transition:color .2s ease;
}
.footer-social svg{ width:22px; height:22px; flex:none; }
.footer-social:hover{ color:var(--white); }

.footer-email{
  justify-self:end;
  color:var(--steel);
  text-decoration:none;
  font-size:.88rem;
  font-weight:600;
  transition:color .2s ease;
}
.footer-email:hover{ color:var(--white); }

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.5rem 1.4rem;
}
.site-footer .f-meta{
  font-size:.78rem;
  color:var(--steel-dim);
}
.f-legal{
  font-size:.78rem;
  color:var(--steel-dim);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .2s ease;
}
.f-legal:hover{ color:var(--white); }

@media (max-width:640px){
  .footer-top{ grid-template-columns:1fr; justify-items:center; text-align:center; gap:1.4rem; }
  .footer-social, .footer-email{ justify-self:center; }
  .footer-brand{ order:-1; }
}

/* ---------- Reveal on scroll ---------- */

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- Plus marks decoration ---------- */

.plus-marks{
  position:absolute;
  top:96px;
  right:var(--pad);
  display:flex;
  gap:.5rem;
  color:var(--red);
  font-family:var(--display);
  font-weight:700;
  opacity:.7;
  z-index:1;
}

/* ---------- Responsive nudges ---------- */
