/* ============================================================
   Maria Eduarda Benedito · Psicóloga
   Estética: clean, minimalista, aquarela suave — andorinha & nuvens
   ============================================================ */

:root{
  /* paleta da identidade */
  --cream:      #f8ede1;
  --cream-2:    #fbf5ec;
  --cream-3:    #f2e4d3;
  --paper:      #fdf8f1;
  --ink:        #4a3d54;   /* texto principal — ameixa suave */
  --ink-soft:   #756981;   /* texto secundário */
  --purple:     #80688f;
  --purple-deep:#5d4870;
  --blue:       #4f80a0;
  --blue-deep:  #1f5f84;
  --cloud:      #d6dde2;
  --cloud-deep: #c2cdd6;
  --pink:       #f6c9c4;
  --pink-soft:  #fbdcd8;

  --maxw: 1180px;
  --r: 22px;
  --ease: cubic-bezier(.22,.68,.32,1);
  --shadow-soft: 0 24px 60px -28px rgba(93,72,112,.34);
  --shadow-card: 0 18px 46px -26px rgba(93,72,112,.30);
  --font-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-head: "Fraunces", Georgia, serif;
  --font-script: "Sacramento", cursive;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.7;
  font-size:clamp(16px,1.05vw,18px);
  font-weight:400;
  overflow-x:hidden;
  /* céu de aquarela bem suave por trás de tudo */
  background-image:
    radial-gradient(120% 80% at 12% -10%, rgba(214,221,226,.55), transparent 55%),
    radial-gradient(120% 80% at 92% 6%, rgba(214,221,226,.40), transparent 52%),
    radial-gradient(120% 70% at 80% 102%, rgba(246,201,196,.20), transparent 60%);
  background-attachment:fixed;
}
body.is-locked{ overflow:hidden; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--pink); color:var(--purple-deep); }

.wrap{ width:min(100% - 48px, var(--maxw)); margin-inline:auto; }

/* ---------- tipografia utilitária ---------- */
.h2{
  font-family:var(--font-head);
  font-weight:380;
  font-size:clamp(1.9rem,4.6vw,3.25rem);
  line-height:1.1;
  letter-spacing:-.015em;
  color:var(--purple-deep);
  margin:0;
}
.h2 em, .hero__title em{ font-style:italic; color:var(--blue-deep); font-weight:380; }
.eyebrow{
  font-size:.78rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--purple);
  margin:0 0 1.1rem;
}
.script{
  font-family:var(--font-script);
  color:var(--blue);
  font-size:clamp(2rem,4.5vw,2.9rem);
  line-height:1;
  font-weight:400;
}
.head{ max-width:680px; margin:0 auto clamp(1.7rem,3.6vw,2.6rem); text-align:center; }

/* ---------- botões (hovers delicados) ---------- */
.btn{
  --b: var(--purple-deep);
  position:relative;
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--font-body);
  font-weight:700;
  font-size:.98rem;
  letter-spacing:.01em;
  padding:.92em 1.7em;
  border-radius:999px;
  cursor:pointer;
  border:1.5px solid transparent;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease),
             background-color .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);
  will-change:transform;
}
.btn--primary{
  background:linear-gradient(135deg, var(--purple) 0%, var(--purple-deep) 100%);
  color:#fff;
  box-shadow:0 14px 30px -14px rgba(93,72,112,.6);
}
.btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px -16px rgba(93,72,112,.55), 0 0 0 5px rgba(246,201,196,.26);
  filter:saturate(1.05) brightness(1.03);
}
.btn--primary:active{ transform:translateY(0); transition-duration:.15s; }
.btn--ghost{
  background:transparent;
  color:var(--purple-deep);
  border-color:rgba(128,104,143,.4);
}
.btn--ghost:hover{
  transform:translateY(-3px);
  border-color:var(--purple);
  background:rgba(255,255,255,.5);
  box-shadow:var(--shadow-card);
}
.btn--soft{
  background:rgba(255,255,255,.6);
  color:var(--purple-deep);
  border-color:rgba(128,104,143,.22);
  box-shadow:0 10px 24px -18px rgba(93,72,112,.5);
  backdrop-filter:blur(6px);
}
.btn--soft:hover{ transform:translateY(-2px); background:#fff; border-color:rgba(128,104,143,.4); }
/* brilho/asa suave que cruza o botão primário no hover */
.btn--primary::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform:translateX(-120%); transition:transform .9s var(--ease);
}
.btn--primary:hover::after{ transform:translateX(120%); }

