/* ============================================================
   Daniella Frade | Neuropsicologia
   Persona visual B — Acolhedor Orgânico
   Identidade: verde e dourado da cliente, em versão clara e quente
   ============================================================ */

:root{
  --verde-profundo:#123528;
  --verde:#2F6B52;
  --verde-medio:#3E8767;
  --verde-suave:#E7F0E9;
  --verde-neve:#F1F7F2;

  --dourado:#C79E58;
  --dourado-claro:#E7D4AC;
  --dourado-suave:rgba(199,158,88,.18);

  --areia:#F6EDE0;
  --areia-forte:#EFE2CF;

  --fundo:#FDFBF6;
  --superficie:#FFFFFF;
  --texto:#28382F;
  --texto-suave:#657A6E;
  --texto-claro:rgba(253,251,246,.86);
  --linha:rgba(27,71,54,.12);

  --raio:18px;
  --raio-g:30px;
  --raio-xg:44px;
  --sombra:0 14px 34px -22px rgba(27,71,54,.35);
  --sombra-g:0 34px 70px -34px rgba(27,71,54,.38);

  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  --wrap:1140px;
  --header-h:78px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 14px);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--fundo);color:var(--texto);
  font-family:var(--sans);font-size:1rem;line-height:1.72;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

h1,h2,h3,h4{font-family:var(--serif);color:var(--verde-profundo);margin:0;line-height:1.2;font-weight:500;letter-spacing:-.008em}
p{margin:0}
em{font-style:italic;color:var(--verde)}

:focus-visible{outline:2.5px solid var(--dourado);outline-offset:3px;border-radius:6px}

.wrap{width:min(100% - 2.6rem,var(--wrap));margin-inline:auto}

.pular{
  position:absolute;left:-9999px;top:0;z-index:2000;background:var(--verde);color:#fff;
  padding:.8rem 1.2rem;border-radius:0 0 var(--raio) 0;font-weight:600;font-size:.9rem;
}
.pular:focus{left:0}

/* ---------------- Formas orgânicas de fundo ---------------- */
.blob{
  position:absolute;z-index:0;border-radius:50%;pointer-events:none;
  filter:blur(56px);opacity:.55;
}
.blob--a{width:min(50vw,540px);aspect-ratio:1.15;top:-16%;right:-10%;
  background:radial-gradient(circle at 40% 40%,rgba(199,158,88,.55),transparent 68%)}
.blob--b{width:min(42vw,440px);aspect-ratio:1;bottom:-18%;left:-12%;
  background:radial-gradient(circle at 50% 50%,rgba(62,135,103,.42),transparent 66%)}
.blob--c{width:min(40vw,420px);aspect-ratio:1;top:-12%;left:-10%;
  background:radial-gradient(circle at 50% 50%,rgba(62,135,103,.34),transparent 66%)}
.blob--d{width:min(46vw,480px);aspect-ratio:1;bottom:-22%;right:-10%;
  background:radial-gradient(circle at 50% 50%,rgba(199,158,88,.42),transparent 66%)}
.blob--e{width:min(44vw,460px);aspect-ratio:1;top:8%;right:-14%;
  background:radial-gradient(circle at 50% 50%,rgba(199,158,88,.36),transparent 66%)}
.blob--f{width:min(40vw,420px);aspect-ratio:1;bottom:-16%;right:-8%;
  background:radial-gradient(circle at 50% 50%,rgba(62,135,103,.32),transparent 66%)}

.grao{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
}

/* ---------------- Divisores em onda ---------------- */
.onda{position:relative;z-index:3;line-height:0;margin-top:-1px;margin-bottom:-1px}
.onda svg{display:block;width:100%;height:clamp(44px,5.5vw,88px)}
.onda--fundo-areia{background:var(--fundo)} .onda--fundo-areia path{fill:var(--areia)}
.onda--areia-fundo{background:var(--areia)} .onda--areia-fundo path{fill:var(--fundo)}
.onda--fundo-verde{background:var(--fundo)} .onda--fundo-verde path{fill:var(--verde-suave)}
.onda--verde-fundo{background:var(--verde-suave)} .onda--verde-fundo path{fill:var(--fundo)}
.onda--verde-branco{background:var(--verde-suave)} .onda--verde-branco path{fill:var(--superficie)}

