/* ===========================================================
   Sabrina Dutra Leite | Psicoterapia infantil e adolescente
   Paleta amostrada da própria logo da cliente.
   =========================================================== */

@font-face{
  font-family:'Fraunces';
  src:url('../fonts/fraunces.woff2') format('woff2-variations');
  font-weight:400 700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Figtree';
  src:url('../fonts/figtree.woff2') format('woff2-variations');
  font-weight:300 700; font-style:normal; font-display:swap;
}

:root{
  --creme:#FBF3E2;
  --creme-2:#F6EBD4;
  --papel:#FEFAF0;
  --verde:#4E6F65;
  --verde-esc:#3A544C;
  --verde-cla:#6E9184;
  --folha:#BBC69E;
  --rosa:#DBA19F;
  --rosa-cla:#EBC8C5;
  --tinta:#2C3A34;
  --tinta-2:#63776E;
  --linha:rgba(78,111,101,.18);
  --raio:22px;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --hd:66px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--creme); color:var(--tinta);
  font-family:var(--sans); font-size:17px; line-height:1.68;
  font-weight:380; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
p:last-child{margin-bottom:0}

.wrap{width:min(1140px,92vw);margin:0 auto}
.sec{padding:clamp(64px,9vw,118px) 0;position:relative}

/* grão -------------------------------------------------- */
.grao{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.32;
  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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

/* cabeçalho --------------------------------------------- */
.hd{
  position:fixed;top:0;left:0;right:0;z-index:50;height:var(--hd);
  display:flex;align-items:center;
  background:rgba(251,243,226,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linha);
}
.hd__in{display:flex;align-items:center;gap:16px;width:min(1140px,92vw);margin:0 auto}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;flex:1;min-width:0}
.marca svg{width:30px;height:30px;flex:none}
.marca b{font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:-.02em;white-space:nowrap}
.marca i{display:block;font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);font-weight:600}
.hd__nav{display:flex;gap:26px;font-size:14.5px;font-weight:500}
.hd__nav a{text-decoration:none;color:var(--tinta-2);transition:color .2s}
.hd__nav a:hover{color:var(--verde)}
.hd__bar{position:absolute;left:0;bottom:-1px;height:2px;width:0;
  background:linear-gradient(90deg,var(--folha),var(--verde),var(--rosa))}
@media(max-width:900px){.hd__nav{display:none}}
@media(max-width:560px){
  .hd__in{gap:10px}
  .marca b{font-size:15px}
  .hd .marca i{display:none}
  .hd .btn{padding:11px 16px;font-size:14px}
}

/* botões ------------------------------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:999px;text-decoration:none;
  font-weight:600;font-size:15.5px;letter-spacing:.005em;border:0;cursor:pointer;
  font-family:var(--sans);position:relative;overflow:hidden;
  transition:transform .18s ease,box-shadow .25s ease;
}
.btn svg{width:18px;height:18px;flex:none}
.btn--zap{background:linear-gradient(140deg,#5C8175,#3E5B52);color:#FDF8EC;
  box-shadow:0 12px 26px -14px rgba(58,84,76,.85)}
.btn--zap::before{
  content:'';position:absolute;top:0;bottom:0;width:44%;left:-60%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);transition:left .7s cubic-bezier(.2,.7,.3,1);
}
.btn--zap:hover::before{left:120%}
.btn:hover{transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--verde);border:1.5px solid var(--linha)}
.btn--ghost:hover{border-color:var(--verde);background:rgba(78,111,101,.06)}
.btn--claro{background:var(--creme);color:var(--verde-esc)}

/* selo de seção ----------------------------------------- */
.selo{display:inline-flex;align-items:center;gap:11px;margin-bottom:20px}
.selo em{
  font-style:normal;font-family:var(--serif);font-size:13px;font-weight:600;
  width:32px;height:32px;border:1px solid var(--linha);border-radius:50%;
  display:grid;place-items:center;color:var(--verde)
}
.selo span{font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--verde)}
.sec--esc .selo em{border-color:rgba(251,243,226,.32);color:var(--folha)}
.sec--esc .selo span{color:var(--folha)}

