.elementor-67 .elementor-element.elementor-element-e316663{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-5588910 *//* ============================================================
   DESIGN TOKENS — Lemon (branco · verde · preto)
   ============================================================ */
:root{
  --ink:        #0A0F0B;   /* base preto-esverdeado */
  --ink-2:      #10160F;   /* painel elevado no escuro */
  --ink-3:      #161D14;   /* card no escuro */
  --paper:      #F5F4EC;   /* off-white quente */
  --paper-2:    #ECEADD;   /* paper levemente mais fundo (cards) */
  --lemon:      #ADE84A;   /* verde assinatura */
  --lemon-bri:  #C6F86A;   /* hover / brilho */
  --forest:     #16291D;   /* verde profundo (texto no claro) */
  --sage:       #4F6B59;   /* verde acinzentado p/ legendas legíveis */
  --sage-dim:   #6E8C77;   /* micro-labels decorativos */
  --cream-dim:  #B7BBAF;   /* texto suave no escuro */
  --line-d:     rgba(255,255,255,.13);
  --line-l:     rgba(20,40,28,.14);

  --display: 'Fraunces', Georgia, serif;
  --body:    'Hanken Grotesk', system-ui, sans-serif;
  --mono:    'JetBrains Mono', ui-monospace, monospace;

  --maxw: 1200px;
  --pad: clamp(20px, 5vw, 72px);
  --r: 16px;
  --bar-h: 40px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--forest);
  line-height:1.55;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--lemon); color:var(--ink); }

/* ----- tipografia base ----- */
h1,h2,h3{ font-family:var(--display); font-weight:600; line-height:1.04; letter-spacing:-.02em; }
.eyebrow{
  font-family:var(--mono);
  font-size:12px; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--sage);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{
  content:""; width:22px; height:1px; background:var(--lemon); display:inline-block;
}
.eyebrow.on-dark{ color:var(--lemon); }
.eyebrow.on-dark::before{ background:var(--lemon); }

.lemon-word{ color:var(--lemon); }
.forest-em{ font-style:italic; }

/* ----- layout helpers ----- */
.wrap{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
section{ position:relative; }
.sec-pad{ padding-top:clamp(72px,11vw,140px); padding-bottom:clamp(72px,11vw,140px); }
.dark{ background:var(--ink); color:var(--paper); }
.dark h1,.dark h2,.dark h3{ color:var(--paper); }
.hairline{ height:1px; background:var(--line-l); border:0; }
.dark .hairline{ background:var(--line-d); }

/* ============================================================
   ANNOUNCE BAR — faixa de exclusividade no topo
   ============================================================ */
.announce{
  position:fixed; top:0; left:0; right:0; z-index:95;
  background:var(--ink-2); border-bottom:1px solid rgba(173,232,74,.32);
  display:flex; align-items:center; justify-content:center; gap:12px;
  padding:11px 16px; text-align:center;
}
.announce .adot{ width:7px; height:7px; border-radius:50%; background:var(--lemon);
  box-shadow:0 0 11px rgba(173,232,74,.95); flex:none; animation:pulse 2.6s ease-in-out infinite; }
.announce p{ font-family:var(--mono); font-size:12.5px; letter-spacing:.04em; color:var(--cream-dim); line-height:1.35; }
.announce .hl{ color:var(--lemon); font-weight:500; }
@media (max-width:680px){
  .announce{ padding:9px 14px; gap:9px; }
  .announce p{ font-size:11px; letter-spacing:.01em; }
}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed; top:var(--bar-h); left:0; right:0; z-index:90;
  background:rgba(10,15,11,.0);
  transition:background .4s ease, border-color .4s ease, padding .4s ease;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(10,15,11,.86);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-d);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:74px;
}
.brand{ display:flex; align-items:center; gap:11px; color:var(--paper); }
.brand .mark{ width:34px; height:34px; flex:none; }
.brand .name{ font-family:var(--display); font-weight:600; font-size:21px; letter-spacing:-.01em; line-height:1; }
.brand .name small{ display:block; font-family:var(--mono); font-size:9px; letter-spacing:.2em; color:var(--lemon); margin-top:3px; font-weight:500; }

/* logo em imagem (cabeçalho, menu mobile e rodapé) */
.brand-logo{ height:56px !important; width:auto; display:block; }
.brand-logo-foot{ height:48px; }

