/* Instituto de Psicologia do Seridó — Persona B (Acolhedor Orgânico)
   Cores da logo: grafite #2D3C41 e coral #E18078 (medidas no arquivo original). */
:root{
  --grafite:#2D3C41;
  --grafite-profundo:#232F33;
  --coral:#E18078;
  --coral-forte:#B04A43;
  --coral-escuro:#963C36;
  --creme:#FBF6F1;
  --rosa:#F8E6E1;
  --salvia:#A3B3A0;
  --salvia-claro:#E9EEE5;
  --branco:#FFFFFF;
  --texto:#2D3C41;
  --texto-suave:#5B6A6F;
  --linha:rgba(45,60,65,.14);
  --serif:'Federo', 'Trebuchet MS', sans-serif;
  --sans:'Nunito Sans', system-ui, sans-serif;
  --raio:28px;
  --raio-sm:16px;
  --sombra:0 18px 40px -22px rgba(45,60,65,.35);
  --header-h:78px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.7;color:var(--texto);background:var(--creme);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--grafite);line-height:1.15;margin:0 0 .6em;letter-spacing:.005em}
p{margin:0 0 1em}
.destaque{color:var(--coral-forte)}
.wrapper{width:min(1180px,100% - 2.5rem);margin-inline:auto;position:relative;z-index:2}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
:focus-visible{outline:3px solid var(--coral-forte);outline-offset:3px;border-radius:6px}

/* grão de fundo (SVG inline) */
.grao::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.35;mix-blend-mode:multiply;
  background-image: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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .18 0 0 0 0 .23 0 0 0 0 .25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:.8rem 1.6rem;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:1rem;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.btn svg{flex:0 0 auto}
.btn-primario{background:var(--coral-forte);color:var(--branco);box-shadow:0 12px 26px -14px rgba(176,74,67,.8)}
.btn-primario:hover{background:var(--coral-escuro);transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(176,74,67,.9)}
.btn-contorno{border-color:var(--grafite);color:var(--grafite);background:transparent}
.btn-contorno:hover{background:var(--grafite);color:var(--creme);transform:translateY(-2px)}
.btn-claro{background:var(--creme);color:var(--grafite)}
.btn-claro:hover{background:var(--branco);transform:translateY(-2px)}
.btn-quebra{white-space:normal;flex-shrink:1;text-align:center}

/* ---------- eyebrow e cabeçalho de seção ---------- */
.eyebrow{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem;font-family:var(--sans);font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--coral-forte);margin-bottom:1rem}
.eyebrow::after{content:"";width:30px;height:3px;border-radius:3px;background:var(--coral)}
.cabecalho-secao{margin-bottom:3rem;max-width:640px}
.cabecalho-secao.centro{text-align:center;margin-inline:auto}
.cabecalho-secao.centro .eyebrow{align-items:center}
.titulo-secao{font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}
.intro-secao{color:var(--texto-suave);font-size:1.1rem;max-width:58ch}
.cabecalho-secao.centro .titulo-secao,.cabecalho-secao.centro .intro-secao{margin-inline:auto}

