/* ============================================================
   Marcelo Marzola Duarte — Psicólogo
   Persona B — Acolhedor Orgânico (contenção editorial)
   Cor sempre do cliente: verde do logo + branco/creme
   ============================================================ */

:root{
  --verde:#259A98;
  --verde-escuro:#1F6E63;
  --verde-profundo:#184F48;
  --areia:#C4A87E;
  --caramelo:#B87A4B;
  --creme:#F7F4EE;
  --creme-2:#F1EBDF;
  --branco:#FFFFFF;
  --grafite:#2A2E2C;
  --texto-suave:#5C6660;
  --linha:rgba(42,46,44,0.12);
  --verde-suave:rgba(37,154,152,0.10);
  --verde-suave-2:rgba(37,154,152,0.18);
  --sombra:0 18px 44px -22px rgba(24,79,72,0.40);
  --sombra-suave:0 10px 30px -16px rgba(24,79,72,0.30);
  --raio:22px;
  --raio-g:34px;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Nunito Sans',system-ui,-apple-system,sans-serif;
  --container:1160px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  color:var(--grafite);
  background:var(--creme);
  line-height:1.7;
  font-size:17px;
  overflow-x:hidden;
  position:relative;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
em{font-style:italic}

h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.14;color:var(--grafite);letter-spacing:-.01em}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.2rem,4vw,2.4rem)}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-weight:700;font-size:.98rem;
  padding:.85rem 1.5rem;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .2s ease,box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease;
  line-height:1;white-space:nowrap;
}
.btn svg{flex:0 0 auto}
.btn--grande{padding:1.05rem 1.9rem;font-size:1.02rem}
.btn--bloco{width:100%}
.btn--primario{background:var(--verde);color:#fff;box-shadow:var(--sombra-suave)}
.btn--primario:hover{background:var(--verde-escuro);transform:translateY(-2px);box-shadow:var(--sombra)}
.btn--fantasma{background:transparent;color:var(--verde-escuro);border-color:var(--verde-suave-2)}
.btn--fantasma:hover{background:var(--verde-suave);transform:translateY(-2px);border-color:var(--verde)}
.btn--claro{background:#fff;color:var(--verde-escuro)}
.btn--claro:hover{background:var(--creme);transform:translateY(-2px);box-shadow:0 14px 30px -16px rgba(0,0,0,.4)}

/* ---------- Fundo decorativo global (blobs orgânicos) ---------- */
.bg-decor{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.blob--1{width:520px;height:520px;top:-120px;right:-120px;
  background:radial-gradient(circle at 30% 30%,var(--verde-suave-2),transparent 70%)}
.blob--2{width:460px;height:460px;bottom:8%;left:-140px;
  background:radial-gradient(circle at 60% 40%,rgba(196,168,126,.20),transparent 70%)}

/* trama de folhas sutil sobre o creme (motivo do nicho) */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23259A98' stroke-width='1' opacity='0.06'%3E%3Cpath d='M35 95c0-16 13-29 29-29-1 16-13 29-29 29z'/%3E%3Cpath d='M105 45c0 16-13 29-29 29 1-16 13-29 29-29z'/%3E%3C/g%3E%3C/svg%3E");
}
main,.site-header,.rodape{position:relative;z-index:1}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:800;
  background:rgba(247,244,238,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:box-shadow .3s ease,background .3s ease,border-color .3s ease}
.site-header.encolhido{background:rgba(247,244,238,.94);box-shadow:0 6px 24px -18px rgba(24,79,72,.5);border-bottom-color:var(--linha)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.7rem}

.marca{display:inline-flex;align-items:center;gap:.7rem}
.marca__emblema{width:44px;height:44px;flex:0 0 auto}
.marca__texto{display:flex;flex-direction:column;line-height:1.1}
.marca__nome{font-family:var(--serif);font-weight:600;font-size:1.12rem;color:var(--grafite)}
.marca__papel{font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--verde-escuro);text-transform:uppercase}

.nav{display:flex;align-items:center}
.nav__menu{display:flex;align-items:center;gap:1.6rem}
.nav__menu a:not(.btn){font-weight:600;font-size:.96rem;color:var(--grafite);position:relative;padding-block:.3rem;transition:color .2s ease}
.nav__menu a:not(.btn)::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--verde);border-radius:2px;transition:width .25s ease}
.nav__menu a:not(.btn):hover,.nav__menu a.ativo{color:var(--verde-escuro)}
.nav__menu a:not(.btn):hover::after,.nav__menu a.ativo::after{width:100%}
.nav__cta{padding:.62rem 1.15rem;font-size:.9rem}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:20}
.nav__toggle span{width:26px;height:2.4px;background:var(--grafite);border-radius:3px;transition:transform .3s ease,opacity .3s ease}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}

