:root{
  --azul:#2E3192; --azul-esc:#242777; --azul-mais:#191b52; --verm:#ED1C24;
  --txt:#12142b; --mut:#6b7280; --bd:#e6e8ef; --bg:#fff; --cinza:#f5f6fa;
  --zap:#25D366;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--txt);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}

/* revelacao suave */
.revela{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.revela.visivel{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.revela{opacity:1;transform:none;transition:none}}

/* topo */
.topo{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;
  padding:11px 24px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--bd);flex-wrap:wrap}
.marca img{height:42px;width:auto}
.topo nav{display:flex;gap:20px;margin-left:auto;font-size:14.5px;font-weight:500}
.topo nav a{text-decoration:none;opacity:.72}
.topo nav a:hover{opacity:1;color:var(--azul)}
.btn-topo{background:var(--zap);color:#fff;text-decoration:none;padding:9px 17px;
  border-radius:8px;font-size:14px;font-weight:650;white-space:nowrap}

/* capa */
.capa{position:relative;background:
  radial-gradient(900px 420px at 88% -10%, rgba(237,28,36,.28), transparent 60%),
  linear-gradient(155deg,var(--azul) 0%,var(--azul-esc) 55%,var(--azul-mais) 100%);
  color:#fff;padding:70px 24px 84px;overflow:hidden}
.capa .dentes{position:absolute;left:0;right:0;bottom:0;height:52px;
  background:repeating-linear-gradient(135deg,#fff 0 2px,transparent 2px 26px);
  opacity:.07;pointer-events:none}
.capa-grade{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;
  gap:52px;align-items:center;position:relative}
.olho{text-transform:uppercase;letter-spacing:2.4px;font-size:11.5px;font-weight:700;
  opacity:.72;margin-bottom:15px}
.capa h1{font-size:clamp(33px,4.8vw,55px);line-height:1.07;letter-spacing:-1.5px;font-weight:800}
.capa h1 em{font-style:normal;color:#9b9dff}
.sub{margin-top:19px;font-size:clamp(15.5px,1.7vw,18px);max-width:520px;opacity:.9}
.acoes{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.capa-foto{position:relative;border-radius:18px;overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.14)}
.capa-foto img{width:100%;height:auto;display:block}
.capa-foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;
  font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}

.btn{display:inline-block;text-decoration:none;font-weight:650;border-radius:10px;
  padding:13px 24px;background:var(--verm);color:#fff;transition:transform .12s,filter .12s}
.btn:hover{filter:brightness(1.09);transform:translateY(-1px)}
.btn.grande{padding:16px 30px;font-size:16.5px}
.btn.vazio{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.38)}
.btn.zap{background:var(--zap)}

/* numeros */
.numeros{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
  padding:32px 24px;border-bottom:1px solid var(--bd);background:var(--cinza)}
.numeros div{text-align:center;padding:0 26px}
.numeros strong{display:block;font-size:33px;color:var(--azul);letter-spacing:-1.3px;line-height:1.1}
.numeros span{font-size:12.5px;color:var(--mut)}

/* blocos */
.bloco{max-width:1140px;margin:0 auto;padding:78px 24px}
.bloco.cinza,.bloco.azul,.bloco.escuro{max-width:none}
.bloco.cinza{background:var(--cinza)}
.bloco.cinza>*,.bloco.azul>*{max-width:1140px;margin-left:auto;margin-right:auto}
.rotulo{text-transform:uppercase;letter-spacing:2.2px;font-size:11.5px;font-weight:700;
  color:var(--verm);margin-bottom:10px}
.rotulo.claro{color:#ff8f94}
.bloco h2{font-size:clamp(25px,3.3vw,36px);letter-spacing:-1.1px;line-height:1.18;margin-bottom:13px}
.intro{color:var(--mut);font-size:16.5px;max-width:620px;margin-bottom:40px}
.intro.claro{color:rgba(255,255,255,.86)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:17px}
.cards article{background:#fff;border:1px solid var(--bd);border-radius:15px;padding:25px;
  transition:box-shadow .2s,transform .2s,border-color .2s}
.cards article:hover{box-shadow:0 12px 32px rgba(46,49,146,.11);transform:translateY(-3px);
  border-color:#cfd3e8}
.cards h3{font-size:18px;color:var(--azul);margin-bottom:8px;position:relative;padding-left:15px}
.cards h3::before{content:"";position:absolute;left:0;top:8px;width:5px;height:15px;
  background:var(--verm);border-radius:2px}
.cards p{font-size:14.5px;color:#4b5563}

/* galeria */
.galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.galeria figure{position:relative;border-radius:14px;overflow:hidden;background:#0d0f24;
  box-shadow:0 6px 22px rgba(18,20,43,.14)}
.galeria img{width:100%;height:270px;object-fit:cover;transition:transform .5s ease}
.galeria figure:hover img{transform:scale(1.05)}
.galeria figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;
  font-size:12.5px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.video{width:100%;max-width:820px;margin:26px auto 0;border-radius:14px;display:block;background:#000}

.lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:26px}
.lista h3{font-size:16.5px;margin-bottom:6px;color:var(--azul)}
.lista p{font-size:14.5px;color:#4b5563}

/* historia */
.bloco.escuro{background:linear-gradient(160deg,#181a3e,#0f1130);color:#fff}
.hist-grade{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;
  gap:52px;align-items:center}
.texto-claro{color:rgba(255,255,255,.82);font-size:16px;margin-bottom:15px}
.texto-claro strong{color:#fff}
blockquote{margin-top:26px;padding:26px 26px 26px 30px;border-left:4px solid var(--verm);
  background:rgba(255,255,255,.05);border-radius:0 14px 14px 0}
blockquote p{font-size:17px;font-style:italic;margin-bottom:11px;color:#fff}
blockquote cite{font-style:normal;font-size:13px;opacity:.65;font-weight:600}
.hist-foto{border-radius:16px;overflow:hidden;position:relative;
  box-shadow:0 20px 50px rgba(0,0,0,.45)}
.hist-foto img{width:100%;height:auto}
.hist-foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 15px 12px;
  font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}

/* contato */
.bloco.azul{background:linear-gradient(160deg,var(--azul),var(--azul-mais));color:#fff}
.contatos{display:grid;grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:26px;margin-top:44px}
.contatos span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;
  opacity:.58;margin-bottom:5px}
.contatos a{color:#fff;text-decoration:none;font-size:15px;line-height:1.5;
  border-bottom:1px solid rgba(255,255,255,.22)}
.contatos a:hover{border-color:#fff}

footer{background:#0d0f24;color:rgba(255,255,255,.48);padding:42px 24px;text-align:center;font-size:12.5px}
.logo-pe{height:38px;width:auto;margin:0 auto 16px;opacity:.8}

.zap-flut{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;
  border-radius:50%;background:var(--zap);display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 22px rgba(37,211,102,.48);transition:transform .15s}
.zap-flut:hover{transform:scale(1.08)}

@media (max-width:900px){
  .capa-grade,.hist-grade{grid-template-columns:1fr;gap:34px}
  .capa-foto{max-width:420px}
  .topo nav{display:none}
  .btn-topo{margin-left:auto}
  .capa{padding:52px 20px 66px}
  .bloco{padding:56px 20px}
  .numeros div{padding:0 13px}
  .numeros strong{font-size:27px}
  .galeria img{height:230px}
}