/* ---------- header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;background:rgba(251,246,241,.97);transition:box-shadow .3s ease,height .3s ease;height:var(--header-h)}
.site-header.scrolled{box-shadow:0 10px 30px -18px rgba(45,60,65,.45);--header-h:68px}
.navbar__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.navbar__logo{display:block;flex-shrink:0;margin-right:auto}
.navbar__logo img{height:58px;width:auto;transition:height .3s ease}
.site-header.scrolled .navbar__logo img{height:50px}
.navbar__nav{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.navbar__nav a{text-decoration:none;font-weight:600;font-size:.97rem;color:var(--grafite);position:relative;padding:.4rem 0}
.navbar__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--coral);transform:scaleX(0);transition:transform .25s ease}
.navbar__nav a:hover::after,.navbar__nav a.active::after{transform:scaleX(1)}
.navbar__cta{min-height:44px;padding:.6rem 1.25rem;font-size:.93rem}
.progresso{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--coral);transform-origin:left;transform:scaleX(0)}

/* drawer mobile (fora de @media: sempre sólido) */
.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--grafite);border:none;color:var(--creme);cursor:pointer;margin-left:auto}
.nav-toggle svg{width:24px;height:24px}
.mobile-menu{position:fixed;top:0;right:0;bottom:0;z-index:1200;width:min(86vw,360px);display:flex;flex-direction:column;padding:1.1rem 1.5rem 2rem;background:var(--creme);box-shadow:-18px 0 50px -22px rgba(0,0,0,.28);transform:translateX(100%);visibility:hidden;transition:transform .34s cubic-bezier(.4,0,.2,1),visibility .34s;overscroll-behavior:contain;overflow-y:auto}
.mobile-menu.open{transform:none;visibility:visible}
.mobile-menu__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;margin-bottom:.4rem;border-bottom:1px solid var(--linha)}
.mobile-menu__logo{height:40px;width:auto}
.mobile-menu__links{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.mobile-menu__links li{border-bottom:1px solid var(--linha)}
.mobile-menu__links a{display:flex;align-items:center;min-height:54px;font-size:1.06rem;font-weight:600;color:var(--texto);text-decoration:none;transition:color .2s}
.mobile-menu__links a:hover,.mobile-menu__links a.active{color:var(--coral-forte)}
.mobile-menu__cta{margin-top:auto;width:100%}
.mobile-close{background:none;border:none;color:var(--grafite);cursor:pointer;padding:.3rem;margin:-.3rem;line-height:0}
.mobile-close svg{width:30px;height:30px}
.menu-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(35,47,51,.5);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.menu-backdrop.open{opacity:1;visibility:visible}

/* ---------- hero ---------- */
.hero{position:relative;padding:calc(var(--header-h) + 4rem) 0 6.5rem;overflow:clip;background:
  radial-gradient(60% 70% at 85% 30%,rgba(225,128,120,.22),transparent 70%),
  radial-gradient(45% 55% at 5% 90%,rgba(163,179,160,.28),transparent 70%),var(--creme)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:3.5rem;align-items:center}
.hero__titulo{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.3rem);line-height:1.08;margin-bottom:1.4rem}
.hero__sub{font-size:1.15rem;color:var(--texto-suave);max-width:54ch;margin-bottom:2rem}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.4rem}
.hero__atalhos{display:flex;flex-wrap:wrap;gap:.8rem}
.atalho{display:flex;align-items:center;gap:.8rem;padding:.7rem 1.1rem .7rem .7rem;border-radius:999px;background:var(--branco);box-shadow:var(--sombra);text-decoration:none;transition:transform .2s ease}
.atalho:hover{transform:translateY(-2px)}
.atalho__icone{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rosa);color:var(--coral-forte);flex-shrink:0}
.atalho strong{display:block;font-size:.95rem;line-height:1.2}
.atalho small{display:block;font-size:.82rem;color:var(--texto-suave);line-height:1.3}

.hero__visual{position:relative;justify-self:center;width:min(100%,470px)}
.arco{position:relative;aspect-ratio:4/5;border-radius:999px 999px 46px 46px;overflow:hidden;background:
  radial-gradient(70% 55% at 50% 38%,rgba(255,255,255,.85),transparent 72%),
  linear-gradient(180deg,var(--rosa) 0%,#F3D6CF 100%);box-shadow:0 40px 70px -40px rgba(176,74,67,.55)}
.arco__simbolo{position:absolute;left:50%;top:50%;width:82%;transform:translate(-50%,-48%)}
.arco__anel{position:absolute;inset:14px;border-radius:999px 999px 36px 36px;border:1.5px solid rgba(176,74,67,.25);pointer-events:none}
.folha{position:absolute;width:22px;height:22px;color:var(--coral);pointer-events:none}
.folha svg{width:100%;height:100%}
.hero__selo{position:absolute;left:-1.6rem;bottom:2.6rem;z-index:3;display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;border-radius:20px;background:var(--branco);box-shadow:var(--sombra)}
.hero__selo span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--grafite);color:var(--creme)}
.hero__selo strong{display:block;font-size:.92rem;line-height:1.2}
.hero__selo small{display:block;font-size:.8rem;color:var(--texto-suave)}
.blob{position:absolute;border-radius:58% 42% 55% 45%/48% 58% 42% 52%;filter:blur(2px);pointer-events:none;z-index:0}
.hero .blob--1{width:340px;height:300px;right:-90px;top:-40px;background:rgba(225,128,120,.16)}
.hero .blob--2{width:220px;height:200px;left:-60px;bottom:-30px;background:rgba(163,179,160,.3)}