.nav-links{ display:flex; align-items:center; gap:34px; }
.nav-links a{
  font-size:14.5px; color:var(--cream-dim); font-weight:500;
  transition:color .2s; position:relative;
}
.nav-links a:hover{ color:var(--paper); }
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:-6px; height:1px; width:0; background:var(--lemon); transition:width .25s;
}
.nav-links a:hover::after{ width:100%; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--body); font-weight:600; font-size:15px;
  padding:13px 24px; border-radius:100px; border:1px solid transparent;
  cursor:pointer; transition:transform .18s ease, background .25s, color .25s, border-color .25s, box-shadow .25s;
  white-space:nowrap; line-height:1;
}
.btn-primary{ background:var(--lemon); color:var(--ink); box-shadow:0 0 0 rgba(173,232,74,0); }
.btn-primary:hover{ background:var(--lemon-bri); transform:translateY(-2px); box-shadow:0 14px 34px -12px rgba(173,232,74,.6); }
.btn-ghost{ border-color:var(--line-d); color:var(--paper); background:transparent; }
.btn-ghost:hover{ border-color:var(--lemon); color:var(--lemon); transform:translateY(-2px); }
.btn-ghost-dark{ border-color:var(--line-l); color:var(--forest); background:transparent; }
.btn-ghost-dark:hover{ border-color:var(--forest); transform:translateY(-2px); }
.btn .arrow{ transition:transform .2s; }
.btn:hover .arrow{ transform:translate(3px,-3px); }

.nav-cta{ display:flex; align-items:center; gap:14px; }
.menu-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; color:var(--paper); }
.menu-toggle svg{ width:26px; height:26px; }

/* ============================================================
   HERO
   ============================================================ */
.hero{ background:var(--ink); color:var(--paper); position:relative; overflow:hidden; padding-top:calc(120px + var(--bar-h)); }
.hero .wrap{ position:relative; z-index:2; }
.hero-grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center;
  padding-top:clamp(28px,4vw,56px); padding-bottom:clamp(60px,8vw,110px);
}
.hero-kicker{ margin-bottom:26px; }
.hero h1{
  font-size:clamp(40px,6.4vw,82px);
  letter-spacing:-.035em;
  margin-bottom:26px;
}
.hero h1 .l2{ color:var(--lemon); display:block; }
.hero p.lead{
  font-size:clamp(17px,1.9vw,21px); color:var(--cream-dim); max-width:38ch; line-height:1.5; margin-bottom:36px;
}
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.hero-micro{
  font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; color:var(--lemon);
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.hero-micro b{ color:var(--paper); font-weight:500; }
.hero-micro .dot{ width:4px; height:4px; border-radius:50%; background:var(--lemon); display:inline-block; }

/* ambient background marks */
.hero-glow{
  position:absolute; width:680px; height:680px; right:-160px; top:-120px;
  background:radial-gradient(circle, rgba(173,232,74,.16), rgba(173,232,74,0) 62%);
  filter:blur(8px); z-index:1; pointer-events:none;
}
.hero-grid-lines{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(var(--line-d) 1px, transparent 1px);
  background-size:100% 64px;
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 30%, #000 60%, transparent);
  mask-image:linear-gradient(to bottom, transparent, #000 30%, #000 60%, transparent);
}

/* hero signature visual : aceleração 360° + curva de crescimento */
.hero-visual{ position:relative; aspect-ratio:1/1; max-width:460px; margin-left:auto; width:100%; }
.hero-visual svg{ width:100%; height:100%; overflow:visible; }
.ring{ fill:none; stroke:var(--line-d); stroke-width:1; }
.ring-accent{ fill:none; stroke:var(--lemon); stroke-width:2; stroke-linecap:round;
  stroke-dasharray:1000; stroke-dashoffset:1000; animation:draw 2.4s 0.3s cubic-bezier(.5,0,.2,1) forwards; }
.growth-path{ fill:none; stroke:var(--lemon); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:600; stroke-dashoffset:600; animation:draw 2s .7s cubic-bezier(.5,0,.2,1) forwards; }
.growth-fill{ fill:url(#grad); opacity:0; animation:fadein 1.2s 2.1s ease forwards; }
.node{ fill:var(--lemon); animation:pulse 3s 2.4s ease-in-out infinite; transform-origin:center; transform-box:fill-box; }
.node-ring{ fill:none; stroke:var(--lemon); stroke-width:1.5; opacity:.55; animation:ripple 3s 2.4s ease-out infinite; transform-origin:center; transform-box:fill-box; }
.vlabel{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; fill:var(--sage-dim); text-transform:uppercase; }
.vnum{ font-family:var(--display); font-weight:600; fill:var(--paper); }
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes fadein{ to{ opacity:1; } }
@keyframes pulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.18); } }
@keyframes ripple{ 0%{ transform:scale(1); opacity:.55; } 100%{ transform:scale(2.6); opacity:0; } }

/* ============================================================
   STATS / PROVA
   ============================================================ */
.stats{ background:var(--ink-2); border-top:1px solid var(--line-d); border-bottom:1px solid var(--line-d); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ padding:clamp(34px,5vw,52px) clamp(18px,3vw,40px); border-right:1px solid var(--line-d); }
.stat:last-child{ border-right:0; }
.stat .num{ font-family:var(--display); font-weight:600; font-size:clamp(40px,5vw,58px); color:var(--paper); letter-spacing:-.03em; line-height:1; }
.stat .num .u{ color:var(--lemon); }
.stat .lab{ font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--cream-dim); margin-top:14px; text-transform:uppercase; line-height:1.4; }

