/* Kit terapeuta-2 · design "Jardim": creme, sálvia e argila, formas orgânicas */
:root{
  --paper:#fbf8f2; --cream:#f4efe6; --sand:#ebe2d3; --blush:#f1d9c8; --peach:#f1c9a8;
  --sage:#a9b79a; --sage-d:#7c8c6d; --moss:#2e3a2c; --moss-2:#3d4b3a; --ink:#262a22;
  --clay:#c0704a; --clay-d:#a35a37; --mute:#6b6f63; --line:rgba(46,58,44,.14);
  --serif:'Fraunces',Georgia,serif; --sans:'Figtree',system-ui,sans-serif;
  --r:28px; --ease:cubic-bezier(.22,1,.36,1); --spring:cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
/* cada seção recorta o que passa da lateral (cards entrando de lado, auras, fita inclinada): no Chrome do celular o overflow só no body ainda alargava a página e a vista deslizava, cortando a faixa do topo */
main,.rod{overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:8px}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
em{font-style:italic;color:var(--clay);font-variation-settings:'SOFT' 100,'WONK' 1}

/* grão sutil por cima de tudo */
.grao{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:multiply}

/* terapias: quando o bloco fixo não cabe na altura da tela, vira rolagem lateral comum (nada fica cortado) */
.tr-livre .tr-sticky{position:static;min-height:0;padding:100px 0 80px}
.tr-livre .tr-ctrl{display:none}
.tr-livre .tr-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:none;transform:none!important}
.tr-livre .tr-track::-webkit-scrollbar{display:none}
.tr-livre .tc{scroll-snap-align:center}

/* ---------- cortina de abertura ---------- */
.cortina{position:fixed;inset:0;z-index:100;background:var(--moss);color:var(--peach);display:grid;place-items:center;transition:transform 1.1s var(--ease),border-radius 1.1s var(--ease),visibility 0s 1.2s}
.cortina div{display:grid;justify-items:center;gap:14px;transition:opacity .4s,transform .8s var(--ease)}
.cortina .broto{width:70px;height:70px}
.cortina span{font:300 italic 26px var(--serif);letter-spacing:.02em;color:var(--paper)}
.broto.draw .dr{stroke-dasharray:120;stroke-dashoffset:120;animation:dr 1.2s var(--ease) forwards}
.broto.draw .dr:nth-child(2){animation-delay:.2s}.broto.draw .dr:nth-child(3){animation-delay:.35s}.broto.draw .dr:nth-child(4){animation-delay:.5s}
@keyframes dr{to{stroke-dashoffset:0}}
body.pronto .cortina{transform:translateY(-105%);border-radius:0 0 50% 50%/0 0 30% 30%;visibility:hidden}
body.pronto .cortina div{opacity:0;transform:translateY(-30px)}

/* faixa demonstrativa sempre fixa no topo (sticky falhava com overflow no body) */
.demo{position:fixed;top:0;left:0;right:0;z-index:60;background:#ffe600;color:#111;text-align:center;font-size:13px;font-weight:600;padding:7px 12px}
.demo a{color:inherit;text-decoration:underline}

/* ---------- navegação em pílula ---------- */
.nav{position:fixed;z-index:50;top:14px;left:50%;translate:-50% 0;width:min(1240px,100% - 24px);display:flex;align-items:center;gap:18px;padding:9px 10px 9px 18px;border-radius:999px;background:rgba(251,248,242,.6);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 40px -18px rgba(46,58,44,.35);transition:translate .5s var(--ease),background .3s}
body:has(.demo) .nav{top:46px}
body:has(.demo){padding-top:36px}
.nav.some{translate:-50% -140%}
.nav.solid{background:rgba(251,248,242,.88)}
.logo{display:flex;align-items:center;gap:10px;margin-right:auto;line-height:1.1}
.logo .broto{width:34px;height:34px;color:var(--moss);flex:none}
.logo b{display:block;font:500 18px var(--serif)}
.logo small{font-size:12px;color:var(--mute);letter-spacing:.04em}
.menu{display:flex;gap:4px}
.menu a{display:block;padding:8px 14px;border-radius:999px;font-size:15px;font-weight:500;transition:background .25s}
.menu a:hover,.menu a.on{background:var(--sand)}
.burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--moss);position:relative}
.burger i{position:absolute;left:14px;right:14px;height:1.6px;background:var(--paper);transition:transform .4s var(--ease)}
.burger i:first-child{top:18px}.burger i:last-child{top:25px}
.burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--moss);color:var(--paper);font-weight:600;font-size:15.5px;position:relative;overflow:hidden;isolation:isolate;transition:transform .4s var(--spring),box-shadow .3s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--clay);border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover::before{transform:none}
.btn:hover{box-shadow:0 14px 30px -12px color-mix(in srgb,var(--clay) 70%,transparent)}
.btn svg{transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-sm{padding:11px 18px;font-size:14.5px}
.btn-lg{padding:18px 28px;font-size:17px}
.btn-claro{background:var(--paper);color:var(--moss)}
.btn-claro::before{background:var(--peach)}
.lk{display:inline-flex;align-items:center;gap:8px;font-weight:600;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:gap .3s,color .3s}
.lk:hover{gap:14px;color:var(--clay)}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-d)}
.tag::before{content:"";width:22px;height:1.5px;background:currentColor}
.tag-claro{color:var(--peach)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font-size:13px;padding:4px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.4)}