.chip{
  display:inline-block;
  font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--blue-deep);
  background:rgba(255,255,255,.55);
  border:1px solid rgba(79,128,160,.25);
  padding:.5em 1.1em; border-radius:999px;
  backdrop-filter:blur(4px);
}
.chip--line{ background:transparent; color:var(--purple); border-color:rgba(128,104,143,.32); margin:0 .45rem .45rem 0; }

.dot-led{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--pink); box-shadow:0 0 0 4px rgba(246,201,196,.32);
  vertical-align:middle; margin-right:.35em;
  animation:pulse 2.6s var(--ease) infinite;
}
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:1 } 50%{ transform:scale(1.35); opacity:.7 } }

/* CTA reutilizável no fim das seções */
.sec-cta{
  margin-top:clamp(1.8rem,3.5vw,2.8rem);
  display:flex; flex-direction:column; align-items:center; gap:.75rem;
  text-align:center;
}
.sec-cta--left{ align-items:flex-start; margin-top:1.6rem; }
.sec-cta__hint{ font-size:.9rem; color:var(--ink-soft); font-weight:600; max-width:42ch; }

/* ---------- WhatsApp ---------- */
.ico-wa{ width:1.15em; height:1.15em; fill:currentColor; flex:0 0 auto; }
.nav__cta .ico-wa{ fill:#25d366; }
.btn--wa{ background:linear-gradient(135deg,#25d366,#1da955); box-shadow:0 14px 30px -14px rgba(37,211,102,.6); }
.btn--wa:hover{ box-shadow:0 18px 36px -16px rgba(37,211,102,.55), 0 0 0 5px rgba(37,211,102,.22); }
.btn--wa::after{ background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%); }

.cta__phone{ margin:1.1rem 0 0; }
.cta__phone a{ font-weight:700; color:var(--blue-deep); letter-spacing:.01em; border-bottom:1px solid rgba(31,95,132,.3); padding-bottom:1px; transition:color .4s var(--ease), border-color .4s var(--ease); }
.cta__phone a:hover{ color:var(--purple-deep); border-color:var(--purple); }
.foot__wa{ color:var(--purple); font-weight:700; }
.foot__wa:hover{ text-decoration:underline; }

/* botão flutuante sempre visível */
.wa-float{
  position:fixed; right:clamp(16px,3vw,26px); bottom:clamp(16px,3vw,26px); z-index:90;
  display:inline-flex; align-items:center; gap:.55em;
  background:#25d366; color:#fff; font-weight:700; font-size:.95rem;
  padding:.85em 1.25em; border-radius:999px;
  box-shadow:0 16px 32px -10px rgba(37,211,102,.55);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.wa-float .ico-wa{ width:22px; height:22px; }
.wa-float:hover{ transform:translateY(-3px); box-shadow:0 22px 42px -12px rgba(37,211,102,.72); }
.wa-float::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  animation:waPulse 2.8s var(--ease) infinite;
}
@keyframes waPulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45) } 70%,100%{ box-shadow:0 0 0 16px rgba(37,211,102,0) } }
@media (max-width:560px){
  .wa-float__txt{ display:none; }
  .wa-float{ padding:.95em; }
  .wa-float .ico-wa{ width:24px; height:24px; }
}

/* ============================================================
   NUVENS (detalhe aquarela reutilizável)
   ============================================================ */
.cloud{
  position:absolute; z-index:0; pointer-events:none;
  border-radius:50%;
  --cl:214,221,226;            /* cinza-azulado padrão */
  background:
    radial-gradient(closest-side, rgba(var(--cl),.95), rgba(var(--cl),.5) 62%, transparent 74%);
  filter:blur(7px);
  opacity:.85;
}
.cloud::before, .cloud::after{
  content:""; position:absolute; border-radius:50%;
  background:radial-gradient(closest-side, rgba(var(--cl),.9), transparent 72%);
}
.cloud::before{ width:62%; height:62%; left:-22%; top:24%; }
.cloud::after{ width:78%; height:78%; right:-26%; top:12%; }
.cloud--white{ --cl:255,255,255; }                 /* nuvens brancas */
.cloud--blue{  --cl:166,192,214; opacity:.75; }    /* nuvens azuis */