/* ============================================================
   RESULTADO / CASE — Aumento de faturamento + gráfico
   ============================================================ */
.result{ background:var(--ink); overflow:hidden; position:relative; }
.result-glow{ position:absolute; width:620px; height:620px; right:-120px; top:50%; transform:translateY(-50%);
  background:radial-gradient(circle, rgba(173,232,74,.13), transparent 62%); pointer-events:none; }
.result-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:56px; align-items:center; position:relative; z-index:2; }
.result-left{ display:flex; gap:30px; }
.result-bar{ width:4px; border-radius:100px; background:var(--lemon); flex:none; align-self:stretch;
  box-shadow:0 0 24px -2px rgba(173,232,74,.5); }
.result-eyebrow{ margin-bottom:24px; }
.result h2{ font-size:clamp(34px,5vw,62px); letter-spacing:-.03em; line-height:1.02; color:var(--paper); }
.result h2 .hl{ color:var(--lemon); }
.result p.case{ font-size:clamp(16px,1.7vw,19px); color:var(--cream-dim); margin-top:26px; max-width:46ch; line-height:1.55; }
.result-foot{ margin-top:26px; font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--sage-dim); }

/* gráfico */
.result-chart{ width:100%; max-width:540px; margin-left:auto; }
.result-chart svg{ width:100%; height:auto; overflow:visible; }
.rbar{ fill:var(--ink-3); stroke:rgba(173,232,74,.35); stroke-width:1; transform:scaleY(0); transform-box:fill-box; transform-origin:bottom; }
.rbar-top{ fill:var(--lemon); opacity:.0; }
.result-chart.in .rbar{ animation:rbarUp .7s cubic-bezier(.2,.7,.2,1) forwards; }
.result-chart.in .rbar-top{ animation:fadein .5s 1.1s forwards; }
.result-chart.in .rbar:nth-of-type(1){ animation-delay:.05s }
.result-chart.in .rbar:nth-of-type(2){ animation-delay:.13s }
.result-chart.in .rbar:nth-of-type(3){ animation-delay:.21s }
.result-chart.in .rbar:nth-of-type(4){ animation-delay:.29s }
.result-chart.in .rbar:nth-of-type(5){ animation-delay:.37s }
.result-chart.in .rbar:nth-of-type(6){ animation-delay:.45s }
.result-chart.in .rbar:nth-of-type(7){ animation-delay:.53s }
.result-chart.in .rbar:nth-of-type(8){ animation-delay:.61s }
.result-chart.in .rbar:nth-of-type(9){ animation-delay:.69s }
.rarea{ fill:url(#rgrad); opacity:0; }
.result-chart.in .rarea{ animation:fadein 1s 1s ease forwards; }
.rline{ fill:none; stroke:var(--lemon); stroke-width:3; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1400; stroke-dashoffset:1400; }
.result-chart.in .rline{ animation:draw 1.6s .35s cubic-bezier(.5,0,.2,1) forwards; }
.rnode{ fill:var(--lemon); opacity:0; transform-box:fill-box; transform-origin:center; }
.result-chart.in .rnode{ animation:fadein .4s 1.5s forwards, pulse 3s 1.9s ease-in-out infinite; }
.rnode-ring{ fill:none; stroke:var(--lemon); stroke-width:1.5; opacity:0; transform-box:fill-box; transform-origin:center; }
.result-chart.in .rnode-ring{ animation:ripple 3s 1.9s ease-out infinite; }
.rgrid{ stroke:var(--line-d); stroke-width:1; }
@keyframes rbarUp{ to{ transform:scaleY(1); } }

/* ============================================================
   SECTION HEADER (reuso)
   ============================================================ */
.sec-head{ max-width:760px; }
.sec-head h2{ font-size:clamp(30px,4.6vw,54px); margin:22px 0 0; }
.sec-head p{ font-size:clamp(16px,1.6vw,19px); color:var(--sage); margin-top:22px; max-width:60ch; }
.dark .sec-head p{ color:var(--cream-dim); }

/* ============================================================
   DIFERENÇA — agência x aceleradora
   ============================================================ */
.diff{ background:var(--ink); }
.diff .sec-head h2 .lemon-word{ color:var(--lemon); }
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:60px; }
.compare-col{ border:1px solid var(--line-d); border-radius:var(--r); padding:clamp(26px,3.4vw,40px); }
.compare-col.bad{ background:transparent; }
.compare-col.good{ background:linear-gradient(180deg, rgba(173,232,74,.06), rgba(173,232,74,.015)); border-color:rgba(173,232,74,.4); }
.compare-col h3{ font-size:22px; display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.compare-col .tag{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--sage-dim); display:block; margin-bottom:20px; }
.compare-col.good .tag{ color:var(--lemon); }
.compare-list{ list-style:none; display:flex; flex-direction:column; gap:16px; margin-top:6px; }
.compare-list li{ display:flex; gap:13px; font-size:15.5px; color:var(--cream-dim); line-height:1.45; }
.compare-col.good .compare-list li{ color:var(--paper); }
.ic{ flex:none; width:22px; height:22px; margin-top:1px; }
.ic-x{ color:#7c8a7e; }
.ic-check{ color:var(--lemon); }

/* ============================================================
   PROBLEMA — dependência de indicação
   ============================================================ */
.problem{ background:var(--paper); }
.problem .big{
  font-family:var(--display); font-weight:500; font-size:clamp(28px,4.4vw,52px);
  line-height:1.12; letter-spacing:-.02em; max-width:18ch; color:var(--forest);
}
.problem .big em{ color:var(--sage); font-style:italic; }
.problem-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; }
.problem-points{ display:flex; flex-direction:column; gap:2px; }
.ppoint{ padding:22px 0; border-top:1px solid var(--line-l); display:flex; gap:18px; align-items:flex-start; }
.ppoint:last-child{ border-bottom:1px solid var(--line-l); }
.ppoint .pn{ font-family:var(--mono); font-size:13px; color:var(--lemon-bri); color:var(--sage); flex:none; padding-top:3px; }
.ppoint .pt strong{ display:block; font-family:var(--display); font-weight:600; font-size:19px; color:var(--forest); margin-bottom:4px; letter-spacing:-.01em; }
.ppoint .pt span{ font-size:15px; color:var(--sage); }

/* ============================================================
   MÉTODO 360°
   ============================================================ */
.method{ background:var(--paper); position:relative; overflow:hidden; }
.method::before{ content:""; position:absolute; top:-40px; left:50%; transform:translateX(-50%); width:720px; height:360px; max-width:120%; background:radial-gradient(ellipse at top, rgba(173,232,74,.12), transparent 68%); pointer-events:none; z-index:0; }
.method .wrap{ position:relative; z-index:1; }
.method-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:62px; background:var(--line-l); border:1px solid rgba(173,232,74,.28); border-radius:var(--r); overflow:hidden; }
.mcard{ background:var(--paper); padding:clamp(30px,3.2vw,42px); transition:background .3s; position:relative; overflow:hidden; }
.mcard::before{ content:""; position:absolute; top:0; left:0; height:3px; width:0; background:var(--lemon); transition:width .4s cubic-bezier(.5,0,.2,1); }
.mcard:hover{ background:var(--paper-2); }
.mcard:hover::before{ width:100%; }
.mcard .mnum{ position:absolute; top:30px; right:30px; font-family:var(--mono); font-size:13px; color:var(--sage); letter-spacing:.12em; display:flex; align-items:center; gap:8px; }
.mcard .mnum::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--lemon); box-shadow:0 0 10px rgba(173,232,74,.85); }
.mcard .micon{ box-sizing:border-box; width:56px; height:56px; padding:13px; margin:0 0 24px; border-radius:15px;
  background:rgba(173,232,74,.14); border:1px solid rgba(173,232,74,.55); color:var(--forest);
  transition:background .3s, border-color .3s, color .3s, transform .35s cubic-bezier(.5,0,.2,1); }
