/* CJR ENGPRO — visual do site por páginas (E67, 21/10/2026)
   Fundo ÚNICO navy, sem grades/texturas; cabeçalho fixo com página ativa; barra de acessibilidade (A-/A/A+, contraste);
   cards suaves; vídeo no hero com som sob clique; rodapé institucional; WhatsApp flutuante e voltar ao topo.
   Carrega DEPOIS de site.css/extra.css e só vale dentro de .site.s2 (as páginas antigas continuam iguais). */

/* ---------- tokens: um só fundo ---------- */
.site.s2{
  --bg:#0F1F38; --bg-2:#0F1F38; --surface:#15274A; --surface-2:#1B3157; --surface-3:#21395F;
  --text:#F2F6FA; --muted:#B9C6D6; --subtle:#8FA1B8; --border:rgba(255,255,255,.09); --line:rgba(255,255,255,.16);
  --brand:#00A859; --brand-2:#058E39; --brand-soft:rgba(0,168,89,.14);
  --header:rgba(15,31,56,.86); --shadow:0 14px 40px rgba(0,0,0,.35); --radius:16px;
  font-family:'IBM Plex Sans',system-ui,sans-serif; font-size:var(--fs,16px); line-height:1.6;
  background:var(--bg); color:var(--text); min-height:100vh;
}
html[data-fonte="p"]{--fs:15px} html[data-fonte="m"]{--fs:16px} html[data-fonte="g"]{--fs:18.5px}
html[data-fonte="g"] .site.s2 h1{letter-spacing:-.3px}

/* SEM GRADES: qualquer seção que usava o papel milimetrado vira fundo liso */
.site.s2 .grid-bg, .site.s2 .palco, .site.s2 #em-acao, .site.s2 #contato, .site.s2 .faixa-cta, .site.s2 footer,
.site.s2 section, .site.s2 .destaques{background-image:none !important; background-color:var(--bg) !important}
.site.s2 .grid-bg::before, .site.s2 .grid-bg::after, .site.s2 .palco::before, .site.s2 .palco::after{display:none !important}

.site.s2 .wrap{max-width:1240px; margin:0 auto; padding:0 24px}
.site.s2 .pular{position:absolute; left:-9999px; top:8px; background:var(--brand); color:#0F1F38; padding:10px 14px; border-radius:8px; z-index:100; font-weight:700}
.site.s2 .pular:focus{left:12px}
.site.s2 h1,.site.s2 h2,.site.s2 h3{font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-.4px; color:var(--text); text-wrap:balance}
.site.s2 h2{font-size:clamp(28px,3.2vw,42px); line-height:1.1; margin:0 0 14px}
.site.s2 h3{font-size:20px; margin:0 0 8px}
.site.s2 p{color:var(--muted)}
.site.s2 a{color:var(--brand)}
.site.s2 .eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:2.5px; text-transform:uppercase; color:var(--brand); font-weight:500}
.site.s2 .eb-traco{width:32px; height:2px; background:var(--brand); display:inline-block}

