:root{
  --green-900:#152c1d;
  --green-800:#1b3a26;
  --green-700:#1f3e2a;
  --green:#2b4d35;
  --green-500:#3d6349;
  --gold-deep:#b8893c;
  --gold:#c9a14a;
  --gold-light:#e9c772;
  --gold-bright:#f8cc66;
  --sand:#efe8da;
  --cream:#f6f1e8;
  --paper:#faf6ee;
  --ink:#2c2820;
  --muted:#857d6c;
  --line:rgba(43,77,53,.16);
  --maxw:1240px;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);font-weight:300;color:var(--ink);
  background:var(--cream);line-height:1.85;letter-spacing:.01em;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- shared type ---------- */
.eyebrow{
  font-family:var(--sans);font-weight:500;font-size:.7rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);
}
.eyebrow.light{color:var(--gold-light)}
.label{
  font-family:var(--sans);font-weight:500;font-size:.66rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--green-500);
  margin-bottom:.55rem;
}
.display{font-family:var(--serif);font-weight:300;line-height:.96;letter-spacing:.005em}
.italic{font-family:var(--serif);font-style:italic;font-weight:400}

/* ---------- progress + index ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright));z-index:60;transition:width .15s linear}
.index{position:fixed;right:30px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:14px;align-items:flex-end}
.index a{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:.55;transition:opacity .3s}
.index a .dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--muted);transition:all .3s}
.index a .tx{opacity:0;transform:translateX(6px);transition:all .3s}
.index a:hover{opacity:1}
.index a:hover .tx{opacity:1;transform:none}
.index a.active{opacity:1;color:var(--green)}
.index a.active .dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,161,74,.18)}
@media(max-width:980px){.index{display:none}}

/* ---------- section base ---------- */
section{position:relative;padding:clamp(72px,9vh,128px) clamp(24px,6vw,90px)}
.wrap{max-width:var(--maxw);margin:0 auto;width:100%}

/* reveal */
.rise{opacity:1;transform:none}
html.reveal-on .rise{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
html.reveal-on .rise.in{opacity:1;transform:none}
.rise.d1{transition-delay:.1s}.rise.d2{transition-delay:.2s}.rise.d3{transition-delay:.32s}.rise.d4{transition-delay:.44s}.rise.d5{transition-delay:.56s}

/* gold arc motif */
.arc{display:block;width:140px;height:30px;overflow:visible}
.arc path{fill:none;stroke:url(#goldgrad);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 1.6s ease .3s}
.in .arc path,.cover .arc path{stroke-dashoffset:0}

/* ============ COVER ============ */
.cover{
  min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(120% 90% at 75% 12%,rgba(201,161,74,.16),transparent 55%),
    radial-gradient(120% 90% at 20% 88%,rgba(201,161,74,.10),transparent 50%),
    linear-gradient(160deg,var(--green-800),var(--green-900) 75%);
  color:var(--cream);overflow:hidden;
}
.cover::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 220px rgba(0,0,0,.45);pointer-events:none}
.cover .vign{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(248,204,102,.10),transparent 70%);filter:blur(8px)}
.cover .v1{top:-160px;right:-120px}.cover .v2{bottom:-180px;left:-120px}
.cover-inner{position:relative;z-index:2;max-width:820px;padding:40px}
.cover .eyebrow{display:inline-block;margin-bottom:38px}
.cover .bigarc{width:min(560px,78vw);height:120px;margin:0 auto 6px;display:block;overflow:visible}
.cover .bigarc path{fill:none;stroke:url(#goldgrad);stroke-width:4.5;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.4s cubic-bezier(.16,.8,.3,1) .4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.cover h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,10.5vw,6.6rem);letter-spacing:.1em;line-height:1;margin:-2px 0 6px;padding-left:.1em;
  background:linear-gradient(180deg,#fff,#e9dcb6);-webkit-background-clip:text;background-clip:text;color:transparent}
.cover .tag{font-family:var(--sans);font-weight:300;font-size:.78rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-light);margin-bottom:46px}
.cover .tag span{color:rgba(255,255,255,.4);margin:0 .5em}
.cover .phrase{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.3rem,3vw,1.95rem);line-height:1.5;color:rgba(255,255,255,.86);max-width:30ch;margin:0 auto}
.cover .kicker{margin-top:54px;font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.scrollcue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.5)}
.scrollcue .m{font-family:var(--sans);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase}
.scrollcue .ln{width:1px;height:42px;background:linear-gradient(var(--gold-light),transparent);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ============ ABOUT ============ */
.about{background:var(--paper)}
.about .head{max-width:820px;margin:0 auto 64px;text-align:center}
.about .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5.2vw,4rem);color:var(--green);line-height:1.04;margin:22px 0 26px}
.about .head p{font-size:1.06rem;color:var(--muted);line-height:1.95;max-width:62ch;margin:0 auto}
.about .head p+p{margin-top:18px}
.logo-mark{width:min(360px,70vw);margin:46px auto 0}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:70px auto;max-width:1080px}
.pillar{padding:42px 34px;text-align:center;border-left:1px solid var(--line)}
.pillar:first-child{border-left:none}
.pillar .ic{margin:0 auto 18px;width:34px;height:34px;color:var(--gold-deep)}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;color:var(--green);margin-bottom:10px}
.pillar p{font-size:.95rem;color:var(--muted);line-height:1.75}
@media(max-width:760px){.pillars{grid-template-columns:1fr}.pillar{border-left:none;border-top:1px solid var(--line)}.pillar:first-child{border-top:none}}