/* ---------- Eyebrow (acento só abaixo, nunca ao lado) ---------- */
.eyebrow{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem;
  font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--verde-escuro);margin-bottom:1.1rem;
}
.eyebrow::after{content:'';width:30px;height:3px;border-radius:2px;background:var(--areia)}
.cabecalho-secao.centro .eyebrow,.hero .eyebrow,.cta-meio__inner .eyebrow{align-items:center}

/* ---------- Cabeçalho de seção ---------- */
.cabecalho-secao{margin-bottom:3rem}
.cabecalho-secao.centro{text-align:center}
.titulo-secao{font-size:clamp(1.9rem,4vw,2.7rem);max-width:20ch}
.cabecalho-secao.centro .titulo-secao{margin-inline:auto;max-width:24ch}
.intro-secao{margin-top:1.1rem;color:var(--texto-suave);font-size:1.08rem;max-width:60ch}
.cabecalho-secao.centro .intro-secao{margin-inline:auto}

section{padding-block:clamp(3.4rem,7vw,5rem)}

/* ---------- Foto orgânica (moldura da persona B) ---------- */
.foto-organica{position:relative;overflow:hidden;box-shadow:var(--sombra)}
.foto-organica img{width:100%;height:100%;object-fit:cover}
.foto-organica--hero{
  border-radius:52% 48% 48% 52% / 42% 42% 58% 58%;
  aspect-ratio:4/5;
}
.foto-organica--arco{
  border-radius:50% 50% var(--raio-g) var(--raio-g) / 40% 40% var(--raio-g) var(--raio-g);
  aspect-ratio:5/6;
}

/* ---------- HERO ---------- */
.hero{padding-top:clamp(2.4rem,5vw,3.6rem);padding-bottom:clamp(2.4rem,5vw,3.4rem)}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero__titulo{font-size:clamp(2.4rem,5.4vw,4rem);line-height:1.05;letter-spacing:-.02em}
.hero__titulo em{color:var(--verde-escuro);font-style:italic}
.hero__sub{margin-top:1.4rem;font-size:1.15rem;color:var(--texto-suave);max-width:46ch}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hero__nota{margin-top:1.2rem;font-size:.92rem;color:var(--texto-suave);display:inline-flex;align-items:center;gap:.5rem}
.hero__nota::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--verde);flex:0 0 auto}

.hero__midia{position:relative}
.selo-flutuante{
  position:absolute;bottom:6%;left:-6%;
  background:#fff;border-radius:18px;padding:.85rem 1.15rem;
  box-shadow:var(--sombra);display:flex;flex-direction:column;line-height:1.25;
  border:1px solid var(--linha);
}
.selo-flutuante strong{font-family:var(--serif);font-weight:600;font-size:1rem;color:var(--verde-escuro)}
.selo-flutuante span{font-size:.82rem;color:var(--texto-suave)}

/* ---------- Divisores (filete com nó central) ---------- */
.divisor{position:relative;height:1px;max-width:var(--container);margin-inline:auto;
  background:linear-gradient(90deg,transparent,var(--linha) 22%,var(--linha) 78%,transparent);
  overflow:visible}
.divisor__no{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);
  width:9px;height:9px;background:var(--verde);border-radius:2px;box-shadow:0 0 0 4px var(--creme)}