.tit{font-size:clamp(30px,4.4vw,50px);margin-bottom:18px}
.lead{font-size:clamp(17px,2vw,19.5px);color:var(--tinta-2);max-width:60ch}
.sec--esc .lead{color:rgba(251,243,226,.76)}

/* reveal ------------------------------------------------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}

/* ============ HERO ============ */
.hero{padding:calc(var(--hd) + 46px) 0 60px;position:relative;overflow:hidden}
.hero__petala{
  position:absolute;border-radius:50% 0 50% 50%;pointer-events:none;opacity:.5;z-index:0;
}
.hero__p1{width:min(46vw,520px);aspect-ratio:1;background:var(--folha);
  top:-14%;left:-16%;transform:rotate(18deg);opacity:.34;filter:blur(2px)}
.hero__p2{width:min(30vw,330px);aspect-ratio:1;background:var(--rosa);
  bottom:-18%;left:24%;transform:rotate(-40deg);opacity:.22;filter:blur(3px)}
.hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(24px,4vw,58px);align-items:center}
.hero__rot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px;
  font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--verde)}
.hero__rot i{width:6px;height:6px;border-radius:50%;background:var(--rosa);display:block}
h1{font-size:clamp(38px,6.1vw,70px);line-height:1.02;letter-spacing:-.035em}
.ln{overflow:hidden;display:block}
.ln>span{display:block;transform:translateY(106%);animation:sobe .95s cubic-bezier(.16,1,.3,1) forwards}
.ln:nth-child(2)>span{animation-delay:.11s}
.ln:nth-child(3)>span{animation-delay:.22s}
@keyframes sobe{to{transform:none}}
.hero__lead{margin:26px 0 32px;font-size:clamp(16.5px,1.9vw,19px);color:var(--tinta-2);max-width:47ch}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__crp{margin-top:30px;padding-top:22px;border-top:1px solid var(--linha);
  display:flex;gap:26px;flex-wrap:wrap;font-size:13.5px;color:var(--tinta-2)}
.hero__crp b{display:block;font-family:var(--serif);font-size:16px;color:var(--tinta);font-weight:600}

.foto{position:relative}
.foto__campo{
  position:absolute;left:50%;top:6%;transform:translateX(-50%);
  width:92%;height:88%;background:var(--verde);
  border-radius:50% 50% 42% 42% / 62% 62% 12% 12%;
}
.foto__campo::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(70% 55% at 50% 22%,rgba(187,198,158,.42),transparent 70%);
}
.foto img{position:relative;z-index:1;width:100%;max-width:430px;margin:0 auto;
  filter:drop-shadow(0 26px 40px rgba(44,58,52,.22))}
@media(max-width:860px){
  .hero__in{grid-template-columns:1fr;gap:8px}
  .foto{order:-1;max-width:270px;margin:0 auto 6px}
  .hero__crp{gap:18px}
}

/* ============ FALAS ============ */
.sec--falas{background:var(--papel);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.falas{margin:38px 0 0;padding:0;list-style:none}
.falas li{
  display:flex;align-items:baseline;gap:18px;padding:19px 0;
  border-bottom:1px dashed var(--linha);
}
.falas li:first-child{border-top:1px dashed var(--linha)}
.falas em{
  font-style:normal;font-family:var(--serif);font-size:13px;font-weight:600;
  color:var(--rosa);flex:none;width:26px
}
.falas q{
  font-family:var(--serif);font-size:clamp(19px,2.5vw,27px);line-height:1.32;
  font-weight:400;letter-spacing:-.015em;quotes:'“' '”';
}
.falas__fim{
  margin-top:38px;padding:28px 30px;background:var(--creme-2);border-radius:var(--raio);
  font-size:clamp(17px,2vw,20px);font-family:var(--serif);line-height:1.42;max-width:44ch
}
@media(max-width:600px){.falas li{gap:12px;padding:15px 0}.falas em{width:20px;font-size:11px}}

/* ============ TRIAGEM ============ */
.sec--triagem{background:var(--verde-esc);color:var(--creme)}
.sec--esc .tit{color:var(--creme)}
.triagem{
  margin-top:36px;background:rgba(251,243,226,.055);border:1px solid rgba(251,243,226,.16);
  border-radius:28px;padding:clamp(22px,3.4vw,38px);
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,3.6vw,44px);
}
.tg__campo{margin-bottom:26px}
.tg__campo:last-child{margin-bottom:0}
.tg__rot{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:13px;
  font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--folha)}