/* ---------------- Botões ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:52px;padding:.85rem 1.7rem;border:1.5px solid transparent;border-radius:999px;
  font-family:var(--sans);font-size:.96rem;font-weight:600;
  cursor:pointer;transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease,color .24s ease,border-color .24s ease;
  white-space:nowrap;flex-shrink:0;
}
.btn--g{min-height:58px;padding:1rem 2rem;font-size:1rem}
.btn svg{flex:0 0 auto}
.btn--primario{background:var(--verde);color:#fff;box-shadow:0 12px 26px -14px rgba(47,107,82,.85)}
.btn--primario:hover{background:var(--verde-medio);transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(47,107,82,.9)}
.btn--dourado{background:var(--dourado);color:#2A1F0B;box-shadow:0 12px 28px -14px rgba(199,158,88,.9)}
.btn--dourado:hover{background:var(--dourado-claro);transform:translateY(-2px)}
.btn--suave{background:var(--superficie);color:var(--verde);border-color:var(--linha);box-shadow:var(--sombra)}
.btn--suave:hover{border-color:var(--dourado);transform:translateY(-2px)}
.btn--contorno{background:transparent;color:var(--verde);border-color:rgba(47,107,82,.3)}
.btn--contorno:hover{background:var(--verde);color:#fff;border-color:var(--verde);transform:translateY(-2px)}
.btn--bloco{width:100%}

.link-seta{
  display:inline-flex;align-items:center;gap:.55rem;margin-top:1.8rem;min-height:44px;
  color:var(--verde);font-weight:600;font-size:.98rem;
  transition:gap .24s ease,color .24s ease;
}
.link-seta::after{content:'';position:absolute}
.link-seta:hover{gap:.9rem;color:var(--verde-profundo)}

/* ---------------- Eyebrow e cabeçalhos ---------------- */
.eyebrow{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:.6rem;
  margin:0 0 1.1rem;font-family:var(--sans);font-size:.75rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--verde);
}
.eyebrow::after{content:'';width:34px;height:3px;border-radius:999px;background:var(--dourado)}

.cab-secao{max-width:44rem;margin-bottom:3.4rem}
.titulo-secao{font-size:clamp(1.9rem,3.7vw,2.9rem);max-width:19ch}
.intro-secao{margin-top:1.2rem;color:var(--texto-suave);font-size:1.06rem;max-width:56ch}
.cab-secao--centro{text-align:center;margin-inline:auto}
.cab-secao--centro .eyebrow{align-items:center}
.cab-secao--centro .titulo-secao{margin-inline:auto;max-width:22ch}
.cab-secao--centro .intro-secao{margin-inline:auto;max-width:54ch}

/* ---------------- Seções ---------------- */
.secao{position:relative;isolation:isolate;padding-block:clamp(4rem,7vw,6rem);overflow:hidden}
.secao--areia{background:var(--areia)}
.secao--verde{background:var(--verde-suave)}
.secao>.wrap{position:relative;z-index:3}

/* ============================================================
   HEADER
   ============================================================ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:background-color .32s ease,box-shadow .32s ease,border-color .32s ease;
  border-bottom:1px solid transparent;
}
.navbar__inner{
  width:min(100% - 2.6rem,var(--wrap));margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1.4rem;
  min-height:var(--header-h);
}
.navbar.scrolled{background:rgba(253,251,246,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 30px -26px rgba(27,71,54,.7);border-bottom-color:var(--linha)}

.marca{display:inline-flex;align-items:center;gap:.72rem;color:var(--dourado)}
.marca__selo{display:inline-flex;line-height:0;color:currentColor}
.marca__texto{display:flex;flex-direction:column;line-height:1.28}
.marca__texto strong{font-family:var(--serif);font-size:1.14rem;font-weight:600;color:var(--verde-profundo)}
.marca__texto>span{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--texto-suave)}
.marca__sep{opacity:.45;margin-inline:.22em}

.navbar__nav ul{display:flex;align-items:center;gap:1.9rem}
.navbar__nav a{
  position:relative;font-size:.93rem;font-weight:500;color:var(--texto-suave);
  padding-block:.4rem;transition:color .25s ease;
}
.navbar__nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;border-radius:2px;background:var(--dourado);transition:right .3s ease}
.navbar__nav a:hover::after,.navbar__nav a.ativo::after,.navbar__nav a[aria-current="page"]::after{right:0}
.navbar__nav a:hover,.navbar__nav a.ativo,.navbar__nav a[aria-current="page"]{color:var(--verde-profundo)}

.navbar__cta{min-height:46px;padding:.6rem 1.35rem;font-size:.9rem}

.nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--linha);border-radius:50%;
  background:var(--superficie);color:var(--verde);box-shadow:var(--sombra);
}

/* ---------------- Drawer mobile (sólido, fora de @media) ---------------- */
.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(--superficie);
  box-shadow:-18px 0 54px -24px rgba(27,71,54,.45);
  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;gap:1rem;padding-bottom:1rem;margin-bottom:.4rem;border-bottom:1px solid var(--linha)}