.cloud--a{ width:340px; height:180px; top:6%;  left:-70px; }
.cloud--b{ width:230px; height:125px; top:58%; right:4%; }
.cloud--c{ width:170px; height:95px;  top:24%; right:20%; opacity:.55; }
.cloud--j{ width:200px; height:115px; top:70%; left:10%; }
.cloud--k{ width:150px; height:88px;  top:14%; right:6%; opacity:.65; }
.cloud--d{ width:300px; height:150px; top:-40px; right:-40px; opacity:.6; }
.cloud--d2{ width:210px; height:115px; bottom:6%; left:-50px; }
.cloud--e{ width:260px; height:140px; top:4%;  left:-60px; }
.cloud--e2{ width:180px; height:100px; top:60%; right:6%; }
.cloud--f{ width:210px; height:115px; bottom:6%; right:-30px; }
.cloud--g{ width:280px; height:150px; top:-30px; left:6%; opacity:.55; }
.cloud--g2{ width:200px; height:110px; bottom:8%; right:8%; }
.cloud--h{ width:320px; height:170px; bottom:-40px; left:-50px; opacity:.65; }
.cloud--i{ width:220px; height:120px; top:8%; right:-30px; opacity:.6; }
.cloud--p{ width:250px; height:135px; top:-30px; right:6%; opacity:.55; }
.cloud--p2{ width:190px; height:105px; bottom:4%; left:4%; }

/* ============================================================
   LOADER — a andorinha cruza a tela e revela o conteúdo
   ============================================================ */
.loader{
  position:fixed; inset:0; z-index:1000;
  background:
    radial-gradient(120% 90% at 50% 16%, #fff6ea, var(--cream) 60%);
  display:grid; place-items:center;
  overflow:hidden;
  transition:opacity .9s var(--ease), visibility .9s var(--ease);
}
.loader.is-done{ opacity:0; visibility:hidden; }
.loader__sky{ position:absolute; inset:0; }
.loader__cloud{
  position:absolute; border-radius:50%;
  background:radial-gradient(closest-side, rgba(214,221,226,.9), transparent 72%);
  filter:blur(8px);
}
.loader__cloud--1{ width:300px; height:160px; top:14%; left:-80px; animation:drift 9s var(--ease) infinite alternate; }
.loader__cloud--2{ width:220px; height:120px; bottom:18%; right:-60px; opacity:.7; animation:drift 11s var(--ease) infinite alternate-reverse; }
.loader__cloud--3{ width:160px; height:90px; top:60%; left:18%; opacity:.5; animation:drift 13s var(--ease) infinite alternate; }
@keyframes drift{ from{ transform:translateX(0) } to{ transform:translateX(40px) } }

.loader__flight{
  position:absolute; top:50%; left:0; width:100%;
  transform:translateY(-50%);
}
.loader__bird{
  position:absolute; top:0; left:0;
  width:clamp(76px,12vw,128px);
  filter:drop-shadow(0 14px 18px rgba(31,95,132,.18));
  animation:loaderFly 2.5s var(--ease) forwards, flap 360ms ease-in-out infinite;
  offset-rotate:0deg;
}
@keyframes loaderFly{
  0%{   left:-16%; top:34vh; transform:rotate(8deg) scale(.9); }
  35%{  top:-6vh; transform:rotate(-10deg) scale(1); }
  70%{  top:8vh;  transform:rotate(6deg) scale(1.02); }
  100%{ left:112%; top:-2vh; transform:rotate(-8deg) scale(.95); }
}
@keyframes flap{ 0%,100%{ filter:drop-shadow(0 14px 18px rgba(31,95,132,.18)) } 50%{ transform:translateY(-4px) } }
.loader__dots{ position:absolute; inset:0; }
.loader__dots i{
  position:absolute; width:8px; height:8px; border-radius:50%;
  background:var(--purple); opacity:0;
  transform:translate(-50%,-50%) scale(.4);
  animation:dotPop .9s var(--ease) forwards;
}
@keyframes dotPop{ to{ opacity:.55; transform:translate(-50%,-50%) scale(1); } }
.loader__word{
  position:relative; z-index:2;
  font-family:var(--font-script);
  font-size:clamp(2.4rem,6vw,3.6rem);
  color:var(--purple);
  opacity:0; transform:translateY(10px);
  animation:wordIn 1.4s var(--ease) .25s forwards;
}
@keyframes wordIn{ to{ opacity:1; transform:translateY(0) } }

/* ============================================================
   FLIGHTPATH — andorinha desce a página conforme o scroll
   ============================================================ */
.flightpath{
  position:absolute; top:0; left:0; width:100%; height:100%;
  z-index:-1;                       /* atrás do conteúdo, à frente do fundo: serpenteia entre as seções */
  pointer-events:none; overflow:visible; display:block;
}
.flightpath__base{ stroke:var(--purple); stroke-width:2; stroke-linecap:round; stroke-dasharray:1 15; opacity:.16; }
.flightpath__lit{  stroke:var(--blue);   stroke-width:7; stroke-linecap:round; opacity:.12; }  /* rastro aquarela contínuo */
#routeBird{ filter:drop-shadow(0 10px 12px rgba(31,95,132,.18)); opacity:0; transition:opacity .4s var(--ease); }
/* no celular o rastro passa atrás dos textos: bem discreto para não atrapalhar a leitura */
@media (max-width:760px){
  .flightpath__base{ opacity:.09; }
  .flightpath__lit{ opacity:.06; }
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.nav{
  position:fixed; top:0; left:0; width:100%; z-index:60;
  display:flex; align-items:center; justify-content:space-between; gap:1.2rem;
  padding:14px clamp(20px,4vw,46px);
  transition:background-color .5s var(--ease), box-shadow .5s var(--ease), padding .5s var(--ease);
}
.nav.is-stuck{
  background:rgba(248,237,225,.82);
  backdrop-filter:blur(12px) saturate(1.1);
  box-shadow:0 1px 0 rgba(128,104,143,.12), 0 16px 40px -34px rgba(93,72,112,.5);
  padding-top:10px; padding-bottom:10px;
}
.nav__brand img{ height:50px; width:auto; transition:height .5s var(--ease); }
.nav.is-stuck .nav__brand img{ height:42px; }
.nav__links{ display:flex; gap:1.9rem; margin-inline:auto; }
.nav__links a{
  position:relative; font-weight:600; font-size:.95rem; color:var(--ink);
  padding:.2em 0; transition:color .4s var(--ease);
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-3px; width:100%; height:1.5px;
  background:var(--purple); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease);
}
.nav__links a:hover{ color:var(--purple-deep); }
.nav__links a:hover::after{ transform:scaleX(1); }
.nav__cta{ font-size:.9rem; padding:.7em 1.3em; }
.nav__burger{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav__burger span{ display:block; width:24px; height:2px; margin:5px 0; background:var(--purple-deep); border-radius:2px; transition:transform .4s var(--ease), opacity .3s var(--ease); }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; min-height:100svh;
  display:grid; place-items:center;
  padding:116px 0 72px;
  overflow:hidden;
  text-align:center;
}
.hero__inner{
  position:relative; z-index:3;
  width:min(100% - 48px, 600px); margin-inline:auto;
}
.hero__script{ margin:0 0 .5rem; }
.hero .chip{ margin-bottom:1.5rem; }
.hero__title{
  font-family:var(--font-head);
  font-weight:340;
  font-size:clamp(2.5rem,6.4vw,4.7rem);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--purple-deep);
  margin:0 0 1.4rem;
}
.hero__lead{
  font-size:clamp(1.05rem,1.6vw,1.26rem);
  max-width:520px; color:var(--ink-soft); margin:0 auto 2rem;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:1.4rem; justify-content:center; }