.tg__rot small{font-size:11px;letter-spacing:0;text-transform:none;color:rgba(251,243,226,.5);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{
  font-family:var(--sans);font-size:14.5px;font-weight:500;color:rgba(251,243,226,.82);
  background:transparent;border:1px solid rgba(251,243,226,.22);border-radius:999px;
  padding:9px 17px;cursor:pointer;transition:all .2s;line-height:1.2;
}
.chip:hover{border-color:rgba(251,243,226,.5)}
.chip[aria-pressed="true"]{background:var(--folha);border-color:var(--folha);color:#31463F;font-weight:600}
.chip[aria-pressed="true"].chip--rosa{background:var(--rosa);border-color:var(--rosa);color:#4A2F2E}

.tg__saida{
  background:var(--creme);color:var(--tinta);border-radius:20px;padding:24px;
  display:flex;flex-direction:column;
}
.tg__saida h3{font-size:15px;letter-spacing:-.01em;margin-bottom:4px}
.tg__saida > p{font-size:12.5px;color:var(--tinta-2);margin-bottom:14px}
.tg__msg{
  background:#fff;border:1px solid var(--linha);border-radius:14px;padding:16px 17px;
  font-size:15px;line-height:1.6;color:var(--tinta);flex:1;white-space:pre-wrap;min-height:150px
}
.tg__saida .btn{width:100%;margin-top:16px}
.tg__nota{font-size:11.5px;line-height:1.5;color:var(--tinta-2);margin-top:12px}
@media(max-width:860px){.triagem{grid-template-columns:1fr}}

/* ============ PARA QUEM (faixas) ============ */
.faixas{margin-top:14px}
.faixa{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,40px);
  padding:clamp(26px,3.6vw,40px) 0;border-top:1px solid var(--linha);align-items:start;
  position:relative;
}
.faixa:last-child{border-bottom:1px solid var(--linha)}
.faixa::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(187,198,158,.30),transparent 72%);
}
.faixa:hover::before{opacity:1}
.faixa__ic{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:var(--creme-2)
}
.faixa__ic svg{width:30px;height:30px}
.faixa h3{font-size:clamp(21px,2.6vw,28px);margin-bottom:9px}
.faixa p{color:var(--tinta-2);max-width:62ch;margin:0}
.faixa__tag{display:inline-block;margin-top:12px;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:var(--verde);
  background:rgba(187,198,158,.28);padding:5px 12px;border-radius:999px}
@media(max-width:600px){.faixa__ic{width:50px;height:50px}.faixa__ic svg{width:24px;height:24px}}

/* ============ COMO FUNCIONA (trilho) ============ */
.sec--como{background:var(--papel);border-top:1px solid var(--linha)}
.trilho{margin-top:44px;position:relative;padding-left:0}
.trilho::before{
  content:'';position:absolute;left:19px;top:14px;bottom:14px;width:1px;
  background:linear-gradient(180deg,var(--folha),var(--rosa));opacity:.7
}
.etapa{position:relative;padding:0 0 40px 62px}
.etapa:last-child{padding-bottom:0}
.etapa__n{
  position:absolute;left:0;top:0;width:39px;height:39px;border-radius:50%;
  background:var(--creme);border:1px solid var(--linha);display:grid;place-items:center;
  font-family:var(--serif);font-size:15px;font-weight:600;color:var(--verde);z-index:1
}
.etapa h3{font-size:clamp(19px,2.3vw,24px);margin-bottom:7px}
.etapa p{color:var(--tinta-2);max-width:60ch;margin:0}
@media(max-width:600px){.etapa{padding-left:52px}.trilho::before{left:16px}
  .etapa__n{width:33px;height:33px;font-size:13px}}