.marca--drawer .marca__texto strong{font-size:1.02rem}
.marca--drawer .marca__texto>span{font-size:.66rem}
.mobile-close{background:none;border:none;color:var(--verde);padding:.35rem;margin:-.35rem;line-height:0}
.mobile-close svg{width:28px;height:28px}
.mobile-menu__links{display:flex;flex-direction:column}
.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.04rem;font-weight:500;color:var(--texto);transition:color .2s ease}
.mobile-menu__links a:hover,.mobile-menu__links a.ativo{color:var(--verde)}
.mobile-menu__cta{margin-top:auto;width:100%;justify-content:center}
.menu-backdrop{
  position:fixed;inset:0;z-index:1100;background:rgba(18,53,40,.42);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;
}
.menu-backdrop.open{opacity:1;visibility:visible}

/* ============================================================
   HERO — foto em arco sobre formas orgânicas
   ============================================================ */
.hero{
  position:relative;isolation:isolate;overflow:hidden;background:var(--fundo);
  padding-block:calc(var(--header-h) + 4.5rem) clamp(3.5rem,7vw,6rem);
}
.hero__grade{
  position:relative;z-index:3;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.82fr);
  gap:clamp(2.5rem,6vw,5.5rem);align-items:center;
}
.hero__ani{opacity:0;animation:sobe .8s var(--d,0s) cubic-bezier(.22,.7,.3,1) forwards}
@keyframes sobe{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

.hero__titulo{font-size:clamp(2.3rem,4.9vw,3.75rem);max-width:15ch;line-height:1.12;font-weight:400}
.hero__titulo em{color:var(--dourado);font-style:italic;font-weight:500}
.hero__sub{margin-top:1.6rem;max-width:48ch;color:var(--texto-suave);font-size:1.1rem;line-height:1.78}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.4rem}
.hero__selos{
  display:flex;flex-wrap:wrap;gap:.7rem 1.9rem;margin-top:2.6rem;padding-top:1.6rem;
  border-top:1px solid var(--linha);max-width:40rem;
}
.hero__selos li{
  display:flex;align-items:center;gap:.55rem;
  font-size:.8rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--texto-suave);
}
.hero__selos li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--dourado);flex:0 0 auto}

.hero__midia{position:relative;justify-self:center;width:100%;max-width:400px}
.hero__aura{
  position:absolute;inset:-9% -7% -5%;z-index:-1;border-radius:999px 999px 46% 46%;
  background:linear-gradient(160deg,var(--verde-suave),var(--areia));
  transform:rotate(-3deg);
}
.arco{
  margin:0;overflow:hidden;position:relative;
  border-radius:999px 999px var(--raio-g) var(--raio-g);
  box-shadow:var(--sombra-g);
  border:6px solid var(--superficie);
}
.arco img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}
.hero__folha{
  position:absolute;left:-15%;bottom:4%;width:30%;max-width:118px;aspect-ratio:1;
  color:var(--dourado);opacity:.8;z-index:-1;pointer-events:none;
  transform:rotate(18deg);
}

/* ============================================================
   PARA QUEM É — pétalas
   ============================================================ */
