/* Home pública — Pastor Ascendino Batista · Lunan Comunicação */
:root{
  --g950:#0A2A1E; --g900:#0F3A2A; --g800:#164A36; --g700:#1E5E44; --g600:#1E7A52; --g500:#12A065; --g400:#3CC283; --g200:#BDEBD3; --g100:#DDF5E8; --g50:#EFFAF4;
  --bg:#EEF1EF; --card:#FFFFFF; --line:#D3DBD6; --line2:#E6EBE8; --ink:#101B15; --ink2:#2A3831; --muted:#4F5F56; --muted2:#6F7E76;
  --pautas:linear-gradient(90deg,#9B3FB5 0%,#3D6FE0 30%,#11B3A0 55%,#7CCB4C 78%,#F6B731 100%);
  --r:16px; --r-sm:10px; --r-lg:24px;
  --sh:0 1px 2px rgba(16,40,28,.05),0 4px 14px rgba(16,40,28,.06);
  --sh-lg:0 18px 50px rgba(10,42,30,.20);
  --font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --cond:'Barlow Condensed','Arial Narrow',sans-serif;
  --texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --top:68px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--g600)}
h1,h2,h3,h4{margin:0;line-height:1.05}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--g900);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--g400);outline-offset:2px;border-radius:6px}

