/* ================================================================
   Ótima — Agência de Tráfego Pago
   style.css — Estilos principais do site
   ================================================================ */

/* ----------------------------------------------------------------
   1. VARIÁVEIS CSS (Design Tokens)
   ---------------------------------------------------------------- */
:root {
  /* Cores principais */
  --color-bg:          #0a0a0a;        /* Preto profundo */
  --color-bg-2:        #111111;        /* Preto ligeiramente mais claro */
  --color-bg-3:        #161616;        /* Cinza escuro */
  --color-accent:      #0de2ff;        /* Ciano neon */
  --color-accent-dim:  rgba(13,226,255,.15);
  --color-accent-glow: rgba(13,226,255,.35);
  --color-green:       #00ff9c;        /* Verde check */
  --color-white:       #ffffff;
  --color-gray-100:    #f5f5f5;
  --color-gray-300:    #c0c0c0;
  --color-gray-500:    #888888;
  --color-gray-700:    #444444;
  --color-danger:      #ff4d4d;

  /* Tipografia */
  --font-main:   'Poppins', sans-serif;
  --fs-xs:       .75rem;
  --fs-sm:       .875rem;
  --fs-base:     1rem;
  --fs-md:       1.125rem;
  --fs-lg:       1.25rem;
  --fs-xl:       1.5rem;
  --fs-2xl:      2rem;
  --fs-3xl:      2.5rem;
  --fs-4xl:      3.25rem;
  --fs-5xl:      4rem;

  /* Espaçamentos */
  --space-xs:    .5rem;
  --space-sm:    1rem;
  --space-md:    1.5rem;
  --space-lg:    2rem;
  --space-xl:    3rem;
  --space-2xl:   5rem;
  --space-3xl:   8rem;

  /* Border radius */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-full: 9999px;

  /* Sombras / Glow */
  --shadow-card:  0 4px 30px rgba(0,0,0,.5);
  --glow-accent:  0 0 20px rgba(13,226,255,.4), 0 0 60px rgba(13,226,255,.15);
  --glow-btn:     0 0 25px rgba(13,226,255,.6);
  --glow-green:   0 0 15px rgba(0,255,156,.5);

  /* Transições */
  --transition:  .3s ease;
  --transition-slow: .6s ease;
}

/* ----------------------------------------------------------------
   2. RESET & BASE
   ---------------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-main);
  background-color: var(--color-bg);
  color: var(--color-white);
  line-height: 1.6;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

/* ----------------------------------------------------------------
   3. UTILITÁRIOS GLOBAIS
   ---------------------------------------------------------------- */

/* Container centralizado */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

/* Labels de seção */
.section-label {
  display: inline-block;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--color-accent);
  background: var(--color-accent-dim);
  border: 1px solid rgba(13,226,255,.25);
  padding: .3rem .9rem;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-sm);
}

/* Títulos de seção */
.section-title {
  font-size: clamp(var(--fs-2xl), 4vw, var(--fs-3xl));
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: var(--space-sm);
}

/* Subtítulo de seção */
.section-subtitle {
  font-size: var(--fs-md);
  color: var(--color-gray-300);
  max-width: 600px;
}

/* Cabeçalho de seção centralizado */
.section-header {
  text-align: center;
  margin-bottom: var(--space-xl);
}

.section-header .section-subtitle {
  margin: 0 auto;
}

/* Destaque ciano */
.text-accent {
  color: var(--color-accent);
}

/* ----------------------------------------------------------------
  /* ----------------------------------------------------------------
   4. BOTÕES
---------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--font-main);
  font-weight: 600;
  font-size: var(--fs-base);
  padding: .8rem 1.8rem;
  border-radius: var(--radius-full);
  cursor: pointer;
  border: none;
  transition: all var(--transition);
  white-space: nowrap;
}

/* Botão primário ciano */
.btn--primary {
  background: var(--color-accent);
  color: var(--color-bg);
}