/* 5 itens em 3 + 2 centralizados (sem órfão na segunda linha) */
.petalas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.3rem}
.petala{grid-column:span 2}
.petala:nth-child(4){grid-column:2 / span 2}
.petala:nth-child(5){grid-column:4 / span 2}
.petala{
  position:relative;padding:2rem 1.7rem 1.9rem;background:var(--superficie);
  border-radius:var(--raio-xg) var(--raio) var(--raio-xg) var(--raio);
  border:1px solid rgba(27,71,54,.07);
  transition:transform .3s cubic-bezier(.22,.7,.3,1),box-shadow .3s ease,border-radius .4s ease;
}
.petala:hover{transform:translateY(-6px);box-shadow:var(--sombra-g);border-radius:var(--raio) var(--raio-xg) var(--raio) var(--raio-xg)}
.petala__icone{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
  border-radius:58% 42% 47% 53% / 43% 51% 49% 57%;
  background:var(--verde-suave);color:var(--verde);margin-bottom:1.2rem;
}
.petala:nth-child(2n) .petala__icone{background:var(--areia-forte);color:#8A6B2E}
.petala h3{font-size:1.22rem;font-weight:600;margin-bottom:.55rem}
.petala p{color:var(--texto-suave);font-size:.96rem}

/* ============================================================
   QUANDO PROCURAR — chips
   ============================================================ */
.sinais__grade{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2.4rem,5vw,4.4rem);align-items:center}
.sinais__texto .cab-secao{margin-bottom:0}
.chips{display:flex;flex-wrap:wrap;gap:.7rem}
.chip{
  display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.25rem;
  background:var(--superficie);border:1px solid var(--linha);border-radius:999px;
  font-size:.94rem;font-weight:500;color:var(--texto);
  box-shadow:0 6px 16px -14px rgba(27,71,54,.5);
  transition:transform .24s ease,border-color .24s ease,background-color .24s ease;
}
.chip::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--dourado);flex:0 0 auto}
.chip:nth-child(3n)::before{background:var(--verde-medio)}
.chip:hover{transform:translateY(-3px);border-color:var(--dourado)}

/* ============================================================
   COMO FUNCIONA — passos em bolhas
   ============================================================ */
.passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem 1.8rem}
.passo{position:relative;padding-right:.5rem}
.passo::after{
  content:'';position:absolute;top:29px;left:calc(58px + 1rem);right:-1.2rem;height:2px;
  background-image:linear-gradient(90deg,rgba(199,158,88,.75) 55%,transparent 0);
  background-size:11px 2px;background-repeat:repeat-x;
}
.passo:nth-child(3n)::after,.passo:last-child::after{display:none}
.passo__bolha{
  display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;
  border-radius:58% 42% 47% 53% / 43% 51% 49% 57%;
  background:var(--superficie);border:1.5px solid var(--dourado-suave);
  color:var(--verde);font-family:var(--serif);font-size:1.24rem;font-weight:600;
  margin-bottom:1.15rem;box-shadow:var(--sombra);
}
.passo__bolha--fim{background:var(--dourado);border-color:var(--dourado);color:#2A1F0B}
.passo h3{font-size:1.12rem;font-weight:600;margin-bottom:.5rem}
.passo p{color:var(--texto-suave);font-size:.94rem}
.passos__nota{
  margin:3.4rem auto 0;max-width:56rem;padding:1.4rem 1.8rem;
  background:var(--superficie);border-radius:var(--raio-g);
  border:1px solid var(--linha);color:var(--texto-suave);text-align:center;font-size:1rem;
}

/* ============================================================
   SOBRE — foto em blob + formações
   ============================================================ */
.sobre__grade{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(2.6rem,5.5vw,5rem);align-items:start}
/* A foto acompanha a rolagem enquanto o texto passa ao lado.
   `overflow:clip` (e não `hidden`) porque `hidden` cria contexto de rolagem e mata o sticky. */
#sobre{overflow:clip}
.sobre__midia{
  position:sticky;top:calc(var(--header-h) + 2.2rem);align-self:start;
  padding:1.6rem 1.6rem 0;width:100%;max-width:430px;justify-self:center;
}
.sobre__anel{
  position:absolute;left:0;right:0;top:0;aspect-ratio:1;z-index:0;
  border-radius:44% 56% 52% 48% / 52% 44% 56% 48%;
  border:1.5px solid var(--dourado);opacity:.45;
  animation:girar 30s linear infinite;
}
@keyframes girar{to{transform:rotate(360deg)}}
.bolha-foto{
  margin:0;position:relative;z-index:1;overflow:hidden;
  border-radius:52% 48% 44% 56% / 46% 52% 48% 54%;
  box-shadow:var(--sombra-g);
}
.bolha-foto img{width:100%;aspect-ratio:1;object-fit:cover}
.credencial{
  position:relative;z-index:2;display:flex;flex-direction:column;gap:.15rem;
  width:max-content;max-width:100%;margin:-1.6rem auto 0;
  padding:.85rem 1.4rem;background:var(--superficie);
  border:1px solid var(--linha);border-radius:999px;box-shadow:var(--sombra);text-align:center;
}
.credencial__rot{font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-suave)}
.credencial strong{font-family:var(--serif);font-size:1.1rem;color:var(--verde-profundo)}