.mcard:hover .micon{ background:var(--lemon); border-color:var(--lemon); color:var(--ink); transform:rotate(-5deg) scale(1.04); }
.mcard h3{ font-size:20px; margin-bottom:11px; }
.mcard p{ font-size:15px; color:var(--sage); line-height:1.55; }
.mcard .leaf{ display:none; }

/* ============================================================
   CFM
   ============================================================ */
/* ============================================================
   CFM
   ============================================================ */
.cfm { 
  background: var(--ink); 
  overflow: hidden; 
  position: relative; /* Necessário para ancorar a imagem de fundo */
}

/* Criamos uma camada exclusiva para a imagem */
.cfm::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1; /* Deixa a imagem por baixo do conteúdo */
  pointer-events: none; /* Garante que a imagem não atrapalhe cliques na tela */

  /* Configuração da sua imagem original com parallax */
  background-image: url('https://lemonassessoria.com.br/wp-content/uploads/2026/06/Minimalista-Stroke-Branco.png'); 
  background-attachment: fixed; 
  background-size: 400px auto; 
  background-position: center; 
  background-repeat: no-repeat;

  /* --- AJUSTE AQUI A OPACIDADE (0.15 significa 15% de visibilidade) --- */
  opacity: 0.15; 
}

/* Jogamos o grid para frente para que os textos fiquem por cima da imagem */
.cfm-grid { 
  display: grid; 
  grid-template-columns: .95fr 1.05fr; 
  gap: 60px; 
  align-items: center; 
  position: relative;
  z-index: 2; /* Fica acima do ::before */
}