.modes{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1080px;margin:0 auto}
.mode{position:relative;padding:48px 42px;border-radius:3px;overflow:hidden;background:var(--cream);border:1px solid var(--line)}
.mode .num{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--gold-deep)}
.mode h3{font-family:var(--serif);font-weight:500;font-size:1.85rem;color:var(--green);margin:8px 0 14px;line-height:1.1}
.mode p{font-size:1rem;color:var(--muted);line-height:1.85}
.mode .corner{position:absolute;top:0;right:0;width:90px;height:90px;background:radial-gradient(circle at top right,rgba(201,161,74,.18),transparent 70%)}
@media(max-width:760px){.modes{grid-template-columns:1fr}}

.choose{text-align:center;margin:68px auto 0;max-width:760px}
.choose .arc{margin:0 auto 18px}
.choose p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.6rem,3.6vw,2.4rem);color:var(--green);line-height:1.3}

/* ============ CARDÁPIO / MENU ============ */
.menu{background:radial-gradient(120% 80% at 80% 10%,rgba(201,161,74,.14),transparent 55%),linear-gradient(160deg,var(--green-800),var(--green-900) 80%);color:var(--cream);position:relative;overflow:hidden}
.menu::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 200px rgba(0,0,0,.4);pointer-events:none}
.menu .wrap{position:relative;z-index:2}
.menu .mhead{text-align:center;max-width:680px;margin:0 auto 56px}
.menu .mhead .arc{margin:0 auto 18px}
.menu .mhead h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.06;margin-bottom:18px;background:linear-gradient(180deg,#fff,#e9dcb6);-webkit-background-clip:text;background-clip:text;color:transparent}
.menu .mhead p{font-family:var(--sans);font-weight:300;font-size:.95rem;color:rgba(255,255,255,.62);letter-spacing:.02em}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}
.mcard{display:flex;flex-direction:column;padding:30px 28px;border-radius:5px;background:rgba(255,255,255,.035);border:1px solid rgba(233,199,114,.22);transition:transform .5s cubic-bezier(.2,.7,.2,1),background .5s,border-color .5s,box-shadow .5s}
.mcard:hover{transform:translateY(-6px);background:rgba(255,255,255,.07);border-color:rgba(233,199,114,.6);box-shadow:0 26px 50px -30px rgba(0,0,0,.7)}
.mcard .mtop{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.mcard .mnum{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--gold-light)}
.mcard .mline{flex:1;height:1px;background:rgba(233,199,114,.25)}
.mcard h3{font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1.08;color:#fff;margin-bottom:8px}
.mcard .msub{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1rem;color:var(--gold-light);margin-bottom:14px}
.mcard .mdesc{font-family:var(--sans);font-weight:300;font-size:.9rem;color:rgba(255,255,255,.68);line-height:1.7;margin-bottom:22px;flex:1}
.mcard .mfoot{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.mcard .mprice{font-family:var(--sans);font-weight:400;font-size:.78rem;letter-spacing:.04em;color:var(--gold-light)}
.mcard .mprice b{font-family:var(--serif);font-weight:500;font-size:1.05rem}
.mcard .mar{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid rgba(233,199,114,.4);display:flex;align-items:center;justify-content:center;color:var(--gold-light);transition:all .4s}
.mcard .mar svg{width:13px;transition:transform .4s}
.mcard:hover .mar{background:var(--gold);border-color:var(--gold);color:var(--green-900)}
.mcard:hover .mar svg{transform:translateX(2px)}
@media(max-width:920px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mgrid{grid-template-columns:1fr}}

/* ============ SERVICE SPREAD ============ */
.svc{min-height:100vh;display:flex;align-items:center;border-top:1px solid var(--line)}
.svc:nth-child(even of .svc){background:var(--paper)}
.svc .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,5vw,78px);align-items:center}
.svc.reverse .wrap{direction:rtl}
.svc.reverse .wrap>*{direction:ltr}