.sobre__texto>p{color:var(--texto-suave);font-size:1.05rem;margin-bottom:1.15rem;max-width:58ch}
.formacoes{margin-top:2.6rem;display:grid;gap:1.4rem}
.formacoes li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.formacoes li>span{
  width:14px;height:14px;margin-top:.5rem;flex:0 0 auto;
  border-radius:58% 42% 47% 53% / 43% 51% 49% 57%;background:var(--dourado);
}
.formacoes li:nth-child(2n)>span{background:var(--verde-medio)}
.formacoes h3{font-size:1.08rem;font-weight:600;margin-bottom:.25rem}
.formacoes p{color:var(--texto-suave);font-size:.96rem;max-width:56ch}
.sobre__nota{
  margin-top:2.4rem;padding:1.25rem 1.6rem;background:var(--verde-suave);
  border-radius:var(--raio-g);color:var(--texto-suave);font-size:.97rem;max-width:58ch;
}

/* ============================================================
   CTA
   ============================================================ */
.cta{padding-block:clamp(1rem,3vw,2.4rem);background:var(--fundo)}
.cta__caixa{
  position:relative;isolation:isolate;overflow:hidden;text-align:center;
  border-radius:var(--raio-xg);
  padding:clamp(2.6rem,5.5vw,4.2rem) clamp(1.6rem,4vw,3rem);
  background:linear-gradient(140deg,var(--verde-medio) 0%,var(--verde) 48%,var(--verde-profundo) 100%);
  box-shadow:var(--sombra-g);
}
.cta__arte{
  position:absolute;inset:-30% -10%;z-index:-1;opacity:.5;
  background:
    radial-gradient(40% 55% at 18% 30%,rgba(231,212,172,.4),transparent 62%),
    radial-gradient(38% 50% at 84% 74%,rgba(231,212,172,.28),transparent 62%);
}
.cta__caixa h2{color:#fff;font-size:clamp(1.75rem,3.4vw,2.5rem);max-width:20ch;margin-inline:auto}
.cta__caixa p{margin:1.2rem auto 2.1rem;max-width:56ch;color:rgba(253,251,246,.85);font-size:1.05rem}

/* ============================================================
   DIFERENCIAIS
   ============================================================ */
.secao--curva-topo{border-radius:var(--raio-xg) var(--raio-xg) 0 0;margin-top:clamp(1rem,3vw,2.4rem)}
.dif__grade{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr);gap:clamp(2.4rem,5vw,4rem);align-items:start}
.dif{display:grid;gap:1.5rem}
.dif li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.dif li>span{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;
  border-radius:58% 42% 47% 53% / 43% 51% 49% 57%;
  background:var(--verde);color:#fff;margin-top:.15rem;
}
.dif h3{font-size:1.1rem;font-weight:600;margin-bottom:.3rem}
.dif p{color:var(--texto-suave);font-size:.96rem;max-width:54ch}