/* entrada do hero no load */
.hero-in{opacity:0;transform:translateY(22px);animation:heroIn .8s ease-out forwards;animation-delay:calc(var(--i,0) * 120ms + 80ms)}
@keyframes heroIn{to{opacity:1;transform:none}}

/* ---------- divisores ---------- */


.divisor{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 1.25rem;height:24px;z-index:2}
.divisor::before,.divisor::after{content:"";height:1px;flex:0 1 220px}
.divisor::before{background:linear-gradient(90deg,transparent,var(--coral))}
.divisor::after{background:linear-gradient(90deg,var(--coral),transparent)}
.divisor svg{width:18px;height:18px;color:var(--coral);flex-shrink:0}

/* ---------- seções base ---------- */
.secao{position:relative;padding:6rem 0;overflow:clip}

/* serviços (pessoas): faixas alternadas com blob */
.servicos{background:var(--creme);padding-top:5rem}
.servicos .blob--a{width:420px;height:380px;left:-160px;top:20%;background:rgba(248,230,225,.9)}
.servicos .blob--b{width:300px;height:280px;right:-120px;bottom:6%;background:rgba(233,238,229,.95)}
.servicos__lista{display:flex;flex-direction:column;gap:1.4rem}
.servico{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.8rem;align-items:center;padding:2rem 2.4rem;border-radius:var(--raio);background:var(--branco);box-shadow:var(--sombra);width:min(100%,860px);transition:transform .25s ease,box-shadow .25s ease}
.servico:nth-child(even){margin-left:auto;grid-template-columns:minmax(0,1fr) auto}
.servico:nth-child(even) .servico__icone{order:2}
.servico:hover{transform:translateY(-3px);box-shadow:0 26px 50px -26px rgba(45,60,65,.45)}
.servico__icone{display:grid;place-items:center;width:92px;height:92px;color:var(--coral-forte);background:var(--rosa);border-radius:58% 42% 55% 45%/48% 58% 42% 52%}
.servico:nth-child(2) .servico__icone{background:var(--salvia-claro);color:var(--grafite);border-radius:42% 58% 45% 55%/55% 45% 55% 45%}
.servico:nth-child(3) .servico__icone{border-radius:50% 50% 38% 62%/60% 42% 58% 40%}
.servico:nth-child(4) .servico__icone{background:var(--salvia-claro);color:var(--grafite);border-radius:62% 38% 52% 48%/42% 56% 44% 58%}
.servico__icone svg{width:38px;height:38px}
.servico h3{font-size:1.6rem;margin-bottom:.4rem}
.servico p{color:var(--texto-suave);margin:0}
.servico__tag{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-forte);margin-bottom:.35rem}

/* como funciona: raiz conectando passos */
.como{background:var(--rosa)}
.como__trilha{position:relative}
.como__passos{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;list-style:none;margin:0;padding:0}
.como__raiz{position:absolute;left:6%;right:6%;top:38px;height:60px;width:88%;z-index:0;color:var(--coral)}
.passo{position:relative;z-index:1;text-align:center;padding:0 .4rem}
.passo__num{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 1.3rem;border-radius:50%;background:var(--creme);border:2px solid var(--coral);font-family:var(--serif);font-size:1.9rem;color:var(--coral-forte);box-shadow:0 0 0 8px var(--rosa)}
.passo h3{font-size:1.35rem;margin-bottom:.45rem}
.passo p{font-size:.98rem;color:var(--texto-suave);margin:0}