/* ---------- barra de acessibilidade ---------- */
.site.s2 .acess{background:var(--acess-bg,#0A1628); border-bottom:1px solid var(--border); font-size:13px}
.site.s2 .acess-in{display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:36px; flex-wrap:wrap}
.site.s2 .acess-esq{display:flex; gap:18px}
.site.s2 .acess-esq a{color:var(--subtle); text-decoration:none}
.site.s2 .acess-esq a:hover{color:var(--text)}
.site.s2 .acess-dir{display:flex; align-items:center; gap:6px}
.site.s2 .abtn{min-width:34px; height:28px; padding:0 9px; border-radius:7px; border:1px solid var(--line); background:transparent; color:var(--muted); font:600 13px 'IBM Plex Sans',sans-serif; cursor:pointer}
.site.s2 .abtn:hover,.site.s2 .abtn.on{background:var(--surface-2); color:var(--text); border-color:var(--brand)}
.site.s2 .acess-zap{display:inline-flex; align-items:center; gap:6px; margin-left:8px; color:var(--brand); text-decoration:none; font-weight:600}

/* ---------- cabeçalho fixo ---------- */
.site.s2 .cab2{position:sticky; top:0; z-index:40; background:var(--header); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--border)}
.site.s2 .cab2-in{display:flex; align-items:center; gap:14px; min-height:74px}
.site.s2 .cab2-logo img{height:44px; width:auto; display:block}
.site.s2 .cab2-menu{display:flex; align-items:center; gap:0; margin-left:auto; flex-wrap:nowrap}
@media (max-width:1300px){.site.s2 .cab2-link svg{display:none}}
.site.s2 .cab2-link{position:relative; display:inline-flex; align-items:center; gap:6px; padding:9px 10px; border-radius:10px; color:var(--muted); text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap; transition:color .2s, background .2s}
.site.s2 .cab2-link svg{opacity:.75; transition:opacity .2s, transform .2s}
.site.s2 .cab2-link:hover{color:var(--text); background:var(--surface)}
.site.s2 .cab2-link:hover svg{opacity:1; transform:translateY(-1px)}
.site.s2 .cab2-link.ativo{color:var(--brand); background:var(--brand-soft)}
.site.s2 .cab2-link.ativo svg{opacity:1}
.site.s2 .cab2-link.ativo::after{content:""; position:absolute; left:13px; right:13px; bottom:4px; height:2px; border-radius:2px; background:var(--brand)}
.site.s2 .cab2-acoes{display:flex; align-items:center; gap:10px}
.site.s2 .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 18px; border-radius:10px; font-weight:700; text-decoration:none; font-size:15px; border:1.5px solid transparent; transition:transform .2s, box-shadow .2s, background .2s, border-color .2s; cursor:pointer}
.site.s2 .btn:hover{transform:translateY(-1px)}
.site.s2 .btn-entrar2{border-color:var(--line); color:var(--text); background:transparent}
.site.s2 .btn-entrar2:hover{border-color:var(--brand); color:var(--brand)}
.site.s2 .btn-cad2{background:var(--brand); color:#0F1F38}
.site.s2 .btn-cad2:hover{background:#13C46C; box-shadow:0 8px 22px rgba(0,168,89,.35)}
.site.s2 .btn-pri{background:var(--brand); color:#0F1F38}
.site.s2 .btn-pri:hover{background:#13C46C; box-shadow:0 8px 22px rgba(0,168,89,.35)}
.site.s2 .btn-sec{border-color:var(--line); color:var(--text); background:transparent}
.site.s2 .btn-sec:hover{border-color:var(--brand); color:var(--brand)}
.site.s2 .cab2-barra{position:absolute; left:0; bottom:-1px; height:2px; width:0; background:var(--brand); transition:width .15s linear}
.site.s2 .mbtn2{display:none; width:44px; height:44px; border-radius:10px; border:1px solid var(--line); background:transparent; color:var(--text); align-items:center; justify-content:center; cursor:pointer}
.site.s2 .mbtn2 .ic-fechar{display:none}
.site.s2 .mbtn2[aria-expanded="true"] .ic-abrir{display:none}
.site.s2 .mbtn2[aria-expanded="true"] .ic-fechar{display:block}
.site.s2 .mpainel2{position:absolute; left:0; right:0; top:100%; background:var(--bg); border-bottom:1px solid var(--border); box-shadow:var(--shadow); padding:10px 16px 18px; display:flex; flex-direction:column; gap:2px}
.site.s2 .mpainel2[hidden]{display:none}
.site.s2 .mlink2{display:flex; align-items:center; gap:14px; padding:13px 12px; border-radius:10px; color:var(--text); text-decoration:none; font-weight:600}
.site.s2 .mlink2 svg{color:var(--brand)}
.site.s2 .mlink2:hover,.site.s2 .mlink2.ativo{background:var(--brand-soft); color:var(--brand)}
.site.s2 .mpainel2-bts{display:flex; flex-direction:column; gap:8px; margin-top:10px; padding-top:12px; border-top:1px solid var(--border)}
.site.s2 .mpainel2 .btn-entrar2{display:inline-flex !important}

/* ---------- cabeçalho de página interna ---------- */
.site.s2 .pg-cab{padding:72px 0 36px}
.site.s2 .pg-cab h1{font-size:clamp(34px,4.4vw,56px); line-height:1.05; margin:14px 0 10px}
.site.s2 .pg-sub{max-width:none; font-size:18px; margin:0}

/* ---------- hero da home com vídeo ---------- */
.site.s2 .hero2{padding:64px 0 48px; position:relative; overflow:hidden}
.site.s2 .hero2::before{content:""; position:absolute; inset:0; background:radial-gradient(900px 480px at 80% 10%, rgba(0,168,89,.14), transparent 65%); pointer-events:none}
.site.s2 .hero2-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:44px; align-items:center; position:relative}
.site.s2 .hero2 h1{font-size:clamp(40px,5.2vw,68px); line-height:1.02; margin:18px 0 18px}
.site.s2 .hero2-txt p{font-size:19px; max-width:38rem; margin:0 0 10px}
.site.s2 .hero2-txt .p2{font-size:16px; color:var(--subtle)}
.site.s2 .hero2-bts{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px}
.site.s2 .hero2-selo{display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; color:var(--subtle); font-size:14px}
.site.s2 .hero2-selo span{display:inline-flex; align-items:center; gap:7px}
.site.s2 .hero2-selo svg{color:var(--brand)}
.site.s2 .vid2{position:relative; border-radius:20px; overflow:hidden; background:#07111F; box-shadow:var(--shadow); border:1px solid var(--border); aspect-ratio:16/9}
.site.s2 .vid2 video{width:100%; height:100%; display:block; object-fit:cover}
.site.s2 .vid2-som{position:absolute; left:14px; bottom:14px; display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.35); background:rgba(15,31,56,.75); backdrop-filter:blur(8px); color:#fff; font-weight:700; font-size:14px; cursor:pointer}
.site.s2 .vid2-som:hover{background:var(--brand); color:#0F1F38; border-color:var(--brand)}
.site.s2 .vid2-som.on{background:var(--brand); color:#0F1F38; border-color:var(--brand)}
.site.s2 .vid2-nota{position:absolute; right:14px; bottom:14px; font-size:12px; color:rgba(255,255,255,.7); font-family:'IBM Plex Mono',monospace}

/* ---------- seções e cards ---------- */
.site.s2 .sec{padding:72px 0}
.site.s2 .sec-cab{max-width:46rem; margin-bottom:34px}
.site.s2 .sec-cab p{font-size:17px; margin:0}
.site.s2 .cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px}
.site.s2 .card2{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px; display:flex; flex-direction:column; gap:12px; transition:transform .25s, box-shadow .25s, border-color .25s; color:var(--text); text-decoration:none}
.site.s2 .card2:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--brand)}
.site.s2 .card2 .ic2{width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand)}
.site.s2 .card2 p{margin:0; font-size:15px}
.site.s2 .card2 ul{margin:4px 0 0; padding-left:18px; color:var(--muted); font-size:14.5px; display:grid; gap:4px}
.site.s2 .modo{border-top:4px solid var(--brand)}
.site.s2 .modo.orgao{border-top-color:#4FB3FF}
.site.s2 .modo .tag{align-self:flex-start; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:2px; padding:4px 10px; border-radius:999px; background:var(--brand-soft); color:var(--brand)}
.site.s2 .modo.orgao .tag{background:rgba(79,179,255,.14); color:#4FB3FF}
.site.s2 .passos{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; counter-reset:p}
.site.s2 .passo{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; position:relative}
.site.s2 .passo::before{counter-increment:p; content:counter(p,decimal-leading-zero); font-family:'IBM Plex Mono',monospace; color:var(--brand); font-size:13px; letter-spacing:2px}
.site.s2 .passo h3{margin-top:8px}
.site.s2 .faixa2{background:var(--surface) !important; border:1px solid var(--border); border-radius:22px; padding:36px; display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:space-between}
.site.s2 .faixa2 h2{margin:6px 0 6px; font-size:clamp(24px,2.6vw,32px)}
.site.s2 .faixa2 p{margin:0}
.site.s2 .faixa2-bts{display:flex; flex-wrap:wrap; gap:10px}
.site.s2 .lista-doc{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px}
.site.s2 .doc2{display:flex; gap:14px; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:16px 18px; color:var(--text); text-decoration:none; transition:border-color .2s, transform .2s}
.site.s2 .doc2:hover{border-color:var(--brand); transform:translateY(-2px)}
.site.s2 .doc2 .ic2{flex:none; width:44px; height:44px; border-radius:11px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center}
.site.s2 .doc2 small{display:block; color:var(--subtle); font-size:13px}
.site.s2 .dq{color:var(--muted)}
.site.s2 .destaques{border-top:1px solid var(--border); border-bottom:1px solid var(--border)}

/* seções antigas reaproveitadas (planos, simulador, parceiros, dúvidas, contato, quem, segurança) — mesmo fundo, cards suaves */
.site.s2 .card, .site.s2 .sys, .site.s2 .feat, .site.s2 .plano, .site.s2 .duvida, .site.s2 details{background:var(--surface); border-color:var(--border); border-radius:var(--radius)}
.site.s2 .card:hover, .site.s2 .sys:hover{border-color:var(--brand); box-shadow:var(--shadow)}
.site.s2 #contato, .site.s2 .faixa-cta{color:var(--text)}
.site.s2 .faixa-cta{padding:64px 0}
.site.s2 .faixa-cta-in{background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:36px; max-width:1240px; margin:0 auto}
.site.s2 input, .site.s2 textarea, .site.s2 select{background:var(--surface-2); color:var(--text); border:1.5px solid var(--line); border-radius:10px}
.site.s2 input:focus, .site.s2 textarea:focus, .site.s2 select:focus{border-color:var(--brand); outline:none; box-shadow:0 0 0 3px var(--brand-soft)}
.site.s2 #form-pedido label{color:var(--muted)}
.site.s2 .logo-mod.logo-clara{display:none !important}
.site.s2 .logo-mod.logo-escura{display:block !important}

/* ---------- rodapé institucional ---------- */
.site.s2 .rod2{background:var(--acess-bg,#0A1628) !important; border-top:1px solid var(--border); color:var(--muted); font-size:14.5px; margin-top:40px}
.site.s2 .rod2-grid{display:grid; grid-template-columns:1.5fr 1fr 1.1fr 1.2fr; gap:36px; padding:56px 24px 34px}
.site.s2 .rod2-col{display:flex; flex-direction:column; gap:9px}
.site.s2 .rod2-logo{width:220px; height:auto; margin-bottom:6px}
.site.s2 .rod2-logo.logo-clara{display:none}
.site.s2[data-theme="claro"] .rod2-logo.logo-clara{display:block} .site.s2[data-theme="claro"] .rod2-logo.logo-escura{display:none}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .rod2-logo.logo-clara{display:block} .site.s2[data-theme="auto"] .rod2-logo.logo-escura{display:none} }
.site.s2[data-theme="claro"] .rod2-tit{color:var(--text)}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .rod2-tit{color:var(--text)} }
.site.s2 .rod2-sobre{margin:0 0 8px; max-width:34rem}
.site.s2 .rod2-dados{display:grid; gap:6px; margin:0}
.site.s2 .rod2-dados div{display:grid; grid-template-columns:84px 1fr; gap:8px}
.site.s2 .rod2-dados dt{color:var(--subtle); font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase; padding-top:3px}
.site.s2 .rod2-dados dd{margin:0; color:var(--text)}
.site.s2 .rod2-tit{color:#fff; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:2px; margin-bottom:6px}
.site.s2 .flink{color:var(--muted); text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color .2s}
.site.s2 .flink:hover{color:var(--brand)}
.site.s2 .rod2-redes{display:flex; gap:10px; margin-top:12px}
.site.s2 .rod2-redes a{width:38px; height:38px; border-radius:10px; border:1px solid var(--line); display:grid; place-items:center; color:var(--muted)}
.site.s2 .rod2-redes a:hover{border-color:var(--brand); color:var(--brand)}
.site.s2 .rod2-base{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:18px 24px 26px; border-top:1px solid var(--border); font-size:13px; color:var(--subtle)}
.site.s2 .rod2-mono{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:1px}

/* ---------- WhatsApp flutuante + voltar ao topo ---------- */
.site.s2 .fab{position:fixed; right:24px; bottom:24px; z-index:50; display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:999px; background:#25D366; color:#062A14; font-weight:800; text-decoration:none; box-shadow:0 10px 28px rgba(37,211,102,.4)}
.site.s2 .fab:hover{transform:translateY(-2px)}
.site.s2 .fab .pulse{position:absolute; inset:0; border-radius:999px; box-shadow:0 0 0 0 rgba(37,211,102,.55); animation:pulse2 2.2s infinite}
@keyframes pulse2{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.site.s2 #topo-btn{position:fixed; right:24px; bottom:92px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(0,168,89,.6); background:var(--surface); color:var(--brand); display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .25s, transform .25s; z-index:50}
.site.s2 #topo-btn.on{opacity:1; pointer-events:auto; transform:none}
.site.s2 #topo-btn:hover{background:var(--brand); color:#0F1F38}

/* ---------- animação de entrada (suave, sem exagero) ---------- */
.site.s2 .rv{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease}
.site.s2 .rv.on{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.site.s2 .rv{opacity:1; transform:none; transition:none}}

/* ---------- alto contraste ---------- */
html[data-contraste="1"] .site.s2{--bg:#000; --surface:#000; --surface-2:#111; --surface-3:#161616; --text:#fff; --muted:#fff; --subtle:#ffe; --border:#fff; --line:#fff; --brand:#FFD400; --brand-2:#FFD400; --brand-soft:rgba(255,212,0,.18); --header:#000}
html[data-contraste="1"] .site.s2 .btn-cad2, html[data-contraste="1"] .site.s2 .btn-pri, html[data-contraste="1"] .site.s2 .fab{background:#FFD400; color:#000}
html[data-contraste="1"] .site.s2 .acess, html[data-contraste="1"] .site.s2 .rod2{background:#000 !important}
html[data-contraste="1"] .site.s2 .hero2::before{display:none}

/* ---------- responsivo ---------- */
@media (max-width:1060px){
  .site.s2 .cab2-menu{display:none}
  .site.s2 .mbtn2{display:inline-flex}
  .site.s2 .btn-entrar2{display:none}
  .site.s2 .hero2-grid{grid-template-columns:1fr}
  .site.s2 .rod2-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .site.s2 .wrap{padding:0 16px}
  .site.s2 .acess-esq{display:none}
  .site.s2 .cab2-in{min-height:64px}
  .site.s2 .cab2-logo img{height:36px}
  .site.s2 .btn-cad2{padding:0 14px; min-height:40px; font-size:14px}
  .site.s2 .hero2{padding:36px 0 32px}
  .site.s2 .sec{padding:48px 0}
  .site.s2 .rod2-grid{grid-template-columns:1fr; gap:26px; padding:40px 16px 26px}
  .site.s2 .faixa2, .site.s2 .faixa-cta-in{padding:24px}
  .site.s2 .fab{right:14px; bottom:14px; padding:12px 14px}
  .site.s2 .fab span:not(.pulse){display:none}
  .site.s2 #topo-btn{right:14px; bottom:76px}
}

/* ---------- contato (formulário no card, sem fundo branco) ---------- */
.site.s2 .ct2-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:start}
.site.s2 .ct2-links{display:flex; flex-direction:column; gap:10px; margin-top:18px}
.site.s2 .ct2-link{display:inline-flex; align-items:center; gap:12px; color:var(--text); text-decoration:none; font-weight:600}
.site.s2 .ct2-link small{display:block; color:var(--subtle); font-weight:500; font-size:12.5px; letter-spacing:1px; text-transform:uppercase}
.site.s2 .ct2-link .ic2{width:44px; height:44px; border-radius:11px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center; flex:none}
.site.s2 .form, .site.s2 .ct2-form{background:var(--surface) !important; border:1px solid var(--border); border-radius:20px; padding:28px; color:var(--text); box-shadow:none}
.site.s2 .campo{color:var(--muted); font-size:14px; font-weight:600; display:flex; flex-direction:column; gap:6px}
.site.s2 .campo input, .site.s2 .campo select, .site.s2 .campo textarea{min-height:44px; padding:10px 12px; font:15px 'IBM Plex Sans',sans-serif}
.site.s2 .msg-form{margin-top:12px; padding:10px 12px; border-radius:10px; background:var(--surface-2); color:var(--text)}
@media (max-width:900px){.site.s2 .ct2-grid{grid-template-columns:1fr}}

/* ========== E67b — home institucional: slides com o boneco, notícias, consultas, acesso rápido, soluções, portais, redes ========== */
.site.s2 .sr{position:absolute; left:-9999px}
.site.s2 .btn-pill{border-radius:999px; padding:0 22px; min-height:48px; font-size:15.5px}
.site.s2 .sec-tit{display:flex; align-items:baseline; justify-content:space-between; gap:14px; border-bottom:2px solid var(--border); padding-bottom:10px; margin-bottom:22px}
.site.s2 .sec-tit h2{margin:0; font-size:clamp(24px,2.4vw,30px)}
.site.s2 .sec-mais{color:var(--brand); font-weight:700; text-decoration:none; font-size:14.5px; white-space:nowrap}

/* slides */
.site.s2 .slides{position:relative; overflow:hidden; padding:28px 0 18px}
.site.s2 .slides::before{content:""; position:absolute; inset:0; background:radial-gradient(1100px 520px at 78% 20%, rgba(0,168,89,.16), transparent 62%); pointer-events:none}
.site.s2 .slides-in{position:relative}
.site.s2 .slide2{display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:center; min-height:520px; animation:sl-in .6s ease}
.site.s2 .slide2[hidden]{display:none}
@keyframes sl-in{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
.site.s2 .slide2-txt h1{font-size:clamp(36px,4.8vw,62px); line-height:1.02; margin:14px 0 16px}
.site.s2 .slide2-txt p{font-size:18.5px; max-width:36rem; margin:0}
.site.s2 .slide2-img{display:flex; justify-content:center; align-items:flex-end; height:520px; position:relative}
.site.s2 .slide2-img::before{content:""; position:absolute; bottom:18px; left:50%; width:62%; height:46px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.55), transparent); filter:blur(6px)}
.site.s2 .slide2-img img{height:100%; width:auto; max-width:100%; object-fit:contain; position:relative; filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.site.s2 .slides-ctl{display:flex; align-items:center; justify-content:center; gap:14px; margin-top:6px}
.site.s2 .sbtn{width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:transparent; color:var(--text); font-size:20px; cursor:pointer; display:grid; place-items:center}
.site.s2 .sbtn:hover{border-color:var(--brand); color:var(--brand)}
.site.s2 .sl-pontos{display:flex; gap:8px}
.site.s2 .sl-pt{width:10px; height:10px; border-radius:50%; border:0; background:var(--line); cursor:pointer; padding:0; transition:width .25s, background .25s}
.site.s2 .sl-pt.on{width:28px; border-radius:6px; background:var(--brand)}

/* notícias + lado */
.site.s2 .portal-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:40px; align-items:start}
.site.s2 .not-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.site.s2 .not{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; color:var(--text); text-decoration:none; transition:transform .25s, border-color .25s, box-shadow .25s}
.site.s2 .not:hover{transform:translateY(-3px); border-color:var(--brand); box-shadow:var(--shadow)}
.site.s2 .not-dest{grid-column:1 / -1; flex-direction:row}
.site.s2 .not-dest .not-img{flex:0 0 46%; min-height:230px}
.site.s2 .not-img{position:relative; aspect-ratio:16/9; background:linear-gradient(135deg, var(--surface-2), #0C1A30); overflow:hidden}
.site.s2 .not-dest .not-img{aspect-ratio:auto}
.site.s2 .not-img img{width:100%; height:100%; object-fit:cover; display:block}
.site.s2 .not-ph{position:absolute; inset:0; display:grid; place-items:center; color:var(--brand); opacity:.7}
.site.s2 .not-cat{position:absolute; left:0; right:0; bottom:0; padding:7px 14px; background:rgba(15,31,56,.82); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:2px; text-transform:uppercase}
.site.s2 .not-txt{padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px}
.site.s2 .not-txt time{color:var(--subtle); font-size:13px}
.site.s2 .not-txt h3{font-size:17px; line-height:1.3; margin:0; font-weight:700}
.site.s2 .not-dest .not-txt h3{font-size:21px}
.site.s2 .busca2{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px}
.site.s2 .busca2 p{margin:0 0 10px; font-size:14.5px}
.site.s2 .busca2-campo input{width:100%; min-height:46px; padding:10px 14px; font:15px 'IBM Plex Sans',sans-serif; box-sizing:border-box}
.site.s2 .busca2-linha{display:flex; gap:8px; margin-top:8px}
.site.s2 .busca2-linha select{flex:1; min-height:44px; padding:0 10px; font:14.5px 'IBM Plex Sans',sans-serif}
.site.s2 .acessos{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.site.s2 .acesso{display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:12px 12px; color:var(--text); text-decoration:none; font-weight:600; font-size:14px; transition:border-color .2s, transform .2s}
.site.s2 .acesso:hover{border-color:var(--brand); transform:translateY(-2px)}
.site.s2 .acesso .ic2{flex:none; width:40px; height:40px; border-radius:10px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center}

/* soluções */
.site.s2 .sol-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.site.s2 .sol-topo{display:flex; align-items:center; gap:10px}
.site.s2 .sol .tag{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:2px; padding:4px 10px; border-radius:999px; background:var(--brand); color:#0F1F38; font-weight:700}
.site.s2 .sol .tag-breve{background:var(--surface-3); color:var(--muted)}
.site.s2 .sol-destaque{border-color:rgba(0,168,89,.55); box-shadow:0 0 0 1px rgba(0,168,89,.25) inset}
.site.s2 .sol-rodape{display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:10px; color:var(--brand); font-size:14px}
.site.s2 .situacao{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:2px; color:var(--brand)}

/* portais */
.site.s2 .portais{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px}
.site.s2 .portal{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:96px; padding:14px; background:#F6F8FB; border:1px solid var(--border); border-radius:14px; text-decoration:none; color:#0F1F38; transition:transform .2s, box-shadow .2s}
.site.s2 .portal:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
.site.s2 .portal img{max-height:52px; max-width:85%; object-fit:contain}
.site.s2 .portal-nome{font-family:'Archivo',sans-serif; font-weight:800; font-size:17px; text-align:center; letter-spacing:-.2px}
.site.s2 .portal small{font-size:11px; color:#058E39; font-weight:700; letter-spacing:1px; text-transform:uppercase}
html[data-contraste="1"] .site.s2 .portal{background:#000; color:#fff; border-color:#fff}

/* redes */
.site.s2 .redes2{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px}
.site.s2 .rede2{display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 16px; color:var(--text); text-decoration:none; transition:border-color .2s}
.site.s2 .rede2:hover{border-color:var(--brand)}
.site.s2 .rede2 .ic2{flex:none; width:48px; height:48px; border-radius:12px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center}
.site.s2 .rede2 > span:nth-child(2){flex:1; display:flex; flex-direction:column}
.site.s2 .rede2 small{color:var(--subtle); font-size:12.5px}

/* seção "Em ação" (vídeo) no fundo único */
.site.s2 #em-acao{padding:64px 0}
.site.s2 .va-grade{max-width:1240px; margin:0 auto; padding:0 24px}
.site.s2 .va-tela{border-radius:20px; overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow)}

/* página de cada sistema (sistema.php) no visual novo */
.site.s2 .pg-sec, .site.s2 .pg-alt{background:var(--bg) !important; background-image:none !important}
.site.s2 .pg-in{background:transparent !important; background-image:none !important}
.site.s2 .pg-hero{padding:40px 0 20px}
.site.s2 .pg-sub{position:sticky; top:74px; z-index:30; background:var(--header); backdrop-filter:blur(12px); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.site.s2 .pg-sub-in{max-width:1240px; margin:0 auto; padding:0 24px; display:flex; gap:4px; overflow-x:auto}
.site.s2 .pg-sub a{display:inline-flex; align-items:center; gap:8px; padding:14px 14px; color:var(--muted); text-decoration:none; font-weight:600; font-size:14.5px; white-space:nowrap; border-bottom:2px solid transparent; transition:color .2s, border-color .2s}
.site.s2 .pg-sub a:hover, .site.s2 .pg-sub a.on{color:var(--brand); border-bottom-color:var(--brand)}
.site.s2 .pg-rot{font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:2.5px; color:var(--brand); text-transform:uppercase}
.site.s2 .pg-h2{font-size:clamp(26px,3vw,38px); margin:8px 0 10px}
.site.s2 .pg-f, .site.s2 .pg-passos li, .site.s2 .pg-doc, .site.s2 .pg-dl, .site.s2 .pg-duv, .site.s2 details.pg-duv{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); color:var(--text)}
.site.s2 .pg-fn{color:var(--brand); font-family:'IBM Plex Mono',monospace}
.site.s2 .pg-pn{color:#fff !important; background:var(--brand); font-family:'IBM Plex Mono',monospace; font-weight:800}   /* E70b: número branco no quadrado verde */
.site.s2 .pg-sub-txt{color:var(--muted)}
.site.s2 .pg-chips .situacao{color:var(--brand)}

@media (max-width:1060px){
  .site.s2 .slide2{grid-template-columns:1fr; min-height:0; text-align:left}
  .site.s2 .slide2-img{height:380px; order:-1}
  .site.s2 .portal-grid{grid-template-columns:1fr}
  .site.s2 .pg-sub{top:64px}
}
@media (max-width:640px){
  .site.s2 .slides{padding:16px 0 10px}
  .site.s2 .slide2-img{height:300px}
  .site.s2 .slide2-txt h1{font-size:clamp(30px,8vw,40px)}
  .site.s2 .not-grid{grid-template-columns:1fr}
  .site.s2 .not-dest{flex-direction:column}
  .site.s2 .not-dest .not-img{flex:none; aspect-ratio:16/9; min-height:0}
  .site.s2 .acessos{grid-template-columns:1fr 1fr}
  .site.s2 .portais{grid-template-columns:1fr 1fr}
}
.site.s2 .redes2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.site.s2 .rede2 > span:nth-child(2){min-width:0}
.site.s2 .rede2 small{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.site.s2 .rede2 .btn{flex:none}

/* ---------- E67c: dropdown Institucional + posts das redes + downloads ---------- */
.site.s2 .cab2-drop{position:relative}
.site.s2 .cab2-dbtn{background:transparent; border:0; cursor:pointer; font-family:inherit}
.site.s2 .cab2-seta{font-size:11px; opacity:.7; margin-left:2px}
.site.s2 .cab2-painel{position:absolute; left:0; top:calc(100% + 8px); min-width:250px; background:var(--bg); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); padding:8px; display:none; flex-direction:column; gap:2px; z-index:45}
.site.s2 .cab2-drop:hover .cab2-painel, .site.s2 .cab2-drop:focus-within .cab2-painel, .site.s2 .cab2-drop.aberto .cab2-painel{display:flex}
.site.s2 .cab2-sub{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; color:var(--muted); text-decoration:none; font-weight:600; font-size:14.5px}
.site.s2 .cab2-sub svg{color:var(--brand); opacity:.9}
.site.s2 .cab2-sub:hover, .site.s2 .cab2-sub.ativo{background:var(--brand-soft); color:var(--brand)}
.site.s2 .mgrupo summary{list-style:none; cursor:pointer}
.site.s2 .mgrupo summary::-webkit-details-marker{display:none}
.site.s2 .mgrupo .msub{padding-left:40px; font-size:15px; font-weight:500}
.site.s2 .posts2{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; align-items:start}
.site.s2 .post2{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden}
.site.s2 .post2-cab{display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--border)}
.site.s2 .post2-cab .ic2{width:38px; height:38px; border-radius:10px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center}
.site.s2 .post2-corpo{padding:0; background:#fff; min-height:120px}
.site.s2 .post2-corpo .instagram-media{border:0 !important; box-shadow:none !important}
.site.s2 .post2-yt{aspect-ratio:16/9; background:#000}
.site.s2 .post2-yt iframe{width:100%; height:100%; border:0; display:block}
.site.s2 .post2-vazio{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:220px; padding:24px; background:var(--surface-2); color:var(--text); text-decoration:none; text-align:center}
.site.s2 .post2-vazio svg{color:var(--brand)}
.site.s2 .post2-vazio small{color:var(--subtle)}
.site.s2 .not-lista .not-dest{grid-column:1 / -1}

/* ---------- E67d: colagem das funcionalidades atrás do boneco ---------- */
.site.s2 .slide2-img{overflow:visible}
.site.s2 .slide2-img img.slide2-fundo{position:absolute; left:50%; top:50%; width:118%; max-width:none; height:auto; transform:translate(-50%,-52%) rotate(-3deg); opacity:.55; border-radius:28px; filter:saturate(.95) blur(.2px); -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, #000 55%, transparent 100%); mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, #000 55%, transparent 100%); z-index:0; pointer-events:none}
.site.s2 .slide2-img img.slide2-boneco{position:relative; z-index:1; height:100%; width:auto}
html[data-contraste="1"] .site.s2 .slide2-img img.slide2-fundo{display:none}
@media (max-width:640px){.site.s2 .slide2-img img.slide2-fundo{width:140%; opacity:.4}}

/* ---- E67d: pattern de fundo atrás do boneco (aprovado: variante "a"; b/c ficam disponíveis) ---- */
.site.s2 .slides[data-fundo]{background:#0F1F38}
.site.s2 .slides[data-fundo] .slide2-img img.slide2-fundo{display:none}
/* A — pattern leve ocupando o hero inteiro, bem suave, com o centro limpo para o texto */
.site.s2 .slides[data-fundo="a"]::before{content:""; position:absolute; inset:0; background:url(../img/boneco/pattern-horizontal.webp) center/cover no-repeat; opacity:.42; pointer-events:none}
.site.s2 .slides[data-fundo="a"]::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, #0F1F38 0%, rgba(15,31,56,.85) 34%, rgba(15,31,56,.25) 62%, rgba(15,31,56,0) 100%); pointer-events:none}
.site.s2 .slides[data-fundo="a"] .wrap{position:relative; z-index:1}
/* B — pattern compacto só no painel do boneco, com máscara suave */
.site.s2 .slides[data-fundo="b"] .slide2-img::after{content:""; position:absolute; left:50%; top:50%; width:150%; height:125%; transform:translate(-50%,-50%); background:url(../img/boneco/pattern-compacto.webp) center/cover no-repeat; opacity:.55; border-radius:40px; -webkit-mask-image:radial-gradient(ellipse 60% 62% at 50% 50%, #000 45%, transparent 100%); mask-image:radial-gradient(ellipse 60% 62% at 50% 50%, #000 45%, transparent 100%); z-index:0; pointer-events:none}
/* C — pattern leve só no painel do boneco (mesmo recorte da colagem atual) */
.site.s2 .slides[data-fundo="c"] .slide2-img::after{content:""; position:absolute; left:50%; top:50%; width:160%; height:125%; transform:translate(-50%,-50%); background:url(../img/boneco/pattern-horizontal.webp) center/cover no-repeat; opacity:.9; border-radius:40px; -webkit-mask-image:radial-gradient(ellipse 60% 62% at 50% 50%, #000 40%, transparent 100%); mask-image:radial-gradient(ellipse 60% 62% at 50% 50%, #000 40%, transparent 100%); z-index:0; pointer-events:none}
.site.s2 .slides[data-fundo] .slide2-img img.slide2-boneco{z-index:1}

@media (max-width:900px){.site.s2 .slides[data-fundo="a"]::after{background:linear-gradient(180deg, rgba(15,31,56,.2) 0%, rgba(15,31,56,.75) 70%, #0F1F38 100%)}.site.s2 .slides[data-fundo="a"]::before{opacity:.3}}

/* ---- E67e: redes sociais clicáveis abaixo do vídeo e no hero ---- */
.site.s2 .va-redes{display:flex; align-items:center; gap:10px; margin-top:12px; flex-wrap:wrap}
.site.s2 .va-redes span{font-size:14px; color:var(--subtle); margin-right:4px}
.site.s2 .va-redes a{width:40px; height:40px; border-radius:11px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:background .2s, border-color .2s, transform .2s}
.site.s2 .va-redes a:hover{background:rgba(0,168,89,.25); border-color:var(--brand); transform:translateY(-2px)}
.site.s2 .hero2-redes{display:flex; align-items:center; gap:10px; margin-top:22px}
.site.s2 .hero2-redes span{font-size:14px; color:var(--subtle)}
.site.s2 .hero2-redes a{width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.18); display:inline-flex; align-items:center; justify-content:center; color:#fff}
.site.s2 .hero2-redes a:hover{border-color:var(--brand); color:var(--brand)}

/* ---------- E67f: tema claro (seletor antigo claro/auto/escuro na barra de acessibilidade). O hero com o pattern e o vídeo continuam navy. ---------- */
.site.s2 .tema2{display:inline-flex; gap:2px; padding:3px; border-radius:8px; background:var(--surface-2); margin-left:4px}
.site.s2 .tema2 .tbtn{width:28px; height:26px; border:0; border-radius:6px; background:transparent; color:var(--muted); display:inline-flex; align-items:center; justify-content:center; cursor:pointer}
.site.s2 .tema2 .tbtn[aria-pressed="true"]{background:var(--brand); color:#0F1F38}
.site.s2 .cab2-logo .logo-clara{display:none}
.site.s2[data-theme="claro"], .site.s2.tema-claro{
  --bg:#F3F6F9; --bg-2:#FFFFFF; --surface:#FFFFFF; --surface-2:#E9EEF4; --surface-3:#DDE5EE; --acess-bg:#E6ECF2;
  --text:#0F1F38; --muted:#3E5068; --subtle:#6B7D93; --border:rgba(15,31,56,.12); --line:rgba(15,31,56,.2);
  --header:rgba(243,246,249,.9); --shadow:0 14px 40px rgba(15,31,56,.12);
}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"]{
  --bg:#F3F6F9; --bg-2:#FFFFFF; --surface:#FFFFFF; --surface-2:#E9EEF4; --surface-3:#DDE5EE; --acess-bg:#E6ECF2;
  --text:#0F1F38; --muted:#3E5068; --subtle:#6B7D93; --border:rgba(15,31,56,.12); --line:rgba(15,31,56,.2);
  --header:rgba(243,246,249,.9); --shadow:0 14px 40px rgba(15,31,56,.12);
} }
.site.s2[data-theme="claro"] .cab2-logo .logo-clara{display:block} .site.s2[data-theme="claro"] .cab2-logo .logo-escura{display:none}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .cab2-logo .logo-clara{display:block} .site.s2[data-theme="auto"] .cab2-logo .logo-escura{display:none} }
/* no tema claro, o hero (slides), o vídeo e o rodapé ficam navy para o pattern e o boneco continuarem iguais */
.site.s2[data-theme="claro"] .slides{--text:#F2F6FA; --muted:#B9C6D6; --subtle:#8FA1B8; --border:rgba(255,255,255,.09); --surface:#15274A; --surface-2:#1B3157; color:#F2F6FA}
@media (prefers-color-scheme: light){
  .site.s2[data-theme="auto"] .slides{--text:#F2F6FA; --muted:#B9C6D6; --subtle:#8FA1B8; --border:rgba(255,255,255,.09); --surface:#15274A; --surface-2:#1B3157; color:#F2F6FA}
}
.site.s2 .cab2{background:var(--header)}
/* ---- E67g: slide com foto/arte inteira (cena:<arquivo> no 5º campo de inicio_slides) ---- */
.site.s2 .slide2-cena{align-items:center; justify-content:center}
.site.s2 .slide2-cena::before{display:none}
.site.s2 .slide2-img img.slide2-foto{height:auto; max-height:100%; width:100%; max-width:700px; object-fit:contain; filter:drop-shadow(0 24px 40px rgba(0,0,0,.5))}
.site.s2 .slide2-img img.slide2-foto.moldura{border-radius:22px; box-shadow:0 24px 60px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.12); filter:none}
@media (max-width:900px){.site.s2 .slide2-img img.slide2-foto{max-width:100%}}
/* imagem larga recortada (ex.: carlito-medicoes) ocupa o painel inteiro, sem cortar */
.site.s2 .slide2-img img.slide2-boneco{max-height:100%; object-fit:contain}
.site.s2 .slides[data-fundo] .slide2-img img.slide2-boneco[src*="carlito-medicoes"]{height:auto; width:128%; max-width:none; align-self:flex-end; margin:0 -14% -16px -14%; filter:drop-shadow(0 18px 30px rgba(0,0,0,.5))}
@media (max-width:900px){.site.s2 .slides[data-fundo] .slide2-img img.slide2-boneco[src*="carlito-medicoes"]{width:112%; margin:0 -6% -8px -6%}}
/* pattern do hero vale em todos os temas (claro, auto, escuro) */
.site.s2[data-theme] .slides[data-fundo="a"]::before{opacity:.42}
/* ---------- E67i: página do sistema (sistema.php) — topo sempre navy em todos os temas, menu centralizado em abas ---------- */
.site.s2 .pg-hero, .site.s2 #topo-modulo{background-color:#0F1F38 !important; --text:#F2F6FA; --muted:#B9C6D6; --subtle:#8FA1B8; color:#F2F6FA}
.site.s2 .pg-hero .pg-trilha a{color:#2BD47F}
.site.s2 .pg-hero .pg-lead, .site.s2 .pg-hero p{color:#B9C6D6}
.site.s2 .pg-sub{top:72px}
.site.s2 .pg-sub-in{justify-content:center; flex-wrap:wrap; gap:6px}
.site.s2 .pg-sub a{border-bottom:3px solid transparent; border-radius:0}
.site.s2 .pg-sub a.ativo, .site.s2 .pg-sub a[aria-current="true"]{color:var(--brand); border-bottom-color:var(--brand)}
.site.s2 .pg-sec[data-aba]{display:none}
.site.s2 .pg-sec[data-aba].on{display:block; animation:sl-in .35s ease}
@media (max-width:900px){.site.s2 .pg-sub{top:64px}.site.s2 .pg-sub-in{justify-content:flex-start; flex-wrap:nowrap}}

/* E67i: topo do sistema navy em qualquer tema; logos dos "Outros sistemas" seguem o tema */
.site.s2 .pg-hero .pg-in, .site.s2 .pg-hero .pg-hero-in{background:transparent !important}
.site.s2 .pg-hero .pg-chips .situacao{color:#2BD47F}
.site.s2 .pg-hero .pg-ver{color:#B9C6D6; border-color:rgba(255,255,255,.3)}
.site.s2 .pg-outros .logo-mod.logo-clara{display:none} .site.s2 .pg-outros .logo-mod.logo-escura{display:block}
.site.s2[data-theme="claro"] .pg-outros .logo-mod.logo-clara{display:block} .site.s2[data-theme="claro"] .pg-outros .logo-mod.logo-escura{display:none}
@media (prefers-color-scheme: light){.site.s2[data-theme="auto"] .pg-outros .logo-mod.logo-clara{display:block} .site.s2[data-theme="auto"] .pg-outros .logo-mod.logo-escura{display:none}}

/* E67k: portais com a logo do site (favicon em alta) e nome embaixo; 6 por linha no desktop */
.site.s2 .portais{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.site.s2 .portal{min-height:118px; gap:10px}
.site.s2 .portal .portal-fav{width:48px; height:48px; border-radius:12px; object-fit:contain; background:#fff; padding:4px; box-shadow:0 2px 8px rgba(15,31,56,.12)}
.site.s2 .portal .portal-logo{max-height:46px; max-width:150px; object-fit:contain}
.site.s2 .portal .portal-nome{font-size:14px; text-align:center; line-height:1.25}

/* E67l: a seção do vídeo segue o tema (só os slides ficam navy); textos pelos tokens */
.site.s2 #em-acao{color:var(--text)}
.site.s2 #em-acao h2{color:var(--text)} .site.s2 #em-acao .va-txt p{color:var(--muted)}
.site.s2 #em-acao .va-nota{color:var(--subtle)}
.site.s2 .va-tela{background:#0F1F38}
.site.s2[data-theme="claro"] .va-redes a{border-color:rgba(15,31,56,.2); background:#fff; color:var(--text)}
@media (prefers-color-scheme: light){.site.s2[data-theme="auto"] .va-redes a{border-color:rgba(15,31,56,.2); background:#fff; color:var(--text)}}
.site.s2[data-theme="claro"] .va-redes span, .site.s2[data-theme="claro"] .hero2-redes span{color:var(--subtle)}

/* E67n: portais — cartão segue o tema; logo completa (arquivo local ou URL do Painel) ocupa o cartão */
.site.s2 .portal{background:var(--surface); border:1px solid var(--border); color:var(--text); min-height:110px; padding:16px 18px}
.site.s2 .portal:hover{border-color:var(--brand); box-shadow:0 10px 26px rgba(0,0,0,.18); transform:translateY(-2px)}
.site.s2 .portal .portal-logo{max-height:64px; max-width:100%; width:auto; object-fit:contain}
.site.s2 .portal .portal-nome{color:var(--text)}
.site.s2[data-theme="claro"] .portal{background:#fff}
@media (prefers-color-scheme: light){.site.s2[data-theme="auto"] .portal{background:#fff}}

/* ---------- E70c: faixa de clientes e parceiros (abaixo dos destaques) ---------- */
.site.s2 .faixa-parc{display:flex; align-items:center; gap:0; overflow:hidden; text-decoration:none; color:var(--text); background:var(--surface); border-bottom:1px solid var(--border); min-height:64px}
.site.s2 .fxp-rot{flex:none; position:relative; z-index:2; display:inline-flex; align-items:center; gap:8px; padding:0 22px; height:64px; font:700 11.5px 'IBM Plex Mono',monospace; letter-spacing:2px; color:var(--brand); border-right:1px solid var(--border); background:var(--bg)}
.site.s2 .fxp-janela{flex:1 1 auto; min-width:0; overflow:hidden; display:block; position:relative}
.site.s2 .fxp-trilho{display:flex; width:max-content; animation:fxp 42s linear infinite}
.site.s2 .faixa-parc:hover .fxp-trilho{animation-play-state:paused}
.site.s2 .fxp-grupo{display:flex; flex:none; align-items:center}
.site.s2 .fxp{display:inline-flex; align-items:center; gap:10px; padding:0 30px; height:64px; white-space:nowrap; border-right:1px solid var(--border)}
.site.s2 .fxp-logo{display:inline-flex; align-items:center; justify-content:center; height:44px; padding:5px 10px; border-radius:8px}
.site.s2 .fxp img{height:34px; max-width:150px; object-fit:contain; display:block}
/* tema escuro: cartão claro atrás da logo PNG (a não ser que exista a versão *_escuro.png) */
.site.s2 .fxp-chip{background:#FFFFFF; box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.site.s2[data-theme="claro"] .fxp-chip{background:transparent; box-shadow:none}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .fxp-chip{background:transparent; box-shadow:none} }
.site.s2 .fxp-2 .logo-clara{display:none} .site.s2 .fxp-2 .logo-escura{display:block}
.site.s2[data-theme="claro"] .fxp-2 .logo-clara{display:block} .site.s2[data-theme="claro"] .fxp-2 .logo-escura{display:none}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .fxp-2 .logo-clara{display:block} .site.s2[data-theme="auto"] .fxp-2 .logo-escura{display:none} }
.site.s2 .fxp b{font:700 15px 'Archivo',sans-serif; color:var(--text)}
.site.s2 .fxp small{font:500 11.5px 'IBM Plex Sans',sans-serif; color:var(--muted); letter-spacing:.3px}
.site.s2 .fxp-vaga .ico{color:var(--brand)}
.site.s2 .fxp-mais{flex:none; margin-left:auto; padding:0 22px; height:64px; display:inline-flex; align-items:center; font:600 13px 'IBM Plex Sans',sans-serif; color:var(--brand); border-left:1px solid var(--border); background:var(--bg)}
@keyframes fxp{to{transform:translateX(-50%)}}
@media (max-width:720px){ .site.s2 .fxp-mais{display:none} .site.s2 .fxp-rot{padding:0 12px; font-size:10px} }
@media (prefers-reduced-motion: reduce){ .site.s2 .fxp-trilho{animation:none} }

/* ---- E88: cartões "Seja parceiro" / "Seja cliente" ---- */
.site.s2 .sp-sec{padding:36px 0 8px}
.site.s2 .sp-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px}
.site.s2 .sp-card{display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:34px 26px 26px; border-radius:22px; background:var(--card,#fff); border:1px solid var(--linha,rgba(15,31,56,.1)); box-shadow:0 12px 40px rgba(15,31,56,.08); text-decoration:none; color:inherit; transition:transform .25s, box-shadow .25s}
.site.s2 .sp-card:hover{transform:translateY(-4px); box-shadow:0 20px 50px rgba(15,31,56,.16)}
.site.s2 .sp-ico{width:112px; height:112px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(145deg,#EEF3F8,#DCE6F0); box-shadow:inset 0 1px 0 #fff, 0 10px 24px rgba(15,31,56,.10)}
.site.s2 .sp-ico svg{width:62px; height:62px} .site.s2 .sp-ico .az{stroke:#0F2C6B} .site.s2 .sp-ico .vd{stroke:#00A859}
.site.s2[data-theme="escuro"] .sp-ico{background:linear-gradient(145deg,#15294A,#0F1F38); box-shadow:inset 0 1px 0 rgba(255,255,255,.06)} @media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .sp-ico{background:linear-gradient(145deg,#15294A,#0F1F38)} }
.site.s2[data-theme="escuro"] .sp-ico .az{stroke:#9FB4D4} @media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .sp-ico .az{stroke:#9FB4D4} }
.site.s2 .sp-tit{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(26px,3.2vw,38px); line-height:1.08; letter-spacing:-.02em; color:#0F1F38} .site.s2 .sp-tit em{font-style:normal; color:#058E39; font-size:1.12em}
.site.s2[data-theme="escuro"] .sp-tit{color:#fff} @media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .sp-tit{color:#fff} }
.site.s2 .sp-btn{width:100%; max-width:380px; justify-content:center; padding:14px 22px; border-radius:999px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff; border:0}
.site.s2 .sp-btn.az{background:#0F2C6B} .site.s2 .sp-btn.vd{background:#00A859; color:#fff}
.site.s2 .sp-card small{color:var(--txt2,#5B6778); font-size:14px}

/* E88b: na faixa, o tipo (cliente/parceiro) vira ícone dentro do cartão da logo */
.site.s2 .fxp{position:relative}
.site.s2 .fxp-logo{position:relative}
.site.s2 .fxp-tipo{position:absolute; right:-7px; bottom:-5px; width:18px; height:18px; border-radius:50%; background:#00A859; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(0,0,0,.25)}
.site.s2 .fxp-tipo.parc{background:#0F2C6B}
.site.s2 .fxp-tipo svg{width:11px; height:11px; stroke:#fff; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
.site.s2 .fxp small{display:none}

/* E88c: duas faixas (parceiros e clientes) coladas, rótulo com ícone */
.site.s2 .faixa-parc.fx-par + .faixa-parc.fx-cli{border-top:0}
.site.s2 .fxp-rot svg{vertical-align:-3px; margin-right:4px}
.site.s2 .faixa-parc.fx-par .fxp-rot{color:#9FB4D4} .site.s2[data-theme="claro"] .faixa-parc.fx-par .fxp-rot{color:#0F2C6B}
@media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .faixa-parc.fx-par .fxp-rot{color:#0F2C6B} }

/* E88d: ícone oficial de parceiro — cores por tema */
.site.s2 .ico-parc .az{stroke:#063064} .site.s2 .ico-parc .vd{stroke:#009C38}
.site.s2[data-theme="escuro"] .ico-parc .az{stroke:#9FB4D4} @media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .ico-parc .az{stroke:#9FB4D4} }
.site.s2 .sp-ico .ico-parc{width:72px; height:72px}
.site.s2[data-theme="escuro"] .sp-card{background:#13213A; border-color:rgba(255,255,255,.08); box-shadow:0 12px 40px rgba(0,0,0,.35)} .site.s2[data-theme="escuro"] .sp-card small{color:#9FB4D4}
@media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .sp-card{background:#13213A; border-color:rgba(255,255,255,.08)} .site.s2[data-theme="auto"] .sp-card small{color:#9FB4D4} }
.site.s2 .sp-ico{width:124px; height:124px} .site.s2 .sp-ico .ico-parc{width:84px; height:84px}

/* E88e: separadores "PARCEIROS" / "CLIENTES" dentro da mesma linha */
.site.s2 .fxp.fxp-sep{gap:8px; padding:0 22px; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:2px; color:#00A859; background:rgba(0,168,89,.08)}
.site.s2 .fxp.fxp-sep.sep-par{color:#9FB4D4; background:rgba(159,180,212,.10)}
.site.s2[data-theme="claro"] .fxp.fxp-sep.sep-par{color:#0F2C6B} @media (prefers-color-scheme: light){ .site.s2[data-theme="auto"] .fxp.fxp-sep.sep-par{color:#0F2C6B} }
.site.s2 .fxp.fxp-sep b{font-weight:600}
/* E88f: cartões "Seja parceiro/cliente" mais compactos */
.site.s2 .sp-sec{padding:22px 0 4px}
.site.s2 .sp-cards{max-width:860px; margin:0 auto; gap:16px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.site.s2 .sp-card{padding:20px 18px 16px; gap:8px; border-radius:16px}
.site.s2 .sp-ico{width:72px; height:72px} .site.s2 .sp-ico .ico-parc{width:46px; height:46px}
.site.s2 .sp-tit{font-size:clamp(20px,2.2vw,26px)} .site.s2 .sp-tit em{font-size:1.05em}
.site.s2 .sp-btn{max-width:280px; padding:10px 18px; font-size:13px}
.site.s2 .sp-card small{font-size:12px}
/* ---- E88h: vitrine compacta + cartões empilhados ---- */
.site.s2 .vm-sec{padding:18px 0 6px}
.site.s2 .vm-grid{display:grid; grid-template-columns:minmax(260px,1.1fr) minmax(260px,1fr); gap:18px; align-items:stretch; max-width:900px}
.site.s2 .vm-grid.vm-so-cards{grid-template-columns:1fr; max-width:460px}
@media (max-width:760px){ .site.s2 .vm-grid{grid-template-columns:1fr} }
.site.s2 .vm-palco{position:relative; display:flex; flex-direction:column; gap:10px; padding:14px 16px 12px; border-radius:16px; background:var(--card,#fff); border:1px solid var(--linha,rgba(15,31,56,.1)); box-shadow:0 10px 30px rgba(15,31,56,.08)}
.site.s2 .vm-palco .eyebrow{font-size:11px}
.site.s2 .vm-sl{display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; flex:1}
.site.s2 .vm-logo{flex:none; width:150px; height:92px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:12px; border:1px dashed rgba(15,31,56,.18); padding:8px}
.site.s2 .vm-logo img{max-width:100%; max-height:100%; object-fit:contain}
.site.s2 .vm-nome{display:flex; flex-direction:column; gap:3px; min-width:0}
.site.s2 .vm-nome small{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:#00A859}
.site.s2 .vm-nome b{font-size:14px; line-height:1.25; color:#0F1F38}
.site.s2 .vm-pontos{display:flex; gap:6px; flex-wrap:wrap}
.site.s2 .vm-pt{width:8px; height:8px; border-radius:50%; border:0; padding:0; background:rgba(15,31,56,.2); cursor:pointer} .site.s2 .vm-pt.on{background:#00A859; width:20px; border-radius:4px}
.site.s2 .vm-cards{display:flex; flex-direction:column; gap:10px}
.site.s2 .vm-card{display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:12px; padding:10px 12px; border-radius:14px; background:var(--card,#fff); border:1px solid var(--linha,rgba(15,31,56,.1)); box-shadow:0 8px 24px rgba(15,31,56,.07); text-decoration:none; color:inherit; transition:transform .2s}
.site.s2 .vm-card:hover{transform:translateY(-2px)}
.site.s2 .vm-ico{width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#EEF3F8,#DCE6F0)}
.site.s2 .vm-txt{display:flex; flex-direction:column; gap:2px; min-width:0}
.site.s2 .vm-txt b{font-family:'Poppins',sans-serif; font-size:15px; line-height:1.2; color:#0F1F38} .site.s2 .vm-txt b em{font-style:normal; color:#058E39}
.site.s2 .vm-txt small{font-size:11.5px; line-height:1.35; color:var(--txt2,#5B6778)}
.site.s2 .vm-btn{padding:8px 12px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff; border:0; white-space:nowrap}
.site.s2 .vm-btn.az{background:#0F2C6B} .site.s2 .vm-btn.vd{background:#00A859}
@media (max-width:520px){ .site.s2 .vm-card{grid-template-columns:40px 1fr} .site.s2 .vm-btn{grid-column:1/-1; text-align:center} }
.site.s2[data-theme="escuro"] .vm-palco, .site.s2[data-theme="escuro"] .vm-card{background:#13213A; border-color:rgba(255,255,255,.08); box-shadow:0 10px 30px rgba(0,0,0,.35)}
.site.s2[data-theme="escuro"] .vm-nome b, .site.s2[data-theme="escuro"] .vm-txt b{color:#fff} .site.s2[data-theme="escuro"] .vm-txt small{color:#9FB4D4} .site.s2[data-theme="escuro"] .vm-ico{background:linear-gradient(145deg,#15294A,#0F1F38)} .site.s2[data-theme="escuro"] .vm-pt{background:rgba(255,255,255,.25)} .site.s2[data-theme="escuro"] .vm-pt.on{background:#00A859}
@media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .vm-palco, .site.s2[data-theme="auto"] .vm-card{background:#13213A; border-color:rgba(255,255,255,.08)} .site.s2[data-theme="auto"] .vm-nome b, .site.s2[data-theme="auto"] .vm-txt b{color:#fff} .site.s2[data-theme="auto"] .vm-txt small{color:#9FB4D4} .site.s2[data-theme="auto"] .vm-ico{background:linear-gradient(145deg,#15294A,#0F1F38)} }

/* E88j: dentro do quadro, uma linha por modalidade (PARCEIROS / CLIENTES) com as logos correndo */
.site.s2 .vm-palco{gap:8px}
.site.s2 .vmr{display:flex; align-items:center; gap:10px; min-height:52px; border-top:1px solid var(--linha,rgba(15,31,56,.08)); padding-top:6px}
.site.s2 .vmr-rot{flex:none; display:inline-flex; align-items:center; gap:6px; width:104px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:1.5px; color:#00A859}
.site.s2 .vmr-par .vmr-rot{color:#0F2C6B} .site.s2[data-theme="escuro"] .vmr-par .vmr-rot{color:#9FB4D4} @media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .vmr-par .vmr-rot{color:#9FB4D4} }
.site.s2 .vmr-jan{flex:1; overflow:hidden; min-width:0; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.site.s2 .vmr-trilho{display:flex; width:max-content; animation:vmr-corre 28s linear infinite} .site.s2 .vmr:hover .vmr-trilho{animation-play-state:paused}
.site.s2 .vmr-cli .vmr-trilho{animation-duration:34s}
.site.s2 .vmr-grp{display:flex; gap:10px; padding-right:10px}
.site.s2 .vmr-it{flex:none; width:96px; height:44px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:8px; padding:4px 8px; border:1px solid rgba(15,31,56,.08)}
.site.s2 .vmr-it img{max-width:100%; max-height:100%; object-fit:contain}
@keyframes vmr-corre{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.site.s2 .vm-mais{align-self:flex-end; font-size:12px; font-weight:700; color:#00A859; text-decoration:none}
@media (prefers-reduced-motion: reduce){ .site.s2 .vmr-trilho{animation:none} }
/* E88l: seções Clientes / Parceiros em clientes.php — segunda seção mais compacta e com fundo levemente diferente para não repetir */
.site.s2 .parceiros.parc-parceiro{padding-top:28px}
.site.s2 .parceiros .parc-rot svg{vertical-align:-3px; margin-right:4px}
.site.s2 .parceiros.parc-parceiro .parc-rot{color:#9FB4D4} .site.s2[data-theme="claro"] .parceiros.parc-parceiro .parc-rot{color:#0F2C6B}

/* E88l: seção Parceiros em grade (diferente da apresentação dos clientes) */
.site.s2 .parc-grade{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; margin-top:18px}
.site.s2 .parc-cel{display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 14px; border-radius:16px; background:var(--card,#fff); border:1px solid var(--linha,rgba(15,31,56,.1)); text-decoration:none; color:inherit; text-align:center; transition:transform .2s}
.site.s2 .parc-cel:hover{transform:translateY(-3px)}
.site.s2 .parc-cel-logo{width:100%; height:92px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:12px; padding:10px; border:1px dashed rgba(15,31,56,.15)}
.site.s2 .parc-cel-logo img{max-width:100%; max-height:100%; object-fit:contain}
.site.s2 .parc-cel b{font-size:13px; line-height:1.25; color:#0F1F38} .site.s2 .parc-cel small{font-size:11px; color:var(--txt2,#5B6778)}
.site.s2[data-theme="escuro"] .parc-cel{background:#13213A; border-color:rgba(255,255,255,.08)} .site.s2[data-theme="escuro"] .parc-cel b{color:#fff}
@media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .parc-cel{background:#13213A; border-color:rgba(255,255,255,.08)} .site.s2[data-theme="auto"] .parc-cel b{color:#fff} }

/* E88m: cada linha de logos é a continuação do cartão da mesma modalidade */
.site.s2 .vm-wrap{max-width:900px; display:flex; flex-direction:column; gap:10px}
.site.s2 .vm-eb{font-size:11px; margin-bottom:2px}
.site.s2 .vm-row{display:grid; grid-template-columns:minmax(260px,1.1fr) minmax(260px,1fr); gap:0; align-items:stretch; border-radius:16px; overflow:hidden; border:1px solid var(--linha,rgba(15,31,56,.1)); box-shadow:0 8px 24px rgba(15,31,56,.07); background:var(--card,#fff)}
.site.s2 .vm-row .vm-palco{border:0; border-radius:0; box-shadow:none; padding:10px 14px; justify-content:center; border-right:1px solid var(--linha,rgba(15,31,56,.08))}
.site.s2 .vm-row .vmr{border-top:0; padding-top:0; min-height:56px}
.site.s2 .vm-row .vm-card{border:0; border-radius:0; box-shadow:none; background:transparent}
.site.s2 .vm-row .vm-card:hover{transform:none; background:rgba(0,168,89,.05)}
.site.s2 .vmr-vazia small{font-size:11.5px; color:var(--txt2,#5B6778)}
.site.s2[data-theme="escuro"] .vm-row{background:#13213A; border-color:rgba(255,255,255,.08)} .site.s2[data-theme="escuro"] .vm-row .vm-palco{border-right-color:rgba(255,255,255,.08)}
@media (prefers-color-scheme: dark){ .site.s2[data-theme="auto"] .vm-row{background:#13213A; border-color:rgba(255,255,255,.08)} .site.s2[data-theme="auto"] .vm-row .vm-palco{border-right-color:rgba(255,255,255,.08)} }
@media (max-width:760px){ .site.s2 .vm-row{grid-template-columns:1fr} .site.s2 .vm-row .vm-palco{border-right:0; border-bottom:1px solid var(--linha,rgba(15,31,56,.08))} }
/* E88n: sem os rótulos PARCEIROS/CLIENTES na linha de logos (o cartão ao lado já identifica) */
.site.s2 .vm-row .vmr-rot{display:none}