/* ---------- títulos de seção ---------- */
.cab{max-width:720px;margin-bottom:48px}
.cab.centro{margin-inline:auto;text-align:center}
.cab.centro .tag::after{content:"";width:22px;height:1.5px;background:currentColor}
.cab h2{font:350 clamp(36px,5.4vw,68px)/1.04 var(--serif);letter-spacing:-.02em;margin:14px 0 16px;font-variation-settings:'SOFT' 50}
.cab p{color:var(--mute);font-size:18px;max-width:58ch}
.cab.centro p{margin-inline:auto}
.cab.claro h2{color:var(--paper)}.cab.claro p{color:rgba(251,248,242,.78)}
/* letras sobem uma a uma */
.tt .ch{display:inline-block;opacity:0;transform:translateY(.5em) rotate(6deg);filter:blur(6px);transition:opacity .7s var(--ease),transform .9s var(--ease),filter .7s;transition-delay:calc(var(--c)*18ms)}
.tt .pal{display:inline-block;white-space:nowrap}
.tt.vis .ch{opacity:1;transform:none;filter:none}
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.rv.vis{opacity:1;transform:none}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:150px 0 70px;overflow:hidden;background:var(--paper)}
.aura{position:absolute;inset:0;pointer-events:none}
.aura i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75}
.aura .a1{width:46vw;height:46vw;left:-12vw;top:-10vw;background:var(--blush);animation:flut 16s ease-in-out infinite}
.aura .a2{width:38vw;height:38vw;right:-8vw;top:10vh;background:#dfe6d2;animation:flut 19s ease-in-out infinite reverse}
.aura .a3{width:30vw;height:30vw;left:30vw;bottom:-14vw;background:var(--peach);opacity:.5;animation:flut 22s ease-in-out infinite}
.aura .a4{width:340px;height:340px;left:0;top:0;background:radial-gradient(circle,var(--peach),transparent 70%);filter:blur(30px);opacity:0;transition:opacity .6s;translate:var(--mx,50vw) var(--my,50vh);margin:-170px 0 0 -170px}
.hero:hover .a4{opacity:.6}
@keyframes flut{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(6vw,4vh) scale(1.12)}66%{transform:translate(-3vw,7vh) scale(.92)}}
.hero-in{position:relative;text-align:center}
.hero-pre{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.65);border:1px solid var(--line);font-size:14px;font-weight:500;opacity:0;transform:translateY(14px);transition:1s var(--ease) .2s}
.pulso{width:9px;height:9px;border-radius:50%;background:var(--sage-d);box-shadow:0 0 0 0 rgba(124,140,109,.6);animation:pulso 2.2s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 12px rgba(124,140,109,0)}100%{box-shadow:0 0 0 0 rgba(124,140,109,0)}}
.hero h1{font:330 clamp(48px,9.4vw,138px)/.98 var(--serif);letter-spacing:-.035em;margin:28px 0 36px;font-variation-settings:'SOFT' 60}
.ln{display:block;overflow:hidden;padding:.06em 0 .1em}
.ln-i{display:inline-block;transform:translateY(110%) rotate(3deg);filter:blur(8px);transition:transform 1.3s var(--ease),filter 1.1s;transition-delay:calc(.35s + var(--i)*.13s)}
.pill-img{display:inline-block;margin-left:.18em;width:1.7em;height:.82em;border-radius:999px;overflow:hidden;vertical-align:middle;transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease) 1.1s;box-shadow:0 12px 30px -14px rgba(46,58,44,.5)}
.pill-img img{width:130%;height:100%;object-fit:cover;animation:pan 9s ease-in-out infinite alternate}
@keyframes pan{to{transform:translateX(-23%)}}
.flor-w{display:inline-block;vertical-align:.05em;margin-left:.16em;width:.62em;height:.62em;color:var(--peach)}
.flor{width:100%;height:100%;animation:gira 14s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.hero-pe{display:flex;align-items:center;justify-content:space-between;gap:40px;text-align:left;max-width:1000px;margin-inline:auto;opacity:0;transform:translateY(20px);transition:1s var(--ease) 1s}
.hero-pe p{max-width:46ch;color:var(--mute);font-size:18px}
.hero-bt{display:flex;align-items:center;gap:26px;flex:none}
body.pronto .hero-pre,body.pronto .hero-pe{opacity:1;transform:none}
body.pronto .ln-i{transform:none;filter:none}
body.pronto .pill-img{transform:none}

/* ---------- foto que cresce com a rolagem ---------- */
.expande{height:210vh;position:relative;background:var(--paper)}
.ex-sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}
.ex-img{--p:0;position:relative;width:calc(min(1000px,86vw) + (100vw - min(1000px,86vw))*var(--p));height:calc(58svh + 42svh*var(--p));border-radius:calc(var(--r)*2*(1 - var(--p)));overflow:hidden;will-change:width,height}
.ex-img img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.25 - .25*var(--p)))}
.ex-vela{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,34,27,.25),rgba(30,34,27,.6) 45%,rgba(30,34,27,.88));opacity:calc(.15 + var(--p)*.85)}
.chip{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:20px;background:rgba(251,248,242,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 20px 40px -20px rgba(0,0,0,.4);font-size:14px;opacity:calc(1 - var(--p)*2.2);animation:boia 6s ease-in-out infinite}
.chip.c1{left:28px;bottom:28px;flex-wrap:wrap;max-width:210px;row-gap:0}
.chip.c1 b{font:500 30px/1 var(--serif)}
.chip.c1 small{width:100%;color:var(--mute)}
.chip.c2{right:28px;top:28px;animation-delay:-3s}
.est{color:#d99a3b;letter-spacing:2px;font-size:14px}
.dot{width:10px;height:10px;border-radius:50%;background:#b8b2a6;flex:none}
.dot.on{background:#5a9a5a;box-shadow:0 0 0 0 rgba(90,154,90,.5);animation:pulso 2s infinite}
@keyframes boia{50%{transform:translateY(-8px)}}
.ex-tx{position:absolute;left:50%;bottom:9vh;translate:-50% 0;width:min(900px,100% - 40px);color:var(--paper);text-align:center}
.ex-tx p{font:330 clamp(24px,3.3vw,44px)/1.25 var(--serif);margin-top:18px;letter-spacing:-.01em;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.ex-tx .tag{opacity:calc((var(--p) - .5)*4)}
.ex-tx .w{opacity:clamp(.12,calc((var(--p) - .4)/.5*var(--K) - var(--k)),1);transition:opacity .25s}

/* ---------- fita ---------- */
.fita{background:var(--moss);color:var(--paper);padding:22px 0;overflow:hidden;transform:rotate(-1.6deg) scale(1.04);margin:-30px 0 0;position:relative;z-index:2}
.fita-in{display:flex;align-items:center;gap:30px;width:max-content;animation:fita 38s linear infinite}
.fita span{font:300 italic clamp(24px,3vw,38px) var(--serif);white-space:nowrap}
.fita .flor{width:26px;height:26px;color:var(--peach);flex:none}
@keyframes fita{to{transform:translateX(-50%)}}

/* ---------- sinais (marcar o que sente) ---------- */
section{position:relative}
.sinais{padding:150px 0 120px}
.s-nuvem{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:980px;margin:0 auto}
.s-pill{display:inline-flex;align-items:center;gap:12px;padding:16px 24px 16px 16px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:clamp(16px,1.6vw,19px);font-weight:500;text-align:left;box-shadow:0 10px 24px -18px rgba(46,58,44,.5);rotate:var(--r);opacity:0;transform:translateY(30px) scale(.9);transition:opacity .7s var(--ease),transform .8s var(--spring),background .35s,color .35s,box-shadow .35s,rotate .5s var(--spring);transition-delay:calc(var(--n,0)*60ms),calc(var(--n,0)*60ms),0s,0s,0s,0s}
.s-pill.vis{opacity:1;transform:none;animation:boia 5s ease-in-out infinite;animation-delay:var(--f)}
.s-pill i{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--sage-d);flex:none;position:relative;transition:.35s var(--spring)}
.s-pill i::after{content:"";position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid var(--moss);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .35s var(--spring)}
.s-pill:hover{rotate:0deg;box-shadow:0 16px 30px -16px rgba(46,58,44,.55)}
.s-pill[aria-pressed=true]{background:var(--moss);color:var(--paper);rotate:0deg}
.s-pill[aria-pressed=true] i{background:var(--peach);border-color:var(--peach);transform:scale(1.1)}
.s-pill[aria-pressed=true] i::after{transform:rotate(45deg) scale(1)}
.s-barra{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:760px;margin:60px auto 0;padding:14px 14px 14px 28px;border-radius:999px;background:var(--sand)}
.s-barra p{font-weight:500}
.s-barra p b{color:var(--clay-d)}
.s-barra .btn.pulsa{animation:chama .7s var(--spring)}
@keyframes chama{40%{transform:scale(1.07)}}
.s-nota{text-align:center;color:var(--mute);font-size:14px;margin-top:16px}

/* ---------- sobre ---------- */
.sobre{padding:120px 0;background:var(--paper)}
.so-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}
.so-vis{position:relative;aspect-ratio:4/5}
.blob-img{position:absolute;inset:0;overflow:hidden;border-radius:58% 42% 46% 54%/52% 46% 54% 48%;animation:morfa 14s ease-in-out infinite;box-shadow:0 40px 80px -40px rgba(46,58,44,.5)}
.blob-img img{width:100%;height:118%;object-fit:cover;transform:translateY(var(--py,0))}
@keyframes morfa{0%,100%{border-radius:58% 42% 46% 54%/52% 46% 54% 48%}33%{border-radius:44% 56% 60% 40%/42% 58% 42% 58%}66%{border-radius:52% 48% 38% 62%/60% 40% 60% 40%}}
.bolha{position:absolute;border-radius:50%}
.bolha.b1{width:120px;height:120px;background:var(--peach);right:-30px;top:8%;animation:boia 7s ease-in-out infinite;mix-blend-mode:multiply}
.bolha.b2{width:70px;height:70px;background:var(--sage);left:-20px;bottom:14%;animation:boia 5s ease-in-out infinite -2s;mix-blend-mode:multiply}
.so-selo{position:absolute;right:6%;bottom:-24px;width:118px;height:118px;border-radius:50%;background:var(--moss);color:var(--peach);display:grid;place-items:center;align-content:center;gap:2px;box-shadow:0 20px 40px -18px rgba(0,0,0,.5);animation:balanca 6s ease-in-out infinite}
.so-selo .broto{width:44px;height:44px}
.so-selo span{font:500 italic 15px var(--serif);color:var(--paper)}
@keyframes balanca{50%{transform:rotate(-8deg) translateY(-6px)}}
.so-tx .cab{margin-bottom:24px}
.so-p{font-size:18.5px;margin-bottom:16px;max-width:56ch}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;border-top:1px solid var(--line);padding-top:30px}
.stats dt{font:330 clamp(38px,4.4vw,56px)/1 var(--serif);color:var(--moss)}
.stats dd{font-size:14px;color:var(--mute);margin-top:6px}
.so-reg{margin-top:22px;font-size:14px;color:var(--mute)}

/* ---------- pilares: painéis que se abrem ---------- */
.pilares{padding:120px 0}
.pl-row{display:flex;gap:16px;height:min(620px,76vh)}
.pl{position:relative;flex:1;border-radius:var(--r);overflow:hidden;cursor:pointer;transition:flex 1s var(--ease);color:var(--paper);outline-offset:4px}
.pl.on{flex:2.3}
.pl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.pl:hover img{transform:scale(1.06)}
.pl::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,42,34,0) 30%,rgba(38,42,34,.85))}
.pl-in{position:absolute;inset:auto 0 0;z-index:1;padding:32px}
.pl-n{font:300 italic 20px var(--serif);color:var(--peach)}
.pl h3{font:350 clamp(28px,3vw,42px)/1.05 var(--serif);margin:4px 0}
.pl-mais{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .8s var(--ease),opacity .6s}
.pl-mais>*{overflow:hidden}
.pl.on .pl-mais{grid-template-rows:1fr;opacity:1;transition-delay:.2s}
.pl-mais{gap:0}
.pl-mais p{max-width:46ch;margin:10px 0 14px;color:rgba(251,248,242,.85)}
.pl .tags span{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12)}
.pl .lk{margin-top:16px;color:var(--peach)}