.btn--primary:hover {
  background: var(--color-white);
  box-shadow: var(--glow-btn);
  transform: translateY(-2px);
}

/* Botão largo */
.btn--lg {
  padding: 1.05rem 2.4rem;
  font-size: var(--fs-md);
}

/* Botão com glow permanente */
.btn--glow {
  box-shadow: var(--glow-accent);
}

.btn--glow:hover {
  box-shadow: var(--glow-btn);
}

/* Botão do header */
.btn--cta-header {
  background: transparent;
  color: var(--color-accent);
  border: 1.5px solid var(--color-accent);
  padding: .6rem 1.4rem;
  font-size: var(--fs-sm);
  border-radius: var(--radius-full);
  transition: all var(--transition);
}

.btn--cta-header:hover {
  background: var(--color-accent);
  color: var(--color-bg);
  box-shadow: var(--glow-btn);
}

/* ----------------------------------------------------------------
   5. HEADER
---------------------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 1.2rem 0;
  transition: background var(--transition), backdrop-filter var(--transition), padding var(--transition);
}

/* Estado padrão */
.header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
  backdrop-filter: blur(0px);
  transition: all var(--transition);
}

/* Scroll */
.header.scrolled {
  padding: .8rem 0;
}

.header.scrolled::before {
  background: rgba(10, 10, 10, .85);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(13,226,255,.1);
}

.header__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  position: relative;
  z-index: 1;
}

/* Logo */
.logo-link {
  display: flex;
  align-items: center;
  gap: .3rem;
  flex-shrink: 0;
}

.logo-text {
  font-size: var(--fs-xl);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--color-white);
}

.logo-accent {
  color: var(--color-accent);
}

.logo-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent);
  border-radius: 50%;
  box-shadow: var(--glow-accent);
  margin-bottom: 1rem;
}

/* LOGO IMAGEM (CORRIGIDO) */
.logo-img{
  height:48px;
  width:auto;
  object-fit:contain;
  display:block;
}

/* Nav */
.header__nav .nav__list {
  display: flex;
  gap: var(--space-lg);
}

.nav__link {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-gray-300);
  transition: color var(--transition);
  position: relative;
}

.nav__link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--color-accent);
  transition: width var(--transition);
}

.nav__link:hover {
  color: var(--color-accent);
}

.nav__link:hover::after {
  width: 100%;
}

/* Hamburguer */
.header__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem;
}

.header__hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-white);
  border-radius: 2px;
  transition: all var(--transition);
}

.header__hamburger.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.header__hamburger.active span:nth-child(2) {
  opacity: 0;
}

.header__hamburger.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ----------------------------------------------------------------
   6. HERO
---------------------------------------------------------------- */
.hero{
position:relative;
min-height:100vh;
display:flex;
align-items:center;
overflow:hidden;
}

.hero__bg{
position:absolute;
inset:0;
z-index:0;
overflow:hidden;
}

.hero__bg-img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}

.hero__overlay{
position:absolute;
inset:0;
z-index:1;

background:linear-gradient(
90deg,
rgba(10,10,10,.90) 0%,
rgba(10,10,10,.75) 30%,
rgba(10,10,10,.50) 55%,
rgba(10,10,10,.20) 75%,
rgba(10,10,10,0) 100%
);
}

.hero__container{
position:relative;
z-index:2;
width:100%;
max-width:1200px;
margin:0 auto;
padding-top:7rem;
padding-bottom:5rem;
display:flex;
justify-content:flex-start;
}

.hero__content{
width:70%;
max-width:800px;
text-align:left;
}

.hero__badge{
display:inline-flex;
align-items:center;
gap:.4rem;
font-size:12px;
font-weight:600;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--color-accent);
background:rgba(13,226,255,.1);
border:1px solid rgba(13,226,255,.3);
padding:.4rem 1rem;
border-radius:999px;
margin-bottom:20px;
}

