
:root {
  --blue-800:#0E4B74;
  --teal-400:#2CA6A4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#0b1b2a;background:#fff;line-height:1.6;}
a{text-decoration:none;color:inherit}
.container{width:min(1140px,90%);margin:auto}

/* Topbar / Nav */
header.topbar{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:14px 0;}
.brand .title{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--blue-800);letter-spacing:.05em;}
.brand .subtitle{font-size:13px;color:var(--teal-400);font-weight:700;margin-top:-4px;}
.nav a{margin-left:18px;font-weight:600;color:#163a52;position:relative;display:inline-block;padding:6px 0;}
.nav a.active{color:var(--teal-400);}
.nav a::after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;background:var(--teal-400);transition:.3s;}
.nav a:hover::after{width:100%;}

/* Hero */
.hero{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;height:650px;color:#fff;overflow:hidden;}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,75,116,.55),rgba(14,75,116,.15) 60%,rgba(14,75,116,0));}
.hero .content{position:relative;z-index:2;}
.hero h1{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:.05em;font-size:clamp(28px,5vw,52px);margin:0;}
.hero p{font-size:18px;color:#e5f4fa;max-width:680px;margin:12px auto 0;}

/* Sections / Cards */
.section{padding:80px 0;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media(max-width:900px){.grid-2{grid-template-columns:1fr;}}
.card{background:#f9fbfd;border-radius:12px;padding:24px;box-shadow:0 8px 24px rgba(13,63,99,.06);}

/* On-scroll animations */
.fade{opacity:0;transform:translateY(28px);transition:all .6s ease-out;}
.fade.visible{opacity:1;transform:none;}

/* Stats (counters) */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;text-align:center;margin:40px 0;}
.stat h3{font-size:42px;color:var(--blue-800);margin:0;}
.stat p{margin:0;color:#294255;}

/* Inline SVG charts */
.chart{width:100%;height:200px}
.chart line,.chart path{vector-effect:non-scaling-stroke}
.chart path{stroke:#2CA6A4;stroke-width:4;fill:none}

/* CTA banner */
.cta-banner{background:linear-gradient(135deg,var(--blue-800),var(--teal-400));color:#fff;text-align:center;padding:50px 20px;border-radius:10px;}
.cta-banner h2{font-family:'Montserrat',sans-serif;font-weight:700;margin-bottom:10px;}
.cta-banner a{display:inline-block;margin-top:10px;padding:12px 20px;background:#fff;color:var(--blue-800);font-weight:700;border-radius:8px;transition:.3s;}
.cta-banner a:hover{filter:brightness(0.92);}

/* Footer */
footer.footer{background:#0E4B74;color:#d2e8f4;padding:50px 0;margin-top:80px;}
footer .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;}
footer h4{color:#fff;font-family:'Montserrat',sans-serif;font-size:18px;margin-bottom:10px;}
footer a{color:#d2e8f4;display:block;margin:4px 0;}
footer a:hover{color:#2CA6A4}
footer .copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:26px;padding-top:10px;font-size:14px;color:#a8c8e0;}

.muted{color:#5a6a7a}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:18px}
.case-card{background:#f9fbfd;border:1px solid rgba(13,63,99,.08);border-radius:12px;padding:18px 18px 14px;box-shadow:0 8px 24px rgba(13,63,99,.06)}
.case-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.logo-fake{width:52px;height:52px}
.logo-fake svg{width:100%;height:100%}
.logo-fake circle,.logo-fake rect{fill:#0E4B7414;stroke:#0E4B7433;stroke-width:2}
.logo-fake text{fill:#0E4B74;font:700 26px/1 'Montserrat',sans-serif;text-anchor:middle}
.badge{display:inline-block;background:#2CA6A41A;color:#0E4B74;border:1px solid #2CA6A433;border-radius:999px;padding:3px 8px;font-weight:700;font-size:12px;letter-spacing:.02em}
.case-points{margin:10px 0 0 0;padding:0 0 0 18px}
.case-points li{margin:6px 0}


/* --- Form Styles (Contato / Faça Parte) --- */
form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

form label {
  font-weight: 600;
  color: #0b1b2a;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

form input,
form textarea,
form select {
  padding: 12px 14px;
  border: 1px solid rgba(14,75,116,.25);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  background: #fff;
  color: #0b1b2a;
  transition: all .25s ease;
  outline: none;
}

form input:focus,
form textarea:focus,
form select:focus {
  border-color: var(--teal-400);
  box-shadow: 0 0 0 3px rgba(44,166,164,.15);
}

form textarea {
  resize: vertical;
  min-height: 120px;
}

/* Botão moderno */
.btn-primary {
  background: linear-gradient(135deg, var(--blue-800), var(--teal-400));
  color: #fff;
  border: none;
  padding: 14px 22px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  font-size: 15px;
  transition: all .3s ease;
}

.btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(14,75,116,.15);
}

/* Organização dos campos */
.grid-2 label {
  flex: 1;
}

form select {
  appearance: none;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%230E4B74" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
}

/* Ajustes responsivos */
@media (max-width: 700px) {
  form {
    gap: 10px;
  }
  form input, form textarea, form select {
    font-size: 14px;
  }
}