.svc .num{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.05rem;color:var(--gold-deep);letter-spacing:.05em;margin-bottom:16px;display:flex;align-items:center;gap:14px}
.svc .num::after{content:"";flex:0 0 46px;height:1px;background:var(--line)}
.svc h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.7rem,6vw,4.6rem);color:var(--green);line-height:.98;margin:10px 0 12px}
.svc .sub{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.2rem,2.4vw,1.6rem);color:var(--green-500);margin-bottom:26px}
.svc .lede{font-size:1.05rem;color:var(--ink);line-height:1.95;max-width:52ch;margin-bottom:26px}
.svc .ritual{font-size:.98rem;color:var(--muted);line-height:1.9;max-width:52ch;margin-bottom:30px}

.benefits{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 26px;margin-bottom:28px;max-width:54ch}
.benefits li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--ink)}
.benefits li .lf{flex:0 0 15px;margin-top:5px;color:var(--gold-deep)}

.meta{display:flex;flex-wrap:wrap;gap:28px 46px;margin-bottom:34px}
.meta .blk{max-width:30ch}
.meta .blk p{font-size:.96rem;color:var(--ink)}
.meta .blk .italic{color:var(--green-500);font-size:1.08rem}

/* price card */
.price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0;margin-bottom:30px;max-width:430px}
.price .row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.price .row:last-child{border-bottom:none}
.price .nm{font-family:var(--sans);font-weight:400;font-size:.96rem;color:var(--ink)}
.price .nm small{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.price .val{font-family:var(--serif);font-weight:500;font-size:1.5rem;color:var(--green);white-space:nowrap}
.price .val sup{font-size:.7rem;color:var(--gold-deep);font-style:italic;vertical-align:super;margin-right:2px}

.cta{display:inline-flex;align-items:center;gap:14px;padding:15px 30px;border:1px solid var(--green);border-radius:40px;
  font-family:var(--sans);font-weight:400;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);
  transition:all .4s cubic-bezier(.2,.7,.2,1);background:transparent}
.cta .ar{width:18px;transition:transform .4s}
.cta:hover{background:var(--green);color:var(--cream)}
.cta:hover .ar{transform:translateX(5px)}

/* media frames */
.media{display:flex;flex-direction:column;gap:18px}
.frame{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 24px 60px -36px rgba(21,44,29,.5)}
.frame .ph{position:absolute;inset:0}
.frame .cap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;background:linear-gradient(transparent 40%,rgba(21,44,29,.55))}
.frame .badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-weight:500;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.35);border-radius:30px;padding:6px 13px;margin-bottom:auto}
.frame .badge svg{width:13px}
.frame .desc{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.98rem;color:#fff;line-height:1.5;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.frame.photo{aspect-ratio:4/5}
.frame.video{aspect-ratio:4/5}
.frame.solo{aspect-ratio:3/4}
.frame img.ph,.frame video.ph{object-fit:cover;width:100%;height:100%;display:block}
.frame .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:62px;height:62px;border-radius:50%;
  background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center}