/* empresas: tema escuro com marca-d'água do símbolo */
.tema-escuro{background:var(--grafite);color:var(--creme)}
.tema-escuro h1,.tema-escuro h2,.tema-escuro h3,.tema-escuro h4{color:var(--creme)}
.tema-escuro .eyebrow{color:#EE9D95}
.tema-escuro .intro-secao,.tema-escuro p{color:rgba(251,246,241,.8)}
.empresas{padding:7rem 0}
.empresas__marca{position:absolute;right:-120px;top:8%;width:620px;opacity:.07;z-index:0;pointer-events:none}
.empresas__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:start}
.empresas__intro{position:sticky;top:calc(var(--header-h) + 2rem)}
.empresas__intro .btn{margin-top:1rem}
.frentes{list-style:none;margin:0;padding:0}
.frente{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1.2rem;padding:1.8rem 0;border-top:1px solid rgba(251,246,241,.16)}
.frente:last-child{border-bottom:1px solid rgba(251,246,241,.16)}
.frente__num{font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--coral)}
.frente h3{font-size:1.5rem;margin-bottom:.4rem}
.frente p{margin:0;font-size:1rem}

/* CTA intermediária: cartão em arco com coração */
.cta{padding:6rem 0 5rem;background:var(--creme)}
.cta__cartao{position:relative;overflow:hidden;text-align:center;padding:4.5rem 2rem 4rem;border-radius:220px 220px var(--raio) var(--raio);background:
  radial-gradient(55% 80% at 50% 0%,rgba(225,128,120,.35),transparent 70%),linear-gradient(160deg,var(--coral-forte) 0%,var(--coral-escuro) 100%);color:var(--branco);max-width:920px;margin-inline:auto}
.cta__cartao h2{color:var(--branco);font-size:clamp(2rem,1.5rem + 2vw,2.9rem);max-width:20ch;margin-inline:auto}
.cta__cartao p{max-width:50ch;margin:0 auto 2rem;color:var(--branco);font-size:1.1rem}
.cta__coracao{width:46px;height:46px;margin:0 auto 1.2rem;color:var(--branco)}
.cta__coracao-fundo{position:absolute;width:260px;height:260px;color:rgba(255,255,255,.1);pointer-events:none}
.cta__coracao-fundo--1{left:-60px;bottom:-80px;transform:rotate(-16deg)}
.cta__coracao-fundo--2{right:-50px;top:-40px;width:180px;height:180px;transform:rotate(14deg)}