/* ---------- terapias em rolagem horizontal ---------- */
.terapias{background:var(--sand)}
.tr-pin{position:relative}
.tr-sticky{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:86px 0 26px}
.terapias .cab h2{font-size:clamp(34px,4.2vw,58px);margin:10px 0 10px}
.terapias .cab p{font-size:16.5px}
.tr-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.tr-cab .cab{margin-bottom:20px}
.tr-ctrl{display:flex;align-items:center;gap:16px;margin-bottom:26px;flex:none}
.tr-cont{font:400 18px var(--serif)}
.tr-cont b{font-weight:500;color:var(--clay-d)}
.tr-bar{width:160px;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.tr-bar i{display:block;height:100%;width:100%;background:var(--moss);transform-origin:left;transform:scaleX(var(--tp,0))}
.tr-track{display:flex;gap:22px;padding-inline:max(20px,(100vw - 1240px)/2);width:max-content;will-change:transform}
.tc{position:relative;width:min(360px,78vw);flex:none;border-radius:var(--r);padding:14px 14px 26px;display:flex;flex-direction:column;transition:transform .6s var(--spring)}
.tc:hover{transform:translateY(-10px) rotate(-.6deg)}
.t-sand{background:var(--paper)}.t-blush{background:var(--blush)}.t-sage{background:#dde4d2}.t-clay{background:var(--peach)}
.tc-img{aspect-ratio:16/11;max-height:max(120px,100svh - 690px);border-radius:calc(var(--r) - 10px);overflow:hidden;margin-bottom:18px}
.tc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tc:hover .tc-img img{transform:scale(1.08)}
.tc-n{position:absolute;top:24px;left:26px;font:400 italic 15px var(--serif);background:var(--paper);padding:3px 12px;border-radius:999px}
.tc h3{font:400 28px/1.1 var(--serif);padding:0 12px;margin-bottom:10px;letter-spacing:-.01em}
.tc p{padding:0 12px;color:#4d5146;font-size:15.5px;margin-bottom:16px;flex:1}
.tc .tags{padding:0 12px}
/* botão do card: pílula com ícone e texto do WhatsApp (seta solta parecia navegação dos cards) */
.tc-pe{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:0 12px}
.tc-pe .tags{padding:0}
.tc-lk{flex:none;display:inline-flex;align-items:center;gap:8px;margin:0;padding:10px 18px 10px 14px;border-radius:999px;background:var(--moss);color:var(--paper);font-size:14.5px;font-weight:600;transition:transform .4s var(--spring),background .3s}
.tc-lk svg{width:18px;height:18px;flex:none}
.tc-lk:hover{transform:translateY(-2px);background:var(--clay)}
.tc-fim{background:var(--moss);color:var(--paper);padding:38px 34px;justify-content:center}
.tc-fim h3{padding:0;font-size:34px;margin-bottom:20px}
.tc-fim ul{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.tc-fim li{padding:7px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:15px}
.tc-fim .btn{align-self:flex-start}

/* ---------- caminho (passos) ---------- */
.caminho{padding:140px 0 120px;background:var(--paper)}
.ps-list{position:relative;max-width:900px;margin:0 auto;display:grid;gap:70px;padding:20px 0}
.ps-linha{position:absolute;left:50%;top:0;width:60px;height:100%;translate:-50% 0;overflow:visible}
.ps-linha path{fill:none;stroke:var(--line);stroke-width:2;vector-effect:non-scaling-stroke}
.ps-linha .ps-viva{stroke:var(--clay);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--lp,0));pathLength:1}
.ps{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center}
.ps-dot{grid-column:2;justify-self:center;width:64px;height:64px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:grid;place-items:center;font:400 24px var(--serif);transition:.6s var(--spring);position:relative;z-index:1}
.ps-card{grid-row:1;grid-column:1;background:var(--cream);padding:30px 32px;border-radius:var(--r);text-align:right;opacity:0;transform:translateX(-40px);transition:1s var(--ease)}
.ps:nth-child(odd of .ps) .ps-card{grid-column:3;text-align:left;transform:translateX(40px)}
.ps-card h3{font:400 30px/1.1 var(--serif);margin-bottom:8px}
.ps-card p{color:var(--mute)}
.ps.vis .ps-dot{background:var(--clay);border-color:var(--clay);color:var(--paper);transform:scale(1.12)}
.ps.vis .ps-card,.ps.vis:nth-child(odd of .ps) .ps-card{opacity:1;transform:none}

/* ---------- espaço: fotos em esteira ---------- */
.espaco{padding:130px 0 120px;overflow:hidden}
.gl{display:grid;gap:18px;transform:rotate(-2deg) scale(1.05)}
.gl-row{overflow:hidden}
.gl-in{display:flex;gap:18px;width:max-content;will-change:transform}
.gf{width:clamp(220px,26vw,360px);aspect-ratio:4/3;border-radius:22px;overflow:hidden;flex:none;cursor:zoom-in;transform:skewX(var(--sk,0deg));transition:border-radius .5s var(--ease)}
.gl-row:nth-child(2) .gf{aspect-ratio:1;width:clamp(180px,20vw,280px)}
.gf img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.gf:hover{border-radius:50% 50% 22px 22px}
.gf:hover img{transform:scale(1.1)}

/* ---------- relatos em baralho ---------- */
.relatos{padding:120px 0 140px;background:var(--blush);overflow:hidden}
.rl-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}
.rl-nota{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.rl-nota b{font:330 84px/1 var(--serif);color:var(--moss)}
.rl-nota span{display:grid;font-size:14px;color:var(--mute)}
.rl-bt{display:flex;align-items:center;gap:12px}
.redondo{width:58px;height:58px;border-radius:50%;border:1.5px solid var(--moss);font-size:20px;transition:.4s var(--spring)}
.redondo:hover{background:var(--moss);color:var(--paper);transform:scale(1.08)}
.rl-cont{margin-left:10px;font:400 18px var(--serif)}
/* cartas empilhadas na mesma célula do grid: o baralho cresce até a carta mais alta (texto longo não vaza) */
.deck{position:relative;display:grid;min-height:420px;touch-action:pan-y}
.rc{grid-area:1/1;position:relative;background:var(--paper);border-radius:var(--r);padding:44px 46px;display:flex;flex-direction:column;box-shadow:0 30px 60px -36px rgba(46,58,44,.55);transition:transform .8s var(--ease),opacity .6s;cursor:grab;user-select:none}
.rc:active{cursor:grabbing}
.rc p{font:330 clamp(22px,2.3vw,30px)/1.35 var(--serif);flex:1;margin:18px 0 24px;letter-spacing:-.005em}
.rc-longo p{font-size:clamp(19px,1.9vw,25px)}
.rc footer{display:flex;align-items:center;gap:14px}
.rc footer span{display:grid;line-height:1.3}
.rc small{color:var(--mute)}
.av{width:48px;height:48px;border-radius:50%;background:var(--sage);color:var(--moss);display:grid!important;place-items:center;font:500 20px var(--serif)}
.rc-est{color:#d99a3b;letter-spacing:3px}

/* ---------- contato ---------- */
.contato{padding:40px 0 120px}
.ct-painel{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:clamp(34px,5vw,70px);border-radius:calc(var(--r)*1.6);background:var(--moss);color:var(--paper);overflow:hidden;isolation:isolate}
.ct-mesh{position:absolute;inset:0;z-index:-1}
.ct-mesh i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.ct-mesh i:nth-child(1){width:500px;height:500px;background:var(--clay);right:-140px;top:-160px;animation:flut 14s ease-in-out infinite}
.ct-mesh i:nth-child(2){width:420px;height:420px;background:var(--sage-d);left:-120px;bottom:-200px;animation:flut 18s ease-in-out infinite reverse}
.ct-mesh i:nth-child(3){width:260px;height:260px;background:var(--peach);left:40%;top:30%;opacity:.25;animation:flut 20s ease-in-out infinite}
.ct-l .cab{margin-bottom:30px}
.ct-l .tag{color:var(--peach)}
.ct-l address{font-style:normal;margin-top:36px;display:grid;gap:10px;color:rgba(251,248,242,.85)}
.ct-l address a{border-bottom:1px solid rgba(255,255,255,.35)}
.horas{display:grid;gap:2px;margin-bottom:22px;background:rgba(255,255,255,.07);border-radius:20px;padding:10px}
.horas li{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-radius:12px;font-size:15.5px}
.horas b{font-weight:500}
.horas-livre{margin-bottom:22px;background:rgba(255,255,255,.07);border-radius:20px;padding:18px 22px;font-size:15.5px}
.horas li.hoje{background:var(--paper);color:var(--moss)}
.mapa{border-radius:22px;overflow:hidden;height:260px;background:var(--moss-2)}
.mapa iframe{width:100%;height:100%;border:0;filter:grayscale(.4) contrast(1.05)}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;margin-top:110px}
.faq .cab{margin-bottom:0}
.fq{border-bottom:1px solid var(--line)}
.fq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font:400 22px/1.3 var(--serif);cursor:pointer;list-style:none}
.fq summary::-webkit-details-marker{display:none}
.fq summary i{width:36px;height:36px;border-radius:50%;background:var(--sand);flex:none;position:relative;transition:.5s var(--spring)}
.fq summary i::before,.fq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;background:var(--moss);translate:-50% -50%;transition:.4s var(--ease)}
.fq summary i::after{rotate:90deg}
.fq[open] summary i{background:var(--clay);rotate:180deg}
.fq[open] summary i::before,.fq[open] summary i::after{background:var(--paper)}
.fq[open] summary i::after{rotate:0deg}
.fq-a{overflow:hidden}
.fq-a p{padding:0 50px 24px 0;color:var(--mute)}