.hero__note{ font-size:.92rem; color:var(--ink-soft); margin:0; font-weight:600; }

.hero__bird{
  position:absolute; z-index:1;
  width:clamp(170px,18vw,262px);
  right:clamp(10px,4.5vw,68px); top:50%;
  transform:translateY(-50%);
  filter:drop-shadow(0 30px 36px rgba(31,95,132,.16));
  animation:floatBird 7s var(--ease) infinite;
}
@keyframes floatBird{
  0%,100%{ transform:translateY(-50%) rotate(0deg); }
  50%{ transform:translateY(calc(-50% - 22px)) rotate(-2.5deg); }
}
.hero__scroll{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:4;
  width:26px; height:42px; border:1.5px solid rgba(128,104,143,.4); border-radius:14px;
}
.hero__scroll span{
  position:absolute; left:50%; top:8px; width:5px; height:5px; border-radius:50%;
  background:var(--purple); transform:translateX(-50%);
  animation:scrollDot 1.8s var(--ease) infinite;
}
@keyframes scrollDot{ 0%{ opacity:0; top:8px } 30%{ opacity:1 } 100%{ opacity:0; top:24px } }

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust{ position:relative; z-index:2; padding:6px 24px 22px; text-align:center; }
.trust__list{
  display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:.7rem 2rem;
  max-width:100%;
  list-style:none; padding:15px 30px; margin:0 auto;
  background:rgba(253,248,241,.72);
  border:1px solid rgba(128,104,143,.12);
  border-radius:999px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(8px);
}
.trust__list li{ display:inline-flex; align-items:center; gap:.6em; font-weight:600; font-size:.95rem; color:var(--ink); white-space:nowrap; }
.trust__ico{ color:var(--pink); font-size:1.05rem; }