/* sobre: foto em blob */
.sobre{background:var(--salvia-claro)}
.sobre__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4.5rem;align-items:center}
.sobre__visual{position:relative;width:100%;max-width:440px;justify-self:center}
.sobre__visual::before{content:"";position:absolute;inset:5% -5% -5% 5%;border-radius:var(--raio);background:rgba(225,128,120,.22);z-index:0}
.moldura-blob{position:relative;z-index:1;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.moldura-blob img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.moldura-blob .img-placeholder{min-height:460px;border-radius:0;border:none;background:repeating-linear-gradient(45deg,#f3efe9 0 14px,#ece6df 14px 28px)}
.moldura-blob .img-placeholder__inner{border:2px dashed #c9bfb5;border-radius:20px;background:rgba(255,255,255,.7)}
.sobre__texto p{color:var(--texto-suave)}
.responsavel{display:flex;align-items:center;gap:1rem;margin-top:1.8rem;padding:1.1rem 1.4rem;border-radius:var(--raio-sm);background:var(--branco);box-shadow:var(--sombra);width:fit-content;max-width:100%}
.responsavel img{width:52px;height:52px;flex-shrink:0}
.responsavel strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.2}
.responsavel small{display:block;color:var(--texto-suave);font-size:.9rem}

/* diferenciais: lista com número grande */
.diferenciais{background:var(--creme)}
.diferenciais__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}
.valores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2.2rem}
.valor{position:relative;padding:0 0 0 7.2rem;min-height:5.5rem}
.valor__num{position:absolute;left:0;top:-.6rem;font-family:var(--serif);font-size:6rem;line-height:1;color:var(--coral);opacity:.32}
.valor h3{font-size:1.75rem;margin-bottom:.35rem}
.valor p{color:var(--texto-suave);margin:0}
.diferenciais .blob--c{width:360px;height:320px;right:-140px;top:-60px;background:rgba(248,230,225,.85)}

/* FAQ: accordion */
.faq{background:var(--rosa)}
.faq__aneis{position:absolute;left:-180px;bottom:-180px;width:520px;height:520px;color:rgba(176,74,67,.14);pointer-events:none}
.faq__lista{max-width:820px;margin-inline:auto;display:flex;flex-direction:column;gap:.9rem}
.faq__item{background:var(--creme);border-radius:var(--raio-sm);box-shadow:0 10px 24px -20px rgba(45,60,65,.5)}
.faq__pergunta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:none;border:none;text-align:left;font-family:var(--sans);font-size:1.06rem;font-weight:700;color:var(--grafite);cursor:pointer;min-height:56px}
.faq__seta{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--rosa);color:var(--coral-forte);transition:transform .3s ease}
.faq__item.aberto .faq__seta{transform:rotate(45deg)}
.faq__resposta{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.faq__item.aberto .faq__resposta{grid-template-rows:1fr}
.faq__resposta>div{overflow:hidden}
.faq__resposta p{padding:0 1.5rem 1.3rem;margin:0;color:var(--texto-suave)}

/* blog */
.secao-blog{background:var(--creme);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.blog__grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-bottom:2.6rem}
.blog-card{display:block;text-decoration:none;background:var(--branco);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);transition:transform .25s ease}
.blog-card:hover{transform:translateY(-3px)}
.blog-card__capa{position:relative;aspect-ratio:16/10;overflow:hidden}
.blog-card__capa svg{position:absolute;inset:0;width:100%;height:100%}
.blog-card__corpo{padding:1.3rem 1.5rem 1.6rem}
.blog-card__selo{display:inline-block;padding:.25rem .8rem;border-radius:999px;background:var(--rosa);color:var(--coral-forte);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6rem}
.blog-card__corpo p{margin:0;color:var(--texto-suave);font-size:.98rem}
.blog__acao{text-align:center}

