    :root{
      --bg:#0f172a;
      --bg-soft:#eeead6;
      --txt:#0b1220;
      --muted:#475569;
      --brand:#2563eb;
      --brand-2:#0ea5e9;
      --white:#fff;
      --card:#ffffff;
      --radius:16px;
      --shadow:0 10px 30px rgba(2,6,23,.12);
      --highlight:#cdad7d;
    }

    *{box-sizing:border-box; margin:0; padding:0}
    html,body{scroll-behavior:smooth; background:#ffffff; color:var(--txt)}
    body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height:1.6}

    /* Header */
    header{
      position:fixed; inset:0 0 auto 0; height:70px; background:rgba(15,23,42,.85);
      backdrop-filter:saturate(180%) blur(10px);
      display:flex; align-items:center; justify-content:center; z-index:1000;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .wrap{width:min(1120px, 92%); margin:0 auto}
    .nav{display:flex; align-items:center; justify-content:space-between; gap:24px; color:var(--white)}
    .brand{display:flex; align-items:center; gap:10px; color:var(--white); text-decoration:none; font-weight:800;}
    nav a{color:#e2e8f0; text-decoration:none; font-weight:600; padding:10px 12px; border-radius:10px; transition:.2s}
    nav a:hover{color:var(--white); background:rgba(255,255,255,.08)}
    .cta-group a{border:1px solid rgba(255,255,255,.22)}
    .menu{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
    .btn-login-header{color:var(--highlight); font-weight:700; text-decoration:none; padding:10px 14px; border:1px solid var(--highlight); border-radius:12px; transition:.2s}
    .btn-login-header:hover{background:var(--highlight); color:var(--bg)}

    /* Botão Hambúrguer */
    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
    }
    .hamburger span {
      width: 25px;
      height: 3px;
      background: white;
      border-radius: 3px;
    }

    /* Sections */
    section{padding:100px 0}
    h1,h2,h3{font-family:"Libre Baskerville", Georgia, serif}
    h1{font-size:clamp(28px, 4.5vw, 75px); color:var(--highlight); line-height:1.2; text-align:left;}
    h2{font-size:clamp(24px, 3.2vw, 36px); margin-bottom:16px}
    p.lead{font-size:18px; color:#cbd5e1; margin-top:12px}

    /* Hero */
    .hero{
      background:radial-gradient(1200px 600px at 50% -10%, rgba(37,99,235,.35), transparent 60%), var(--bg);
      color:var(--white);
      padding-top:140px;
      padding-bottom:96px;
      min-height:100vh; /* ocupa toda a altura da tela */
      display:flex;
      align-items:center;
    }
    .hero__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center}
    .cta{margin-top:22px; display:flex; gap:12px; flex-wrap:wrap}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border-radius:12px;
      font-weight:700; text-decoration:none; transition:.2s; border:1px solid transparent;
    }
    .btn--primary{background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:var(--white)}
    .btn--ghost{background:transparent; color:var(--white); border-color:rgba(255,255,255,.25)}

    /* Blocks */
    .section--soft{background:var(--bg-soft)}
    .grid{display:grid; gap:18px}
    .grid--4{grid-template-columns:repeat(4, 1fr)}
    .grid--3{grid-template-columns:repeat(3, 1fr)}
    .grid--2{grid-template-columns:repeat(2, 1fr)}
    .card{
      background:var(--card); border:1px solid #e6eaf0; border-radius:var(--radius); padding:18px; box-shadow:var(--shadow);
      text-align:left;
    }
    .muted{color:var(--muted)}

    /* FAQ */
    .faq{display:grid; gap:18px}
    .faq .card h3{margin-bottom:8px; color:var(--brand)}

    /* Contato */
    form{display:grid; gap:14px}
    input, textarea{
      width:100%; padding:16px 18px; border:1px solid #dbe0e7; border-radius:12px; font:inherit; outline:none;
    }
    textarea{min-height:150px; resize:vertical}
    button[type=submit]{cursor:pointer}
    #contato .grid {grid-template-columns:1fr 1fr;}
    @media(max-width:768px){
      #contato .grid {grid-template-columns:1fr;}
    }

    /* Footer */
    footer{padding:28px 0; background:var(--bg); color:#cbd5e1; text-align:center}

    /* WhatsApp */
    /*.whatsapp{
      position:fixed; right:18px; bottom:18px; width:56px; height:56px; border-radius:50%;
      background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center;
      font-size:26px; text-decoration:none; box-shadow:0 8px 22px rgba(37,211,102,.4); z-index:1000
    }*/


    /* Botão flutuante de dúvidas */
.duvidas-float{
  position:fixed;
  right:18px;
  bottom:18px;
  background:#4b3f93;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:22px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  line-height:1.1;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  z-index:1000;
  transition:.2s;
}

.duvidas-float:hover{
  transform:translateY(-2px);
  background:#3c3278;
}

.duvidas-icon{
  width:22px;
  height:22px;
  border:2px solid #fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.duvidas-float small{
  font-size:11px;
  font-weight:600;
}

    /* Responsivo */
    @media (max-width: 980px){
      .hero__grid{grid-template-columns:1fr}
      .grid--4{grid-template-columns:repeat(2, 1fr)}
      .grid--3{grid-template-columns:repeat(2, 1fr)}
      .steps{grid-template-columns:1fr}
      .testi{grid-template-columns:1fr}
      .menu{display:none; flex-direction:column; background:var(--bg); position:absolute; top:70px; left:0; right:0; padding:20px;}
      .menu.show{display:flex;}
      .hamburger{display:flex;}
    }


/* CSS novo para overlay do menu */
    @media (max-width: 980px){
  .menu {
    display: none;
    flex-direction: column;
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100vh; /* cobre a tela inteira */
    background: var(--bg);
    padding: 80px 20px; 
    z-index: 999;
    text-align: center;
  }
  .menu.show {
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  .hamburger {
    display: flex;
  }
}


/* Apenas para mobile */
@media (max-width: 950px) {
  .hero__content {
    text-align: right; /* título à direita */
  }

  .hero__content p.lead {
    text-align: center; /* subtítulo centralizado */
    font-size: 16px; /* ajustar tamanho se quiser */
    line-height: 1.5; /* espaçamento entre linhas */
    margin-top: 8px;
  }
}

  

/* Ajuste para celular */
@media (max-width: 768px) {
  .hero__grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .hero__logo {
    order: -1; /* logo vai para cima */
    margin-bottom: 20px;
  }
  .hero__content {
    order: 2; /* texto + botões vão abaixo */
  }
}