.cfm-card { border: 1px solid var(--line-d); border-radius: var(--r); padding: clamp(28px, 3.4vw, 44px); background: var(--ink-2); position: relative; }
.cfm-card .shield { width: 48px; height: 48px; color: var(--lemon); margin-bottom: 22px; }
.cfm-rows { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
.cfm-row { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line-d); align-items: flex-start; }
.cfm-row:first-child { border-top: 0; }
.cfm-row .ic { width: 20px; height: 20px; }
.cfm-row span { font-size: 15px; color: var(--paper); }
.cfm-row.no span { color: var(--cream-dim); }

/* ============================================================
   DEPOIMENTOS EM VÍDEO
   ============================================================ */
.video{ background:var(--paper); }
.video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:62px; }
.vcard{
  position:relative; border-radius:var(--r); overflow:hidden;
  aspect-ratio:9/16; background:var(--ink);
  border:1px solid var(--line-l);
  transition:transform .25s ease, box-shadow .25s ease;
}
.vcard:hover{ transform:translateY(-5px); box-shadow:0 24px 50px -22px rgba(22,41,29,.5); }

/* vídeo preenchendo o card */
.vvideo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; background:var(--ink); display:block; z-index:1; cursor:pointer;
}

/* botão central play/pausa */
.vcard .play{
  position:absolute; inset:0; margin:auto; width:64px; height:64px;
  display:flex; align-items:center; justify-content:center; z-index:3;
  background:var(--lemon); color:var(--ink); border:0; border-radius:50%; padding:0; cursor:pointer;
  box-shadow:0 10px 30px -8px rgba(173,232,74,.55);
  transition:transform .25s, opacity .25s;
}
.vcard .play:hover{ transform:scale(1.08); }
.vcard .play svg{ width:24px; height:24px; }
.vcard .play .ic-play{ margin-left:3px; }
.vcard .play .ic-pause{ display:none; }
.vcard.playing .play{ opacity:0; pointer-events:none; }
.vcard.playing:hover .play{ opacity:1; pointer-events:auto; }
.vcard.playing .play .ic-play{ display:none; }
.vcard.playing .play .ic-pause{ display:block; }

