
:root{
  --bg:#f5f6f7;
  --surface:#ffffff;
  --surface-alt:#f2f6fb;
  --text:#0f1a2a;
  --muted:#5e6a7a;
  --primary:#002038;
  --accent:#6abfff;
  --border:#e5ecf4;
  --ring:#d7e5f5;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.7}
img{max-width:100%;height:auto}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1160px;margin:0 auto;padding:0 20px}

.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:42px}
.brand .name{font-weight:800;letter-spacing:.2px;color:var(--text)}
.nav a{margin-left:18px;font-weight:600;color:#3b4a5c}
.nav a:hover{color:var(--primary)}

.hero{padding:84px 0 56px;background:linear-gradient(180deg,#ffffff, var(--surface-alt));border-bottom:1px solid var(--border)}
.hero h1{font-size:42px;line-height:1.2;margin:0 0 12px;color:#0a1321}
.hero p.lead{font-size:18px;color:#4b5a6b;max-width:760px}
.badge{display:inline-block;background:#e9f2fc;color:#1d3557;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--ring);margin-bottom:10px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid var(--border);font-weight:700;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-outline{background:#fff;color:var(--primary)}
.kpis{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}
.kpi{background:#fff;padding:12px 14px;border-radius:10px;border:1px solid var(--border)}
.kpi strong{font-size:20px;display:block}

.section{padding:60px 0;border-top:1px solid var(--border)}
.section h2{margin:0 0 18px;font-size:28px}
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--surface);padding:22px;border-radius:14px;border:1px solid var(--border)}
.card h3{margin:0 0 8px}
ul.clean{padding-left:18px;margin:0}
ul.clean li{margin:6px 0}

.pricing{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.price-card{background:var(--surface);padding:24px;border-radius:16px;border:1px solid var(--border)}
.price-card .value{font-size:32px;font-weight:800;margin:8px 0;color:var(--primary)}
.price-card .foot{color:var(--muted);font-size:13px;margin-top:8px}
.price-card .btn{width:100%;text-align:center;margin-top:12px}

.testi{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.quote{background:var(--surface);padding:18px;border-radius:12px;border:1px solid var(--border)}
.note{font-size:12px;color:var(--muted)}

.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.form fieldset{border:0;padding:0;margin:0}
.form label{display:block;margin:8px 0 6px}
.form input,.form textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text)}
.form textarea{min-height:120px;resize:vertical}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .submit{margin-top:14px}

.footer{padding:28px 0;color:#5a6777;border-top:1px solid var(--border);background:#fff}
.footer small{display:block;margin-top:8px}

.lgpd{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;background:#ffffff;border:1px solid var(--border);color:var(--text);padding:14px;border-radius:12px;display:none;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.lgpd.show{display:block}
.lgpd .row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.lgpd .row p{margin:0;color:var(--muted)}
.lgpd .row .actions{display:flex;gap:8px}

@media (max-width:980px){
  .grid-3{grid-template-columns:1fr}
  .grid-2,.pricing,.testi{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .hero h1{font-size:34px}
}


body {
  position: relative;
  z-index: 0;
}




body {
  position: relative;
  z-index: 0;
}




body {
  position: relative;
  z-index: 0;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("assets/logo.png") no-repeat center center;
  background-size: 600px auto; /* tamanho do logo central */
  opacity: 0.12; /* mais marcado */
  z-index: -1;
}

/* === Header visível e branding maior === */
.header {
  background: #ffffff;
  border-bottom: 2px solid #d1d9e6; /* borda mais grossa */
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
}
.header-inner {
  padding: 18px 20px;
}
.brand img {
  height: 64px; /* logo maior */
}
.brand .name {
  font-size: 1.25rem; /* nome mais visível */
  font-weight: 700;
  color: #0a2540; /* azul institucional */
}
@media (max-width: 980px) {
  .brand img { height: 52px; }
  .brand .name { font-size: 1.1rem; }
}

/* === Header visível e branding maior (final) === */
.header {
  background: #ffffff !important;
  border-bottom: 2px solid #d1d9e6 !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.08) !important;
}
.header-inner {
  padding: 18px 20px !important;
}
.brand img {
  height: 64px !important;
}
.brand .name {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #0a2540 !important;
}
@media (max-width: 980px) {
  .brand img { height: 52px !important; }
  .brand .name { font-size: 1.1rem !important; }
}


/* === Menu hambúrguer lateral à direita === */
.hamburger{
  margin-left:12px;
  font-size:22px;
  line-height:1;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
}
.nav{ display:none; } /* escondemos links do topo para usar o hambúrguer sempre */

.overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.35);
  backdrop-filter: blur(2px);
  z-index:60;
  display:block;
}
.overlay[hidden]{ display:none; }

.drawer{
  position:fixed; top:0; right:0; height:100vh; width:320px;
  background:#fff; border-left:1px solid var(--border);
  box-shadow:-10px 0 30px rgba(0,0,0,.12);
  transform:translateX(100%);
  transition:transform .25s ease;
  z-index:70;
  padding:20px;
}
.drawer.open{ transform:translateX(0); }
.drawer-close{
  position:absolute; top:10px; right:12px;
  font-size:28px; background:transparent; border:0; cursor:pointer;
}
.drawer-nav{ margin-top:40px; display:flex; flex-direction:column; gap:12px; }
.drawer-nav a{ font-weight:700; color:#0a2540; border-bottom:1px solid var(--border); padding:10px 0; }