.frame .play svg{width:20px;color:#fff;margin-left:3px}

/* tints per service (ambient placeholders, brand-aligned) */
.t-relax{background:radial-gradient(120% 80% at 70% 20%,rgba(248,204,102,.4),transparent 60%),linear-gradient(150deg,#3a5240,#23381e)}
.t-reflex{background:radial-gradient(110% 80% at 30% 25%,rgba(201,161,74,.32),transparent 60%),linear-gradient(150deg,#2f4a36,#1b3122)}
.t-facial{background:radial-gradient(120% 80% at 60% 15%,rgba(233,216,182,.55),transparent 62%),linear-gradient(150deg,#5a6b54,#36482f)}
.t-drena{background:radial-gradient(120% 80% at 35% 20%,rgba(214,224,205,.45),transparent 60%),linear-gradient(150deg,#3b5848,#1f3b2b)}
.t-mio{background:radial-gradient(120% 80% at 70% 80%,rgba(201,161,74,.28),transparent 55%),linear-gradient(150deg,#28332b,#10221a)}
.t-pedras{background:radial-gradient(110% 80% at 60% 30%,rgba(248,204,102,.5),transparent 58%),linear-gradient(150deg,#4a3a22,#241a10)}

@media(max-width:880px){
  .svc{min-height:auto;padding-top:80px;padding-bottom:80px}
  .svc .wrap{grid-template-columns:1fr;gap:42px}
  .svc.reverse .wrap{direction:ltr}
  .media{flex-direction:row;flex-wrap:wrap}
  .frame.photo{flex:1 1 230px;aspect-ratio:4/5}
  .frame.video{flex:1 1 230px;aspect-ratio:4/5}
  .benefits{grid-template-columns:1fr}
}

/* ============ CONTACT ============ */
.contact{
  min-height:100vh;display:flex;align-items:center;text-align:center;
  background:
    radial-gradient(120% 90% at 80% 15%,rgba(201,161,74,.16),transparent 55%),
    linear-gradient(160deg,var(--green-800),var(--green-900) 78%);
  color:var(--cream);position:relative;overflow:hidden;
}
.contact::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 220px rgba(0,0,0,.45);pointer-events:none}
.contact .wrap{position:relative;z-index:2;max-width:760px;margin:0 auto}
.contact .eyebrow{margin-bottom:30px}
.contact h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.3rem,5.6vw,4rem);line-height:1.12;margin-bottom:24px;
  background:linear-gradient(180deg,#fff,#e9dcb6);-webkit-background-clip:text;background-clip:text;color:transparent}
.contact .lead{font-size:1.05rem;color:rgba(255,255,255,.78);line-height:1.9;max-width:54ch;margin:0 auto 50px}
.channels{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:54px}
.channel{display:inline-flex;align-items:center;gap:13px;padding:15px 26px;border:1px solid rgba(255,255,255,.28);border-radius:44px;
  color:#fff;transition:all .4s;background:rgba(255,255,255,.04)}
.channel svg{width:19px;color:var(--gold-light);transition:color .4s}
.channel .who{font-family:var(--sans);font-weight:300;font-size:.95rem;letter-spacing:.02em}
.channel:hover{background:var(--gold);border-color:var(--gold);color:var(--green-900)}
.channel:hover svg{color:var(--green-900)}
.contact .arc{margin:0 auto 22px}
.contact .close{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.3rem,3vw,1.9rem);color:rgba(255,255,255,.88);line-height:1.4;max-width:30ch;margin:0 auto}
.contact .foot{margin-top:60px;font-family:var(--sans);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.4)}

@media(max-width:600px){
  section{padding:56px 22px}
  .cover{min-height:100svh}
  .cover .tag{letter-spacing:.22em;font-size:.62rem;line-height:1.7}
  .cover .phrase{font-size:1.2rem;line-height:1.5}
  .cover h1{font-size:clamp(3rem,17vw,4.4rem);letter-spacing:.09em}

  .about .head{margin-bottom:44px}
  .about .head h2{font-size:2.1rem;margin:16px 0 20px}
  .about .head p{font-size:.98rem;line-height:1.75}
  .logo-mark{margin-top:38px}
  .pillar{padding:34px 26px}
  .mode{padding:36px 26px}
  .mode h3{font-size:1.6rem}
  .choose{margin-top:50px}
  .choose p{font-size:1.5rem}

  .menu .mhead{margin-bottom:40px}
  .menu .mhead h2{font-size:2rem}
  .mcard{padding:26px 24px}
  .mcard h3{font-size:1.42rem}
  .mcard .msub{font-size:.95rem}

  .svc{padding-top:60px;padding-bottom:60px}
  .svc .wrap{gap:34px}
  .svc h2{font-size:2.4rem;margin-bottom:10px}
  .svc .sub{font-size:1.18rem;margin-bottom:20px}
  .svc .lede{font-size:1rem;line-height:1.72;margin-bottom:22px}
  .svc .ritual{font-size:.95rem;line-height:1.72;margin-bottom:24px}
  .benefits{gap:8px 0;margin-bottom:24px}
  .benefits li{font-size:.95rem}
  .meta{gap:22px 0;margin-bottom:28px}
  .meta .blk{max-width:none}
  .price{max-width:none}
  .price .nm{font-size:.92rem}
  .price .val{font-size:1.35rem}
  .cta{width:100%;justify-content:center;padding:16px 24px}

  .media{flex-direction:column;gap:14px}
  .frame.photo,.frame.video{flex:1 1 auto;width:100%}

  .contact{min-height:100svh}
  .contact h2{font-size:2rem;margin-bottom:20px}
  .contact .lead{font-size:1rem;line-height:1.72;margin-bottom:40px}
  .channels{flex-direction:column;gap:12px}
  .channel{width:100%;justify-content:center}
  .contact .close{font-size:1.4rem}

  /* let headings wrap naturally instead of using desktop line breaks */
  .about .head h2 br,.svc h2 br,.contact h2 br{display:none}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rise,html.reveal-on .rise{opacity:1!important;transform:none!important}
  .arc path,.cover .bigarc path{stroke-dashoffset:0!important}
}

/* ---------- therapist portrait (about) ---------- */
.therapist{width:min(300px,66vw);margin:40px auto 8px}
.therapist-frame{aspect-ratio:4/5;box-shadow:0 24px 60px -30px rgba(21,44,29,.55)}
.therapist-frame .ph{object-position:center 15%}
.therapist-frame .badge{font-size:.62rem}
.therapist-frame .cap{background:linear-gradient(180deg,rgba(21,44,29,0) 30%,rgba(13,26,17,.93) 96%);padding-bottom:20px}
.therapist-frame .desc{font-size:.85rem}

/* ---------- floating WhatsApp button ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:80;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.5),0 0 0 0 rgba(37,211,102,.55);
  transition:transform .3s ease,box-shadow .3s ease;
  animation:waPulse 2.6s ease-in-out infinite;
}
.wa-float svg{width:30px;height:30px;color:#fff}
.wa-float:hover{transform:scale(1.08);box-shadow:0 16px 34px -8px rgba(0,0,0,.55)}
@keyframes waPulse{
  0%{box-shadow:0 12px 30px -8px rgba(0,0,0,.5),0 0 0 0 rgba(37,211,102,.55)}
  70%{box-shadow:0 12px 30px -8px rgba(0,0,0,.5),0 0 0 14px rgba(37,211,102,0)}
  100%{box-shadow:0 12px 30px -8px rgba(0,0,0,.5),0 0 0 0 rgba(37,211,102,0)}
}
@media(max-width:600px){
  .wa-float{right:16px;bottom:16px;width:54px;height:54px}
  .wa-float svg{width:27px;height:27px}
}
