/* Pollyana Fiorotti — estilo do site
   Paleta extraída do logotipo. Mobile-first. */
:root{
  --verde:#184830; --verde2:#2E6B4A; --rosa:#F090A8; --rosaS:#FBDCE4;
  --mostarda:#D8C030; --coral:#F04830; --creme:#F3EADC; --cremeL:#FBF7F0;
  --texto:#1B2B22; --suave:#5C7166; --borda:#E4DCCB;
  --max:1180px; --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,system-ui,-apple-system,sans-serif;color:var(--texto);
  background:var(--cremeL);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde);text-decoration-thickness:1px;text-underline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.wrap.estreito{max-width:780px}
.oculto-visual{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;background:var(--verde);color:#fff;padding:10px 16px;z-index:200}
.pular:focus{left:12px;top:12px}
h1,h2,h3{font-family:Fredoka,sans-serif;font-weight:600;color:var(--verde);line-height:1.2;margin:0}
.titulao{font-size:clamp(29px,5vw,46px);letter-spacing:-.6px;margin:10px 0 14px}
.titulo{font-size:clamp(22px,3vw,30px);margin:0 0 12px}
.titulo.c,.olho.c{text-align:center}
.olho{font-family:Fredoka;font-size:12.5px;letter-spacing:2.2px;text-transform:uppercase;
  color:var(--coral);font-weight:500;margin:0}
.olho.claro{color:var(--mostarda)} .titulo.claro{color:var(--cremeL)}
.lead{font-size:clamp(17px,2vw,20px);color:var(--suave);line-height:1.65;max-width:60ch;margin:0 0 22px}
p{margin:0 0 16px}

/* topo */
.topo{background:var(--cremeL);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:100}
.barra{display:flex;align-items:center;gap:16px;padding-block:12px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.marca img{width:34px;height:auto;flex-shrink:0}
.rodape img{width:42px;height:auto}
.marca b{display:block;font-family:Shantell Sans,cursive;font-size:17px;color:var(--verde);line-height:1.05}
.marca small{display:block;font-family:Fredoka;font-size:8.5px;letter-spacing:1.3px;color:var(--verde2);text-transform:uppercase}
.topo nav{margin-left:auto}
.topo nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.topo nav a{font-size:14.5px;font-weight:700;color:var(--verde);text-decoration:none;white-space:nowrap}
.topo nav a:hover,.topo nav a.at{color:var(--coral)}
.menu-btn{display:none;margin-left:auto;width:42px;height:38px;border:1px solid var(--borda);
  background:#fff;border-radius:9px;cursor:pointer;position:relative}
.menu-btn span,.menu-btn::before,.menu-btn::after{content:"";position:absolute;left:11px;right:11px;
  height:2px;background:var(--verde);border-radius:2px;transition:.2s}
.menu-btn span{top:18px}.menu-btn::before{top:12px}.menu-btn::after{top:24px}

/* hero */
.hero{background:var(--creme);padding:44px 0 52px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.hero-foto img{border-radius:22px}
.selo{font-size:13.5px;color:var(--suave);margin-top:18px}
.botoes{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
.btn{display:inline-block;background:var(--verde);color:var(--cremeL);padding:13px 26px;border-radius:30px;
  font-family:Fredoka;font-weight:500;font-size:15.5px;text-decoration:none;border:2px solid var(--verde);
  cursor:pointer;transition:.15s}
.btn:hover{background:var(--verde2);border-color:var(--verde2)}
.btn.linha{background:transparent;color:var(--verde)}
.btn.linha:hover{background:var(--verde);color:var(--cremeL)}
.btn.largo{width:100%;text-align:center;margin-top:8px}

/* seções */
.secao{padding:56px 0}
.secao.dois,.dois{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.arredonda{border-radius:20px}
.arredonda.largo{border-radius:20px;width:100%}
.gruda{position:sticky;top:96px}
.capa-pg{background:var(--creme);padding:44px 0 40px}
.faixa-creme{background:var(--creme);padding:56px 0}
.faixa-verde{background:var(--verde);color:var(--cremeL);padding:56px 0}
.faixa-verde p{opacity:.94}
.numeros{display:grid;gap:14px}
.numeros div{background:rgba(251,247,240,.09);border-left:3px solid var(--mostarda);
  border-radius:0 12px 12px 0;padding:14px 18px}
.numeros b{display:block;font-family:Fredoka;font-size:26px;color:var(--mostarda)}
.numeros span{font-size:14px;opacity:.9}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:26px}
.cards.tres{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:#fff;border:1px solid var(--borda);border-radius:var(--r);padding:24px;
  text-decoration:none;display:block;transition:.15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(24,72,48,.1);border-color:var(--verde2)}
.card h3{font-size:19px;margin-bottom:8px}
.card p{font-size:14.5px;color:var(--suave);margin:0}
.card .mais{display:inline-block;margin-top:12px;font-weight:800;font-size:14px;color:var(--coral)}
.card.estatico{background:#fff}

/* texto de artigo/serviço */
.corpo-texto h2{font-size:clamp(21px,2.6vw,26px);margin:32px 0 12px}
.corpo-texto h2:first-child{margin-top:0}
.corpo-texto.centro{max-width:760px;margin:0 auto}
ul.marcada{list-style:none;padding:0;margin:0 0 18px}
ul.marcada li{padding-left:26px;position:relative;margin-bottom:9px}
ul.marcada li::before{content:"";position:absolute;left:2px;top:11px;width:9px;height:9px;
  border-radius:50%;background:var(--rosa)}
.citacao{font-family:Shantell Sans,cursive;font-size:21px;color:var(--coral);line-height:1.45;
  border-left:4px solid var(--mostarda);padding:6px 0 6px 20px;margin:24px 0}
.aviso{background:var(--rosaS);border-radius:12px;padding:14px 18px;font-size:15px}
.destaque-lead{font-size:19px;line-height:1.6;color:var(--verde);background:var(--creme);
  border-radius:14px;padding:20px 22px;margin-bottom:28px}
.link-forte{font-weight:800;color:var(--coral);text-decoration:none}
.link-forte:hover{text-decoration:underline}

/* portas MAPA */
.portas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px}
.porta{background:var(--creme);border-radius:var(--r);padding:30px}
.porta.alt{background:#fff;border:1px solid var(--borda)}
.porta h3{font-size:21px;margin-bottom:10px}
.porta p{font-size:15px;color:var(--suave)}

/* FAQ */
.faq{padding:52px 22px}
.faq h2{font-size:clamp(22px,3vw,29px);margin-bottom:20px;text-align:center}
details{background:#fff;border:1px solid var(--borda);border-radius:12px;margin-bottom:10px;overflow:hidden}
summary{cursor:pointer;padding:16px 20px;font-weight:800;font-size:16px;color:var(--verde);list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--coral);font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details>div{padding:0 20px 18px;color:var(--suave);font-size:15.5px}

/* CTA */
.cta-faixa{background:var(--rosaS);padding:50px 0;text-align:center}
.cta-faixa h2{font-size:clamp(22px,3vw,31px);margin-bottom:10px}
.cta-faixa p{color:var(--suave);max-width:52ch;margin:0 auto}
.cta-faixa .botoes{justify-content:center}

/* blog */
.grid-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.card-post{background:#fff;border:1px solid var(--borda);border-radius:var(--r);overflow:hidden;
  text-decoration:none;display:flex;flex-direction:column;transition:.15s}
.card-post:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(24,72,48,.1)}
.capa-post{aspect-ratio:16/10;object-fit:cover;width:100%}
.card-post .txt{padding:20px}
.card-post .cat{font-family:Fredoka;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--coral)}
.card-post h3{font-size:18px;margin:7px 0 8px;line-height:1.28}
.card-post p{font-size:14px;color:var(--suave);margin:0 0 12px}
.card-post .meta{font-size:12.5px;color:var(--suave)}
.artigo{padding:34px 0 0}
.trilha{font-size:13px;color:var(--suave);margin-bottom:14px}
.trilha a{color:var(--suave)}
.assinatura-art{font-size:14.5px;color:var(--suave);margin-bottom:22px}
.artigo-corpo{margin-top:30px;font-size:17.5px}
.caixa-autora{background:var(--creme);border-radius:var(--r);padding:22px 24px;margin-top:36px;font-size:15.5px}

/* formulário */
form{background:#fff;border:1px solid var(--borda);border-radius:var(--r);padding:26px}
.campo{margin-bottom:15px}
.dois-campos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:800;font-size:14px;margin-bottom:6px;color:var(--verde)}
input,select,textarea{width:100%;padding:12px 14px;border:1.5px solid var(--borda);border-radius:10px;
  font-family:inherit;font-size:15.5px;background:var(--cremeL);color:var(--texto)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--verde2);outline-offset:1px;border-color:var(--verde2)}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--coral);background:#FDF0EC}
textarea{resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--suave);margin:6px 0 4px}
.check input{width:auto;margin-top:3px;flex-shrink:0}
.form-msg{font-size:15px;margin-top:14px;font-weight:700}
.form-msg.ok{color:var(--verde2)} .form-msg.erro{color:var(--coral)}
.peq{font-size:13.5px;color:var(--suave);line-height:1.6}
.bloco-contato{background:var(--creme);border-radius:var(--r);padding:26px}
.bloco-contato h2{font-size:19px;margin:22px 0 8px}
.bloco-contato h2:first-child{margin-top:0}
address{font-style:normal;font-size:15.5px;line-height:1.65}
.mapa-embed{border-radius:12px;overflow:hidden;margin:14px 0 4px;border:1px solid var(--borda)}

/* rodapé */
.rodape{background:var(--verde);color:var(--cremeL);padding:48px 0 0;margin-top:0}
.grid-rodape{display:grid;grid-template-columns:1fr 1.1fr 1.1fr;gap:36px;padding-bottom:34px}
.rodape h2{font-size:15px;color:var(--mostarda);margin-bottom:10px;font-family:Fredoka;font-weight:500;
  letter-spacing:.6px;text-transform:uppercase}
.rodape .nome{font-family:Shantell Sans,cursive;font-size:20px;margin:8px 0 4px}
.rodape .peq{color:rgba(251,247,240,.86)}
.rodape a{color:var(--cremeL)}
.lista-rodape{list-style:none;padding:0;margin:0;font-size:14px;line-height:2}
.fim{border-top:1px solid rgba(251,247,240,.18);padding:16px 22px;display:flex;justify-content:space-between;
  gap:12px;flex-wrap:wrap;font-size:13px;color:rgba(251,247,240,.8)}
.fim p{margin:0}

/* WhatsApp flutuante */
.zap{position:fixed;right:18px;bottom:18px;z-index:120;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.22);text-decoration:none;transition:.15s}
.zap:hover{transform:scale(1.07)}

/* responsivo */
@media (max-width:980px){
  .topo nav{display:none;order:3;width:100%;margin-left:0}
  .topo nav.aberto{display:block}
  .topo nav ul{flex-direction:column;gap:0;padding:8px 0 4px}
  .topo nav a{display:block;padding:11px 2px;border-bottom:1px solid var(--borda);font-size:16px}
  .menu-btn{display:block}
  .barra{flex-wrap:wrap}
  .hero-grid,.secao.dois,.dois,.portas{grid-template-columns:1fr;gap:30px}
  .grid-rodape{grid-template-columns:1fr 1fr}
  .gruda{position:static}
}
@media (max-width:600px){
  body{font-size:16px}
  .secao{padding:40px 0}
  .dois-campos{grid-template-columns:1fr}
  .grid-rodape{grid-template-columns:1fr;gap:26px}
  .hero{padding:32px 0 40px}
  .btn{width:100%;text-align:center}
  .botoes{flex-direction:column}
  .fim{justify-content:center;text-align:center}
  .zap{width:52px;height:52px;right:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}}