/* contato */
.contato{background:var(--salvia-claro)}
.contato .blob--d{width:380px;height:340px;right:-120px;top:-80px;background:rgba(225,128,120,.18)}
.contato__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;align-items:start}
.form{background:var(--creme);border-radius:var(--raio);padding:2.4rem;box-shadow:var(--sombra)}
.form__linha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.campo{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.campo label{font-weight:700;font-size:.92rem}
.campo input,.campo textarea,.campo select{font:inherit;font-size:1rem;color:var(--texto);padding:.8rem 1rem;border:1.5px solid var(--linha);border-radius:14px;background:var(--branco);min-height:50px;transition:border-color .2s,box-shadow .2s}
.campo textarea{min-height:120px;resize:vertical}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--coral-forte);box-shadow:0 0 0 3px rgba(225,128,120,.25)}
.campo.erro input,.campo.erro textarea,.campo.erro select{border-color:#B3261E}
.campo__erro{font-size:.84rem;color:#B3261E;min-height:1em}
.form__lgpd{font-size:.88rem;color:var(--texto-suave);margin:.4rem 0 1.2rem}
.form__lgpd a{color:var(--coral-forte);font-weight:700}
.form .btn{width:100%}
.form .btn.enviando{opacity:.75;pointer-events:none}
.local{display:flex;flex-direction:column;gap:1.2rem}
.local__cartao{background:var(--branco);border-radius:var(--raio);padding:1.8rem;box-shadow:var(--sombra)}
.local__cartao h3{font-size:1.45rem;margin-bottom:.8rem}
.local__item{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.9rem;color:var(--texto-suave)}
.local__item svg{flex-shrink:0;color:var(--coral-forte);margin-top:.2rem}
.local__item a{color:var(--grafite);font-weight:700;text-decoration:none}
.local__mapa{border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);aspect-ratio:4/3;background:var(--rosa)}
.local__mapa iframe{width:100%;height:100%;border:0;display:block}

/* ---------- rodapé ---------- */
.rodape{background:var(--grafite-profundo);color:rgba(251,246,241,.82);padding:4.5rem 0 2rem;position:relative;overflow:clip}
.rodape__marca{position:absolute;left:-90px;bottom:-120px;width:420px;opacity:.05;pointer-events:none}
.rodape__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr);gap:3rem;margin-bottom:3rem}
.rodape__logo{height:70px;width:auto;margin-bottom:1.2rem}
.rodape p{margin:0 0 .6rem;font-size:.97rem}
.rodape h3{font-family:var(--sans);font-weight:800;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:1rem}
.rodape__menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}
.rodape__menu a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;color:rgba(251,246,241,.82);transition:color .2s}
.rodape__menu a:hover{color:var(--coral)}
.contatos{list-style:none;display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0}
.contatos a{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;color:rgba(251,246,241,.9);text-decoration:none;transition:color .2s}
.contatos a:hover{color:var(--coral)}
.contatos svg{flex:0 0 auto}
.rodape__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(251,246,241,.14);font-size:.88rem}
.rodape__base a{color:rgba(251,246,241,.9)}
.rodape__topo{display:inline-flex;align-items:center;gap:.4rem}

/* ---------- WhatsApp flutuante ---------- */
.whatsapp-flutuante{position:fixed;bottom:2rem;right:2rem;z-index:900;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.35);animation:wa-float 3.2s ease-in-out infinite,wa-pulse 2.8s ease-out 1.2s infinite;will-change:transform,box-shadow;transition:transform .2s}
.whatsapp-flutuante:hover{animation-play-state:paused;transform:scale(1.13)}
@keyframes wa-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes wa-pulse{0%{box-shadow:0 10px 24px -8px rgba(0,0,0,.35),0 0 0 0 rgba(37,211,102,.55)}80%,100%{box-shadow:0 10px 24px -8px rgba(0,0,0,.35),0 0 0 20px rgba(37,211,102,0)}}