.divisor--onda{height:0;background:none;margin-block:.4rem}
.divisor--onda::before{content:'';display:block;height:40px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='40' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20 C 200 2 400 38 600 20 C 800 2 1000 38 1200 20' fill='none' stroke='%23259A98' stroke-opacity='0.22' stroke-width='1.5'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.divisor--onda .divisor__no{top:50%;box-shadow:0 0 0 4px var(--creme)}

/* ---------- SOBRE ---------- */
.sobre__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sobre__midia{position:relative}
.credencial-card{
  position:absolute;right:-4%;bottom:8%;background:#fff;border-radius:16px;
  padding:.8rem 1.05rem;display:flex;align-items:center;gap:.7rem;
  box-shadow:var(--sombra);border:1px solid var(--linha);color:var(--verde-escuro)}
.credencial-card span{display:flex;flex-direction:column;line-height:1.2;font-size:.82rem;color:var(--texto-suave)}
.credencial-card strong{font-family:var(--serif);font-weight:600;font-size:1rem;color:var(--grafite)}
.sobre__texto p{margin-top:1.1rem;color:var(--texto-suave);font-size:1.06rem}
.sobre__texto p:first-of-type{margin-top:0}
.lista-valores{margin-top:1.8rem;display:flex;flex-direction:column;gap:1rem}
.lista-valores li{display:flex;align-items:center;gap:.85rem;font-weight:600;color:var(--grafite)}
.lista-valores svg{flex:0 0 auto;color:var(--verde);width:22px;height:22px;
  background:var(--verde-suave);padding:8px;border-radius:12px;box-sizing:content-box}

/* ---------- ATENDIMENTO ---------- */
.tema-suave{background:linear-gradient(180deg,var(--creme-2),var(--creme));border-radius:var(--raio-g);
  margin-inline:clamp(0px,2vw,18px)}
.cuidados{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.cuidado-card{background:#fff;border-radius:var(--raio);padding:2rem 1.7rem;
  box-shadow:var(--sombra-suave);border:1px solid var(--linha);transition:transform .28s ease,box-shadow .28s ease;
  position:relative;overflow:hidden}
.cuidado-card::after{content:'';position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;
  background:radial-gradient(circle,var(--verde-suave),transparent 70%);opacity:.9}
.cuidado-card:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.cuidado-card__icone{display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:16px;background:var(--verde-suave);color:var(--verde-escuro);margin-bottom:1.1rem}
.cuidado-card h3{font-size:1.24rem;margin-bottom:.55rem}
.cuidado-card p{color:var(--texto-suave);font-size:1rem;position:relative;z-index:1}

.publico-faixa{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem;
  background:var(--verde-suave);border-radius:var(--raio);padding:1.6rem;border:1px solid var(--verde-suave-2)}
.publico-faixa__item{display:flex;align-items:center;gap:.9rem}
.publico-faixa__item svg{flex:0 0 auto;color:var(--verde-escuro)}
.publico-faixa__item strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.02rem}
.publico-faixa__item span{font-size:.88rem;color:var(--texto-suave)}

/* ---------- COMO FUNCIONA ---------- */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:passo;position:relative}
.passos::before{content:'';position:absolute;top:34px;left:16%;right:16%;height:2px;
  background:repeating-linear-gradient(90deg,var(--verde-suave-2) 0 10px,transparent 10px 20px);z-index:0}
.passo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;position:relative;z-index:1}
.passo__num{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;
  border-radius:50%;background:#fff;border:2px solid var(--verde);color:var(--verde-escuro);
  font-family:var(--serif);font-size:1.7rem;font-weight:600;box-shadow:var(--sombra-suave)}
.passo__conteudo h3{font-size:1.2rem;margin-bottom:.4rem}
.passo__conteudo p{color:var(--texto-suave);font-size:1rem;max-width:34ch;margin-inline:auto}

/* ---------- O ESPAÇO (galeria bento robusta) ---------- */
.galeria{display:grid;grid-template-columns:1.1fr 1fr;gap:1.2rem;align-items:stretch}
.galeria__item{border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra-suave);margin:0;
  border:1px solid var(--linha)}
.galeria__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.galeria__item:hover img{transform:scale(1.04)}
.galeria__item:not(.galeria__item--grande){aspect-ratio:16/10}
.galeria__item--grande{grid-row:span 2}

/* ---------- Temas escuros (override de heading obrigatório) ---------- */
.tema-escuro{background:var(--verde-profundo);color:#EAF2F0}
.tema-escuro h1,.tema-escuro h2,.tema-escuro h3,.tema-escuro h4{color:#fff}

/* ---------- CTA meio ---------- */
.cta-meio{border-radius:var(--raio-g);margin-inline:clamp(0px,2vw,18px);position:relative;overflow:hidden}
.cta-meio::before{content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.10),transparent 45%),
             radial-gradient(circle at 85% 90%,rgba(196,168,126,.22),transparent 50%)}