/* ============================================================
   SECTIONS GENÉRICAS
   ============================================================ */
.section{ position:relative; padding:clamp(46px,7vw,90px) 0; overflow:hidden; }
.terapia{ background:linear-gradient(180deg, transparent, rgba(253,248,241,.7) 30%, rgba(253,248,241,.7) 70%, transparent); }

/* A TERAPIA */
.terapia__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.terapia__text p{ font-size:1.08rem; margin:0 0 1.2rem; color:var(--ink); }
.quote{
  position:relative;
  background:linear-gradient(160deg, #fff, var(--cream-2));
  border:1px solid rgba(128,104,143,.14);
  border-radius:var(--r);
  padding:2.4rem 2rem 2rem;
  box-shadow:var(--shadow-card);
}
.quote__mark{
  position:absolute; top:-.2em; left:.4em;
  font-family:var(--font-head); font-size:5rem; color:var(--pink); line-height:1;
}
.quote p{ position:relative; font-family:var(--font-head); font-style:italic; font-weight:360; font-size:1.22rem; line-height:1.5; color:var(--purple-deep); margin:0; }

/* SOBRE */
.sobre__grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(2.2rem,5vw,4.5rem); align-items:center; }
.sobre__media{ position:relative; }
.sobre__frame{
  position:relative; border-radius:200px 200px 28px 28px; overflow:hidden;
  box-shadow:var(--shadow-soft);
  border:6px solid #fff;
  transform:rotate(-1.4deg);
}
.sobre__frame img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
.sobre__frame::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(128,104,143,.12));
}
.sobre__leaf{
  position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.5);
  border-radius:inherit;
}
.sobre__bird{
  position:absolute; width:120px; right:-30px; top:-46px;
  transform:rotate(8deg);
  filter:drop-shadow(0 14px 16px rgba(31,95,132,.16));
  animation:floatBird2 6s var(--ease) infinite;
}
@keyframes floatBird2{ 0%,100%{ transform:rotate(8deg) translateY(0) } 50%{ transform:rotate(4deg) translateY(-14px) } }
.sobre__body .eyebrow{ margin-bottom:.8rem; }
.sobre__body p{ color:var(--ink); margin:0 0 1.1rem; max-width:46ch; }
.signature{ font-family:var(--font-script); font-size:2.4rem; color:var(--purple); line-height:1; margin:1.4rem 0 1rem !important; }

/* ANDORINHA */
.andorinha{ text-align:center; }
.andorinha__inner{ max-width:760px; }
.andorinha__icon{ width:clamp(220px,36vw,360px); margin:0 auto 1.2rem; }
.andorinha__text{ font-size:1.18rem; color:var(--ink); max-width:600px; margin-inline:auto; }
.andorinha .h2{ margin-bottom:1.4rem; }

/* PROCESSO */
.steps{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.2rem,3vw,2rem); counter-reset:s; }
.step{
  position:relative;
  background:linear-gradient(165deg,#fff,var(--cream-2));
  border:1px solid rgba(128,104,143,.13);
  border-radius:var(--r);
  padding:2.2rem 1.8rem 2rem;
  box-shadow:var(--shadow-card);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease);
}
.step:hover{ transform:translateY(-8px); box-shadow:var(--shadow-soft); }
.step__num{
  font-family:var(--font-head); font-size:2.6rem; font-weight:300; font-style:italic;
  color:var(--pink); line-height:1; display:block; margin-bottom:.7rem;
}
.step h3{ font-family:var(--font-head); font-weight:440; font-size:1.32rem; color:var(--purple-deep); margin:0 0 .6rem; }
.step p{ margin:0; color:var(--ink-soft); font-size:1rem; }

