/* ==========================================================
   GENESYS ASSESSORIA — folha de estilos
   Paleta: #FFFFFF · #0F3B3A (verde escuro) · #16A085 (verde) · #1A1A1A
   ========================================================== */

:root{
  --white: #FFFFFF;
  --dark-green: #0F3B3A;
  --green: #16A085;
  --green-dark: #128a72;
  --graphite: #1A1A1A;
  --ink-soft: #4A5957;
  --bg-alt: #F4F8F7;
  --line: #E1E8E6;
  --radius: 10px;
  --heading-font: "Poppins", "Segoe UI", sans-serif;
  --body-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--white);
  color: var(--graphite);
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.skip-link{ position:absolute; left:-999px; top:0; background:var(--dark-green); color:#fff; padding:10px 16px; z-index:200; }
.skip-link:focus{ left:10px; top:10px; }

h1,h2,h3{ font-family: var(--heading-font); font-weight:700; line-height:1.2; margin:0 0 .55em; color: var(--dark-green); }
h1{ font-size: clamp(2.1rem, 4vw, 3rem); font-weight:800; }
h2{ font-size: clamp(1.9rem, 3.6vw, 2.6rem); font-weight:700; }
h3{ font-size: 1.05rem; font-weight:600; }
.h1-mobile{ display:none; }
p{ margin:0 0 1em; color: var(--ink-soft); }
a{ color: var(--green); text-decoration:none; }
img{ max-width:100%; display:block; }

.wrap{ max-width: 1180px; margin:0 auto; padding: 0 2px; }
.wrap-narrow{ max-width: 760px; }

.eyebrow{
  font-family: var(--body-font); font-weight:700; font-size:.78rem; letter-spacing:.06em;
  text-transform:uppercase; color: var(--green); display:flex; align-items:center; gap:10px; margin-bottom:10px;
}
.eyebrow-light{ color:var(--green); }
.eyebrow-accent{ color: var(--green); }
.eyebrow-line{ display:inline-block; width:34px; height:1px; background: currentColor; opacity:.5; }

.section-lead{ font-size:1.05rem; max-width: 56ch; }
.section-lead-dark{ font-size:1.05rem; max-width:56ch; color:#CFE3DE; }

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:8px; font-family:var(--body-font); font-weight:600; font-size:.95rem;
  text-decoration:none; padding:14px 26px; border-radius:8px; border:none; cursor:pointer; transition:.15s ease; }
.btn-primary{ background: var(--green); color:#fff; }
.btn-primary:hover{ background: var(--green-dark); }
.btn-full{ width:100%; justify-content:center; font-size:1rem; padding:15px; }
.btn-pill{ border-radius:999px; padding:11px 22px; font-size:.88rem; }
.btn-whatsapp{ background: var(--green); color:#fff; }
.btn-whatsapp:hover{ background: var(--green-dark); }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background: rgba(12,50,49,.97);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.header-inner{ display:grid; grid-template-columns: auto 1fr auto auto; align-items:center; gap:24px; height:82px; }
.logo{ display:flex; align-items:center; text-decoration:none; justify-self:start; }
.logo-img{ height:54px; width:auto; display:block; }
.main-nav{ display:flex; align-items:center; gap:28px; justify-self:center; }
.main-nav a{ color: #EAF3F1; font-weight:500; font-size:.95rem; }
.main-nav a:hover{ color: #6FD6BE; }
.btn-cta-nav{ background: var(--green); color:#fff; justify-self:end; }
.btn-cta-nav:hover{ background: var(--green-dark); }
.nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:none; border:none; cursor:pointer; justify-self:end; }
.nav-toggle span{ height:2px; background:#fff; display:block; }

/* ---------- Hero ---------- */
.hero{
  padding: 80px 0 100px;
  background:
    linear-gradient(90deg, rgba(246,250,249,.35) 0%, rgba(246,250,249,.15) 40%, rgba(246,250,249,.1) 60%, rgba(246,250,249,.4) 100%),
    url('images/hero-mulher.webp') center 30% / cover no-repeat;
  background-color: #F6FAF9;
}
.hero-grid{ display:grid; grid-template-columns: 1.2fr .85fr; gap: 64px; align-items:center; }
.hero-sub{ font-size:1.02rem; max-width:44ch; }
.check-stack{ list-style:none; margin:20px 0 30px; padding:0; display:flex; flex-direction:column; gap:13px; }
.check-stack li{ font-size:.95rem; font-weight:600; color: var(--dark-green); display:flex; align-items:center; gap:10px; }
.check-badge{
  width:22px; height:22px; flex-shrink:0; border-radius:50%; background: var(--green); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:800;
}
.check-inline-dark li{ color:#fff; }
.hero-form-wrap{ justify-self:end; width:100%; }
.hero-form-wrap .lead-card{ max-width:380px; margin-left:auto; }

.lead-card{ background:#fff; border:1px solid rgba(15,59,58,.06); border-radius: 20px; box-shadow: 0 20px 44px rgba(15,59,58,.14); padding: 30px; display:flex; flex-direction:column; gap:13px; }
.lead-card h2{ font-size:1.2rem; margin-bottom:2px; }
.lead-card > p{ font-size:.85rem; margin-bottom:8px; }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:.82rem; font-weight:600; color: var(--dark-green); }
.field input, .field select, .field textarea{
  font-family: var(--body-font); font-size:.92rem; padding:13px 14px; border:1.5px solid var(--line);
  border-radius:10px; background:#fff; color: var(--graphite); width:100%;
}
.field-icon{ position:relative; }
.field-icon .field-svg{ position:absolute; left:14px; top:50%; transform:translateY(-50%); width:17px; height:17px; color:#8FA19D; pointer-events:none; }
.field-icon input, .field-icon select{ padding-left:40px; }
.field-icon-top .field-svg{ top:16px; transform:none; }
.field-icon-top textarea{ padding-left:40px; }
.field select{ appearance:auto; color: var(--graphite); }
.field select:invalid, .field select option[value=""]{ color:#8B9A97; }
.field textarea{ resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--green); outline-offset:1px; border-color: var(--green); }
.lead-card .btn-primary{ text-transform:uppercase; letter-spacing:.03em; border-radius:999px; font-size:.85rem; font-weight:700; }
.lock-note{ display:flex; align-items:center; gap:6px; justify-content:center; font-size:.78rem; color: var(--ink-soft); margin:4px 0 0; }
.form-alert{ background:#FBE7E4; border:1px solid #E3A79E; color:#7A2E22; padding:10px 14px; border-radius:8px; font-size:.85rem; margin-bottom:0; }

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }


/* ---------- Sections generic ---------- */
.section{ padding: 76px 0; }
.section-tight{ padding: 24px 0; background-color: #F4FAF9; }
.section-notop{ padding-top:0; }
.section-alt{ background: var(--bg-alt); }
.section-dark{ background: var(--dark-green); color:#fff; }
.section-dark h2{ color:#fff; }
.grid-4{ display:grid; grid-template-columns: repeat(4,1fr); gap:24px; }
.center-cta{ text-align:center; margin-top:40px; }

/* ---------- Carousel ---------- */
.carousel-wrap{ position:relative; max-width:1220px; margin: 8px auto 0; padding: 0 60px; }
.carousel-track{ display:flex; gap:16px; overflow-x:auto; scroll-behavior:auto; padding: 6px 0 16px; scrollbar-width:none; }
.carousel-track::-webkit-scrollbar{ display:none; }
.carousel-item{
  flex: 0 0 auto; width:170px; height:90px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:10px; background:#fff; padding: 14px 20px;
}
.carousel-item img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line); background:#fff; font-size:1.3rem; color: var(--dark-green); cursor:pointer;
}
.carousel-arrow-left{ left:0; } .carousel-arrow-right{ right:0; }
.carousel-arrow:hover{ background: var(--green); color:#fff; border-color: var(--green); }

/* ---------- Situação da cota ---------- */
.situacao-inner{ text-align:center; width:100%; }
.situacao-inner .section-lead-dark{ margin-left:auto; margin-right:auto; max-width:720px; }
.situacao-grid{ margin-top:44px; text-align:left; }
.situacao-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius: var(--radius); padding:36px 30px; }
.situacao-head{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.situacao-number{
  display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; flex-shrink:0;
  border-radius:12px; background: var(--green); color:#fff; font-family:var(--heading-font);
  font-weight:800; font-size:1.2rem;
}
.situacao-label{ color: var(--green); font-family:var(--heading-font); font-size:1.85rem; font-weight:700; line-height:1.15; margin:0; }
.situacao-card h3{ color:#fff; font-size:1rem; font-weight:600; margin-bottom:10px; }
.situacao-card p{ color:#CFE3DE; font-size:.92rem; margin:0; line-height:1.55; }

#situacao{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  background-color: var(--dark-green);
  background-image:
    radial-gradient(ellipse 900px 620px at 92% 2%, rgba(22,160,133,.32), transparent 60%),
    radial-gradient(ellipse 650px 520px at 2% 100%, rgba(22,160,133,.14), transparent 65%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='640'%3E%3Ccircle cx='320' cy='320' r='300' fill='none' stroke='rgba(255,255,255,0.14)' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: 0 0, 0 0, 108% -22%;
  background-size: auto, auto, 680px 680px;
}

/* ---------- Destino ---------- */
.destino-section{
  background:
    linear-gradient(90deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.15) 40%, rgba(255,255,255,.1) 60%, rgba(255,255,255,.4) 100%),
    url('images/dinheiro-planos.webp') center 15% / cover no-repeat;
  background-color: #F6FAF9;
}
.destino-text{ max-width: 580px; margin-bottom:44px; }
.destino-grid{ text-align:left; }
.destino-card{ background:#fff; border:1px solid rgba(15,59,58,.05); border-radius: 14px; padding:28px 24px; box-shadow: 0 10px 26px rgba(15,59,58,.08); }
.destino-icon{
  display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:50%; background: var(--green); margin-bottom:18px;
}
.destino-icon svg{ width:24px; height:24px; }
.destino-card h3{ font-size:.88rem; font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin-bottom:10px; }
.destino-card p{ font-size:.9rem; margin:0; }

/* ---------- Timeline (como funciona) ---------- */
.como-funciona-grid{ display:grid; grid-template-columns: minmax(260px, .85fr) 1.15fr; gap:64px; align-items:start; }
.como-funciona-intro{ position:sticky; top:110px; }
.como-funciona-intro .btn{ margin-top:28px; }
.timeline{ margin-top:8px; position:relative; }
.timeline::before{
  content:""; position:absolute; left:27px; top:28px; bottom:28px; width:2px; background: var(--line); z-index:0;
}
.timeline-progress{
  position:absolute; left:27px; top:28px; width:2px; height:0; background: var(--green); z-index:0;
  border-radius:2px; transition: height .08s linear;
}
.timeline-step{ display:grid; grid-template-columns: 56px 1fr; gap:24px; padding-bottom:64px; position:relative; }
.timeline-step:last-child{ padding-bottom:0; }
.timeline-dot{
  width:56px; height:56px; border-radius:50%; background:#fff; color: var(--ink-soft);
  border:2px solid var(--line); font-family:var(--heading-font); font-weight:700; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1;
  transition: background-color .4s ease, border-color .4s ease, color .4s ease, box-shadow .4s ease;
}
.timeline-dot.is-active{
  background: var(--green); border-color: var(--green); color:#fff;
  box-shadow: 0 0 0 6px rgba(22,160,133,.14);
}
.timeline-content{ padding-top:6px; opacity:.5; transform: translateX(8px); transition: opacity .5s ease, transform .5s ease; }
.timeline-step.is-active .timeline-content{ opacity:1; transform:translateX(0); }
.timeline-content h3{ margin-bottom:8px; font-size:1.12rem; }
.timeline-content p{ margin:0; font-size:.96rem; }
.como-funciona-cta-mobile{ display:none; }

/* ---------- Quem somos ---------- */
.section-quemsomos{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(15,59,58,.12) 0%, rgba(15,59,58,.22) 42%, rgba(15,59,58,.4) 65%),
    url('images/predio.webp') center left / cover no-repeat;
}
.section-quemsomos .wrap{ width:100%; }
.quemsomos-inner{ max-width: 720px; margin-left:auto; margin-right:0; }
.valores-grid{ grid-template-columns: repeat(4,1fr); gap:16px; margin-top:32px; }
.valor-item{
  display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:20px 18px;
  background: rgba(255,255,255,.02);
}
.valor-icon{
  width:52px; height:52px; border-radius:12px; background: var(--green);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.valor-icon svg{ width:24px; height:24px; }
.valor-item p{ margin:0; color:#fff; font-weight:700; font-size:.92rem; line-height:1.35; }

/* ---------- Depoimentos ---------- */
.section-depoimentos{
  background-color:#FEFEFE;
  min-height:100vh;
  display:flex;
  align-items:center;
}
.depoimentos-inner{ width:100%; }
.depoimentos-grid{ margin-top:8px; gap:24px; }
.depoimento-slot{
  aspect-ratio: 9/16; background: var(--graphite); border-radius:20px; overflow:hidden;
}
.depoimento-slot iframe{ width:100%; height:100%; border:none; display:block; }

/* ---------- Formulário final ---------- */
.section-form-final{
  min-height:100vh;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(15,59,58,.35) 0%, rgba(15,59,58,.15) 40%, rgba(15,59,58,.1) 60%, rgba(15,59,58,.4) 100%),
    url('images/aperto-maos.webp') center 42% / cover no-repeat;
  background-color: var(--dark-green);
}
.form-final-text h2{ color:#fff; }
.form-final-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap:48px; align-items:center; width:100%; }
.form-final-grid .lead-card{ max-width:460px; margin-left:auto; padding:30px; }
.form-final-text .section-lead-dark{ margin-bottom:22px; }

/* ---------- FAQ ---------- */
.section-faq{ padding:140px 0 160px; }
.faq-grid{ display:grid; grid-template-columns: .9fr 1.1fr; gap:56px; align-items:start; }
.faq-item{ border:1px solid var(--line); border-radius:8px; padding:20px 24px; margin-bottom:22px; }
.faq-item[open]{ border-color: var(--green); }
.faq-item summary{ cursor:pointer; font-weight:600; color: var(--dark-green); list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; float:right; color: var(--green); font-size:1.2rem; }
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ margin-top:12px; margin-bottom:0; font-size:.93rem; }
.faq-side{ position:sticky; top:110px; }
.faq-side .btn{ margin-top:8px; }

/* ---------- Footer ---------- */
.site-footer{ background: var(--dark-green); color:#CFE3DE; padding-top:56px; }
.footer-inner{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-col h4{ color:#fff; font-family:var(--body-font); font-size:.85rem; margin-bottom:14px; }
.footer-col p, .footer-col a{ display:block; color:#B9CCC7; font-size:.88rem; margin-bottom:8px; }
.footer-col a:hover{ color:#fff; }
.logo-footer{ margin-bottom:16px; }
.logo-img-footer{ height:56px; }
.footer-col-brand p{ max-width:34ch; }
.footer-legal{ padding: 20px 24px; }
.footer-legal p{ font-size:.78rem; color:#8FA8A2; margin:0; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding: 18px 24px 26px; border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom p{ font-size:.78rem; color:#8FA8A2; margin:0; }
.footer-bottom-links a{ display:inline; color:#8FA8A2; }

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

/* Tablet */
@media (max-width: 980px){
  .wrap{ padding: 0 32px; }
  .section{ padding: 56px 0; }
  .section-tight{ padding: 20px 0; }
  .section-faq{ padding: 72px 0 88px; }
  .header-inner{ height:74px; }
  .logo-img{ height:38px; }

  .hero{ padding: 48px 0 56px; background-image: linear-gradient(180deg, rgba(246,250,249,.55) 0%, rgba(246,250,249,.9) 62%, rgba(246,250,249,.96) 100%), url('images/hero-mulher.webp'); background-position: top center; }
  .hero-grid{ grid-template-columns: 1fr; gap:32px; }
  .hero-form-wrap{ justify-self:stretch; }
  .hero-form-wrap .lead-card{ max-width:none; margin-left:0; }
  .destino-section{ background-image: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.85) 55%, rgba(255,255,255,.55) 100%), url('images/dinheiro-planos.webp'); background-position: top center; }
  #situacao{ min-height:auto; padding-top:72px; padding-bottom:72px; }
  .section-quemsomos{ min-height:auto; background-image: linear-gradient(180deg, rgba(15,59,58,.35) 0%, rgba(15,59,58,.8) 65%), url('images/predio.webp'); background-position: top center; }
  .quemsomos-inner{ max-width:none; }
  .section-depoimentos{ min-height:auto; }
  .form-final-grid{ grid-template-columns:1fr; }
  .section-form-final{ min-height:auto; background-image: linear-gradient(180deg, rgba(15,59,58,.4) 0%, rgba(15,59,58,.15) 55%, rgba(15,59,58,.45) 100%), url('images/aperto-maos.webp'); background-position: top center; }
  .faq-grid{ grid-template-columns:1fr; }
  .faq-side{ position:static; }
  .como-funciona-grid{ grid-template-columns:1fr; gap:36px; }
  .como-funciona-intro{ position:static; }
  .grid-4{ grid-template-columns: repeat(2,1fr); }
  .valores-grid{ grid-template-columns: repeat(2,1fr); }
  .footer-inner{ grid-template-columns: 1fr 1fr; }
}

/* Mobile */
@media (max-width: 720px){
  html, body{ overflow-x:hidden; }

  .wrap{ padding: 0 20px; }
  .section{ padding: 64px 0; }
  .section-tight{ padding: 24px 0; }
  .section-faq{ padding: 64px 0 72px; }
  .hero-grid{ gap:20px; }
  .form-final-grid{ gap:20px; }

  h1{ font-size: 2rem; line-height:1.15; }
  .h1-desktop{ display:none; }
  .h1-mobile{ display:inline; }
  h2{ font-size: 1.75rem; line-height:1.2; }
  h3{ font-size: 1rem; line-height:1.3; }
  .eyebrow{ font-size:.72rem; }
  .section-lead, .section-lead-dark, .hero-sub{ font-size:1rem; }

  /* Cabeçalho: só logo + botão, sem menu hambúrguer */
  .header-inner{ display:flex; justify-content:space-between; align-items:center; height:68px; }
  .logo-img{ height:40px; }
  .main-nav{ display:none; }
  .nav-toggle{ display:none; }
  .btn-cta-nav{ padding:8px 14px; font-size:.76rem; }

  /* Fundos específicos para mobile (imagens verticais, feitas sob medida) */
  .hero{
    background-image:
      linear-gradient(180deg, rgba(246,250,249,.55) 0%, rgba(246,250,249,.25) 35%, rgba(246,250,249,.7) 100%),
      url('images/hero-mulher-mobile.webp');
    background-position: top center;
  }
  .destino-section{
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.15) 35%, rgba(255,255,255,.6) 100%),
      url('images/dinheiro-planos-mobile.webp');
    background-position: top center;
  }
  .section-quemsomos{
    background-image:
      linear-gradient(180deg, rgba(15,59,58,.45) 0%, rgba(15,59,58,.88) 60%),
      url('images/predio-mobile.webp');
    background-position: top center;
  }
  .section-form-final{
    background-image:
      linear-gradient(180deg, rgba(15,59,58,.55) 0%, rgba(15,59,58,.28) 40%, rgba(15,59,58,.92) 100%),
      url('images/aperto-maos-mobile.webp');
    background-position: top center;
  }

  .hero{ padding: 64px 0 40px; }
  .lead-card{ padding:22px; border-radius:16px; gap:16px; }
  .lead-card h2{ font-size:1.15rem; }
  .field input, .field select, .field textarea{ min-height:50px; font-size:16px; padding-top:13px; padding-bottom:13px; }
  .btn-full{ min-height:54px; font-size:1rem; }

  #situacao{ padding-top:64px; padding-bottom:64px; }
  .situacao-card{ padding:24px 20px; }
  .situacao-label{ font-size:1.3rem; }
  .situacao-card h3{ font-size:1rem; }
  .situacao-card p{ font-size:.95rem; }

  .destino-text{ margin-bottom:32px; }
  .destino-card{ padding:22px 18px; }
  .destino-card p{ font-size:.95rem; }

  .como-funciona-intro .btn{ width:100%; justify-content:center; min-height:52px; display:none; }
  .timeline-step{ grid-template-columns: 44px 1fr; gap:16px; padding-bottom:40px; }
  .timeline-dot{ width:44px; height:44px; font-size:.92rem; }
  .timeline::before, .timeline-progress{ left:21px; }
  .timeline-content p{ font-size:.95rem; }

  .valores-grid{ grid-template-columns: 1fr; gap:12px; }
  .valor-item{ padding:16px; flex-direction:row; align-items:center; gap:14px; }
  .valor-icon{ width:42px; height:42px; flex-shrink:0; }
  .valor-icon svg{ width:20px; height:20px; }
  .valor-item p{ font-size:.95rem; }

  /* Vídeos de depoimentos viram carrossel horizontal no mobile */
  .depoimentos-grid{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    gap:14px; padding-bottom:10px; margin-top:20px; scroll-padding-left:20px;
  }
  .depoimento-slot{ flex:0 0 68%; scroll-snap-align:center; }

  .form-final-grid .lead-card{ max-width:none; margin-left:0; padding:22px; }
  .form-final-text h2{ font-size:1.5rem; }

  .faq-item{ padding:16px 18px; margin-bottom:16px; }
  .faq-item p{ font-size:.95rem; }
  .faq-side .btn{ width:100%; justify-content:center; min-height:52px; }

  .como-funciona-cta-mobile{ display:block; margin-top:8px; }
  .como-funciona-cta-mobile .btn{ width:100%; justify-content:center; min-height:52px; }
  .br-desktop-only{ display:none; }

  .grid-4{ grid-template-columns: 1fr; gap:16px; }
  .footer-inner{ grid-template-columns: 1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:8px; padding-top:64px; }
  .footer-copyright{ padding-top:10px; }
  .footer-bottom p{ font-size:.72rem; }
  .carousel-wrap{ padding:0 40px; }
  .carousel-item{ width:140px; height:76px; padding:10px 14px; }
}

/* Telas pequenas (320–399px) */
@media (max-width: 399px){
  .wrap{ padding: 0 20px; }
  h1{ font-size: 1.8rem; }
  h2{ font-size: 1.55rem; }
  .situacao-label{ font-size:1.15rem; }
  .depoimento-slot{ flex-basis: 80%; }
  .lead-card{ padding:18px; }
}

/* Telas maiores de celular (400–720px) */
@media (min-width: 400px) and (max-width: 720px){
  .wrap{ padding: 0 24px; }
}