/* ---------- rodapé ---------- */
.rod{background:var(--ink);color:rgba(251,248,242,.75);padding:0 0 40px;overflow:hidden}
.rod-gigante{font:300 italic clamp(40px,min(22vw,calc(190vw / var(--n,8))),340px)/.9 var(--serif);color:var(--peach);white-space:nowrap;padding:60px 0 30px;opacity:.9;letter-spacing:-.04em;text-align:center}
.rod-gigante span{display:inline-block;transform:translateY(var(--ry,40%));transition:transform .1s linear}
.rod-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:30px;font-size:14px}
.rod .logo{margin:0}.rod .logo .broto{color:var(--peach)}.rod .logo small{color:rgba(251,248,242,.55)}
.rod .peq{width:100%;font-size:13px;opacity:.6}

/* ---------- WhatsApp flutuante ---------- */
.zap{position:fixed;right:20px;bottom:20px;z-index:40;width:64px;height:64px;border-radius:50%;background:var(--moss);color:var(--paper);display:grid;place-items:center;box-shadow:0 16px 30px -12px rgba(46,58,44,.6);transform:scale(0);transition:transform .6s var(--spring)}
.zap.vis{transform:none}
.zap:hover{background:var(--clay)}
.zap-anel{position:absolute;inset:-6px;width:76px;height:76px;transform:rotate(-90deg);overflow:visible;pointer-events:none}
.zap-anel circle{fill:none;stroke:rgba(46,58,44,.15);stroke-width:2.5}
.zap-anel .zap-p{stroke:var(--clay);stroke-dasharray:188.5;stroke-dashoffset:calc(188.5*(1 - var(--sp,0)));stroke-linecap:round}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:95;background:rgba(30,34,27,.92);display:grid;place-items:center;padding:40px 80px;animation:aparece .4s}
.lb[hidden]{display:none}
.lb img{max-height:86vh;border-radius:20px;animation:zoom .5s var(--ease)}
.lb button{position:absolute;color:var(--paper);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.3);font-size:24px;transition:background .3s}
.lb button:hover{background:rgba(255,255,255,.12)}
.lb-x{top:20px;right:20px}.lb-a{left:20px;top:50%;translate:0 -50%}.lb-p{right:20px;top:50%;translate:0 -50%}
@keyframes aparece{from{opacity:0}}
@keyframes zoom{from{transform:scale(.92);opacity:0}}