.hero__headline{
font-size:clamp(34px,5vw,56px);
font-weight:800;
line-height:1.1;
margin-bottom:20px;
text-shadow:0 2px 20px rgba(0,0,0,.6);
}

.hero__sub{
font-size:clamp(16px,2vw,20px);
color:#cfcfcf;
margin-bottom:30px;
max-width:520px;
}

/* ---------------- MOBILE ---------------- */
@media (max-width:768px){

/* HEADER MAIOR */
.header{
padding:14px 0;
}

/* LOGO GRANDE */
.logo-img{
height:56px;
}

/* BOTÃO MENOR */
.header__cta,
.btn--cta-header{
padding:8px 12px;
font-size:12px;
}

/* HERO */
.hero__bg-img{
object-position:70% center;
}

.hero__container{
padding-top:6rem;
padding-bottom:4rem;
}

.hero__content{
width:100%;
}

.hero__headline{
font-size:32px;
}

.hero__sub{
font-size:16px;
}

}
/* ---------------------------------------
   HERO STATS
--------------------------------------- */

.hero__stats{
display:flex;
justify-content:center;   /* centraliza no PC */
align-items:center;
gap:40px;
margin-top:40px;
flex-wrap:wrap;
text-align:center;
}

.hero__stat{
display:flex;
flex-direction:column;
align-items:center;
}

.hero__stat strong{
font-size:22px;
font-weight:800;
color:var(--color-accent);
}

.hero__stat span{
font-size:13px;
color:#ccc;
}

.hero__stat-divider{
width:1px;
height:40px;
background:rgba(255,255,255,.2);
}


/* ---------------- MOBILE ---------------- */

@media (max-width:768px){

.hero__stats{
flex-direction:column;   /* empilha */
gap:20px;
}

.hero__stat-divider{
display:none;            /* remove as barras */
}

}
/* ---------------- HERO STATS CENTRALIZADO ---------------- */

.hero__stats{
display:flex;
justify-content:center;
align-items:center;
gap:40px;
margin-top:40px;
flex-wrap:wrap;
text-align:center;
}

.hero__stat{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

/* barras no desktop */
.hero__stat-divider{
width:1px;
height:40px;
background:rgba(255,255,255,.2);
}

/* ---------------- MOBILE ---------------- */

@media (max-width:768px){

.hero__stats{
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
width:100%;
margin-left:auto;
margin-right:auto;
}

.hero__stat{
align-items:center;
}

.hero__stat-divider{
display:none;
}

}
/* ----------------------------------------------------------------
RESPONSIVIDADE MOBILE
---------------------------------------------------------------- */

@media (max-width:768px){

.hero{

min-height:90vh;

}

.hero__container{

padding-top:6rem;
padding-bottom:3rem;

}

.hero__content{

max-width:100%;

}

.hero__headline{

font-size:32px;

line-height:1.2;

}

.hero__sub{

font-size:16px;

}

.hero__stats{

flex-direction:column;

align-items:flex-start;

gap:12px;

}

.hero__stat-divider{

display:none;

}

.hero__scroll{

display:none;

}

}

/* ----------------------------------------------------------------
   7. SEÇÃO PROBLEMA
   ---------------------------------------------------------------- */
.problema {
  padding: var(--space-3xl) 0;
  background: var(--color-bg-2);
}

.problema__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}

.problema__desc {
  font-size: var(--fs-md);
  color: var(--color-gray-300);
  margin-bottom: var(--space-lg);
  line-height: 1.8;
}

.problema__list {
  margin-bottom: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: .9rem;
}

.problema__list li {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: var(--fs-base);
  color: var(--color-gray-300);
}

.icon-danger {
  color: var(--color-danger);
  font-size: var(--fs-lg);
  flex-shrink: 0;
}

/* Frame da imagem */
.image-frame {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.image-frame img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  transition: transform var(--transition-slow);
}

.image-frame:hover img {
  transform: scale(1.03);
}

