/* Estilos compartilhados pelas páginas públicas */
:root{
  --navy:#0B2545; --navy-2:#13315C; --blue:#1463F3; --blue-d:#0F4FC7; --ink:#14213D; --muted:#5B6B82;
  --line:#E3E8EF; --bg:#F4F7FB; --soft:#EEF4FE; --card:#FFFFFF;
  --green:#16A34A; --green-d:#12873D; --wa:#25D366; --red:#D92D20;
  --radius:16px; --shadow:0 24px 60px -24px rgba(11,37,69,.32);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
svg{flex:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.logo{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.logo img{display:block;height:auto}

/* rodapé */
footer{background:#081C36;color:rgba(255,255,255,.72);font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .8fr;gap:32px;padding:48px 0 36px}
.foot-grid p{margin-top:16px;max-width:280px;line-height:1.6}
.foot-grid h4{color:#fff;font-size:15px;font-weight:700;margin-bottom:14px}
.foot-grid ul{list-style:none;display:grid;gap:9px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{color:#fff}
.foot-contact li{display:flex;align-items:center;gap:10px}
.social{display:flex;gap:12px}
.social a{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center}
.social a:hover{background:rgba(255,255,255,.08)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0;font-size:13px}
.foot-bottom nav a{text-decoration:none;margin-left:8px}
.foot-bottom nav a:hover{color:#fff}

.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;width:58px;height:58px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(0,0,0,.4);transition:transform .2s}
.wa-float:hover{transform:scale(1.07)}

@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:520px){
  .wrap{padding:0 16px}
  header .logo img{width:118px}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;text-align:center}
}