.dif__lado{display:grid;gap:1.2rem;align-content:start}
.frente{
  padding:1.9rem 1.7rem;background:var(--superficie);
  border-radius:var(--raio-xg) var(--raio) var(--raio-xg) var(--raio);
  border:1px solid rgba(27,71,54,.07);
  transition:transform .3s ease,box-shadow .3s ease;
}
.frente:hover{transform:translateY(-5px);box-shadow:var(--sombra-g)}
.frente__icone{
  display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;
  border-radius:58% 42% 47% 53% / 43% 51% 49% 57%;
  background:var(--verde-suave);color:var(--verde);margin-bottom:1.1rem;
}
.frente:nth-child(2) .frente__icone{background:var(--areia-forte);color:#8A6B2E}
.frente h3{font-size:1.16rem;font-weight:600;margin-bottom:.55rem}
.frente p{color:var(--texto-suave);font-size:.95rem}

/* ============================================================
   ACORDEÃO (FAQ)
   ============================================================ */
.acordeao{display:grid;gap:.8rem;max-width:58rem;margin-inline:auto}
.acordeao__item{
  background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio-g);
  overflow:hidden;transition:border-color .26s ease,box-shadow .26s ease;
}
.acordeao__item.aberto{border-color:var(--dourado);box-shadow:var(--sombra)}
.acordeao__gatilho{
  display:flex;align-items:center;gap:1rem;width:100%;min-height:62px;
  padding:1.2rem 1.6rem;background:none;border:none;text-align:left;color:var(--verde-profundo);
  transition:background-color .22s ease;
}
.acordeao__gatilho:hover{background:rgba(47,107,82,.04)}
.acordeao__rot{flex:1;font-family:var(--serif);font-size:1.06rem;font-weight:600;line-height:1.38}
.acordeao__seta{flex:0 0 auto;color:var(--verde);transition:transform .3s ease}
.acordeao__item.aberto .acordeao__seta{transform:rotate(180deg)}
.acordeao__painel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.4,0,.2,1)}
.acordeao__item.aberto .acordeao__painel{grid-template-rows:1fr}
.acordeao__painel>div{overflow:hidden}
.acordeao__painel p{padding:0 1.6rem 1.5rem;color:var(--texto-suave);font-size:.99rem;max-width:66ch}

/* ============================================================
   INSTAGRAM
   ============================================================ */
.insta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(2.4rem,5vw,4.4rem);align-items:center}
.insta__selo{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
  border-radius:58% 42% 47% 53% / 43% 51% 49% 57%;
  background:var(--superficie);color:var(--verde);box-shadow:var(--sombra);margin-bottom:1.4rem;
}
.insta__texto .titulo-secao{max-width:16ch}
.insta__texto .intro-secao{margin-bottom:2rem}

.insta__grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.insta__item{
  position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--raio);
  background:linear-gradient(140deg,var(--verde-medio),var(--verde-profundo));
  box-shadow:var(--sombra);transition:transform .3s ease,box-shadow .3s ease;
}
.insta__item:nth-child(1),.insta__item:nth-child(5){border-radius:var(--raio-g) var(--raio) var(--raio) var(--raio)}
.insta__item:nth-child(3),.insta__item:nth-child(4){border-radius:var(--raio) var(--raio) var(--raio-g) var(--raio)}
.insta__item:hover{transform:translateY(-5px);box-shadow:var(--sombra-g)}
.insta__item img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;transition:transform .5s ease}
.insta__item:hover img{transform:scale(1.07)}
.insta__over{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(18,53,40,.6);color:#fff;opacity:0;transition:opacity .3s ease;
}
.insta__over svg{transform:scale(.82);transition:transform .34s cubic-bezier(.34,1.4,.64,1)}
.insta__item:hover .insta__over,.insta__item:focus-visible .insta__over{opacity:1}
.insta__item:hover .insta__over svg{transform:scale(1)}

/* ============================================================
   BLOG
   ============================================================ */
.secao--blog{
  position:relative;padding-block:clamp(3.4rem,6vw,5rem);background:var(--superficie);
  border-bottom:1px solid var(--linha);
}
.blog-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;max-width:60rem;margin-inline:auto}
.blog-card{
  display:flex;flex-direction:column;background:var(--fundo);
  border:1px solid var(--linha);border-radius:var(--raio-g);overflow:hidden;
}
.blog-card__capa{
  display:block;height:130px;
  background:
    radial-gradient(70% 90% at 24% 20%,rgba(231,212,172,.5) 0%,transparent 62%),
    linear-gradient(140deg,var(--verde-medio) 0%,var(--verde) 100%);
}
.blog-card__selo{
  display:inline-block;width:max-content;margin:1.2rem 1.4rem .5rem;
  padding:.3rem .85rem;border-radius:999px;background:var(--areia-forte);
  font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#8A6B2E;
}
.blog-card p{margin:0 1.4rem 1.4rem;color:var(--texto-suave);font-size:.93rem}
.blog-acao{margin-top:2.4rem;text-align:center}

/* ============================================================
   CONTATO
   ============================================================ */
.contato__grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:clamp(2.4rem,5vw,4.2rem);align-items:start}
.contato__info .titulo-secao{max-width:18ch}
.contato__info .intro-secao{margin-bottom:2rem}

