:root{
  --bg:#FFFFFF; --soft:#F5F7F4; --soft-2:#EAF0EA;
  --ink:#14201A; --muted:#5A6A60; --line:#E0E6E0; --line-forte:#C3CCC4;
  --verde:#1F5A36; --verde-2:#2D7A4A; --verde-fraco:#E3F0E6;
  --amarelo:#F7C948; --amarelo-fraco:#FFF4D1; --amarelo-escuro:#8A6200;
  --alerta:#B3412B; --alerta-fraco:#FBE7E2;
  --sombra:0 1px 2px rgba(20,32,26,.05),0 10px 28px -14px rgba(20,32,26,.20);
  --sombra-forte:0 2px 6px rgba(20,32,26,.08),0 28px 56px -24px rgba(20,32,26,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Work Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.inner{max-width:1120px;margin:0 auto;padding-inline:24px}
h1,h2,h3{font-weight:700;text-wrap:balance;margin:0;letter-spacing:-.02em;line-height:1.12}
a{color:var(--verde-2)}
button{font-family:inherit}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}

/* botões */
.btn{font:700 15px/1 "Work Sans",sans-serif;padding:15px 24px;border-radius:10px;border:2px solid transparent;
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primario{background:var(--verde);color:#fff}
.btn.primario:hover{background:var(--verde-2)}
.btn.amarelo{background:var(--amarelo);color:var(--ink)}
.btn.amarelo:hover{box-shadow:0 8px 20px -8px rgba(0,0,0,.25)}
.btn.contorno{background:#fff;color:var(--verde);border-color:var(--verde)}
.btn.contorno:hover{background:var(--verde-fraco)}
.btn.pequeno{padding:11px 18px;font-size:14px}

/* faixa utilitária + topo */
.util{background:var(--verde);color:#fff;font-size:13px}
.util .inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:8px}
.util a{color:#fff;text-decoration:none;opacity:.9}
.util a:hover{opacity:1;text-decoration:underline}
.util .dir{display:flex;gap:20px}
@media (max-width:640px){.util .dir{display:none}.util .inner{justify-content:center}}
header.topo{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.topo .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:70px}
.marca{display:flex;align-items:center;gap:10px;font-weight:800;font-size:24px;letter-spacing:-.03em;
  color:var(--verde);text-decoration:none}
.marca .logo{width:34px;height:34px;border-radius:10px;background:var(--verde);display:grid;place-items:center}
.marca .logo svg{width:19px;height:19px;fill:var(--amarelo)}
.menu{display:flex;align-items:center;gap:28px}
.menu a.link{color:var(--verde);text-decoration:none;font-size:15px;font-weight:600}
.menu a.link:hover{text-decoration:underline}
@media (max-width:820px){.menu a.link{display:none}}

/* barra de categorias */
.barra-cat{border-bottom:1px solid var(--line);background:#fff}
.barra-cat .inner{display:flex;gap:6px;overflow-x:auto;padding-block:14px;scrollbar-width:none}
.barra-cat .inner::-webkit-scrollbar{display:none}
.barra-cat a{flex:1 0 auto;min-width:92px;display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:6px 8px;text-decoration:none;color:var(--muted);font-size:12.5px;font-weight:500;text-align:center;border-radius:10px}
.barra-cat a:hover{background:var(--soft);color:var(--ink)}
.barra-cat svg,.cat .ico svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.barra-cat svg{width:28px;height:28px;color:var(--verde-2)}

/* hero */
.hero{background:linear-gradient(180deg,var(--soft) 0,var(--bg) 100%);overflow:hidden}
.hero .inner{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:64px 72px}
@media (max-width:920px){.hero .inner{grid-template-columns:1fr;gap:40px;padding-block:40px 52px}}
.hero h1{font-size:clamp(34px,5.2vw,56px);font-weight:800}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--amarelo) 62%);padding-inline:2px}
.hero .sub{color:var(--muted);font-size:18px;max-width:50ch;margin:20px 0 0}

/* busca rápida */
.busca{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sombra-forte);
  padding:20px;margin-top:30px;max-width:620px}
.busca-linha{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
@media (max-width:640px){.busca-linha{grid-template-columns:1fr}}
.busca label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 5px;
  text-transform:uppercase;letter-spacing:.04em}
.busca select{width:100%;padding:13px 12px;border:1px solid var(--line-forte);border-radius:10px;
  font:600 15px "Work Sans",sans-serif;background:#fff;color:var(--ink)}
.busca .btn{align-self:end;height:49px}
.busca-nota{font-size:13px;color:var(--muted);margin:12px 0 0}
.busca-nota a{font-weight:600}

/* cartão de exemplo */
.zap{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sombra-forte);
  overflow:hidden;max-width:400px;margin-inline:auto;width:100%;position:relative}
.zap-topo{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--verde);color:#fff}
.zap-topo .av{width:38px;height:38px;border-radius:50%;background:var(--amarelo);display:grid;place-items:center}
.zap-topo .av svg{width:19px;height:19px;fill:var(--verde)}
.zap-topo b{display:block;font-size:15px;line-height:1.2}
.zap-topo span{font-size:12px;opacity:.85}
.zap-corpo{padding:20px 16px;display:flex;flex-direction:column;gap:10px;background:var(--soft-2);min-height:260px}
.bolha{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.bolha.de{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.bolha.eu{align-self:flex-end;background:var(--amarelo-fraco);border-top-right-radius:4px}
.bolha small{display:block;font-size:10.5px;color:var(--muted);margin-top:4px}
.zap-nota{padding:9px 18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);text-align:center}
.cartao-av{position:absolute;right:14px;bottom:44px;background:#fff;border-radius:12px;box-shadow:var(--sombra);
  padding:9px 12px;font-size:12px;border:1px solid var(--line)}
.cartao-av b{display:block;font-size:13px}

/* seções */
section.bloco{padding-block:84px}
@media (max-width:640px){section.bloco{padding-block:56px}}
.fundo-soft{background:var(--soft)}
.cab{max-width:680px;margin-bottom:44px}
.cab.centro{text-align:center;margin-inline:auto}
.titulo-secao{font-size:clamp(28px,3.6vw,40px);font-weight:800}
.lead{color:var(--muted);font-size:17.5px;margin:14px 0 0}

/* como funciona */
.alterna{display:inline-flex;gap:4px;padding:5px;background:var(--soft-2);border-radius:12px;margin-bottom:30px;max-width:100%}
.alterna button{padding:11px 20px;border:0;border-radius:8px;background:transparent;font-weight:700;
  font-size:14.5px;cursor:pointer;color:var(--muted)}
.alterna button[aria-selected="true"]{background:#fff;color:var(--verde);box-shadow:var(--sombra)}
@media (max-width:520px){.alterna{display:flex}.alterna button{flex:1;padding:11px 8px;font-size:13.5px}}
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:820px){.passos{grid-template-columns:1fr}}
.passo{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--sombra)}
.passo .n{width:42px;height:42px;border-radius:50%;background:var(--amarelo);color:var(--ink);
  display:grid;place-items:center;font-weight:800;font-size:18px;margin-bottom:18px}
.passo h3{font-size:20px;margin-bottom:8px}
.passo p{color:var(--muted);font-size:15.5px;margin:0}

/* categorias */
.categorias{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media (max-width:900px){.categorias{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.categorias{grid-template-columns:repeat(2,1fr);gap:10px}}
.cat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 12px 20px;text-align:center;
  font-weight:600;font-size:15px;text-decoration:none;color:var(--ink);display:block;
  transition:transform .18s,box-shadow .18s,border-color .18s}
.cat:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--verde-2)}
.cat .ico{width:54px;height:54px;border-radius:50%;background:var(--amarelo-fraco);color:var(--amarelo-escuro);
  display:grid;place-items:center;margin:0 auto 12px}
.cat .ico svg{width:26px;height:26px}

/* cenas */
.cenas{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:760px){.cenas{grid-template-columns:1fr}}
.cena{border-radius:18px;padding:32px;background:#fff;border:1px solid var(--line);box-shadow:var(--sombra);position:relative}
.cena .rot{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  margin-bottom:14px;padding:6px 12px;border-radius:99px}
.cena.a .rot{background:var(--amarelo-fraco);color:var(--amarelo-escuro)}
.cena.b .rot{background:var(--verde-fraco);color:var(--verde)}
.cena p{margin:0;font-size:17px;line-height:1.6}

/* números */
.numeros{background:var(--verde);color:#fff}
.numeros .inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:56px;gap:20px;text-align:center}
.numeros b{display:block;font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1;color:var(--amarelo);letter-spacing:-.03em}
.numeros span{display:block;margin:10px auto 0;font-size:15px;opacity:.9;max-width:26ch}
@media (max-width:640px){.numeros .inner{grid-template-columns:1fr;gap:28px}}

/* rede */
.rede-grade{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
@media (max-width:900px){.rede-grade{grid-template-columns:1fr;gap:28px}}
.rede-grade .cab{margin:0}
.rede{border:1px solid var(--line);border-radius:20px;padding:30px 24px 22px;background:#fff;box-shadow:var(--sombra)}
.rede svg{display:block;margin:0 auto;width:100%;height:auto}
.rede-legenda{text-align:center;font-size:13.5px;color:var(--muted);margin:14px 0 0}

/* prestador */
.prest-grade{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.prest-grade{grid-template-columns:1fr;gap:32px}}
.prest-grade ul{list-style:none;margin:24px 0 30px;padding:0;display:grid;gap:14px}
.prest-grade li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px}
.prest-grade li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:50%;background:var(--verde);
  color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:1px}
.preco-grande{background:#fff;border:2px solid var(--amarelo);border-radius:22px;padding:36px;text-align:center;box-shadow:var(--sombra-forte)}
.preco-grande small.sel{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  background:var(--amarelo-fraco);color:var(--amarelo-escuro);padding:6px 12px;border-radius:99px}
.preco-grande .valor{font-size:72px;font-weight:800;letter-spacing:-.04em;line-height:1;margin:18px 0 4px}
.preco-grande .valor span{font-size:18px;font-weight:500;color:var(--muted);letter-spacing:0}
.preco-grande .valor-texto{font-size:22px;font-weight:700;line-height:1.35;margin:18px 0 6px}
.preco-grande .valor-texto a{color:var(--verde);text-decoration:underline;text-underline-offset:3px}
.preco-grande p{color:var(--muted);margin:10px 0 0;font-size:15px}

/* comparação */
.compara{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:760px){.compara{grid-template-columns:1fr}}
.compara .col{border:1px solid var(--line);border-radius:18px;padding:32px;background:#fff}
.compara .col.vizinho{border:2px solid var(--verde);box-shadow:var(--sombra-forte);position:relative}
.compara .col.vizinho::after{content:"Nosso jeito";position:absolute;top:-14px;right:24px;background:var(--verde);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 13px;border-radius:99px}
.compara h3{font-size:21px;margin-bottom:14px}
.compara ul{margin:0;padding:0;list-style:none;font-size:15.5px}
.compara li{padding:13px 0 13px 36px;border-top:1px solid var(--line);position:relative}
.compara li:first-child{border-top:0}
.compara li::before{position:absolute;left:0;top:13px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
.compara .col.outros li{color:var(--muted)}
.compara .col.outros li::before{content:"✕";background:var(--alerta-fraco);color:var(--alerta)}
.compara .col.vizinho li::before{content:"✓";background:var(--verde-fraco);color:var(--verde)}

/* planos */
.planos{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin-inline:auto}
@media (max-width:760px){.planos{grid-template-columns:1fr}}
.plano{border:1px solid var(--line);border-radius:20px;padding:36px;background:#fff;display:flex;flex-direction:column;box-shadow:var(--sombra)}
.plano.destaque{border:2px solid var(--amarelo);position:relative}
.plano.destaque::after{content:"Para quem mora longe";position:absolute;top:-14px;left:32px;background:var(--amarelo);color:var(--ink);
  font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 13px;border-radius:99px}
.plano .selo{font-size:12.5px;font-weight:700;color:var(--verde-2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.plano h3{font-size:26px}
.plano .preco-plano{font-size:56px;line-height:1;font-weight:800;letter-spacing:-.04em;margin:20px 0 4px}
.plano .preco-plano small{font-size:16px;font-weight:500;color:var(--muted);letter-spacing:0}
.plano ul{margin:22px 0 28px;padding:0;list-style:none;font-size:15.5px;flex:1}
.plano li{padding:11px 0;border-top:1px solid var(--line);display:flex;gap:12px}
.plano li::before{content:"✓";color:var(--verde-2);font-weight:800;flex:none}
.plano .btn{width:100%}

/* faq */
.faq{max-width:760px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line-forte)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-size:18px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:400;color:var(--verde-2);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0 0 22px;color:var(--muted);max-width:62ch}

/* formulário */
.comecar-grade{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
@media (max-width:900px){.comecar-grade{grid-template-columns:1fr;gap:32px}}
.comecar-grade .cab{margin:0;position:sticky;top:110px}
@media (max-width:900px){.comecar-grade .cab{position:static}}
.contato-dir{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:12px;font-size:15px;color:var(--muted)}
.contato-dir li{display:flex;gap:12px;align-items:flex-start}
.contato-dir svg{width:20px;height:20px;color:var(--verde-2);flex:none;margin-top:2px}
.abas{display:flex;gap:4px;padding:5px;background:var(--soft-2);border-radius:12px;margin-bottom:18px}
.aba{flex:1;padding:12px;text-align:center;border:0;border-radius:8px;background:transparent;font-weight:700;font-size:14.5px;cursor:pointer;color:var(--muted)}
.aba[aria-selected="true"]{background:#fff;color:var(--verde);box-shadow:var(--sombra)}
.form-cartao{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--sombra-forte)}
@media (max-width:520px){.form-cartao{padding:22px}}
.campo{margin-bottom:18px}
.campo label,.campo .rotulo{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px}
.campo input,.campo select,.campo textarea{width:100%;padding:13px 14px;border:1px solid var(--line-forte);border-radius:10px;
  font:16px/1.4 "Work Sans",sans-serif;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.campo input::placeholder,.campo textarea::placeholder{color:var(--muted);opacity:.7}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-color:var(--verde-2);box-shadow:0 0 0 4px var(--verde-fraco)}
.campo textarea{resize:vertical;min-height:92px}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.linha2{grid-template-columns:1fr}}
.check-linha{display:flex;flex-wrap:wrap;gap:10px}
.check-linha label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14.5px;padding:9px 14px;
  border:1px solid var(--line-forte);border-radius:99px;cursor:pointer;margin:0;background:#fff}
.check-linha label:has(input:checked){background:var(--verde-fraco);border-color:var(--verde-2)}
.check-linha input{width:auto;accent-color:var(--verde)}
.campo.so-um .check-linha label{border-radius:10px;width:100%}
.form-rodape{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.form-msg{font-size:13.5px;color:var(--muted);flex:1;min-width:200px}
.form-msg.ok{color:var(--verde-2);font-weight:600}

/* rodapé */
footer{background:var(--ink);color:#fff}
footer .inner{padding-block:48px 36px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px}
@media (max-width:700px){footer .inner{grid-template-columns:1fr}}
footer .marca{color:#fff}
footer .marca .logo{background:rgba(255,255,255,.12)}
footer p{margin:14px 0 0;font-size:14px;opacity:.75;max-width:44ch}
footer .cidades{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;justify-content:flex-end}
@media (max-width:700px){footer .cidades{justify-content:flex-start}}
footer .cidades span{font-size:13px;padding:6px 13px;border-radius:99px;border:1px solid rgba(255,255,255,.25)}
footer .fim{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;font-size:13px;opacity:.6}

.zap-btn{background:#25D366;color:#073B1C}
.zap-btn:hover{background:#1FB757}
.zap-btn svg{width:19px;height:19px;flex:none}
.flutua{position:fixed;right:16px;bottom:16px;z-index:60;box-shadow:0 10px 28px -8px rgba(7,59,28,.6);padding:15px 20px}
@media (max-width:520px){.flutua span{display:none}.flutua{padding:16px;border-radius:50%}.flutua svg{width:26px;height:26px}}
.fone-util{font-size:14px;color:#fff;text-decoration:none}
.fone-util b{color:var(--amarelo);font-size:15px;letter-spacing:.01em}
.fone-topo{display:flex;flex-direction:column;line-height:1.15;text-decoration:none;color:var(--ink);font-weight:800;font-size:17px;letter-spacing:-.01em}
.fone-topo small{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
@media (max-width:1000px){.fone-topo small{display:none}}
@media (max-width:620px){.fone-topo{display:none}.menu .zap-btn{padding:10px 14px;font-size:13px}}
.busca-fone{font-size:15px;color:var(--ink);padding-top:12px;border-top:1px solid var(--line)}
.busca-fone a{font-weight:800;font-size:17px;color:var(--verde);text-decoration:none;white-space:nowrap}
.contato-rodape{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;padding:18px 0 4px;border-top:1px solid rgba(255,255,255,.15)}
.contato-rodape a{color:#fff;text-decoration:none;font-weight:700;font-size:20px}
.contato-rodape a:hover{color:var(--amarelo)}

.rev{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.rev.vis{opacity:1;transform:none}
.sem-js .rev{opacity:1;transform:none}
.planos.um{grid-template-columns:minmax(0,500px);justify-content:center}
.hero.prest .inner{align-items:center}
.lista-fone{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* categorias: linha incompleta fica centralizada */
.categorias{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.categorias .cat{width:calc((100% - 70px)/6)}
@media (max-width:900px){.categorias .cat{width:calc((100% - 28px)/3)}}
@media (max-width:520px){.categorias{gap:10px}.categorias .cat{width:calc((100% - 10px)/2);padding-inline:8px;font-size:14px}}

/* mais procurados */
.sub-grupo{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--amarelo-escuro);margin:0 0 16px}
.sub-grupo .estrela{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--amarelo);color:var(--ink);font-size:13px}
.sub-grupo.outros{color:var(--muted);margin-top:36px}
/* grupos por assunto (faixa do topo + seções) */
.sub-grupo.tema{color:var(--ink);margin-top:36px;flex-wrap:wrap}
.sub-grupo.tema .estrela{background:var(--verde-fraco);color:var(--verde)}
.sub-grupo .estrela svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sub-grupo small{font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.cat.top{background:var(--amarelo-fraco);border:2px solid var(--amarelo);box-shadow:var(--sombra)}
.cat.top .ico{background:var(--amarelo);color:var(--ink)}
.cat.top:hover{border-color:var(--amarelo-escuro)}
.barra-cat a.top{background:var(--amarelo-fraco);color:var(--ink);font-weight:700}
.barra-cat a.top svg{color:var(--amarelo-escuro)}

.selo-vagas{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;font-size:14px;font-weight:600;
  background:var(--amarelo-fraco);border:1px solid var(--amarelo);border-radius:99px;padding:6px 16px 6px 6px}
.selo-vagas span{background:var(--amarelo);color:var(--ink);font-weight:800;font-size:12px;letter-spacing:.05em;
  text-transform:uppercase;padding:5px 11px;border-radius:99px}

.aviso-legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:13px;opacity:.85}
.aviso-legal p{margin:0 0 10px;max-width:90ch}
.aviso-legal .links-legais a{color:#fff;font-weight:700;margin-right:20px}
.aviso-legal .ident{opacity:.8}
.doc{max-width:760px;margin:0 auto;padding:56px 24px 80px}
.doc h1{font-size:clamp(30px,4.5vw,42px);font-weight:800;margin-bottom:8px}
.doc .atual{color:var(--muted);font-size:14px;margin:0 0 32px}
.doc h2{font-size:21px;margin:34px 0 10px}
.doc p,.doc li{color:#27352C;font-size:16.5px}
.doc ul{padding-left:22px}
.doc .volta{display:inline-block;margin-bottom:22px;font-weight:600;text-decoration:none}

/* setas da barra de categorias */
.barra-wrap{position:relative;max-width:1120px;margin:0 auto}
.barra-cat .inner{padding-inline:52px;scroll-behavior:smooth}
.barra-cat .seta{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line-forte);background:#fff;color:var(--verde);font-size:26px;line-height:1;padding:0 0 3px;
  cursor:pointer;box-shadow:var(--sombra);display:grid;place-items:center}
.barra-cat .seta:hover{background:var(--amarelo);border-color:var(--amarelo);color:var(--ink)}
.barra-cat .seta[hidden]{display:none}
.barra-cat .seta.esq{left:4px}
.barra-cat .seta.dir{right:4px}
@media (max-width:640px){.barra-cat .inner{padding-inline:16px}.barra-cat .seta{display:none}}

/* barra de categorias: todos os itens com a mesma moldura */
.barra-cat a{background:#fff;border:1px solid var(--line-forte);border-radius:12px;padding:8px 12px}
.barra-cat a:hover{background:#fff;border-color:var(--verde-2);color:var(--ink)}
.barra-cat a.top{background:var(--amarelo-fraco);border-color:var(--amarelo)}
.barra-cat a.top:hover{border-color:var(--amarelo-escuro)}

/* barra de categorias: todos os itens com o mesmo tamanho */
.barra-cat .inner{align-items:flex-start}
.barra-cat a{flex:0 0 128px;width:128px;height:104px;min-width:0;justify-content:flex-start;
  padding:10px 8px;gap:6px;font-size:12px;line-height:1.2;overflow:hidden;overflow-wrap:anywhere}
.barra-cat a svg{flex:none}

/* cartão do Concierge em duas colunas */
.planos.um{grid-template-columns:minmax(0,920px)}
.plano-largo{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;padding:44px}
.plano-largo .preco-plano{margin:18px 0 2px;font-size:64px}
.plano-largo .preco-un{margin:0 0 26px;color:var(--muted);font-size:16px;font-weight:600}
.plano-largo .pl-esq .btn{width:100%}
.plano-largo .pl-dir{margin:0;padding:0 0 0 44px;border-left:1px solid var(--line);list-style:none;display:grid;gap:18px}
.plano-largo .pl-dir li{display:flex;gap:14px;padding:0;border:0;font-size:16.5px;line-height:1.45;color:var(--ink)}
.plano-largo .pl-dir li b{font-weight:700}
.plano-largo .pl-dir li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:50%;background:var(--verde-fraco);
  color:var(--verde);display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:1px}
@media (max-width:820px){
  .plano-largo{grid-template-columns:1fr;gap:28px;padding:34px 26px}
  .plano-largo .pl-dir{padding:26px 0 0;border-left:0;border-top:1px solid var(--line)}
}

/* conteúdo centralizado dentro de cada moldura */
.barra-cat a{justify-content:center;align-items:center;text-align:center}
.categorias .cat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:132px;text-align:center}
.categorias .cat .ico{margin:0 auto 12px;flex:none}

/* ===== cabeçalho moderno ===== */
header.topo{background:rgba(255,255,255,.86);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s,background .25s}
header.topo.rolou{background:rgba(255,255,255,.96);border-bottom-color:var(--line);box-shadow:0 10px 30px -18px rgba(20,32,26,.35)}
header.topo .inner{height:78px;gap:28px}
.marca{font-size:25px;gap:12px;flex:none}
.marca .logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--verde-2),var(--verde));box-shadow:0 6px 14px -6px rgba(0,0,0,.3)}
.marca .logo svg{width:21px;height:21px;fill:var(--amarelo)}
.menu{flex:1;justify-content:center;gap:6px}
.menu a.link{position:relative;padding:10px 14px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-radius:99px;transition:background .2s,color .2s}
.menu a.link:hover{background:var(--verde-fraco);color:var(--verde);text-decoration:none}
.acoes{display:flex;align-items:center;gap:14px;flex:none}
.btn.ghost{background:transparent;color:var(--verde);border:1.5px solid var(--verde);border-radius:99px;padding:11px 18px}
.btn.ghost:hover{background:var(--verde);color:#fff}
.fone-topo{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:16px;line-height:1.15;color:var(--ink);text-decoration:none;font-weight:800}
.fone-topo .fone-ico{width:38px;height:38px;border-radius:50%;background:var(--amarelo-fraco);color:var(--amarelo-escuro);display:grid;place-items:center;flex:none}
.fone-topo .fone-ico svg{width:18px;height:18px}
.fone-topo .fone-txt{display:flex;flex-direction:column}
.fone-topo small{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
header.topo .zap-btn{border-radius:99px;padding:13px 20px;box-shadow:0 10px 22px -10px rgba(37,211,102,.9)}
@media (max-width:1100px){.fone-topo small{display:none}.menu a.link{padding:10px 10px}}
@media (max-width:980px){.menu{display:none}.acoes{margin-left:auto}}
@media (max-width:700px){.fone-topo{display:none}header.topo .inner{height:68px}.marca{font-size:22px}}
@media (max-width:480px){.btn.ghost{display:none}header.topo .zap-btn{padding:12px 16px}}

/* ===== logo e organização do cabeçalho ===== */
header.topo .inner{max-width:1280px;gap:24px}
.marca .logo{width:44px;height:44px;border-radius:13px}
.marca .logo svg{width:26px;height:26px;fill:var(--amarelo)}
.marca .nome{display:flex;flex-direction:column;line-height:1}
.marca .nome b{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.marca .nome b i{font-style:normal;color:var(--verde-2)}
.marca .nome small{margin-top:5px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.menu a.link{white-space:nowrap}
.acoes{gap:12px}
.fone-topo{white-space:nowrap}
@media (max-width:1180px){.fone-topo .fone-txt small{display:none}}
@media (max-width:1060px){.marca .nome small{display:none}}
@media (max-width:480px){.marca .nome b{font-size:21px}}

/* cabeçalho: sem estourar a largura em telas médias */
@media (max-width:1180px){.menu{display:none}.acoes{margin-left:auto}}
@media (max-width:820px){.fone-topo{display:none}}

/* celular: o botão do WhatsApp do cabeçalho (fixo) já basta; o flutuante cobria o conteúdo */
@media (max-width:700px){.flutua{display:none}}

/* celular: preço do cartão em uma linha só e botão com texto longo centralizado */
.plano-largo .preco-plano{white-space:nowrap}
.plano-largo .pl-esq .btn{line-height:1.25;text-align:center}
@media (max-width:520px){.plano-largo .preco-plano{font-size:clamp(40px,13vw,56px)}}

.plano-largo .preco-desl{margin:18px 0 -6px;font-size:18px;font-weight:600;color:var(--ink)}
.plano-largo .preco-desl b{font-weight:800}
.plano-largo .preco-desl span{color:var(--muted);font-weight:700;margin-left:4px}
.plano-largo .preco-desl + .preco-plano{margin-top:6px}

/* celular: ícones e textos maiores em relação às caixas */
@media (max-width:640px){
  .barra-cat .inner{gap:8px;padding-block:12px}
  .barra-cat a{flex:0 0 108px;width:108px;height:102px;padding:10px 6px;gap:7px;font-size:13px;line-height:1.15}
  .barra-cat a svg{width:34px;height:34px}
  .categorias .cat{font-size:15.5px;line-height:1.25;min-height:144px;padding:18px 8px}
  .categorias .cat .ico{width:62px;height:62px;margin-bottom:12px}
  .categorias .cat .ico svg{width:31px;height:31px}
}

/* ícones sempre na mesma altura; o nome fica centralizado numa faixa de duas linhas */
.categorias .cat{display:grid;grid-template-rows:auto minmax(2.5em,auto);align-content:start;justify-items:center;align-items:center;row-gap:12px;padding-top:24px}
.categorias .cat .ico{margin:0}
.barra-cat a{display:grid;grid-template-rows:auto minmax(2.4em,auto);align-content:start;justify-items:center;align-items:center;row-gap:6px;padding-top:14px}
.barra-cat a svg{margin:0}
@media (max-width:640px){.categorias .cat{padding-top:22px;min-height:138px}.barra-cat a{padding-top:12px}}

.sub-grupo.fora{color:var(--verde);margin-top:36px}
.sub-grupo.fora .estrela{background:var(--verde);color:#fff}

/* faixa de números com 4 itens */
.numeros .inner{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.numeros .inner{grid-template-columns:repeat(2,1fr);gap:34px 20px}}
@media (max-width:640px){.numeros .inner{padding-block:44px}.numeros b{font-size:clamp(36px,11vw,48px)}.numeros span{font-size:14px}}

/* depoimentos */
.deps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){.deps{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}
.dep{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:16px}
.dep .estrelas{display:flex;gap:3px;font-size:22px;line-height:1}
.dep .estrelas span{color:var(--line-forte)}
.dep .estrelas span.on{color:var(--amarelo)}
.dep blockquote{margin:0;font-size:17px;line-height:1.55;color:var(--ink);flex:1}
.dep figcaption{display:flex;flex-direction:column;gap:2px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.dep figcaption b{color:var(--ink);font-size:15px}

/* depoimentos: 5 cartões (a última linha fica centralizada) e meia estrela */
.deps{display:flex;flex-wrap:wrap;justify-content:center}
.deps .dep{width:calc((100% - 44px)/3)}
@media (max-width:900px){.deps{display:grid;grid-template-columns:1fr;max-width:560px;margin-inline:auto}.deps .dep{width:auto}}
.dep .estrelas span.meia{background:linear-gradient(90deg,var(--amarelo) 50%,var(--line-forte) 50%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* depoimentos: rodapé com a mesma altura em todos os cartões (nome + até duas linhas de detalhe), para os nomes e a linha alinharem */
@media (min-width:901px){ .dep figcaption{min-height:88px} }

/* depoimentos: com 6 ou mais (o painel permite), passam a ser 3 por linha em vez de apertar todos numa linha só */
@media (min-width:1101px){
  .deps:has(.dep:nth-child(6)){flex-wrap:wrap}
  .deps:has(.dep:nth-child(6)) .dep{flex:0 0 calc((100% - 32px)/3)}
}

/* depoimentos: os 5 cartões na mesma linha em telas largas */
#depoimentos .inner{max-width:1260px}
@media (min-width:1101px){
  .deps{flex-wrap:nowrap;gap:16px}
  .deps .dep{width:auto;flex:1 1 0;min-width:0;padding:22px 20px;gap:12px}
  .dep .estrelas{font-size:18px}
  .dep blockquote{font-size:15px;line-height:1.5}
  .dep figcaption{font-size:13px}
  .dep figcaption b{font-size:14.5px}
}
@media (max-width:1100px) and (min-width:901px){.deps .dep{width:calc((100% - 44px)/3)}}

/* lista de profissionais */
.cat.tem-pros{position:relative}
dialog.painel{border:0;padding:0;border-radius:20px;width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);box-shadow:0 30px 80px -20px rgba(0,0,0,.5);color:var(--ink);background:#fff}
dialog.painel::backdrop{background:rgba(15,25,18,.55);backdrop-filter:blur(2px)}
.painel>div,.painel>form{padding:0 28px 28px}
.painel-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 28px 8px!important}
.painel-cab h3{font-size:24px}
.painel .fechar{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-forte);background:#fff;font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
.painel .fechar:hover{background:var(--amarelo)}
.painel-sub{color:var(--muted);margin:4px 0 18px}
.pros-lista{display:grid;gap:12px}
.pro{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--soft)}
.pro h4{font-size:18px;margin:0 0 6px;letter-spacing:-.01em}
.pro-cid{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.pro .chip{font-size:12px;font-weight:700;background:#fff;border:1px solid var(--line-forte);border-radius:99px;padding:2px 10px}
.pro-nota{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.pro-nota.sem{color:var(--muted);font-weight:500}
.pro-nota .estrelas{display:flex;gap:1px;font-size:16px}
.pro-nota .estrelas span{color:var(--line-forte)}
.pro-nota .estrelas span.on{color:var(--amarelo)}
.pro-nota .estrelas span.meia{background:linear-gradient(90deg,var(--amarelo) 50%,var(--line-forte) 50%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.painel-central{width:100%;margin-top:16px}
.painel-aviso{font-size:13px;color:var(--muted);margin:0 0 16px}
.painel-acoes{display:flex;gap:10px;justify-content:space-between}
.painel-acoes .zap-btn{flex:1}
@media (max-width:520px){.pro{flex-direction:column;align-items:stretch}.pro .btn{width:100%}.painel>div,.painel>form{padding:0 20px 22px}.painel-cab{padding:20px 20px 6px!important}}

/* ===== ficha do prestador (cards dentro do painel da categoria) ===== */
.pf-card{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:14px}
.pf-topo{display:flex;gap:16px;align-items:flex-start}
.pf-avwrap{position:relative;flex:none}
.pf-av{width:76px;height:76px;border-radius:50%;background:var(--verde-fraco);color:var(--verde);display:grid;place-items:center;font-weight:800;font-size:24px;overflow:hidden;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--verde-fraco)}
.pf-av.emp{background:var(--amarelo-fraco);color:var(--amarelo-escuro);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--amarelo-fraco)}
.pf-av img{width:100%;height:100%;object-fit:cover}
.pf-av svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-ponto{position:absolute;right:1px;bottom:1px;width:17px;height:17px;border-radius:50%;background:#2BB45C;box-shadow:0 0 0 3px #fff}
.pf-id{display:flex;flex-direction:column;gap:6px;min-width:0;align-items:flex-start}
.pf-id h4{font-size:22px;line-height:1.15;margin:0;letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:balance}
.pf-papel{margin:0;font-size:14px;line-height:1.35;color:var(--muted);display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap}
.pf-tipo{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2px 8px;background:var(--verde-fraco);color:var(--verde)}
.pf-tipo.emp{background:var(--amarelo-fraco);color:var(--amarelo-escuro)}
.pf-frase{margin:0;padding:14px 16px;border-radius:14px;background:var(--amarelo-fraco);font-size:16px;line-height:1.5;color:var(--ink);text-wrap:pretty}
.pf-esp{margin:0;font-size:15px;line-height:1.5;text-wrap:pretty}
.pf-esp b{color:var(--verde);font-weight:700;margin-right:2px}
.pf-pontos{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.pf-pontos li{display:flex;gap:10px;align-items:flex-start;min-width:0}
.pf-ico{flex:none;width:34px;height:34px;border-radius:10px;background:var(--verde-fraco);color:var(--verde);display:grid;place-items:center}
.pf-ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-pontos small{display:block;font-size:12px;line-height:1.2;color:var(--muted);margin-bottom:2px}
.pf-pontos .v{display:block;font-size:14.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.pf-ref{margin:0;display:flex;gap:8px;align-items:center;font-size:13.5px;line-height:1.35;color:var(--muted)}
.pf-ref svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--verde);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-card .pro-nota{flex-wrap:wrap;column-gap:8px}
.pf-card .pro-nota>span:last-child{white-space:nowrap;font-size:13.5px}
.pf-card .pro-nota .estrelas{font-size:14px}
.pf-btn{width:100%;justify-content:center;padding:17px 24px;font-size:16px}
.pf-cta-nota{margin:-4px 0 0;text-align:center;font-size:12.5px;line-height:1.4;color:var(--muted)}
@media (max-width:420px){.pf-card{padding:16px}.pf-av{width:64px;height:64px;font-size:21px}.pf-pontos{grid-template-columns:1fr}}

.pf-vazio{border:1px dashed var(--line-forte);border-radius:16px;padding:20px 18px;background:var(--soft);text-align:center}
.pf-vazio p{margin:0 0 6px;color:var(--muted);line-height:1.5}
.pf-vazio p:last-child{margin:0}
.pf-vazio .pf-vazio-t{font-weight:700;font-size:17px;color:var(--ink)}

/* ===== "descreva o problema" (classificador por palavras, sem IA) ===== */
.descreva{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 24px;box-shadow:var(--sombra-forte)}
.descreva label{display:block;font-weight:700;margin:0 0 9px}
.descreva-linha{display:flex;gap:10px}
.descreva-linha input{flex:1;min-width:0;padding:13px 12px;border:1px solid var(--line-forte);border-radius:10px;font:inherit;background:#fff}
.descreva-linha .btn{height:49px;white-space:nowrap}
.descreva-resp{margin-top:12px;font-size:15px;line-height:1.45}
.descreva-resp .opcoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.descreva-resp .op{border:1px solid var(--verde);background:#fff;color:var(--verde);border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}
.descreva-resp .op:hover{background:var(--verde);color:#fff}
@media (max-width:640px){.descreva-linha{flex-direction:column}.descreva-linha .btn{width:100%}}

/* aceite de novidades na janela do profissional */
.dp-novidades{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;margin:0 0 12px;cursor:pointer}
.dp-novidades input{margin-top:3px;flex:none;accent-color:var(--verde)}

/* cartões das categorias alinhados à esquerda (grupos com poucos itens não ficam no meio) */
.categorias{justify-content:flex-start}

/* ===== NOVO LAYOUT (prévia): topo com gente real, números logo abaixo, categorias recolhidas, seções reorganizadas ===== */

/* ---- topo ---- */
.hero2{background:
  radial-gradient(900px 420px at 88% -10%, rgba(247,201,72,.22), transparent 60%),
  radial-gradient(700px 380px at -5% 110%, rgba(45,122,74,.10), transparent 60%),
  linear-gradient(180deg,var(--soft) 0,var(--bg) 100%)}
.hero2 .inner{grid-template-columns:1.12fr .88fr;gap:44px;padding-block:44px 52px;align-items:start}
@media (max-width:920px){.hero2 .inner{grid-template-columns:1fr;gap:28px;padding-block:28px 40px}}
.hero2 h1{font-size:clamp(30px,4.1vw,46px);line-height:1.08;margin:14px 0 0}
.hero2 .sub{font-size:17px;margin:14px 0 0;max-width:52ch}
.pilula{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-forte);border-radius:99px;padding:6px 14px;font-size:13px;font-weight:700;color:var(--verde);box-shadow:var(--sombra)}
.pilula::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amarelo);box-shadow:0 0 0 3px var(--amarelo-fraco)}
.hero2 .busca{margin-top:22px}
.hero2-fatos{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--muted)}
.hero2-fatos li{display:flex;align-items:center;gap:8px}
.hero2-fatos svg{width:18px;height:18px;fill:none;stroke:var(--verde-2);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* painel "quem atende na região" */
.gente-hero{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sombra-forte);padding:18px 18px 14px}
.gente-hero .gh-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 4px 12px}
.gente-hero .gh-topo b{font-size:16px}
.gente-hero .gh-topo span{font-size:12.5px;color:var(--muted)}
.gh-lista{display:grid;gap:10px}
.gh-todos{display:block;text-align:center;margin:12px 0 2px;font-size:14px;font-weight:700;color:var(--verde)}
.gh-todos:hover{text-decoration:underline}

/* cartão compacto de profissional (topo e seção "gente") */
.gc{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}
.gc:hover{border-color:var(--verde-2);box-shadow:var(--sombra);transform:translateY(-1px)}
.gc .pf-av{width:46px;height:46px;font-size:15px}
.gc .gc-txt{min-width:0}
.gc .gc-nome{display:block;font-weight:800;font-size:15.5px;line-height:1.2;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc .gc-cat{display:block;font-size:13px;color:var(--verde);font-weight:600;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc .gc-cid{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.gc .gc-cid span{font-size:11.5px;font-weight:700;background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:2px 9px;color:var(--muted)}
.gc .gc-bt{display:inline-flex;align-items:center;gap:6px;border:0;background:#25D366;color:#073b1c;font:700 13px inherit;border-radius:10px;padding:10px 12px;cursor:pointer;min-height:40px}
.gc .gc-bt svg{width:16px;height:16px}
.gc .gc-bt:hover{filter:brightness(.96)}

/* ---- números logo abaixo do topo ---- */
.numeros.nova .inner{grid-template-columns:repeat(4,1fr);padding-block:30px;gap:12px}
.numeros.nova b{font-size:clamp(28px,3.6vw,40px)}
.numeros.nova span{font-size:13.5px;margin-top:6px;max-width:22ch}
@media (max-width:760px){.numeros.nova .inner{grid-template-columns:repeat(2,1fr);gap:20px 12px}}

/* ---- seção "gente da Serra" ---- */
.gente{padding-block:64px 56px}
.gente-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.gente-cab .titulo-secao{margin:0}
.gente-cab .lead{margin:8px 0 0;max-width:58ch}
.gente-filtro{display:flex;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:4px}
.gente-filtro button{border:0;background:transparent;border-radius:99px;padding:9px 18px;font:700 14px inherit;color:var(--muted);cursor:pointer;min-height:40px}
.gente-filtro button[aria-selected="true"]{background:var(--verde);color:#fff}
.gente-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.gente-grade{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.gente-grade{grid-template-columns:1fr}}
.gente-vazio{grid-column:1/-1;background:#fff;border:1px dashed var(--line-forte);border-radius:14px;padding:22px;text-align:center;color:var(--muted)}
.acoes-centro{display:flex;justify-content:center;margin-top:26px}

/* ---- categorias: 2 grupos abertos, o resto em linhas que abrem ao tocar ---- */
.categorias.fechada{display:none}
.sub-grupo.toggle{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 16px;margin:10px 0 0;color:var(--ink);transition:border-color .15s,box-shadow .15s;user-select:none}
.sub-grupo.toggle:hover,.sub-grupo.toggle:focus-visible{border-color:var(--verde-2);box-shadow:var(--sombra);outline:none}
.sub-grupo.toggle .cont{margin-left:auto;font-size:12.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:3px 10px}
.sub-grupo.toggle svg:last-child{width:16px;height:16px;fill:none;stroke:var(--verde);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .2s}
.sub-grupo.toggle[aria-expanded="true"]{border-color:var(--verde-2)}
.sub-grupo.toggle[aria-expanded="true"] svg:last-child{transform:rotate(180deg)}
.sub-grupo.toggle + .categorias{margin-top:14px}
.sub-grupo.tema,.sub-grupo.fora{margin-top:22px}
.sub-grupo.toggle.tema{margin-top:10px}

/* ---- como funciona com o exemplo ao lado ---- */
.como-grade{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media (max-width:920px){.como-grade{grid-template-columns:1fr;gap:30px}}
.como-grade .cab{margin-bottom:24px;max-width:none}
.como-grade .passos{grid-template-columns:1fr;gap:12px}
.como-grade .passo{display:grid;grid-template-columns:auto 1fr;column-gap:16px;padding:18px 20px}
.como-grade .passo .n{grid-row:1/3;margin:0}
.como-grade .passo h3{margin:0 0 4px;font-size:18px}
.como-grade .zap{margin:0}

/* celular: a vitrine mostra 6 pessoas (o resto fica na lista completa dos cartões de serviço) */
@media (max-width:620px){
  .gente-grade .gc:nth-child(n+7){display:none}
  .gente{padding-block:44px 40px}
  .gente-cab{margin-bottom:18px}
}

/* buscador "descreva o problema" no topo */
.hero2 .descreva{margin:22px 0 0;padding:20px}
.hero2 .descreva label{font-size:15px}
.hero2 .descreva .busca-fone{margin-top:14px}
.hero2 .descreva .busca-nota{margin-top:10px}

/* lado direito do topo: exemplo + cartão da Visita Acompanhada */
.hero2-lado{display:grid;gap:16px;align-content:start}
.visita-mini{display:grid;gap:4px;background:#fff;border:2px solid var(--amarelo);border-radius:18px;padding:16px 18px;color:var(--ink);text-decoration:none;box-shadow:var(--sombra);transition:transform .15s,box-shadow .15s}
.visita-mini:hover{transform:translateY(-2px);box-shadow:var(--sombra-forte)}
.visita-mini .vm-selo{justify-self:start;background:var(--amarelo);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:99px;padding:4px 10px}
.visita-mini b{font-size:19px;margin-top:4px}
.visita-mini .vm-preco{font-size:15px}
.visita-mini .vm-preco strong{font-size:17px}
.visita-mini .vm-txt{font-size:13.5px;color:var(--muted)}
.visita-mini .vm-mais{font-size:14px;font-weight:800;color:var(--verde);margin-top:4px}

/* ===== linhas das categorias ===== */
.sub-grupo.toggle{display:grid;grid-template-columns:44px minmax(0,1fr) auto 34px;align-items:center;gap:14px;
  min-height:68px;padding:12px 14px 12px 12px;margin:8px 0 0;border-radius:16px;border:1px solid var(--line);
  font-size:17px;font-weight:700;letter-spacing:-.01em;text-transform:none;line-height:1.25;
  transition:background .18s,border-color .18s,box-shadow .18s}
.sub-grupo.toggle:hover{background:var(--soft);border-color:var(--line-forte);box-shadow:none}
.sub-grupo.toggle:focus-visible{outline:3px solid var(--verde);outline-offset:2px;box-shadow:none}
.sub-grupo.toggle .estrela{width:44px;height:44px;border-radius:12px;background:var(--verde-fraco);color:var(--verde);transition:background .18s,color .18s}
.sub-grupo.toggle .estrela svg{width:22px;height:22px;stroke-width:1.8}
.sub-grupo.toggle .txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.sub-grupo.toggle .txt small{font-size:13.5px;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub-grupo.toggle .cont{background:none;border:0;padding:0;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}
.sub-grupo.toggle > svg:last-child{width:34px;height:34px;padding:9px;border-radius:50%;background:var(--soft);stroke:var(--verde);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),background .18s,stroke .18s}
.sub-grupo.toggle:hover > svg:last-child{background:var(--verde-fraco)}
.sub-grupo.toggle[aria-expanded="true"]{background:var(--verde-fraco);border-color:var(--verde-2)}
.sub-grupo.toggle[aria-expanded="true"] .estrela{background:var(--verde);color:#fff}
.sub-grupo.toggle[aria-expanded="true"] > svg:last-child{background:var(--verde);stroke:#fff}
.sub-grupo.toggle[aria-expanded="true"] .cont{color:var(--verde)}
.sub-grupo.toggle + .categorias{margin-top:8px;padding:18px;background:var(--soft);border-radius:16px;border:1px solid var(--line)}
.sub-grupo.toggle + .categorias .cat{box-shadow:none}
@media (max-width:560px){
  .sub-grupo.toggle{grid-template-columns:44px minmax(0,1fr) 34px;gap:12px;font-size:16px}
  .sub-grupo.toggle .cont{display:none}
  .sub-grupo.toggle .txt small{white-space:normal}
}
.sub-grupo.toggle .estrela svg{stroke:currentColor}

/* ===== pergunta da cidade ===== */
.onde{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.onde-t{font-size:14px;font-weight:700;color:var(--ink)}
.onde-opcoes{display:inline-flex;gap:4px;padding:4px;background:var(--soft-2);border-radius:12px}
.onde-opcoes button{padding:9px 18px;border:0;border-radius:9px;background:transparent;font:700 14.5px "Work Sans",sans-serif;
  color:var(--muted);cursor:pointer;min-height:40px;transition:background .15s,color .15s}
.onde-opcoes button:hover{color:var(--ink)}
.onde-opcoes button[aria-pressed="true"]{background:var(--verde);color:#fff;box-shadow:var(--sombra)}
.onde-opcoes button:focus-visible{outline:3px solid var(--verde);outline-offset:2px}
.onde-faixa{margin:0 0 22px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.onde-pergunta{text-align:center;padding:28px 12px}
.onde-pergunta-t{font-size:20px;font-weight:800;margin:0 0 6px}
.onde-pergunta p{color:var(--muted);margin:0 0 18px}
.onde-grande{justify-content:center;margin:0}
.onde-grande .onde-opcoes{background:none;gap:12px;padding:0}
.onde-grande .onde-opcoes button{padding:14px 28px;font-size:16px;background:#fff;border:1px solid var(--line-forte);min-width:140px}
.onde-grande .onde-opcoes button:hover{border-color:var(--verde-2);background:var(--verde-fraco);color:var(--verde)}
.onde-trocar{border:0;background:none;padding:0;color:var(--verde);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.onde-pergunta .onde-pergunta-t{color:var(--ink)}

/* ===== barra de categorias maior ===== */
.barra-cat a{flex:0 0 156px;width:156px;height:128px;padding:14px 8px 10px;font-size:14.5px;font-weight:600;line-height:1.2;color:var(--ink);row-gap:8px;grid-template-rows:auto minmax(2.5em,auto)}
.barra-cat a svg{width:40px;height:40px;stroke-width:1.6}
.barra-cat a.top{font-weight:800}
.barra-cat .inner{gap:10px;padding-block:16px}
.barra-cat .seta{width:44px;height:44px}
@media (max-width:640px){
  .barra-cat a{flex:0 0 124px;width:124px;height:118px;font-size:13.5px;padding:12px 6px 8px}
  .barra-cat a svg{width:36px;height:36px}
}

/* ===== opções em grade ===== */
dialog.painel{width:min(940px,calc(100% - 32px))}
dialog.painel #dpEtapa2{max-width:560px;margin-inline:auto}
#dpLista.pros-lista{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:stretch}
#dpLista .pf-card{height:100%;padding:16px;gap:10px;background:#fff;transition:border-color .15s,box-shadow .15s}
#dpLista .pf-card:hover{border-color:var(--verde-2);box-shadow:var(--sombra)}
#dpLista .pf-esp{margin:0;color:var(--muted);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#dpLista .pf-fatos{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}
#dpLista .pf-btn{margin-top:auto}
#dpLista .onde-pergunta,#dpLista .pf-vazio{grid-column:1/-1}
@media (max-width:680px){#dpLista.pros-lista{grid-template-columns:1fr}}

/* ===== situacao do prestador no horario (ordem da lista depende do relogio) ===== */
.pf-sit{font-size:11px;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:2px 8px;white-space:nowrap}
.pf-sit-agora{background:#e0f1e6;color:#1F5A36}
.pf-sit-emergencia{background:#fdf0c4;color:#7a5b00}
.pf-sit-fora{background:#eceeec;color:#5A6A60}
.pf-sit-feriado{background:#f6e1df;color:#8a2a22}

/* ===== topo mais calmo (12/10/2026): uma conversa só, sem repetir telefone nem botão ===== */
.hero2-lado{display:block}
.lado-sara,.lado-zap{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 26px;box-shadow:var(--sombra-forte);flex-direction:column;align-items:flex-start;gap:14px}
.lado-sara{display:none}
.lado-zap{display:flex}
html.sara-ativa .lado-sara{display:flex}
html.sara-ativa .lado-zap{display:none}
.ls-av{width:52px;height:52px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:0 0 0 4px var(--verde-fraco)}
.lado-sara h2,.lado-zap h2{font-size:24px;line-height:1.15;margin:0}
.lado-sara p,.lado-zap p{margin:0;color:var(--muted);line-height:1.5;text-wrap:pretty}
.ls-exemplos{display:flex;flex-wrap:wrap;gap:8px}
.ls-exemplos button{border:1px solid var(--line-forte);background:var(--soft);color:var(--ink);border-radius:99px;padding:9px 14px;font:600 14px "Work Sans",system-ui,sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.ls-exemplos button:hover{background:var(--verde-fraco);border-color:var(--verde)}
.ls-abrir{width:100%}
.ls-zap{font-size:14px}
.ls-zap a{font-weight:700}
html.sara-ativa .flutua{display:none}
@media (max-width:920px){.hero2-lado{display:none}}
.link-prest{font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;padding:8px 6px;border-radius:8px;white-space:nowrap}
.link-prest:hover{color:var(--verde);text-decoration:underline}
@media (max-width:480px){.link-prest{display:none}}

/* ===== título do topo: "alguém de confiança" não quebra no meio (o destaque amarelo fica inteiro) e o título cabe em 3 linhas no computador ===== */
.hero2 h1{font-size:clamp(30px,8.2vw,44px);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.hero2 h1 em{white-space:nowrap;padding-inline:4px}
.hero2 .sub{font-size:18px;line-height:1.55;color:#3E4E44;max-width:52ch;text-wrap:pretty;margin-top:16px}
@media (min-width:921px){
  .hero2 .inner{grid-template-columns:1.25fr .75fr}
  .hero2 h1{font-size:clamp(30px,3.3vw,42px)}
}