.cta-meio__inner{position:relative;text-align:center;max-width:720px;margin-inline:auto}
.cta-meio__inner h2{font-size:clamp(1.7rem,3.6vw,2.5rem);max-width:20ch;margin-inline:auto}
.cta-meio__inner p{margin-top:1rem;margin-bottom:2rem;color:#D5E5E2;font-size:1.1rem;max-width:52ch;margin-inline:auto}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.faq__intro p{margin-top:1rem;margin-bottom:1.6rem;color:var(--texto-suave)}
.faq__intro .titulo-secao{max-width:16ch}
.faq__lista{display:flex;flex-direction:column;gap:.9rem}
.faq-item{background:#fff;border-radius:16px;border:1px solid var(--linha);overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease}
.faq-item[open]{box-shadow:var(--sombra-suave);border-color:var(--verde-suave-2)}
.faq-item summary{list-style:none;cursor:pointer;padding:1.15rem 1.35rem;font-weight:700;
  font-size:1.04rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--grafite)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'';flex:0 0 auto;width:11px;height:11px;
  border-right:2.4px solid var(--verde);border-bottom:2.4px solid var(--verde);
  transform:rotate(45deg);transition:transform .3s ease;margin-top:-3px}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-top:3px}
.faq-item__resposta{padding:0 1.35rem 1.25rem;color:var(--texto-suave)}
.faq-item__resposta p{font-size:1rem}

/* ---------- Contato / Formulário ---------- */
.contato__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.contato__texto p{margin-top:1rem;color:var(--texto-suave);max-width:44ch}
.contato-dados{margin-top:1.8rem;display:flex;flex-direction:column;gap:1rem}
.contato-dados li{display:flex;align-items:center;gap:.85rem;font-weight:600}
.contato-dados svg{flex:0 0 auto;color:var(--verde-escuro);width:22px;height:22px;
  background:var(--verde-suave);padding:9px;border-radius:12px;box-sizing:content-box}
.form{background:#fff;border-radius:var(--raio-g);padding:clamp(1.6rem,3vw,2.4rem);
  box-shadow:var(--sombra);border:1px solid var(--linha)}
.form__campo{margin-bottom:1.2rem}
.form__campo label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.45rem}
.form__campo input,.form__campo textarea{
  width:100%;font-family:var(--sans);font-size:1rem;color:var(--grafite);
  padding:.85rem 1rem;border:1.5px solid var(--linha);border-radius:14px;background:var(--creme);
  transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}