.contatos{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}
.contatos a{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;color:currentColor;transition:color .22s ease}
.contatos svg{flex:0 0 auto;color:var(--dourado)}
.contatos a>span{font-size:.98rem;word-break:break-word}
.contato__info .contatos a:hover{color:var(--verde)}

.contato__locais{display:flex;flex-wrap:wrap;gap:2.4rem;margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid var(--linha)}
.contato__rot{display:block;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--verde);margin-bottom:.35rem}
.contato__locais p{color:var(--texto-suave);font-size:.97rem}

.contato__form{
  background:var(--superficie);border-radius:var(--raio-xg);
  padding:clamp(1.7rem,3vw,2.4rem);box-shadow:var(--sombra-g);border:1px solid rgba(27,71,54,.06);
}
.campo{margin-bottom:1.05rem}
.campo label{display:block;margin-bottom:.45rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--verde)}
.campo input,.campo textarea{
  width:100%;min-height:54px;padding:.9rem 1.15rem;font:inherit;font-size:1rem;color:var(--texto);
  background:var(--fundo);border:1px solid var(--linha);border-radius:var(--raio);
  transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.campo textarea{min-height:120px;resize:vertical;line-height:1.6}
.campo input::placeholder,.campo textarea::placeholder{color:#A3B0A8}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--dourado);background:var(--superficie);box-shadow:0 0 0 3px var(--dourado-suave)}
.campo.invalido input,.campo.invalido textarea{border-color:#B4453A;background:rgba(180,69,58,.04)}
.erro{display:block;min-height:1.1rem;margin-top:.3rem;font-size:.82rem;color:#B4453A}
.form__lgpd{margin-top:1.1rem;font-size:.83rem;line-height:1.65;color:var(--texto-suave)}
.form__lgpd a{color:var(--verde);text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   RODAPÉ
   ============================================================ */
.rodape{position:relative;background:var(--verde-profundo);color:rgba(253,251,246,.74);padding-top:clamp(3.2rem,5.5vw,4.4rem)}
.rodape h1,.rodape h2,.rodape h3,.rodape h4{color:#fff}
.rodape__grade{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,3.4rem);padding-bottom:3rem}
.rodape__marca .marca{margin-bottom:1.3rem;color:var(--dourado)}
.marca--rodape .marca__texto strong{color:#fff}
.marca--rodape .marca__texto>span{color:rgba(253,251,246,.62)}
.rodape__marca p{font-size:.95rem;max-width:42ch;line-height:1.72}
.rodape__crp{margin-top:1rem;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dourado)}
.rodape h2{font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado);margin-bottom:1.1rem;font-family:var(--sans)}
.rodape__menu ul{display:grid;gap:.1rem}
.rodape__menu a{display:inline-flex;align-items:center;min-height:38px;font-size:.95rem;transition:color .2s ease}
.rodape__menu a:hover{color:var(--dourado-claro)}
.contatos--rodape a{color:rgba(253,251,246,.82)}
.contatos--rodape a:hover{color:var(--dourado-claro)}
.contatos--rodape a>span{font-size:.92rem}
.rodape__local{margin-top:1rem;font-size:.9rem;color:rgba(253,251,246,.55)}

.rodape__base{position:relative;z-index:2;border-top:1px solid rgba(231,212,172,.16);padding-block:1.5rem}
.rodape__base-inner{display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;align-items:center;justify-content:space-between;font-size:.85rem}
.rodape__legal{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.rodape__legal a:hover{color:var(--dourado-claro)}
.rodape__legal span{color:rgba(231,212,172,.4)}

/* ============================================================
   WHATSAPP FLUTUANTE
   ============================================================ */
.whatsapp-flutuante{
  position:fixed;bottom:2rem;right:2rem;z-index:900;
  display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;color:#fff;
  box-shadow:0 10px 26px -10px rgba(37,211,102,.75);
  animation:wa-float 3.2s ease-in-out infinite,wa-pulse 2.8s 1.2s ease-out infinite;
  will-change:transform,box-shadow;transition:transform .25s ease;
}
.whatsapp-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 -10px rgba(37,211,102,.75),0 0 0 0 rgba(37,211,102,.5)}
  70%{box-shadow:0 10px 26px -10px rgba(37,211,102,.75),0 0 0 20px rgba(37,211,102,0)}
  100%{box-shadow:0 10px 26px -10px rgba(37,211,102,.75),0 0 0 0 rgba(37,211,102,0)}
}

/* ============================================================
   MOVIMENTO — perfil Suave (persona B)
   ============================================================ */
.animate-on-scroll{
  opacity:0;transform:translateY(22px);
  transition:opacity .65s ease-out,transform .65s ease-out;
  transition-delay:calc(var(--i,0) * 95ms);
}
.animate-on-scroll.visible{opacity:1;transform:none}
@keyframes drift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0) scale(1.03)}100%{transform:translate3d(0,0,0)}}
.decor-drift{animation:drift 22s ease-in-out infinite;will-change:transform}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:1080px){
  .navbar__nav ul{gap:1.3rem}
  .navbar__nav a{font-size:.88rem}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .passo:nth-child(3n)::after{display:block}
  .passo:nth-child(2n)::after,.passo:last-child::after{display:none}
}

