:root{
  --blue:#2E3192;
  --red:#E53935;
  --text:#111827;
  --muted:#4B5563;
  --line:#E5E7EB;
  --bg:#FFFFFF;
  --soft:#F5F7FA;
  --shadow:0 10px 26px rgba(0,0,0,.08);
  --r:14px;
  --r2:18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(1100px, 92vw);margin:0 auto}
.muted{color:var(--muted)}
.small{font-size:.92rem}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.8rem 1rem;border-radius:10px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:900;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.primary{border:none;background:var(--red);color:#fff}
.btn.blue{border:none;background:var(--blue);color:#fff}
.btn.ghost{background:transparent;border:1px solid rgba(0,0,0,.12)}

.header{
  position:sticky;top:0;z-index:50;
  background:#fff;border-bottom:1px solid var(--line);
}
.header .bar{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.6rem 0;
}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand img{height:44px;width:auto}
.brand strong{display:block;color:var(--blue);letter-spacing:.2px}
.brand span{display:block;color:var(--muted);font-size:.86rem;margin-top:2px}
.menu{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.menu a{
  text-decoration:none;font-weight:900;color:var(--blue);
  padding:.45rem .65rem;border-radius:999px;
}
.menu a:hover{background:var(--soft);color:var(--red)}
.menu a.cta{background:var(--red);color:#fff;border-radius:10px}
.menu a.cta:hover{filter:saturate(1.05) contrast(1.02);background:var(--red)}
.menu-toggle{display:none}
.mobile{display:none;border-top:1px solid var(--line);padding:.55rem 0}
.mobile a{display:block;padding:.6rem 0;text-decoration:none;font-weight:900;color:rgba(0,0,0,.78)}

.hero{
  padding:1.1rem 0 .8rem;
  background:linear-gradient(180deg,#fff,var(--soft));
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.1rem;align-items:center}
.kicker{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.32rem .7rem;border-radius:999px;
  border:1px solid rgba(46,49,146,.18);
  background:rgba(46,49,146,.06);
  font-weight:900;color:var(--blue);
}
h1{font-size:clamp(1.6rem, 3.2vw, 2.35rem);line-height:1.12;margin:.45rem 0 .45rem;letter-spacing:-.4px}
.lead{color:rgba(0,0,0,.72);margin:0}
.cta-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.85rem}

.hero-card{
  border-radius:var(--r2);border:1px solid rgba(0,0,0,.10);
  background:#fff;box-shadow:var(--shadow);overflow:hidden
}
.hero-card .img{aspect-ratio:16/9;max-height:200px}
.hero-card .img img{width:100%;height:100%;object-fit:cover}
.hero-card .body{padding:.9rem}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.kpi{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:.6rem .7rem;background:var(--soft)}
.kpi b{display:block}
.kpi small{color:rgba(0,0,0,.62)}

.section{padding:1.2rem 0}
.section.alt{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.65rem}
.section-title h2{margin:0;color:var(--blue);letter-spacing:-.2px;font-size:clamp(1.25rem, 2.2vw, 1.75rem)}
.section-title p{margin:0;color:rgba(0,0,0,.68)}

.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:.85rem}
.card{grid-column:span 4;border:1px solid rgba(0,0,0,.10);border-radius:var(--r);background:#fff;padding:.9rem;box-shadow:0 10px 24px rgba(0,0,0,.05)}
.card .icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(46,49,146,.08);color:var(--blue);font-weight:900;margin-bottom:.55rem}
.card h3{margin:.2rem 0 .35rem}
.card p{margin:0;color:rgba(0,0,0,.66)}

.split{display:grid;grid-template-columns:45% 55%;gap:.9rem;align-items:center}
.photo{height:180px;border-radius:var(--r2);overflow:hidden;border:1px solid rgba(0,0,0,.10);background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.05)}
.photo img{width:100%;height:100%;object-fit:cover}
.box{border-radius:var(--r2);border:1px solid rgba(0,0,0,.10);background:#fff;padding:1rem;box-shadow:0 10px 24px rgba(0,0,0,.05)}
.list{margin:.5rem 0 0;padding-left:1.05rem;color:rgba(0,0,0,.72)}
.list li{margin:.3rem 0}

.form{display:grid;gap:.65rem;margin-top:.75rem}
label{font-weight:900;font-size:.92rem;color:rgba(0,0,0,.80)}
input,textarea,select{
  width:100%;padding:.85rem .9rem;border-radius:12px;border:1px solid rgba(0,0,0,.14);
  background:#fff;color:#111;outline:none
}
textarea{min-height:110px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:rgba(46,49,146,.55);box-shadow:0 0 0 4px rgba(46,49,146,.10)}

.footer{padding:1.6rem 0;border-top:1px solid var(--line);background:#fff}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.footer-card{border:1px solid rgba(0,0,0,.10);border-radius:var(--r2);padding:1rem;background:var(--soft)}
.fine{color:rgba(0,0,0,.62);font-size:.92rem}

.whats{
  position:fixed;right:16px;bottom:16px;z-index:60;
  padding:.8rem 1rem;border-radius:999px;
  background:#25D366;color:#0b1220;font-weight:900;
  box-shadow:0 16px 36px rgba(0,0,0,.18);
  text-decoration:none;
}

@media (max-width:900px){
  .menu{display:none}
  .menu-toggle{display:inline-flex;padding:.55rem .8rem;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#fff;font-weight:900}
  .mobile{display:none}
  .hero-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .split{grid-template-columns:1fr}
  .photo{height:160px}
  .hero-card .img{max-height:180px}
  .kpis{grid-template-columns:1fr 1fr}
  .card{grid-column:span 12}
}


/* AJUSTE DE ESCALA / ZOOM GERAL DO LAYOUT */
html{
  font-size:15px !important;
}

body{
  overflow-x:hidden !important;
}

.container{
  width:min(1180px,90vw) !important;
}

/* Header mais compacto */
.header .bar,
.bar{
  padding:.55rem 0 !important;
}

.brand img{
  height:44px !important;
}

.brand strong{
  font-size:1rem !important;
}

.brand span{
  font-size:.78rem !important;
}

.menu a{
  font-size:.92rem !important;
  padding:.45rem .65rem !important;
}

.menu .cta{
  padding:.65rem 1rem !important;
}

/* Hero menos ampliado */
.hero{
  padding:1.65rem 0 1.45rem !important;
}

.hero-grid{
  gap:1.45rem !important;
}

h1{
  font-size:clamp(1.85rem,3.25vw,3.05rem) !important;
  line-height:1.08 !important;
  margin:.65rem 0 .55rem !important;
}

.lead{
  font-size:.98rem !important;
  max-width:610px !important;
}

.kicker{
  font-size:.76rem !important;
  padding:.35rem .75rem !important;
}

.hero-card .img{
  height:270px !important;
}

.hero-card .body{
  padding:.75rem !important;
}

.kpi{
  padding:.6rem !important;
}

.kpi b{
  font-size:.92rem !important;
}

.kpi small{
  font-size:.78rem !important;
}

.hero-features{
  margin-top:1rem !important;
  gap:.45rem !important;
}

.hero-features strong{
  font-size:.82rem !important;
}

.hero-features small{
  font-size:.76rem !important;
}

/* Seções mais proporcionais */
.section{
  padding:2.4rem 0 !important;
}

.photo img{
  height:280px !important;
}

/* Rodapé: banner com escala menor e sem corte */
.footer{
  background:#06203D !important;
  color:#fff !important;
  overflow:visible !important;
  padding-top:0 !important;
}

.footer-brand-banner{
  width:100% !important;
  background:#06203D !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  padding:18px 0 20px !important;
  margin:0 !important;
  overflow:visible !important;
  position:relative !important;
  z-index:1 !important;
  min-height:auto !important;
}

.footer-brand-banner img{
  display:block !important;
  width:92% !important;
  max-width:1320px !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  transform:none !important;
}

.footer-grid{
  position:relative !important;
  z-index:2 !important;
  margin-top:0 !important;
  padding-top:26px !important;
  clear:both !important;
}

.footer .box,
.footer-card{
  margin-top:0 !important;
  position:relative !important;
}

/* Esconde implementações antigas de logo separadas */
.footer-brands,
.brand-logos,
.real-logos,
.brand-logo{
  display:none !important;
}

.whats{
  transform:scale(.92) !important;
  transform-origin:right bottom !important;
}

@media(max-width:980px){
  .container{
    width:min(1120px,92vw) !important;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
  }

  .hero-card .img,
  .photo img{
    height:auto !important;
  }

  .footer-brand-banner img{
    width:100% !important;
  }
}

@media(max-width:768px){
  html{
    font-size:14.5px !important;
  }

  .footer-brand-banner{
    padding:16px 0 18px !important;
  }

  .footer-brand-banner img{
    width:125% !important;
    max-width:none !important;
    transform:translateX(-10%) !important;
  }

  .footer-grid{
    padding-top:24px !important;
  }
}

@media(max-width:640px){
  h1{
    font-size:2rem !important;
  }

  .footer-brand-banner img{
    width:155% !important;
    transform:translateX(-18%) !important;
  }
}