.image-frame__glow {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(13,226,255,.2);
  box-shadow: 0 0 40px rgba(13,226,255,.15), inset 0 0 40px rgba(0,0,0,.3);
  pointer-events: none;
}

/* ----------------------------------------------------------------
   8. SEÇÃO BENEFÍCIOS
   ---------------------------------------------------------------- */
.beneficios {
  padding: var(--space-3xl) 0;
  background: var(--color-bg);
}

.beneficios__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

/* Cards */
.card {
  background: var(--color-bg-3);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.05);
  position: relative;
  transition: all var(--transition);
  cursor: default;
}

.card:hover {
  transform: translateY(-8px);
  border-color: rgba(13,226,255,.3);
}

.card:hover .card__glow {
  opacity: 1;
}

/* Imagem do card */
.card__image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.card:hover .card__image img {
  transform: scale(1.08);
}

.card__image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(22,22,22,.95) 100%);
}

/* Corpo do card */
.card__body {
  padding: 1.5rem;
  position: relative;
  z-index: 1;
}

.card__icon {
  width: 48px;
  height: 48px;
  background: var(--color-accent-dim);
  border: 1px solid rgba(13,226,255,.25);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-lg);
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}

.card__title {
  font-size: var(--fs-lg);
  font-weight: 700;
  margin-bottom: .5rem;
  color: var(--color-white);
}

.card__text {
  font-size: var(--fs-sm);
  color: var(--color-gray-300);
  line-height: 1.7;
}

/* Glow dos cards */
.card__glow {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--glow-accent);
  opacity: 0;
  transition: opacity var(--transition);
  pointer-events: none;
}

/* ----------------------------------------------------------------
   9. FRASE DE IMPACTO
   ---------------------------------------------------------------- */
.impacto {
  position: relative;
  padding: var(--space-3xl) 0;
  overflow: hidden;
}

.impacto__bg {
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(ellipse at 50% 50%, rgba(13,226,255,.08) 0%, transparent 70%),
    var(--color-bg-2);
}

.impacto__content {
  position: relative;
  z-index: 1;
  text-align: center;
}

.impacto__quote {
  max-width: 820px;
  margin: 0 auto;
}

.impacto__quote-icon {
  font-size: var(--fs-3xl);
  color: var(--color-accent);
  opacity: .4;
  margin-bottom: var(--space-md);
}

.impacto__text {
  font-size: clamp(var(--fs-2xl), 4.5vw, var(--fs-4xl));
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: var(--space-md);
}

.impacto__desc {
  font-size: clamp(var(--fs-md), 2.5vw, var(--fs-xl));
  color: var(--color-gray-300);
  margin-bottom: var(--space-sm);
}

.impacto__desc--accent {
  color: var(--color-white);
}
/* --------------------------------------------------
   IMPACTO - Ajuste da frase principal
-------------------------------------------------- */

.impacto__text{
  white-space: nowrap;                 /* força uma linha só */
  font-size: clamp(28px, 4vw, 48px);   /* escala o texto conforme a tela */
  line-height: 1.2;
}

/* Garantir que o container não limite a largura */
.impacto__quote{
  max-width: 100%;
}

/* ---------------- RESPONSIVO ---------------- */

@media (max-width: 900px){

  .impacto__text{
    white-space: normal;   /* permite quebrar linha no celular */
    text-align: center;
    font-size: 32px;
  }

}

/* ----------------------------------------------------------------
   10. MÉTODO
   ---------------------------------------------------------------- */
.metodo {
  padding: var(--space-3xl) 0;
  background: var(--color-bg);
}

.metodo__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
  position: relative;
}

/* Step */
.step {
  position: relative;
}

/* Número grande */
.step__number {
  font-size: 5rem;
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(13,226,255,.3);
  line-height: 1;
  margin-bottom: var(--space-sm);
  transition: -webkit-text-stroke-color var(--transition), color var(--transition);
}