/* ============ SOBRE ============ */
.sobre{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.sobre__foto{position:relative}
.sobre__foto img{border-radius:190px 190px 24px 24px;width:100%}
.sobre__foto::before{
  content:'';position:absolute;inset:18px -16px -16px 18px;border-radius:190px 190px 24px 24px;
  border:1px solid var(--linha);z-index:-1
}
.sobre__marca{
  position:absolute;right:-14px;bottom:22px;width:74px;height:74px;border-radius:50%;
  background:var(--creme);display:grid;place-items:center;box-shadow:0 10px 24px -12px rgba(44,58,52,.4)
}
.sobre__marca svg{width:42px;height:42px}
.sobre__crp{
  display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:11px 18px;
  border:1px solid var(--linha);border-radius:999px;font-size:13.5px;font-weight:600;color:var(--verde)
}
@media(max-width:800px){.sobre{grid-template-columns:1fr}.sobre__foto{max-width:320px}
  .sobre__foto::before{inset:14px -12px -12px 14px}}

/* ============ FAQ ============ */
.sec--faq{background:var(--creme-2)}
.faq{margin-top:38px;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 46px 22px 0;position:relative;
  font-family:var(--serif);font-size:clamp(17.5px,2.1vw,21px);font-weight:600;
  letter-spacing:-.015em;line-height:1.3;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:'';position:absolute;right:8px;top:50%;width:11px;height:11px;
  border-right:1.7px solid var(--verde);border-bottom:1.7px solid var(--verde);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq__c{padding:0 0 24px;color:var(--tinta-2);max-width:70ch}
.faq details[open] .faq__c{animation:abre .4s ease}
@keyframes abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ============ ONDE ============ */
.onde{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,54px);align-items:center}
.onde__cartao{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);
  padding:clamp(24px,3.4vw,36px)
}
.onde__lin{display:flex;gap:15px;padding:16px 0;border-bottom:1px dashed var(--linha)}
.onde__lin:last-child{border-bottom:0;padding-bottom:0}
.onde__lin svg{width:19px;height:19px;flex:none;margin-top:3px;color:var(--verde)}
.onde__lin b{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--verde);margin-bottom:3px}
.onde__lin span{color:var(--tinta-2);font-size:15.5px}
.onde .btn{margin-top:22px}
@media(max-width:800px){.onde{grid-template-columns:1fr}}

/* ============ CONTATO ============ */
.sec--contato{background:var(--verde);color:var(--creme);text-align:center;overflow:hidden;position:relative}
.sec--contato .tit{color:var(--creme);max-width:20ch;margin:0 auto 18px}
.sec--contato .lead{margin:0 auto 32px}
.sec--contato .selo{justify-content:center}
.contato__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.contato__folha{position:absolute;opacity:.09;pointer-events:none}
.contato__folha svg{width:100%;height:100%}
.cf1{width:280px;height:280px;left:-70px;bottom:-90px;transform:rotate(-20deg)}
.cf2{width:220px;height:220px;right:-60px;top:-70px;transform:rotate(28deg)}

/* ============ RODAPÉ ============ */
.rp{background:var(--verde-esc);color:rgba(251,243,226,.66);padding:44px 0 100px;font-size:13.5px}
.rp__in{display:flex;gap:22px;justify-content:space-between;flex-wrap:wrap;align-items:flex-start}
.rp .marca b{color:var(--creme)}
.rp .marca svg{--m-verde:#FBF3E2}
.rp .marca i{color:var(--folha)}
.rp a{color:rgba(251,243,226,.82)}
.rp__aviso{max-width:52ch;line-height:1.6}
.rp__base{margin-top:26px;padding-top:20px;border-top:1px solid rgba(251,243,226,.14);
  font-size:12.5px;display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap}

/* botão flutuante --------------------------------------- */
.flut{
  position:fixed;right:16px;bottom:16px;z-index:55;
  display:flex;align-items:center;gap:9px;padding:13px 19px;border-radius:999px;
  background:linear-gradient(140deg,#5C8175,#3B564F);color:#FDF8EC;text-decoration:none;
  font-weight:600;font-size:14.5px;box-shadow:0 14px 30px -12px rgba(44,58,52,.7);
  transform:translateY(90px);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s
}
.flut.on{transform:none;opacity:1}
.flut svg{width:19px;height:19px}
@media(max-width:520px){.flut span{display:none}.flut{padding:15px;border-radius:50%}}

/* movimento reduzido ------------------------------------ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .ln>span{transform:none}
  .rv{opacity:1;transform:none}
}