/* ---------- responsivo ---------- */
@media (max-width:980px){
  .menu{position:fixed;inset:-14px -12px auto;flex-direction:column;padding:110px 26px 34px;background:var(--paper);border-radius:0 0 32px 32px;box-shadow:0 30px 60px -30px rgba(0,0,0,.3);transform:translateY(-110%);transition:transform .7s var(--ease);z-index:-1}
  .menu.aberto{transform:none}
  .menu a{font:400 30px var(--serif);padding:8px 4px}
  .burger{display:block}
  .nav>.btn-sm{display:none}
  .hero-pe{flex-direction:column;text-align:center;gap:28px}
  .hero-bt{flex-direction:column;gap:18px}
  .so-grid,.rl-grid,.ct-painel,.faq{grid-template-columns:1fr;gap:50px}
  .so-vis{max-width:460px;width:100%;margin:0 auto}
  .pl-row{flex-direction:column;height:auto}
  .pl{min-height:240px;flex:none}
  .pl.on{min-height:460px}
  .tr-sticky{position:static;min-height:0;padding:100px 0 80px}
  .tr-cab{flex-direction:column;align-items:flex-start}
  .tr-ctrl{display:none}
  .tr-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:none;transform:none!important}
  .tr-track::-webkit-scrollbar{display:none}
  .tc{scroll-snap-align:center}
  .ps-linha{left:32px}
  .ps{grid-template-columns:64px 1fr;gap:18px}
  .ps-dot{grid-column:1}
  .ps-card,.ps:nth-child(odd of .ps) .ps-card{grid-column:2;text-align:left;transform:translateX(30px)}
}
@media (max-width:600px){
  body{font-size:16px}
  .nav{padding-left:14px}
  .logo small{display:none}
  .hero{padding-top:130px}
  .hero h1{font-size:clamp(42px,12.5vw,64px)}
  .pill-img{display:none}
  .hero-pre{font-size:13px;padding:7px 14px 7px 11px}
  .expande{height:170vh}
  .ex-img{width:calc(90vw + 10vw*var(--p));height:calc(64svh + 36svh*var(--p))}
  .chip.c1{left:14px;bottom:14px}.chip.c2{right:14px;top:14px;font-size:13px}
  .ex-tx{bottom:7vh}
  .sinais{padding:110px 0 90px}
  .s-pill{padding:12px 18px 12px 12px}
  .s-barra{flex-direction:column;border-radius:28px;padding:22px;text-align:center}
  .stats{grid-template-columns:1fr 1fr}
  .deck{min-height:380px}
  .rc{padding:32px 28px}
  .rl-nota b{font-size:64px}
  .fq-a p{padding-right:0}
  .lb{padding:20px}
  .lb-a,.lb-p{top:auto;bottom:20px;translate:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .expande{height:auto}.ex-sticky{position:relative;height:auto;padding:20px 0}
  .ex-img{--p:1!important;height:80svh}
  .ex-tx .w{opacity:1}
}