.step:hover .step__number {
  color: rgba(13,226,255,.1);
  -webkit-text-stroke-color: rgba(13,226,255,.6);
}

/* Conector entre steps */
.step__connector {
  display: none;
}

/* Corpo do step */
.step__body {
  background: var(--color-bg-3);
  border-radius: var(--radius-lg);
  padding: 1.8rem;
  border: 1px solid rgba(255,255,255,.05);
  transition: all var(--transition);
  height: 100%;
}

.step:hover .step__body {
  border-color: rgba(13,226,255,.25);
  box-shadow: 0 8px 30px rgba(13,226,255,.1);
  transform: translateY(-4px);
}

.step__icon {
  font-size: var(--fs-2xl);
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}

.step__title {
  font-size: var(--fs-lg);
  font-weight: 700;
  margin-bottom: .6rem;
  color: var(--color-white);
}

.step__text {
  font-size: var(--fs-sm);
  color: var(--color-gray-300);
  line-height: 1.7;
}
/* --------------------------------------------------
   RESPONSIVO - MÉTODO (mobile)
-------------------------------------------------- */

@media (max-width: 768px){

  .metodo__grid{
    grid-template-columns: 1fr;   /* 1 coluna no celular */
    gap: var(--space-xl);
  }

  .step{
    display:flex;
    flex-direction:column;
  }

  .step__number{
    font-size:3rem;               /* diminui o número */
    margin-bottom: .5rem;
  }

  .step__body{
    padding:1.5rem;
  }

}

/* ----------------------------------------------------------------
   11. DIFERENCIAL + CONFIANÇA
   ---------------------------------------------------------------- */
.diferencial-confianca {
  position: relative;
  padding: var(--space-3xl) 0;
  overflow: hidden;
}

/* Fundo compartilhado */
.dc__bg-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(13,226,255,.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(13,226,255,.04) 0%, transparent 50%),
    var(--color-bg-2);
}

.dc__bg-overlay {
  position: absolute;
  inset: 0;
}

.diferencial-confianca .container {
  position: relative;
  z-index: 1;
}

/* Diferencial */
.diferencial__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: start;
  margin-bottom: var(--space-3xl);
}

.diferencial__checklist {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: var(--space-lg);
}

.diferencial__checklist li {
  display: flex;
  align-items: center;
  gap: .9rem;
  font-size: var(--fs-base);
  color: var(--color-gray-300);
  font-weight: 500;
}

.check-icon {
  color: var(--color-green);
  font-size: var(--fs-lg);
  font-weight: 700;
  text-shadow: var(--glow-green);
  flex-shrink: 0;
}

/* Cards de número diferencial */
.diferencial__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}

.diff-card {
  background: var(--color-bg-3);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-lg);
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  transition: all var(--transition);
}

.diff-card:hover {
  border-color: rgba(13,226,255,.3);
  box-shadow: 0 6px 25px rgba(13,226,255,.1);
  transform: translateY(-4px);
}

.diff-card strong {
  font-size: var(--fs-2xl);
  font-weight: 800;
  color: var(--color-accent);
}

.diff-card span {
  font-size: var(--fs-sm);
  color: var(--color-gray-500);
}

/* Divisor */
.dc__divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(13,226,255,.3), transparent);
  margin: 0 0 var(--space-3xl);
}

/* Confiança */
.confianca__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-xl);
}

.trust-item {
  background: var(--color-bg-3);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: all var(--transition);
}

.trust-item:hover {
  border-color: rgba(13,226,255,.25);
  transform: translateY(-4px);
}

.trust-item__icon {
  font-size: var(--fs-3xl);
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}

.trust-item h4 {
  font-size: var(--fs-lg);
  font-weight: 700;
  margin-bottom: .6rem;
}

.trust-item p {
  font-size: var(--fs-sm);
  color: var(--color-gray-300);
  line-height: 1.7;
}

/* ----------------------------------------------------------------
   12. CTA FINAL
   ---------------------------------------------------------------- */