.form__campo input:focus,.form__campo textarea:focus{outline:none;border-color:var(--verde);
  box-shadow:0 0 0 4px var(--verde-suave);background:#fff}
.form__campo input.invalido,.form__campo textarea.invalido{border-color:#C0553F;box-shadow:0 0 0 4px rgba(192,85,63,.12)}
.form__erro{display:block;color:#C0553F;font-size:.82rem;margin-top:.35rem;min-height:1em;font-weight:600}
.form__lgpd{margin-top:1rem;font-size:.82rem;color:var(--texto-suave);text-align:center}
.form__lgpd a{color:var(--verde-escuro);font-weight:700;text-decoration:underline}

/* ---------- Blog chamada ---------- */
.blog-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.blog-card{background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra-suave);
  border:1px solid var(--linha)}
.blog-card__capa{aspect-ratio:16/10;position:relative;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 30% 30%,var(--verde-suave-2),transparent 60%),
    linear-gradient(135deg,var(--verde) 0%,var(--verde-escuro) 100%)}
.blog-card__capa::after{content:'';position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.4' opacity='0.22'%3E%3Cpath d='M20 62c0-13 10-23 23-23-1 13-11 23-23 23z'/%3E%3Cpath d='M70 30c0 13-10 23-23 23 1-13 11-23 23-23z'/%3E%3C/g%3E%3C/svg%3E")}
.blog-card__selo{position:relative;z-index:1;background:rgba(255,255,255,.92);color:var(--verde-escuro);
  font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .95rem;border-radius:999px}
.blog-card__corpo{padding:1.3rem 1.4rem}
.blog-card__corpo h3{font-size:1.1rem;color:var(--texto-suave);font-weight:500}
.blog-chamada__acao{text-align:center;margin-top:2.4rem}

/* ---------- Rodapé ---------- */
.rodape{padding-top:clamp(3rem,6vw,4.2rem);margin-top:2rem}
.rodape__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.4rem;padding-bottom:2.6rem}
.marca--rodape .marca__nome{color:#fff}
.marca--rodape .marca__papel{color:var(--areia)}
.rodape__bio{margin-top:1.1rem;color:#C6D8D5;font-size:.98rem;max-width:40ch}
.rodape h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--areia);margin-bottom:1.1rem;font-family:var(--sans);font-weight:700}
.rodape__links ul{display:flex;flex-direction:column;gap:.7rem}
.rodape__links a{color:#D5E5E2;font-size:.98rem;transition:color .2s ease}
.rodape__links a:hover{color:#fff}
.contatos{display:flex;flex-wrap:wrap;gap:1.1rem;margin:0;padding:0}
.contatos a{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:#EAF2F0;font-weight:600}
.contatos a:hover{color:#fff}
.contatos svg{flex:0 0 auto}
.rodape__local{margin-top:1rem;color:#C6D8D5;font-size:.9rem}
.rodape__base{border-top:1px solid rgba(255,255,255,.14);padding-block:1.4rem}
.rodape__base-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:center}
.rodape__base p{font-size:.86rem;color:#B7CCC8}
.rodape__legais{display:inline-flex;flex-wrap:wrap;gap:1.2rem;align-items:center}
.rodape__legais a{color:#D5E5E2;text-decoration:underline}
.rodape__legais a:hover{color:#fff}
.rodape__credito a{font-weight:700}

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

/* ---------- Animações de entrada ---------- */
.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,-16px,0) rotate(2deg)}100%{transform:translate3d(0,0,0)}}
.decor-drift{animation:drift 20s ease-in-out infinite;will-change:transform}

@media (prefers-reduced-motion:reduce){
  .animate-on-scroll{opacity:1!important;transform:none!important;transition:none!important}
  .decor-drift{animation:none!important}
  [data-parallax]{transform:none!important}
  .wa-flutuante{animation:none!important}
  html{scroll-behavior:auto}
}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:960px){
  .hero__grid,.sobre__grid,.faq__grid,.contato__grid{grid-template-columns:1fr}
  .hero__midia{max-width:460px;margin-inline:auto;order:-1}
  .sobre__midia{max-width:440px;margin-inline:auto}
  .cabecalho-secao,.faq__intro{text-align:center}
  .cabecalho-secao:not(.centro) .eyebrow,.faq__intro .eyebrow{align-items:center}
  .cabecalho-secao:not(.centro) .titulo-secao,.faq__intro .titulo-secao{margin-inline:auto}
  .rodape__grid{grid-template-columns:1fr 1fr}
  .rodape__marca{grid-column:1 / -1}
}
@media (max-width:768px){
  .nav__toggle{display:flex}
  .nav__menu{position:fixed;inset:0 0 0 auto;width:min(82vw,340px);height:100dvh;
    flex-direction:column;align-items:flex-start;justify-content:center;gap:1.6rem;
    background:var(--creme);padding:2.5rem;box-shadow:-12px 0 40px -18px rgba(24,79,72,.5);
    transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:10}
  .nav__menu.aberto{transform:translateX(0)}
  .nav__menu a:not(.btn){font-size:1.2rem}
  .nav__cta-item{margin-top:.5rem}
  .nav__cta{padding:.85rem 1.5rem;font-size:1rem}
  .cuidados,.passos,.publico-faixa,.blog-grade{grid-template-columns:1fr}
  .passos::before{display:none}
  .galeria{grid-template-columns:1fr}
  .galeria__item--grande{grid-row:auto;aspect-ratio:4/5}
  .selo-flutuante{left:auto;right:4%;bottom:4%}
  .credencial-card{right:4%}
}
@media (max-width:520px){
  body{font-size:16px}
  .marca__nome{font-size:1rem}
  .marca__papel{font-size:.66rem}
  .hero__acoes .btn,.cta-meio .btn{width:100%}
  .rodape__grid{grid-template-columns:1fr}
  .rodape__base-inner{flex-direction:column;text-align:center;align-items:center}
  .wa-flutuante{bottom:1.2rem;right:1.2rem}
}

/* nós dos divisores em fundo tema-suave/escuro herdam a cor do container adjacente:
   ajuste do halo quando o divisor precede/segue uma seção clara padrão já coberto por --creme */