/* botão de som (canto) */
.vcard .vmute{
  position:absolute; top:14px; right:14px; z-index:4;
  width:40px; height:40px; border-radius:50%; padding:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:rgba(10,15,11,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.2); color:var(--paper);
  transition:background .2s, border-color .2s, color .2s, transform .2s;
}
.vcard .vmute:hover{ border-color:var(--lemon); color:var(--lemon); transform:scale(1.06); }
.vcard .vmute svg{ width:18px; height:18px; }
.vcard .vmute .ic-unmuted{ display:none; }
.vcard:not(.muted) .vmute .ic-muted{ display:none; }
.vcard:not(.muted) .vmute .ic-unmuted{ display:block; }

/* meta (autor) */
.vcard .vmeta{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding:20px; pointer-events:none;
  background:linear-gradient(transparent, rgba(10,15,11,.92));
}
.vcard .vauthor{ font-size:13px; color:var(--cream-dim); }
.vcard .vauthor b{ color:var(--lemon); font-weight:600; display:block; font-size:15px; margin-bottom:2px; }

/* ============================================================
   PARA QUEM É
   ============================================================ */
.who{ background:var(--ink); }
.who-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin-top:54px; }
.who-pill{ border:1px solid var(--line-d); border-radius:12px; padding:20px 22px; display:flex; align-items:center; gap:14px; transition:border-color .25s, background .25s; }
.who-pill:hover{ border-color:rgba(173,232,74,.5); background:rgba(173,232,74,.04); }
.who-pill .dot{ width:8px; height:8px; border-radius:50%; background:var(--lemon); flex:none; }
.who-pill span{ font-size:15.5px; color:var(--paper); }

/* ============================================================
   PROCESSO
   ============================================================ */
.process{ background:var(--paper); position:relative; overflow:hidden; }
.process::before{ content:""; position:absolute; top:-40px; left:50%; transform:translateX(-50%); width:720px; height:360px; max-width:120%; background:radial-gradient(ellipse at top, rgba(173,232,74,.12), transparent 68%); pointer-events:none; z-index:0; }
.process .wrap{ position:relative; z-index:1; }
.steps{ margin-top:60px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-l); border:1px solid rgba(173,232,74,.28); border-radius:var(--r); overflow:hidden; }
.step{ background:var(--paper); padding:clamp(28px,2.6vw,38px); position:relative; overflow:hidden; transition:background .3s; }
.step::before{ content:""; position:absolute; top:0; left:0; height:3px; width:0; background:var(--lemon); transition:width .4s cubic-bezier(.5,0,.2,1); }
.step:hover{ background:var(--paper-2); }
.step:hover::before{ width:100%; }
.step .snum{ position:absolute; top:30px; right:30px; font-family:var(--mono); font-size:13px; color:var(--sage); letter-spacing:.12em; display:flex; align-items:center; gap:8px; }
.step .snum::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--lemon); box-shadow:0 0 10px rgba(173,232,74,.85); }
.step .sicon{ box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; padding:13px; margin:0 0 24px; border-radius:15px;
  background:rgba(173,232,74,.14); border:1px solid rgba(173,232,74,.55); color:var(--forest);
  transition:background .3s, border-color .3s, color .3s, transform .35s cubic-bezier(.5,0,.2,1); }
.step .sicon svg{ width:100%; height:100%; }
.step:hover .sicon{ background:var(--lemon); border-color:var(--lemon); color:var(--ink); transform:rotate(-5deg) scale(1.04); }
.step .stitle{ font-family:var(--display); font-weight:600; font-size:clamp(19px,2vw,22px); color:var(--forest); margin-bottom:9px; letter-spacing:-.01em; }
.step .sdesc{ font-size:14.5px; color:var(--sage); line-height:1.55; }

/* ============================================================
   FAQ
   ============================================================ */
