/* Ativo Gestão Contábil — estilo do site */
:root{--brand:#1f5290;--brand2:#2f7fd9;--amarelo:#f0d040;--ink:#16202b;--muted:#5d6b7a;
--line:#e2e8ef;--bg:#f5f7fa;--ok:#0f6b45;--okbg:#e8f4ee;--err:#b02a37;--errbg:#fdeaec;
--warn:#a5610a;--warnbg:#fff6e5;--info:#0b5c8a;--infobg:#e8f2fa;--radius:12px;--shadow:0 2px 14px rgba(16,40,70,.07)}
*{box-sizing:border-box}
body{margin:0;font:16px/1.65 -apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto}
a{color:var(--brand2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;margin:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.btn{display:inline-block;background:var(--brand);color:#fff;border:1px solid var(--brand);padding:12px 22px;border-radius:8px;font-size:15px;cursor:pointer;font-weight:500;text-align:center}
.btn:hover{background:#17406f;text-decoration:none;color:#fff}
.btn-ghost{background:#fff;color:var(--brand);border-color:#c8d7ea}
.btn-ghost:hover{background:#eff5fc;color:var(--brand)}
.btn-amar{background:var(--amarelo);border-color:#dcbe2c;color:#4a3c00}
.btn-amar:hover{background:#e6c93a;color:#4a3c00}
.btn-sm{padding:7px 14px;font-size:13.5px}
.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12.5px}
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.tag{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand2);margin-bottom:10px}
.sec{padding:64px 0}.sec-alt{background:var(--bg)}
.sec h2{font-size:30px;margin-bottom:12px}
.lead{color:var(--muted);max-width:720px;margin:0 0 32px;font-size:17px}
.aviso{border-left:4px solid var(--warn);background:var(--warnbg);padding:14px 18px;border-radius:8px;margin:18px 0}
.aviso-err{border-color:var(--err);background:var(--errbg)}
.aviso-info{border-color:var(--info);background:var(--infobg)}
.pendente{background:#fff8e1;border:1px dashed #dcbe2c;color:#8a6d00;font-size:12px;padding:1px 7px;border-radius:5px}
/* topo */
.faixa{background:var(--brand);color:#dce9f8;font-size:13px;padding:8px 0}
.faixa .in{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.faixa a{color:#dce9f8}
.faixa .sp{flex:1}
header.topo{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
header.topo .in{display:flex;align-items:center;gap:24px;padding:14px 0}
header.topo img{height:48px;width:auto}
nav.menu{display:flex;gap:20px;font-size:15px;flex:1;flex-wrap:wrap}
nav.menu a{color:var(--ink)}
nav.menu a.at{color:var(--brand);font-weight:600;border-bottom:2px solid var(--amarelo);padding-bottom:2px}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:20px;cursor:pointer;line-height:1}
/* hero */
.hero{background:linear-gradient(120deg,#123f75 0%,#1f5290 45%,#2f7fd9 100%);color:#fff;padding:72px 0 78px;position:relative;overflow:hidden}
.hero:after{content:'';position:absolute;right:-120px;top:-60px;width:420px;height:420px;border-radius:50%;background:rgba(240,208,64,.14)}
.hero h1{font-size:42px;letter-spacing:-.5px;max-width:780px;position:relative}
.hero p{font-size:19px;color:#d6e6f8;max-width:660px;margin:16px 0 26px;position:relative}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.nums{display:flex;gap:38px;margin-top:44px;flex-wrap:wrap;position:relative}
.nums div b{display:block;font-size:32px;line-height:1.1}
.nums div span{font-size:13.5px;color:#cadcf2}
/* interna */
.capa{background:var(--bg);border-bottom:1px solid var(--line);padding:34px 0 38px}
.capa h1{font-size:34px;max-width:840px}
.crumb{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.conteudo{padding:44px 0 60px}
.conteudo h2{font-size:23px;margin:34px 0 12px}
.conteudo h3{font-size:18px;margin:22px 0 8px}
.conteudo p{margin:0 0 14px}
.conteudo ul,.conteudo ol{margin:0 0 16px;padding-left:22px}
.conteudo li{margin-bottom:7px}
.col2{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.side{position:sticky;top:96px}
.serv{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;transition:.15s;display:block;color:inherit}
.serv:hover{border-color:var(--brand2);box-shadow:var(--shadow);text-decoration:none;color:inherit;transform:translateY(-2px)}
.serv .ic{width:42px;height:42px;border-radius:10px;background:var(--infobg);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.serv h3{font-size:17px;margin-bottom:7px;color:var(--brand)}
.serv p{font-size:14.5px;color:var(--muted);margin:0}
.ferr{background:#0f2f57;color:#fff;padding:64px 0}
.ferr .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.ferr h2,.ferr h3{color:#fff}.ferr .lead{color:#b9cfe8}.ferr .card p{color:#c9dcf0;font-size:14.5px}
.linha{border-left:2px solid var(--line);padding-left:24px;margin:0;list-style:none}
.linha li{position:relative;padding:0 0 22px}
.linha li:before{content:'';position:absolute;left:-31px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--amarelo);border:3px solid #fff;box-shadow:0 0 0 2px var(--line)}
.linha b{display:block;color:var(--brand);font-size:15px}
.linha span{font-size:14.5px;color:var(--muted)}
.fil{display:flex;gap:14px;align-items:flex-start}
.fil .pin{width:36px;height:36px;flex:0 0 36px;border-radius:9px;background:var(--amarelo);color:#4a3c00;display:flex;align-items:center;justify-content:center;font-weight:700}
details.faq{border-bottom:1px solid var(--line);padding:15px 0}
details.faq summary{cursor:pointer;font-weight:600;font-size:16.5px}
details.faq p{margin:10px 0 0;color:var(--muted)}
.post{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff;display:block;color:inherit}
.post:hover{border-color:var(--brand2);text-decoration:none;color:inherit}
.post h3{font-size:17.5px;margin:10px 0 6px;color:var(--brand)}
.chip{display:inline-block;background:var(--infobg);color:var(--info);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600}
form label{display:block;font-size:13px;color:var(--muted);margin:0 0 5px}
form input,form select,form textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font:15px inherit;background:#fff;margin-bottom:14px}
form textarea{min-height:110px}
.hp{position:absolute;left:-9999px}
footer.rodape{background:#16202b;color:#9fb2c6;padding:48px 0 22px;font-size:14px}
footer.rodape h4{color:#fff;font-size:15px;margin-bottom:12px}
footer.rodape a{color:#c8d8e8}
footer.rodape .fim{border-top:1px solid #26333f;margin-top:30px;padding-top:16px;font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer.rodape .logo-rodape{height:44px;width:auto;margin-bottom:14px;opacity:.95}
.zap{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;border-radius:50px;padding:12px 18px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:90}
.zap:hover{color:#fff;text-decoration:none}
/* onde atendemos */
.nums.claro{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 8px}
.nums.claro div{flex:1 1 150px;background:var(--infobg);border:1px solid #c3ddf0;border-radius:12px;padding:16px 18px}
.nums.claro b{display:block;font-size:30px;line-height:1.1;color:var(--brand)}
.nums.claro span{font-size:13.5px;color:var(--muted)}
figure.mapa{margin:0;background:linear-gradient(160deg,#f5f9fd,#e9f1fa);border:1px solid var(--line);border-radius:14px;padding:14px 14px 8px}
figure.mapa img{width:100%;height:auto;display:block}
figure.mapa figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:6px;line-height:1.6}
.mapabloco{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;margin:26px 0 8px}
/* fotos */
figure.foto{margin:22px 0}
figure.foto img{width:auto;max-width:100%;max-height:520px;height:auto;display:block;margin:0 auto;border-radius:12px;border:1px solid var(--line);box-shadow:0 4px 16px rgba(16,40,70,.09)}
.galeria figure.foto img{width:100%;max-height:none}
figure.foto figcaption{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}
.galeria.g3f{grid-template-columns:1fr 1fr 1fr}
.galeria figure.foto{margin:0}
.galeria.g3f figure.foto img{aspect-ratio:4/3;object-fit:cover}
.card.cfil{padding-top:0;overflow:hidden}
.card.cfil .fachada{width:calc(100% + 2px);margin:0 -1px 16px;display:block;aspect-ratio:4/3;object-fit:cover;border-radius:11px 11px 0 0}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}.col2{grid-template-columns:1fr}.side{position:static}.hero h1{font-size:32px}}
.equipe .card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.equipe .card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;display:block;border-bottom:1px solid var(--line)}
.equipe .card h3{font-size:18px;margin:16px 20px 0}
.equipe .cargo{font-size:13px;color:var(--brand);font-weight:700;margin:3px 20px 0;letter-spacing:.2px}
.equipe .card p.small{margin:10px 20px 0}
.equipe .crc{color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:12px;margin:14px 20px 20px!important;margin-top:auto!important}
.card h3 span.sub{display:block;font-size:13px;font-weight:600;color:var(--brand2);margin-top:5px;letter-spacing:.2px}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.galeria,.galeria.g3f{grid-template-columns:1fr}
.mapabloco{grid-template-columns:1fr;gap:22px}
nav.menu{display:none;flex:0 0 100%;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--line);padding:6px 0;margin:0}
nav.menu.aberto{display:flex}nav.menu a{padding:10px 0}
.menu-btn{display:block;margin-left:auto}
header.topo .in{flex-wrap:wrap;gap:10px;padding:12px 0}
header.topo img{height:40px}
header.topo .in>a.btn{display:none}
.faixa .in{gap:10px;font-size:12px}
.sec{padding:44px 0}.hero{padding:52px 0 56px}}