.cta-final {
  position: relative;
  padding: var(--space-3xl) 0;
  text-align: center;
  overflow: hidden;
}

.cta-final__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(13,226,255,.12) 0%, transparent 60%),
    var(--color-bg);
}

.cta-final__content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

.cta-final__title {
  font-size: clamp(var(--fs-2xl), 4.5vw, var(--fs-4xl));
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: var(--space-md);
}

.cta-final__sub {
  font-size: var(--fs-md);
  color: var(--color-gray-300);
  margin-bottom: var(--space-xl);
  line-height: 1.8;
}

.cta-final__disclaimer {
  margin-top: var(--space-md);
  font-size: var(--fs-xs);
  color: var(--color-gray-500);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
}

/* ----------------------------------------------------------------
   13. FOOTER
   ---------------------------------------------------------------- */
/* ----------------------------------------------------------------
   13. FOOTER
---------------------------------------------------------------- */

.footer {
  background: var(--color-bg-2);
  border-top: 1px solid rgba(255,255,255,.06);
}

.footer__top {
  padding: var(--space-2xl) 0;
}

.footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-2xl);
}

.footer__tagline {
  font-size: var(--fs-sm);
  color: var(--color-gray-500);
  line-height: 1.7;
  margin-top: var(--space-sm);
  max-width: 340px;
}

/* LOGO DO FOOTER */
.footer-logo{
height:40px;
width:auto;
display:block;
margin-bottom:10px;
}
/* Social buttons */
.footer__social {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
  flex-wrap: wrap;
}

.social-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  padding: .55rem 1.2rem;
  border-radius: var(--radius-full);
  border: 1.5px solid;
  transition: all var(--transition);
}

.social-btn--whatsapp {
  color: #25D366;
  border-color: #25D366;
}

.social-btn--whatsapp:hover {
  background: #25D366;
  color: var(--color-bg);
  box-shadow: 0 0 20px rgba(37,211,102,.4);
}

.social-btn--instagram {
  color: #E1306C;
  border-color: #E1306C;
}

.social-btn--instagram:hover {
  background: #E1306C;
  color: var(--color-white);
  box-shadow: 0 0 20px rgba(225,48,108,.4);
}

/* Links do footer */
.footer__links-title {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-white);
  margin-bottom: var(--space-md);
  text-transform: uppercase;
  letter-spacing: .1em;
}

.footer__links ul,
.footer__contact ul {
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.footer__links a,
.footer__contact a {
  font-size: var(--fs-sm);
  color: var(--color-gray-500);
  transition: color var(--transition);
}

.footer__links a:hover,
.footer__contact a:hover {
  color: var(--color-accent);
}

.footer__contact li {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-sm);
  color: var(--color-gray-500);
}

.footer__contact i {
  color: var(--color-accent);
}

/* Copyright */
.footer__bottom {
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255,255,255,.05);
}

.footer__bottom .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.footer__bottom p {
  font-size: var(--fs-xs);
  color: var(--color-gray-700);
}

/* ----------------------------------------------------------------
   14. WHATSAPP FLUTUANTE
   ---------------------------------------------------------------- */
.whatsapp-float {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
  width: 60px;
  height: 60px;
  background: #25D366;
  color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 4px 20px rgba(37,211,102,.5);
  transition: all var(--transition);
}

.whatsapp-float:hover {
  background: #20b858;
  transform: scale(1.1);
  box-shadow: 0 6px 30px rgba(37,211,102,.7);
}

/* Tooltip */
.whatsapp-float__tooltip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.85);
  color: var(--color-white);
  font-size: var(--fs-xs);
  font-family: var(--font-main);
  font-weight: 600;
  padding: .4rem .8rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);
}

.whatsapp-float:hover .whatsapp-float__tooltip {
  opacity: 1;
}

/* Animação de pulso */
.whatsapp-float::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #25D366;
  animation: waPulse 2.4s ease-out infinite;
  z-index: -1;
}