.faq{ background:var(--ink); }
.faq-grid{ display:grid; grid-template-columns:.7fr 1.3fr; gap:56px; align-items:start; }
.faq-list{ border-top:1px solid var(--line-d); }
.faq-item{ border-bottom:1px solid var(--line-d); }
.faq-q{ width:100%; background:none; border:0; cursor:pointer; color:var(--paper);
  font-family:var(--display); font-weight:500; font-size:clamp(18px,2vw,22px); text-align:left;
  padding:26px 0; display:flex; justify-content:space-between; align-items:center; gap:24px; letter-spacing:-.01em; }
.faq-q .pm{ flex:none; width:26px; height:26px; position:relative; }
.faq-q .pm::before,.faq-q .pm::after{ content:""; position:absolute; background:var(--lemon); transition:transform .3s, opacity .3s; }
.faq-q .pm::before{ left:0; top:50%; width:100%; height:2px; transform:translateY(-50%); }
.faq-q .pm::after{ left:50%; top:0; width:2px; height:100%; transform:translateX(-50%); }
.faq-item.open .pm::after{ opacity:0; transform:translateX(-50%) rotate(90deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-a p{ padding:0 0 28px; color:var(--cream-dim); font-size:16px; max-width:62ch; line-height:1.6; }

/* ============================================================
   CTA FINAL
   ============================================================ */
.final{ background:var(--ink); position:relative; overflow:hidden; }
.final-glow{ position:absolute; width:760px; height:760px; left:50%; top:50%; transform:translate(-50%,-40%);
  background:radial-gradient(circle, rgba(173,232,74,.14), transparent 60%); pointer-events:none; }
.final-inner{ position:relative; z-index:2; text-align:center; max-width:820px; margin:0 auto; }
.final h2{ font-size:clamp(34px,5.4vw,68px); letter-spacing:-.03em; }
.final h2 .lemon-word{ color:var(--lemon); }
.final p{ font-size:clamp(17px,1.9vw,20px); color:var(--cream-dim); margin:26px auto 40px; max-width:54ch; }
.final-ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.final .wpp{ background:transparent; border:1px solid var(--line-d); color:var(--paper); }
.final .wpp:hover{ border-color:var(--lemon); color:var(--lemon); }

/* ============================================================
   FOOTER
   ============================================================ */
.foot{ background:var(--ink-2); border-top:1px solid var(--line-d); padding:64px 0 40px; }
.foot-top{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; align-items:flex-start; }
.foot .brand .name{ font-size:24px; }
.foot-tag{ color:var(--cream-dim); font-size:15px; max-width:34ch; margin-top:18px; }
.foot-links{ display:flex; gap:64px; flex-wrap:wrap; }
.foot-col h4{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--sage-dim); margin-bottom:18px; font-weight:500; }
.foot-col a, .foot-col p{ display:block; color:var(--cream-dim); font-size:14.5px; margin-bottom:11px; transition:color .2s; }
.foot-col a:hover{ color:var(--lemon); }
.foot-bottom{ margin-top:56px; padding-top:26px; border-top:1px solid var(--line-d); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.foot-bottom p{ font-family:var(--mono); font-size:12px; color:var(--sage-dim); letter-spacing:.04em; }

/* ============================================================
   FAB — botão flutuante
   ============================================================ */
.fab{
  position:fixed; right:clamp(16px,3vw,34px); bottom:clamp(16px,3vw,34px); z-index:85;
  display:inline-flex; align-items:center; gap:10px;
  background:var(--lemon); color:var(--ink);
  font-family:var(--body); font-weight:600; font-size:15px; line-height:1;
  padding:16px 24px; border-radius:100px;
  box-shadow:0 16px 44px -10px rgba(173,232,74,.55), 0 4px 16px rgba(0,0,0,.34);
  opacity:0; transform:translateY(22px) scale(.96); pointer-events:none;
  transition:opacity .4s ease, transform .4s cubic-bezier(.2,.7,.2,1), background .25s, box-shadow .25s;
}
.fab.show{ opacity:1; transform:none; pointer-events:auto; }
.fab:hover{ background:var(--lemon-bri); transform:translateY(-3px); box-shadow:0 22px 54px -10px rgba(173,232,74,.72); }
.fab svg{ width:19px; height:19px; flex:none; }
@media (max-width:680px){
  .fab span{ display:none; }
  .fab{ padding:17px; }
  .fab svg{ width:22px; height:22px; }
}

/* ============================================================
   CTA ROW — botões de seção
   ============================================================ */
.cta-row{ margin-top:clamp(46px,6vw,70px); display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.cta-row .cta-line{ font-family:var(--mono); font-size:12.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--sage-dim); }
.dark .cta-row .cta-line{ color:var(--lemon); }

/* ============================================================
   FAIXA DE EXCLUSIVIDADE / ESCASSEZ
   ============================================================ */
.scarcity{ background:var(--ink); border-top:1px solid rgba(173,232,74,.3); border-bottom:1px solid var(--line-d); }
.scarcity-inner{ display:flex; align-items:center; justify-content:center; gap:15px; padding:clamp(22px,3.4vw,34px) 0; text-align:center; flex-wrap:wrap; }
.scarcity-dot{ width:9px; height:9px; border-radius:50%; background:var(--lemon); box-shadow:0 0 14px rgba(173,232,74,.95); flex:none; animation:pulse 2.6s ease-in-out infinite; }
.scarcity p{ font-family:var(--display); font-weight:500; font-size:clamp(17px,2.1vw,24px); color:var(--paper); letter-spacing:-.01em; }
.scarcity .hl{ color:var(--lemon); }

/* ============================================================
   REVEAL ANIMATION
   ============================================================ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; gap:30px; }
  .hero-visual{ max-width:340px; margin:0 auto; order:-1; }
  .hero h1 br{ display:none; }
  .compare,.cfm-grid,.problem-grid,.faq-grid{ grid-template-columns:1fr; gap:32px; }
  .result-grid{ grid-template-columns:1fr; gap:36px; }
  .result-chart{ margin:0 auto; max-width:440px; order:2; }
  .method-grid{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .video-grid{ grid-template-columns:repeat(2,1fr); }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2){ border-right:0; }
  .stat:nth-child(1),.stat:nth-child(2){ border-bottom:1px solid var(--line-d); }
}
@media (max-width:680px){
  body{ font-size:16px; }
  .nav-links{ display:none; }
  .nav-cta .btn-primary{ display:none; }
  .menu-toggle{ display:block; }
  .mobile-menu{ display:flex; }
  .method-grid{ grid-template-columns:1fr; }
  .video-grid{ grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; }
  .stats-grid{ grid-template-columns:1fr; }
  .stat{ border-right:0; border-bottom:1px solid var(--line-d); }
  .stat:last-child{ border-bottom:0; }
  .steps{ grid-template-columns:1fr; }
  .foot-top{ flex-direction:column; }
  .hero{ padding-top:calc(104px + var(--bar-h)); }
  .brand-logo{ height:34px; }
  .brand-logo-foot{ height:42px; }
}

/* mobile menu */
.mobile-menu{
  position:fixed; inset:0; z-index:100; background:var(--ink);
  flex-direction:column; padding:30px var(--pad); display:none;
  transform:translateY(-100%); transition:transform .4s cubic-bezier(.5,0,.2,1);
}
.mobile-menu.open{ transform:none; }
.mm-head{ display:flex; justify-content:space-between; align-items:center; height:74px; margin-top:-14px; }
.mm-close{ background:none; border:0; color:var(--paper); cursor:pointer; padding:8px; }
.mm-close svg{ width:28px; height:28px; }
.mm-links{ display:flex; flex-direction:column; gap:8px; margin-top:30px; }
.mm-links a{ font-family:var(--display); font-size:30px; color:var(--paper); padding:12px 0; border-bottom:1px solid var(--line-d); }
.mm-cta{ margin-top:34px; }
.mm-cta .btn{ width:100%; }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition-duration:.01ms !important; }
  .ring-accent,.growth-path{ stroke-dashoffset:0 !important; }
  .growth-fill{ opacity:1 !important; }
  .rbar{ transform:none !important; }
  .rbar-top,.rarea,.rnode{ opacity:1 !important; }
  .rline{ stroke-dashoffset:0 !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
  html{ scroll-behavior:auto; }
}


/* ============================================================
   SAFETY — previne overflow horizontal no mobile
   (apenas proteção; não altera bordas, paddings, textos ou layout)
   ============================================================ */
html{ overflow-x:hidden; }
svg{ max-width:100%; }
h1, h2, h3, p, a, li, .faq-q, .announce p, .eyebrow{ overflow-wrap:break-word; }/* End custom CSS */