/* RESET */
* { margin:0; padding:0; box-sizing:border-box; font-family:system-ui, sans-serif; }
body { background:#f0f4f8; color:#1a1a1a; }

/* HERO */
.hero {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:40px 20px;
  background: linear-gradient(135deg,#0d2b52,#1b4f9c);
  color:#fff;
}
.hero h1 { font-size:2.2rem; margin-bottom:12px; animation:fadeUp 0.8s ease forwards;}
.hero p { font-size:1rem; margin-bottom:24px; opacity:0.9; animation:fadeUp 0.8s ease forwards; }

/* FORMULÁRIO */
.form-step { transition:all 0.3s ease; }
input { width:100%; padding:14px 14px 14px 14px; border-radius:12px; border:1px solid #ccc; transition: all 0.3s ease;}
.input-group { position:relative; margin-bottom:12px; }
.input-group label { position:absolute; left:14px; top:14px; color:#888; pointer-events:none; transition: all 0.3s ease;}
input:focus + label, input:not(:placeholder-shown) + label { top:-8px; left:12px; font-size:0.75rem; color:#ffb703; background:#fff; padding:0 4px; }

button { width:100%; padding:14px; border-radius:12px; border:none; font-weight:600; cursor:pointer; transition:all 0.3s ease;}
.btn-primary { background:#ffb703; color:#1a1a1a; box-shadow:0 4px 12px rgba(0,0,0,0.2);}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.25); }

/* Pulse effect */
.pulse { animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { transform:scale(1);} 50% { transform:scale(1.05);} }

/* HIDDEN STEP */
.hidden { display:none; }

/* TRUST ELEMENTS */
.trust { display:flex; justify-content:space-between; align-items:center; font-size:0.75rem; margin-top:16px; opacity:0.9; }
.trust img { width:24px; margin-right:6px; }

/* BENEFÍCIOS */
.benefits { padding:60px 20px; background:#f8f9fb; display:grid; grid-template-columns:1fr; gap:20px; }
.benefits .card { background:#fff; padding:24px; border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,0.1); text-align:center; transition: transform 0.3s ease; }
.benefits .card:hover { transform:translateY(-3px);}
.benefits .card img { width:60px; margin-bottom:12px; }

/* PROCESSO */
.process { padding:60px 20px; background:#fff; text-align:center;}
.process h2 { margin-bottom:40px; font-size:1.8rem; color:#0d2b52;}
.process .grid-3 { display:grid; grid-template-columns:1fr; gap:20px; }
.process .step { background:#f0f4f8; padding:24px; border-radius:16px; box-shadow:0 6px 18px rgba(0,0,0,0.1); transition: transform 0.3s ease; }
.process .step:hover { transform:translateY(-3px);}
.process .step img { width:60px; margin-bottom:12px;}
.process .step h3 { font-size:1.5rem; color:#ffb703; margin-bottom:12px; }

/* FOOTER */
.footer { padding:40px 20px; text-align:center; background:#0d2b52; color:#fff;}
.footer a { color:#ffb703; text-decoration:none; margin:0 5px;}
.footer a:hover { text-decoration:underline; }

/* GRID RESPONSIVO */
@media(min-width:768px){
  .benefits, .process .grid-3 { grid-template-columns:repeat(3,1fr); }
  h1 { font-size:2.8rem; }
  p { font-size:1.2rem; }
}

/* ANIMAÇÕES */
@keyframes fadeUp { 0% { opacity:0; transform:translateY(20px);} 100% { opacity:1; transform:translateY(0); } }
.fade-up { opacity:0; animation:fadeUp 0.8s ease forwards;}
.delay { animation-delay:0.3s; }
.delay-2 { animation-delay:0.6s; }
.delay-3 { animation-delay:0.9s; }

/* Scroll Animations */
.animate-on-scroll { opacity:0; transform: translateY(30px); transition: all 0.6s ease-out; }
.animate-on-scroll.visible { opacity:1; transform:translateY(0);}