/* ---------- placeholder de foto ---------- */
.img-placeholder{background:#f0f0f0;border:2px dashed #ccc;border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0;min-height:300px;width:100%}
.img-placeholder__inner{display:flex;flex-direction:column;align-items:center;gap:8px;color:#999;text-align:center;padding:2rem}
.img-placeholder__label{font-size:.875rem;font-weight:600;color:#666;letter-spacing:.05em;text-transform:uppercase}
.img-placeholder__hint{font-size:.75rem;color:#8a8a8a}

/* ---------- movimento ---------- */
.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out;transition-delay:calc(var(--i,0) * 90ms)}
.animate-on-scroll.visible{opacity:1;transform:none}
@keyframes drift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0) rotate(1.5deg)}100%{transform:translate3d(0,0,0)}}
.decor-drift{animation:drift 18s ease-in-out infinite;will-change:transform}
@keyframes cair{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(8px,14px,0) rotate(22deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
.folha{animation:cair 9s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .animate-on-scroll,.hero-in{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  .decor-drift,.folha,.whatsapp-flutuante{animation:none!important}
  [data-parallax]{translate:none!important}
  .mobile-menu,.menu-backdrop{transition:none!important}
}

/* ---------- responsivo ---------- */
@media (max-width:1080px){
  .navbar__nav{gap:1.1rem}
  .navbar__nav a{font-size:.92rem}
}
@media (max-width:980px){
  .navbar__nav,.navbar__cta{display:none}
  .nav-toggle{display:flex}
  .hero__grid,.empresas__grid,.sobre__grid,.diferenciais__grid,.contato__grid{grid-template-columns:minmax(0,1fr)}
  .hero__visual{width:min(100%,400px);order:-1}
  .sobre__visual{order:-1}
  .empresas__intro{position:static}
  .como__passos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.6rem}
  .como__raiz{display:none}
  .sobre__visual{max-width:440px;margin-inline:auto;width:100%}
  .blog__grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog__grade>*:nth-child(3){display:none}
}
@media (max-width:640px){
  :root{--header-h:68px}
  body{font-size:1rem}
  .wrapper{width:min(1180px,100% - 2.25rem)}
  .navbar__inner{justify-content:space-between}
  .navbar__logo img,.site-header.scrolled .navbar__logo img{height:40px}
  .secao{padding:4.2rem 0}
  .hero{padding:calc(var(--header-h) + 2.2rem) 0 4rem}
  .hero__grid{gap:2.6rem}
  .hero__sub{font-size:1.05rem}
  .hero__ctas .btn{width:100%}
  .hero__atalhos{flex-direction:column}
  .atalho{width:100%}
  .hero__visual{width:min(100%,300px)}
  .hero__selo{left:50%;bottom:-1.6rem;translate:-50% 0;padding:.7rem .9rem;white-space:nowrap}
  .hero__visual{margin-bottom:1.6rem}
  .cabecalho-secao{margin-bottom:2.2rem}
  .servico,.servico:nth-child(even){grid-template-columns:minmax(0,1fr);padding:1.6rem 1.5rem;gap:1rem}
  .servico:nth-child(even) .servico__icone{order:0}
  .servico__icone{width:70px;height:70px}
  .servico__icone svg{width:30px;height:30px}
  .servico h3{font-size:1.4rem}
  .como__passos{grid-template-columns:minmax(0,1fr);row-gap:1.8rem}
  .passo{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;text-align:left;align-items:start;padding:0}
  .passo__num{width:60px;height:60px;font-size:1.5rem;margin:0;box-shadow:0 0 0 6px var(--rosa)}
  .empresas{padding:4.5rem 0}
  .empresas__grid{gap:2rem}
  .empresas__marca{width:420px;right:-160px}
  .frente{grid-template-columns:48px minmax(0,1fr);padding:1.4rem 0}
  .frente__num{font-size:1.8rem}
  .frente h3{font-size:1.3rem}
  .cta{padding:4.2rem 0 3.5rem}
  .cta__cartao{padding:3.4rem 1.4rem 3rem;border-radius:140px 140px var(--raio) var(--raio)}
  .cta__cartao .btn{width:100%}
  .sobre__grid{gap:2.6rem}
  .moldura-blob .img-placeholder{min-height:340px}
  .sobre__visual::before{inset:4% -4% -4% 4%}
  .diferenciais__grid{gap:1.6rem}
  .valores{gap:1.6rem}
  .valor{padding-left:4.6rem;min-height:4rem}
  .valor__num{font-size:4rem;top:-.3rem}
  .valor h3{font-size:1.45rem}
  .faq__pergunta{padding:1.1rem 1.2rem;font-size:1rem}
  .faq__resposta p{padding:0 1.2rem 1.2rem}
  .blog__grade{grid-template-columns:minmax(0,1fr);gap:1.2rem}
  .blog__grade>*:nth-child(n+2){display:none}
  .form{padding:1.6rem 1.3rem}
  .form__linha{grid-template-columns:minmax(0,1fr);gap:0}
  .local__mapa{aspect-ratio:1/1}
  .rodape{padding:3.5rem 0 6rem}
  .rodape__grid{grid-template-columns:minmax(0,1fr);gap:2rem}
  .rodape__base{flex-direction:column}
  .whatsapp-flutuante{bottom:1.2rem;right:1.2rem;width:56px;height:56px}

}