@keyframes waPulse {
  0%   { transform: scale(1); opacity: .6; }
  70%  { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* ----------------------------------------------------------------
   15. ANIMAÇÕES DE SCROLL (classes base)
   ---------------------------------------------------------------- */
[data-animate] {
  opacity: 0;
  transition: opacity .7s ease, transform .7s ease;
}

[data-animate="fade-up"] {
  transform: translateY(40px);
}

[data-animate="fade-right"] {
  transform: translateX(-50px);
}

[data-animate="fade-left"] {
  transform: translateX(50px);
}

[data-animate].is-visible {
  opacity: 1;
  transform: none;
}

/* ----------------------------------------------------------------
   16. RESPONSIVIDADE — Tablet (≤ 1024px)
   ---------------------------------------------------------------- */
@media (max-width: 1024px) {
  .beneficios__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .metodo__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer__brand {
    grid-column: 1 / -1;
  }
}

/* ----------------------------------------------------------------
   17. RESPONSIVIDADE — Mobile (≤ 768px)
   ---------------------------------------------------------------- */
@media (max-width: 768px) {

  /* Header mobile */
  .header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(10,10,10,.97);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(13,226,255,.1);
    padding: var(--space-md);
    transform: translateY(-20px);
    opacity: 0;
    pointer-events: none;
    transition: all var(--transition);
  }

  .header__nav.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
  }

  .header__nav .nav__list {
    flex-direction: column;
    gap: var(--space-sm);
  }

  .header__hamburger {
    display: flex;
  }

  /* Hero */
  .hero__headline {
    font-size: clamp(1.8rem, 7vw, 2.5rem);
  }

  .hero__stats {
    gap: var(--space-md);
  }

  /* Problema */
  .problema__grid {
    grid-template-columns: 1fr;
  }

  .problema__image {
    order: -1;
  }

  .image-frame img {
    height: 280px;
  }

  /* Benefícios */
  .beneficios__grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
  }

  /* Método */
  .metodo__grid {
    grid-template-columns: 1fr;
  }

  /* Diferencial */
  .diferencial__grid {
    grid-template-columns: 1fr;
  }

  .diferencial__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Confiança */
  .confianca__grid {
    grid-template-columns: 1fr;
  }

  /* Footer */
  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .footer__bottom .container {
    flex-direction: column;
    text-align: center;
  }
}

/* ----------------------------------------------------------------
   18. RESPONSIVIDADE — Small mobile (≤ 480px)
   ---------------------------------------------------------------- */
@media (max-width: 480px) {
  .hero__badge {
    font-size: .65rem;
  }

  .btn--lg {
    padding: .9rem 1.6rem;
    font-size: var(--fs-base);
  }

  .hero__stats {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
  }

  .hero__stat-divider {
    display: none;
  }

  .diferencial__cards {
    grid-template-columns: 1fr;
  }

  .footer__social {
    flex-direction: column;
  }

  .whatsapp-float {
    width: 52px;
    height: 52px;
    font-size: 1.5rem;
    bottom: 1.2rem;
    right: 1.2rem;
  }
}
/* RESPONSIVO HERO STATS */
@media (max-width:768px){

.hero__stats{
justify-content:center;
text-align:center;
}

.hero__stat{
align-items:center;
}

.hero__stat-divider{
display:none;
}

}
/* HERO BACKGROUND */

.hero{
background-image:url("img/hero-bg.jpg"); /* sua imagem */
background-size:cover;
background-position:center;
background-repeat:no-repeat;
}

/* -------- MOBILE AJUSTE -------- */

@media (max-width:768px){

.hero{
background-position:70% center;
/* move a imagem um pouco para direita
para a seta/gráfico aparecer no mobile */
}

}
/* ---------------- HERO MOBILE AJUSTE ---------------- */

@media (max-width:768px){

.hero{
background-position:70% center;
}

}