:root{
  --blue:#003F90;
  --yellow:#FFC300;
  --slate-700:#334155;
  --slate-600:#475569;
  --white-5:rgba(255,255,255,.05);
  --white-10:rgba(255,255,255,.10);
  --white-15:rgba(255,255,255,.15);
  --black-5:rgba(0,0,0,.05);
}
html, body {
  margin: 0;
  padding: 0;
}
.divider {
  width: 100%;
  height: 2px;
  background: #eee; /* cor clara e neutra */
  margin: 40px 0;
}
*{box-sizing:border-box}
html,body{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,Ubuntu,'Helvetica Neue',sans-serif;color:#0f172a;background:#fff}
a{color:inherit}
img{max-width:100%;display:block}
/* layout */
.container{max-width:1152px;margin:0 auto;padding:0 16px}
.row{display:flex}
.column{display:flex;flex-direction:column}
.between{justify-content:space-between}
.center{justify-content:center}
.ai-center{align-items:center}
.wrap{flex-wrap:wrap}
.gap-4{gap:10px}
.gap-8{gap:20px}
.gap-12{gap:12px}
.gap-16{gap:16px}
.gap-24{gap:24px}
.py-12{padding-top:12px;padding-bottom:12px}
.py-40{padding-top:40px;padding-bottom:40px}
.py-48{padding-top:48px;padding-bottom:48px}
.py-56{padding-top:56px;padding-bottom:56px}
.mt-8{margin-top:8px}
.mt-12{margin-top:12px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mt-32{margin-top:32px}
.mb-12{margin-bottom:12px}
.pt-16{padding-top:16px}
/* typography */
.white{color:#fff}
.slate-700{color:var(--slate-700)}
.slate-600{color:var(--slate-600)}
.op-85{opacity:.85}
.op-80{opacity:.8}
.op-70{opacity:.7}
.op-90{opacity:.9}
.fs-12{font-size:12px}
.fs-14{font-size:14px}
.fs-18{font-size:18px}
.fw-700{font-weight:700}
.lh-120{line-height:1.2}
.h2{font-size:28px;font-weight:800}
.display{font-size:40px;font-weight:800;line-height:1.15}
.max-520{max-width:520px}
.tc{text-align:center}
/* components */
.header{position:sticky;top:0;z-index:100;background:var(--blue);border-bottom:1px solid var(--white-10)}
.menu a{color:#fff;text-decoration:none;margin:0 10px;font-weight:600;opacity:.9}
.menu a:hover{opacity:1}
.logo{height:40px}
.bg-white-5{background:var(--white-5)}
.p-4{padding:4px}
.br-8{border-radius:8px}
.br-16{border-radius:16px}
.b1{border:1px solid var(--black-5)}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.04)}
.btn-white{background:#fff;color:#111827;padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.btn-white:hover{filter:brightness(.96)}
.btn-outline{border:1px solid var(--white-15);color:#fff;padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700}
.btn-ghost{border:1px solid #cbd5e1;padding:10px 16px;border-radius:12px;text-decoration:none;color:#0f172a;font-weight:700}
.btn-blue{background:var(--blue);color:#fff;border:none;padding:12px 18px;border-radius:12px;font-weight:700}
.link-underline{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pill{padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.05);font-size:12px;font-weight:600}
.hero{background:var(--blue)}
.hero-box{border:1px solid var(--white-15);border-radius:24px;display:flex;align-items:center;justify-content:center;min-height:260px;background:rgba(255,255,255,.06)}
.card{background:#fff;border:1px solid var(--black-5);border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.img{width:100%}
.box-muted{background:#f1f5f9;border:1px solid rgba(0,0,0,.05);border-radius:16px;display:flex;align-items:center;justify-content:center;min-height:220px;color:#64748b}
.stats .stat{font-size:32px;font-weight:800;color:var(--yellow)}
.footer{background:var(--blue)}
.links{list-style:none;margin:0;padding:0}
.links li{margin:6px 0}
.links a{color:#fff;text-decoration:none;opacity:.85}
.links a:hover{opacity:1}
.bt-white-15{border-top:1px solid var(--white-15)}
/* grids */
.grid-2{display:grid;grid-template-columns:repeat(1,1fr)}
.grid-3{display:grid;grid-template-columns:repeat(1,1fr)}
.grid-4{display:grid;grid-template-columns:repeat(1,1fr)}
.gap-12{gap:12px}
.gap-16{gap:16px}
.gap-24{gap:24px}
/* responsive */
@media (min-width:768px){
  .hide-md{display:block}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1024px){
  .grid-4{grid-template-columns:repeat(4,1fr)}
}
/* --- WHATSAPP FLOAT --- */
.whatsapp-float {
    position: fixed; bottom: 30px; right: 30px; width: 60px; height: 60px; background-color: #25D366;
    color: #FFF; border-radius: 50%; text-align: center; font-size: 2rem;
    line-height: 60px; box-shadow: 2px 2px 10px rgba(0,0,0,0.2); z-index: 100;
    transition: transform 0.3s;
}
.whatsapp-float:hover { transform: scale(1.1); }
/* formulário */
.form-grid label{display:block;font-size:14px;font-weight:600}
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;color:#0f172a;background:#fff;
}
.logo-block {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo-img {
  height: 80px; /* aumenta qualidade visual */
  margin-bottom: 6px;
}

.logo-text {
  font-family: 'Montserrat', sans-serif; /* fonte profissional */
  font-weight: 600;
  font-size: 10px;
  color: #fff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.flex-1{flex:1}
/* estrelas */
.stars .star{display:inline-block}

body {
  font-family: 'Lato', sans-serif;
  color: #0f172a;
  margin: 0;
  padding: 0;
}

 h2, h3, .h2, .fw-700 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--blue);
}

.section h2, .h2 {
  text-align: center;
  font-size: 32px;
  font-weight: 800;
  position: relative;
  margin-bottom: 32px;
}

.section h2::after, .h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: var(--yellow);
  margin: 12px auto 0;
  border-radius: 2px;
}

/* Hover em cards */
.card {
  transition: transform 0.3s, box-shadow 0.3s;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/* Fade-in ao rolar */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Divisor elegante */
.divider {
  height: 3px;
  background: linear-gradient(to right, transparent, var(--blue), transparent);
  margin: 60px 0;
  border-radius: 2px;
}