/* TEMAS */
.temas__grid{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.temas__grid li{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(128,104,143,.14);
  border-radius:16px;
  padding:1.25rem 1.4rem;
  font-weight:600; color:var(--purple-deep);
  display:flex; align-items:center; gap:.8em;
  transition:transform .5s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease);
}
.temas__grid li::before{
  content:""; width:9px; height:9px; border-radius:50%; flex:0 0 auto;
  background:var(--blue); box-shadow:0 0 0 4px rgba(79,128,160,.16);
}
.temas__grid li:hover{ transform:translateY(-4px); background:#fff; border-color:rgba(79,128,160,.32); }

/* CTA FINAL */
.cta{ text-align:center; }
.cta__inner{ position:relative; max-width:720px; }
.cta__bird{ width:clamp(110px,16vw,170px); margin:0 auto 1rem; animation:floatBird3 6.5s var(--ease) infinite; }
@keyframes floatBird3{ 0%,100%{ transform:translateY(0) rotate(0) } 50%{ transform:translateY(-16px) rotate(-3deg) } }
.cta__script{ margin:0 0 .2rem; }
.cta__lead{ font-size:1.12rem; color:var(--ink-soft); max-width:520px; margin:1.2rem auto 2rem; }
.cta__buttons{ display:flex; flex-wrap:wrap; gap:.9rem; justify-content:center; }
.cta__note{ margin-top:1.5rem; font-size:.9rem; color:var(--ink-soft); font-weight:600; }

/* ============================================================
   FOOTER
   ============================================================ */
.foot{ padding:clamp(48px,7vw,80px) 0 40px; border-top:1px solid rgba(128,104,143,.12); }
.foot__inner{ display:grid; gap:1.6rem; justify-items:center; text-align:center; }
.foot__logo-link{ display:inline-block; transition:transform .5s var(--ease), opacity .4s var(--ease); }
.foot__logo-link:hover{ transform:translateY(-3px); opacity:.82; }
.foot__logo{ width:min(460px, 80vw); height:auto; }
.foot__nav{ display:flex; flex-wrap:wrap; gap:1.4rem; justify-content:center; }
.foot__nav a{ font-weight:600; font-size:.95rem; color:var(--ink); transition:color .4s var(--ease); }
.foot__nav a:hover{ color:var(--purple); }
.foot__meta{ font-size:.86rem; color:var(--ink-soft); margin:0; line-height:1.8; }
.foot__meta span{ color:var(--purple); }

/* ============================================================
   REVEAL (animações de scroll)
   ============================================================ */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.1s }
.reveal[data-d="2"]{ transition-delay:.2s }
.reveal[data-d="3"]{ transition-delay:.3s }
.reveal[data-d="4"]{ transition-delay:.4s }
.reveal[data-d="5"]{ transition-delay:.5s }

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:900px){
  .nav__links, .nav__cta{ display:none; }
  .nav__burger{ display:block; }
  .nav.is-open .nav__links{
    display:flex; flex-direction:column; gap:1.4rem; text-align:center;
    position:absolute; top:100%; left:0; width:100%;
    background:rgba(248,237,225,.97); backdrop-filter:blur(12px);
    padding:1.8rem; margin:0; box-shadow:var(--shadow-card);
  }
  .nav.is-open .nav__links a{ font-size:1.1rem; }
  .nav.is-open .nav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav.is-open .nav__burger span:nth-child(2){ opacity:0; }
  .nav.is-open .nav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .terapia__grid{ grid-template-columns:1fr; }
  .sobre__grid{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; }
  .sobre__media{ max-width:340px; margin-inline:auto; }
  .sobre__body{ text-align:center; }
  .sobre__body p{ margin-inline:auto; }
  .sobre__bird{ width:96px; right:-10px; top:-36px; }
  .sec-cta--left{ align-items:center; }
  .steps{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .temas__grid{ grid-template-columns:1fr 1fr; max-width:560px; margin-inline:auto; }
}
/* abaixo de 1100px o vão lateral aperta: a andorinha vira um sussurro de fundo, nunca sobre o texto */
@media (max-width:1100px){
  .hero__bird{ z-index:0; opacity:.2; right:-2%; }
}
@media (max-width:560px){
  .wrap{ width:min(100% - 36px, var(--maxw)); }
  .hero{ padding:98px 0 64px; }
  .hero__bird{ width:170px; right:-14%; opacity:.16; }
  .section{ padding:clamp(40px,9vw,60px) 0; }
  .temas__grid{ grid-template-columns:1fr; max-width:380px; }
  .trust{ padding-inline:18px; }
  .trust__list{ border-radius:26px; padding:14px 22px; gap:.6rem 1.4rem; }
  .quote{ padding:2rem 1.5rem 1.6rem; }
  .quote__mark{ font-size:4rem; }
  .btn{ padding:.86em 1.5em; }
  .sec-cta__hint{ padding-inline:8px; }
}

/* ============================================================
   ACESSIBILIDADE — movimento reduzido
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal{ opacity:1; transform:none; }
  .flightpath{ display:none; }
  html{ scroll-behavior:auto; }
}