/* ---------- Wordmark (igual ao CRM) ---------- */
.wordmark{display:inline-flex;flex-direction:column;align-items:center;font-family:var(--cond);color:#fff;line-height:.86;text-transform:uppercase}
.wm-top{font-size:.7em;font-weight:600;letter-spacing:.42em;margin-left:.42em}
.wm-mid{font-size:1.55em;font-weight:800;letter-spacing:.01em}
.wm-big{font-size:2.15em;font-weight:800;letter-spacing:.005em}
.wm-bar{display:block;align-self:stretch;margin-top:3px;background:linear-gradient(90deg,var(--g500),#0B7A4B);transform:skewX(-12deg);text-align:center;padding:2px 0}
.wm-bar i{display:inline-block;font-style:normal;font-size:.6em;font-weight:700;letter-spacing:.42em;transform:skewX(12deg);margin-left:.42em}
.wm-sm{font-size:9.5px}
.wm-hero{font-size:clamp(26px,5.4vw,46px);align-items:flex-start}
.wm-hero .wm-top{margin-left:.1em}
.wm-hero .wm-bar{margin-top:.12em;padding:.08em 0}
.wm-foot{font-size:15px}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--font);padding:14px 22px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(90deg,var(--g500),#0B7A4B);color:#fff;box-shadow:0 6px 18px rgba(18,160,101,.35)}
.btn-primary:hover{box-shadow:0 10px 24px rgba(18,160,101,.45)}
.btn-ghost-light{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--g900);color:#fff}
.btn-outline{border-color:var(--g700);color:var(--g800)}
.btn-sm{padding:10px 16px;font-size:14px}
.btn-lg{padding:16px 26px;font-size:16px}

/* ---------- Topbar ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(15,58,42,.96);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-in{height:var(--top);display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar-brand{text-decoration:none;display:flex}
.menu{display:flex;align-items:center;gap:26px}
.menu a{color:rgba(255,255,255,.86);text-decoration:none;font-size:14px;font-weight:500}
.menu a:not(.btn):hover{color:#fff}
.menu a.btn{color:#fff}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:.2s}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--g900) var(--texture);color:#fff;overflow:hidden;padding:0}
.hero-band{position:absolute;left:-10%;right:-10%;bottom:-60px;height:46%;background:linear-gradient(90deg,var(--g500),#0B7A4B);transform:skewY(-7deg);opacity:.35;transform-origin:left}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:24px;min-height:min(640px,82vh)}
.hero-txt{padding:56px 0 64px;align-self:center}
.eyebrow{display:inline-block;margin:0 0 18px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--g200);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:6px 12px;border-radius:999px}
.hero h1{margin:0 0 20px}
.hero-lead{font-size:clamp(17px,2vw,20px);color:rgba(255,255,255,.88);max-width:520px;margin:0 0 28px}
.hero-lead strong{color:#fff}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-chips{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.hero-chips li{font-size:13px;color:var(--g100);border-left:3px solid var(--g400);padding:2px 10px;background:rgba(0,0,0,.12)}
.hero-foto{margin:0;align-self:end;justify-self:center;max-width:440px;width:100%}
.hero-foto img{width:100%;max-height:600px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}
.pautas-bar{height:6px;background:var(--pautas);position:relative}

/* ---------- Seções comuns ---------- */
section{padding:88px 0}
.sec-head{max-width:720px;margin:0 0 40px}
.kicker{margin:0 0 8px;font:700 13px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--g600)}
.kicker-light{color:var(--g400)}
.sec-head h2,.fale h2,.sobre h2{font-family:var(--cond);font-weight:800;font-size:clamp(38px,5vw,56px);text-transform:uppercase;letter-spacing:.005em;color:var(--g900)}
.sec-head h2 span,.sobre h2 span{color:var(--g500)}
.sec-sub{margin:12px 0 0;color:var(--muted);font-size:17px}
.fonte{margin:18px 0 0;font-size:12.5px;color:var(--muted2)}

/* ---------- Números ---------- */
.numeros{background:#fff}
.stats{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:14px}
.stat{position:relative;background:var(--g50);border:1px solid var(--g100);border-radius:var(--r);padding:22px 20px;display:flex;flex-direction:column;overflow:hidden}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pautas)}
.stat b{font-family:var(--cond);font-weight:800;font-size:clamp(42px,4.6vw,58px);line-height:.95;color:var(--g800);font-variant-numeric:tabular-nums}
.stat span{font-weight:600;color:var(--ink2);margin-top:6px;line-height:1.3}
.stat small{color:var(--muted2);font-size:13px;margin-top:4px;line-height:1.35}
.stat-xl{background:var(--g900) var(--texture);border-color:var(--g900)}
.stat-xl b{color:#fff;font-size:clamp(56px,6.4vw,84px)}
.stat-xl span{color:var(--g200);font-size:18px}
.stat-xl small{color:rgba(255,255,255,.7)}
.sub-title{font-family:var(--cond);font-weight:800;font-size:30px;text-transform:uppercase;color:var(--g900);margin:64px 0 20px}
.conquistas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.conq{background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:22px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:8px}
.conq h4{font-family:var(--cond);font-weight:700;font-size:25px;text-transform:uppercase;color:var(--g900);letter-spacing:.005em}
.conq p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.conq-dest{background:var(--g900) var(--texture);border-color:var(--g900);color:#fff;justify-content:flex-end;min-height:260px;position:relative;overflow:hidden}
.conq-dest::after{content:"";position:absolute;right:-40px;top:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(60,194,131,.45),transparent 70%)}
.conq-dest h4{color:#fff;font-size:34px}
.conq-dest p{color:rgba(255,255,255,.82);font-size:15.5px}
.conq-dest strong{color:var(--g400)}
.tag{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--g100);color:var(--g700)}
.conq-dest .tag{background:var(--g500);color:#fff}
.tag-roxo{background:#F1E4F7;color:#7B2C93}.tag-azul{background:#E3EBFC;color:#2B54B5}.tag-verde{background:#EAF6DF;color:#4C8A22}.tag-teal{background:#DDF4F1;color:#0C7F72}
.link-arrow{color:var(--g400);font-weight:600;text-decoration:none;margin-top:6px}
.link-arrow::after{content:" →"}

/* ---------- Pautas ---------- */
.pautas{background:var(--bg)}
.pautas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pauta{position:relative;background:#fff;border-radius:var(--r);padding:24px 22px 22px;box-shadow:var(--sh);overflow:hidden;transition:transform .2s,box-shadow .2s}
.pauta::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c)}
.pauta:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.pi{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--c) 14%,#fff);margin-bottom:14px}
.pi svg{width:28px;height:28px;fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pauta h3{font-family:var(--cond);font-weight:800;font-size:26px;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
.pauta p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
.pautas-grid .pauta:first-child{grid-column:span 2;background:linear-gradient(135deg,#fff 55%,color-mix(in srgb,var(--c) 10%,#fff))}
.pautas-grid .pauta:first-child h3{font-size:36px}

/* ---------- Fale com o vereador ---------- */
.fale{background:var(--g900) var(--texture);color:#fff;position:relative;overflow:hidden}
.fale::before{content:"";position:absolute;left:-10%;right:-10%;top:-80px;height:220px;background:linear-gradient(90deg,var(--g500),#0B7A4B);transform:skewY(-5deg);opacity:.25}
.fale-in{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.fale-txt{position:sticky;top:calc(var(--top) + 32px)}
.fale h2{color:#fff}
.fale h2 span{color:var(--g400)}
.fale-txt>p{color:rgba(255,255,255,.84);font-size:17px}
.passos{list-style:none;padding:0;margin:28px 0;display:grid;gap:14px}
.passos li{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);padding:14px 16px}
.passos b{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--g500);font-family:var(--cond);font-size:22px}
.passos strong{display:block;font-size:16px}
.passos span{color:rgba(255,255,255,.72);font-size:14px}
.lgpd{font-size:13px;color:rgba(255,255,255,.6)}
.fale-form{background:var(--bg);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden;position:relative}
.fale-form::before{content:"";display:block;height:6px;background:var(--pautas)}
#cadastroFrame{display:block;width:100%;height:1200px;border:0;background:var(--bg)}
.fale-abrir{display:block;text-align:center;padding:12px;font-size:13px;color:var(--muted);background:#fff;border-top:1px solid var(--line2);text-decoration:none}

/* ---------- Serviços ---------- */
.servicos{background:#fff}
.emerg{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}
.emerg a{display:flex;align-items:center;gap:10px;text-decoration:none;background:#FFF1F1;border:1px solid #F8D4D4;border-radius:var(--r-sm);padding:10px 14px;color:#8A1C1C;transition:background .15s}
.emerg a:hover{background:#FFE4E4}
.emerg b{font-family:var(--cond);font-size:30px;font-weight:800;line-height:1;color:#C62828}
.emerg span{font-size:13px;font-weight:600;line-height:1.2}
.busca{position:relative;display:flex;align-items:center}
.busca svg{position:absolute;left:18px;width:22px;height:22px;fill:none;stroke:var(--g600);stroke-width:2.2;stroke-linecap:round}
.busca input{width:100%;font:500 17px var(--font);color:var(--ink);padding:18px 52px 18px 52px;border-radius:999px;border:2px solid var(--line);background:var(--g50);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.busca input:focus{border-color:var(--g500);box-shadow:0 0 0 5px rgba(18,160,101,.15);background:#fff}
.busca input::-webkit-search-cancel-button{display:none}
.busca-x{position:absolute;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--line2);color:var(--ink2);font-size:22px;line-height:1;cursor:pointer}
.chips{display:flex;gap:8px;overflow-x:auto;padding:16px 2px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:600 14px var(--font);color:var(--ink2);cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--g500)}
.chip[aria-selected="true"]{background:var(--g900);border-color:var(--g900);color:#fff}
.chip em{font-style:normal;font-size:12px;opacity:.65}
.resultado{margin:10px 0 18px;font-size:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:20px;box-shadow:var(--sh);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cc,var(--g500))}
.card-cat{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cc,var(--g600))}
.card h3{font-family:var(--cond);font-weight:800;font-size:25px;text-transform:uppercase;color:var(--ink);margin:6px 0 6px;letter-spacing:.005em}
.card-desc{margin:0 0 12px;font-size:14.5px;color:var(--ink2);line-height:1.5}
.card-dest{display:inline-block;font-size:12px;font-weight:600;color:var(--g700);background:var(--g100);padding:3px 9px;border-radius:6px;margin-bottom:10px;align-self:flex-start}
.card dl{margin:0 0 14px;display:grid;gap:7px;font-size:13.5px}
.card dl div{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;color:var(--muted)}
.card dl svg{width:17px;height:17px;margin-top:2px;fill:none;stroke:var(--muted2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card dd{margin:0}
.card dd strong{color:var(--ink2);font-weight:600}
.acoes{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.acao{display:inline-flex;align-items:center;gap:6px;font:600 13.5px/1 var(--font);text-decoration:none;padding:10px 13px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink2);background:#fff;transition:.15s}
.acao svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acao:hover{border-color:var(--g500);color:var(--g700)}
.acao-tel{background:var(--g900);border-color:var(--g900);color:#fff}
.acao-tel:hover{background:var(--g700);color:#fff;border-color:var(--g700)}
.acao-wa{border-color:#25D366;color:#128C4A}
.acao-wa:hover{background:#E8FBEF;color:#0E7A3E;border-color:#25D366}
.card mark{background:#FFF3B0;color:inherit;border-radius:3px;padding:0 1px}
.mais{text-align:center;margin-top:22px}
.mais .btn{background:#fff}
.vazio{text-align:center;padding:36px 20px;border:2px dashed var(--line);border-radius:var(--r);margin-top:8px}
.vazio p{margin:0 0 14px;color:var(--muted)}
.vazio strong{color:var(--ink)}

/* ---------- Sobre ---------- */
.sobre{background:var(--bg)}
.sobre-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.sobre-foto{margin:0;position:relative;background:var(--g900) var(--texture);border-radius:var(--r-lg);overflow:hidden;padding-top:28px;box-shadow:var(--sh-lg)}
.sobre-foto::before{content:"";position:absolute;left:-20%;right:-20%;bottom:-40px;height:45%;background:linear-gradient(90deg,var(--g500),#0B7A4B);transform:skewY(-8deg);opacity:.45}
.sobre-foto img{position:relative;width:88%;margin:0 auto}
.sobre-foto figcaption{position:absolute;left:20px;bottom:20px}
.sobre-txt p{color:var(--ink2);font-size:16.5px;margin:16px 0 0}
.cargos{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cargos li{background:#fff;border-radius:var(--r-sm);padding:12px 14px;font-size:14px;color:var(--muted);box-shadow:var(--sh);line-height:1.35}
.cargos b{display:block;font-family:var(--cond);font-size:20px;text-transform:uppercase;color:var(--g700);letter-spacing:.02em}
.sobre-cta{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- FAQ ---------- */
.faq{background:#fff}
.faq-list{display:grid;gap:10px;max-width:860px}
.faq details{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--g50);padding:0 18px}
.faq summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-weight:600;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:24px;color:var(--g600);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px;color:var(--ink2);font-size:15px}

/* ---------- Rodapé ---------- */
.rodape{background:var(--g950) var(--texture);color:rgba(255,255,255,.78);font-size:14.5px}
.rodape-in{display:grid;grid-template-columns:1.2fr 1.3fr 1fr 1fr;gap:32px;padding-top:56px;padding-bottom:40px}
.rodape-marca p{margin:16px 0 0;color:rgba(255,255,255,.65)}
.rodape-col{display:flex;flex-direction:column;gap:9px;font-style:normal}
.rodape h3{font-family:var(--cond);font-size:18px;text-transform:uppercase;letter-spacing:.1em;color:var(--g400);margin-bottom:4px}
.rodape a{color:rgba(255,255,255,.86);text-decoration:none}
.rodape a:hover{color:#fff;text-decoration:underline}
.rodape .muted{color:rgba(255,255,255,.55);font-size:13px}
.rodape-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;padding-bottom:calc(22px + env(safe-area-inset-bottom));font-size:12.5px;color:rgba(255,255,255,.5)}
.rodape-base a{color:var(--g400)}

/* ---------- Botão flutuante (mobile) ---------- */
.fab{display:none}

/* ---------- Animação de entrada ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.pauta{transition:none}}

/* ---------- Responsivo ---------- */
@media (max-width:1080px){
  .stats{grid-template-columns:repeat(3,1fr)}
  .stat-xl{grid-column:span 3}
  .pautas-grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .rodape-in{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  :root{--top:60px}
  .menu-btn{display:block}
  .menu{position:fixed;top:var(--top);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--g900);padding:8px 20px 20px;transform:translateY(-120%);transition:transform .25s;box-shadow:var(--sh-lg);z-index:-1}
  .menu.open{transform:none}
  .menu a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px}
  .menu a.btn{margin-top:14px;border-bottom:0}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-in{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-txt{padding:40px 0 8px}
  .hero-foto{max-width:300px;margin-top:4px}
  .hero-foto img{max-height:420px}
  section{padding:64px 0}
  .conquistas{grid-template-columns:1fr 1fr}
  .conq-dest{grid-column:span 2;grid-row:auto;min-height:0}
  .fale-in{grid-template-columns:1fr;gap:28px}
  .fale-txt{position:static}
  .sobre-in{grid-template-columns:1fr;gap:32px}
  .sobre-foto{max-width:420px}
  .emerg{grid-template-columns:repeat(3,1fr)}
  .fab{display:flex;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;justify-content:center;padding:15px;border-radius:999px;background:linear-gradient(90deg,var(--g500),#0B7A4B);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 10px 30px rgba(10,42,30,.4);transition:transform .25s,opacity .25s}
  .fab.hide{transform:translateY(140%);opacity:0;pointer-events:none}
  .rodape-base{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-chips li{font-size:12px}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stat-xl{grid-column:span 2}
  .stat{padding:18px 16px}
  .stat b{font-size:40px}
  .stat-xl b{font-size:60px}
  .conquistas{grid-template-columns:1fr}
  .conq-dest{grid-column:auto}
  .pautas-grid{grid-template-columns:1fr 1fr;gap:10px}
  .pautas-grid .pauta:first-child{grid-column:span 2}
  .pauta{padding:18px 16px}
  .pauta h3{font-size:22px}
  .pauta p{font-size:13.5px}
  .cards{grid-template-columns:1fr}
  .emerg{grid-template-columns:repeat(2,1fr)}
  .emerg a:last-child{grid-column:span 2}
  .busca input{font-size:16px;padding:16px 48px}
  .cargos{grid-template-columns:1fr}
  .rodape-in{grid-template-columns:1fr;gap:28px}
  #cadastroFrame{height:1400px}
}
