:root{
  --azul:#3b5b78;
  --azul-escuro:#2b465e;
  --branco:#fff;
  --cinza-50:#f8fafc;
  --cinza-100:#f1f5f9;
  --cinza-200:#e2e8f0;
  --cinza-300:#cbd5e1;
  --cinza-500:#64748b;
  --preto:#1f2937;
  --raio:12px;
  --shadow:0 10px 24px rgba(43,70,94,.10);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;
  background:#fff;
  color:var(--preto);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

.container{max-width:1140px;margin:0 auto;padding:0 16px}
.section{padding:64px 0}

h1,h2,h3{color:var(--preto);margin:0 0 12px}
p{color:var(--preto);opacity:.92;line-height:1.6;margin:0 0 12px}
.lead{font-size:1.1rem}

.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:992px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}

.card{
  background:var(--branco);
  border:1px solid var(--cinza-300);
  border-radius:var(--raio);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.card-body{padding:14px 16px}

.kicker{
  color:var(--azul);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.85rem;
  font-weight:700;
  margin-bottom:8px;
}

.list{display:grid;gap:10px;margin:12px 0}
.list li{list-style:none;padding-left:22px;position:relative}
.list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  width:10px;height:10px;
  border-radius:999px;
  background:var(--azul);
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:10px;
  border:2px solid transparent;
  font-weight:600;
  cursor:pointer;
}
.btn-primary{background:var(--azul);color:#fff}
.btn-primary:hover{background:var(--azul-escuro)}
.btn-outline{background:transparent;color:var(--azul);border-color:var(--azul)}
.btn-outline:hover{background:rgba(59,91,120,.10)}
.btn-ghost{background:transparent;color:var(--azul)}
.btn-ghost:hover{background:var(--cinza-100)}
.icon{width:20px;height:20px}

.hr{height:1px;background:var(--cinza-300);margin:28px 0}
.notice{
  background:var(--cinza-100);
  border:1px dashed var(--cinza-300);
  padding:12px;
  border-radius:10px;
  color:var(--cinza-500);
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:#fff;
  border-bottom:1px solid var(--cinza-300);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
}
.brand{display:flex;align-items:center}
.brand img{height:40px;width:auto}

.nav{display:flex;align-items:center;gap:10px}
.nav .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border:1.5px solid var(--cinza-300);
  border-radius:999px;
  background:#fff;
  color:var(--preto);
  font-weight:600;
  transition:.2s;
}
.nav .pill:hover{
  border-color:var(--azul);
  box-shadow:0 0 0 3px rgba(59,91,120,.12);
}

.header-ctas{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:12px;
}
.icon-btn{
  width:42px;height:42px;
  border-radius:999px;
  border:1.5px solid var(--cinza-300);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  transition:.2s;
}
.icon-btn:hover{
  border-color:var(--azul);
  box-shadow:0 0 0 3px rgba(59,91,120,.12);
}
.icon-btn img{width:20px;height:20px}

.hamb{
  display:none;
  gap:8px;
  align-items:center;
  border:1px solid var(--cinza-300);
  border-radius:10px;
  padding:8px 12px;
  background:#fff;
}
.hamb span{display:block;width:20px;height:2px;background:var(--preto)}
@media(max-width:992px){.nav{display:none}.hamb{display:flex}}

/* MOBILE MENU */
.mobile-menu{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none}
.mobile-sheet{
  position:absolute;
  right:0;top:0;
  height:100%;
  width:min(86%,360px);
  background:#fff;
  box-shadow:-10px 0 30px rgba(0,0,0,.15);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.mobile-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mobile-links a{
  display:block;
  padding:10px 14px;
  margin:6px 0;
  border:1.5px solid var(--cinza-300);
  border-radius:999px;
  color:var(--preto);
  background:#fff;
}
.mobile-links a:hover{
  border-color:var(--azul);
  background:var(--cinza-100);
}
.mobile-ctas{display:flex;gap:10px}
.mobile-ctas .icon-btn{flex:0 0 44px}
.mobile-close{
  background:#fff;
  border:1px solid var(--cinza-300);
  border-radius:10px;
  padding:8px 10px;
}

/* HERO */
.hero{
  padding:80px 0;
  background:linear-gradient(180deg,var(--cinza-100),#fff);
}
.hero-inner{
  display:grid;
  gap:28px;
  grid-template-columns:1.2fr .8fr;
  align-items:center;
}
@media(max-width:992px){
  .hero-inner{grid-template-columns:1fr}
}
.hero img{
  border-radius:16px;
  border:1px solid var(--cinza-300);
}

/* HOME LOGO */
.home-hero-logo{
  width:520px;
  max-width:100%;
  display:block;
  margin:0 auto 24px;
}
@media(max-width:992px){
  .home-hero-logo{width:380px;}
}
@media(max-width:640px){
  .home-hero-logo{width:300px;}
}

/* FLOATING WHATSAPP */
.whats-fab{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:998;
  background:#25d366;
  color:#fff;
  border-radius:999px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.whats-fab img{width:20px;height:20px}

/* FOOTER */
.site-footer{
  background:var(--cinza-50);
  border-top:1px solid var(--cinza-300);
  padding:32px 0;
  margin-top:48px;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.small{color:var(--cinza-500);font-size:.92rem}

/* Safety */
html, body{overflow-x:hidden;}