@media (max-width:980px){
  .hero__grade{grid-template-columns:1fr;gap:3rem}
  .hero__midia{order:-1;max-width:320px}
  .sinais__grade,.sobre__grade,.contato__grade,.insta,.dif__grade{grid-template-columns:1fr}
  /* empilhado no mobile: sem sticky, senão a foto cobriria o texto */
  .sobre__midia{position:static;max-width:400px;margin-inline:auto}
  .dif__lado{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rodape__grade{grid-template-columns:1fr 1fr}
  .rodape__marca{grid-column:1 / -1}
}

@media (max-width:900px){
  .insta{gap:2.6rem}
  .insta__texto{text-align:center}
  .insta__texto .eyebrow{align-items:center}
  .insta__texto .titulo-secao,.insta__texto .intro-secao{margin-inline:auto}
  .insta__grade{max-width:440px;margin-inline:auto}
}

@media (max-width:900px){
  .petalas{grid-template-columns:repeat(4,minmax(0,1fr))}
  .petala:nth-child(4){grid-column:span 2}
  .petala:nth-child(5){grid-column:2 / span 2}
}

@media (max-width:820px){
  .navbar__nav,.navbar__cta{display:none}
  .nav-toggle{display:flex}
  .blog-grade{grid-template-columns:1fr;max-width:420px}
  .dif__lado{grid-template-columns:1fr}
}

@media (max-width:600px){
  .petalas{grid-template-columns:1fr}
  .petala,.petala:nth-child(4),.petala:nth-child(5){grid-column:1 / -1}
}

@media (max-width:640px){
  :root{--header-h:70px;--raio-xg:32px;--raio-g:24px}
  .navbar__inner{justify-content:space-between;gap:1rem}
  .marca{margin-right:auto}
  .nav-toggle{display:flex;margin-left:auto}
  .marca__texto strong{font-size:1.02rem}
  .marca__texto>span{font-size:.62rem;letter-spacing:.08em}

  .hero{padding-block:calc(var(--header-h) + 2.6rem) 3.4rem}
  .hero__midia{max-width:280px}
  .hero__folha{display:none}
  .hero__titulo{max-width:none}
  .hero__acoes{flex-direction:column;align-items:stretch}
  .hero__acoes .btn{width:100%}

  .passos{grid-template-columns:1fr;gap:1.9rem}
  .passo::after{display:none!important}
  .passo{display:grid;grid-template-columns:auto 1fr;gap:0 1.2rem}
  .passo__bolha{grid-row:span 2;align-self:start;margin-bottom:0}
  .passo h3{align-self:center;margin-top:.95rem}

  .contato__locais{gap:1.6rem}
  .rodape__grade{grid-template-columns:1fr;gap:2.4rem}
  .rodape__base-inner{flex-direction:column;align-items:flex-start}

  .whatsapp-flutuante{bottom:1.15rem;right:1.15rem;width:54px;height:54px}
  .acordeao__gatilho{padding:1.05rem 1.2rem;gap:.75rem}
  .acordeao__rot{font-size:1rem}
  .acordeao__painel p{padding:0 1.2rem 1.25rem}
  .blob{filter:blur(44px);opacity:.42}
}

@media (max-width:380px){
  .marca__texto>span{display:none}
  .insta__grade{gap:.5rem}
}

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