/* Decorative motion only. Booking and administration remain independent. */
.motion-page{--motion-ease:cubic-bezier(.2,.75,.25,1);overflow-x:clip}
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:var(--red);transform:scaleX(var(--read-progress,0));transform-origin:left;z-index:30;pointer-events:none}
.motion-page .hero{min-height:760px;padding-top:70px;padding-bottom:90px;gap:40px}
.motion-page .hero h1{font-size:clamp(90px,9.2vw,132px);letter-spacing:-1.5px;line-height:.96}
.title-line{display:block;overflow:hidden;padding-bottom:.05em;margin-bottom:-.05em;color:var(--cream)}
.title-line>span{display:block;color:var(--cream)}.title-line .title-red{color:var(--red)}
.motion-ready .title-line>span{animation:title-rise 1.15s var(--motion-ease) both}.motion-ready .title-line:nth-child(2)>span{animation-delay:.13s}
@keyframes title-rise{from{transform:translateY(110%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
.motion-page .hero-visual.logos-only{min-height:570px;isolation:isolate;gap:18px}
.movement-orbit{position:absolute;width:112%;max-width:none;left:-6%;top:50%;transform:translateY(-50%) rotate(var(--orbit-turn,0deg));stroke:#e6d8c0;stroke-width:.8;opacity:.35;z-index:-1;pointer-events:none;will-change:transform}
.movement-orbit circle:nth-child(2){stroke-dasharray:1 9}.movement-orbit circle:nth-child(3){opacity:.35}.movement-orbit .orbit-accent{stroke:var(--red);stroke-width:3}.movement-orbit .orbit-point{fill:var(--red);stroke:none}
.motion-page .logo-window{box-shadow:0 18px 50px #0005;outline:1px solid #eddbc233;outline-offset:7px}
.motion-page .logo-cross{font-size:35px;color:var(--red)}
.visual-caption{position:absolute;bottom:32px;left:0;right:0;text-align:center;letter-spacing:4px;font-size:9px;color:#b8ac9d}.visual-caption span{padding:0 22px;color:var(--red)}
.motion-page .ticker{overflow:hidden;padding:27px 3%;gap:28px;white-space:nowrap;flex-wrap:nowrap;font-size:clamp(17px,2.2vw,29px)}
.motion-page .ticker i{transform:rotate(var(--ticker-turn,0deg));display:block}
.motion-page .section-intro h2{max-width:900px;font-size:clamp(40px,5.5vw,74px);letter-spacing:-3px}
.motion-page .concept{padding-top:110px}.motion-page .steps{gap:34px;margin-top:65px}
.motion-page .steps article{position:relative;padding-top:25px;border-top:0;transition:transform .5s var(--motion-ease)}
.motion-page .steps article:before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:#baae9e;transform-origin:left}
.motion-ready .steps article.is-visible:before{animation:line-draw 1.1s var(--motion-ease) both}
@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.motion-page .step-num{font:42px/1 var(--display);color:#aa9681;margin-bottom:26px}
.motion-page .steps h3{font-size:27px}.motion-page .steps p{line-height:1.75}
.motion-page .booking-panel{box-shadow:0 20px 60px #4a392015;border-radius:4px;border-top:3px solid var(--red)}
.motion-page .interlude{position:relative;padding:115px 0;isolation:isolate;min-height:390px}
.motion-page .interlude .wrap{position:static}.motion-page .interlude h2{font-size:clamp(38px,6.6vw,86px);line-height:1.1;letter-spacing:-.5px;max-width:1100px}
.motion-page .interlude h2 span{color:var(--red)}
.kinetic-mark{position:absolute;right:-55px;top:50%;height:125%;transform:translateY(-50%) rotate(var(--kinetic-turn,0deg));stroke:#ff302e;stroke-width:1;opacity:.28;z-index:-1;pointer-events:none}
.kinetic-mark circle:nth-child(2){stroke-dasharray:2 8}.kinetic-mark circle:last-child{fill:var(--red)}
.motion-page .button,.motion-page .nav-cta,.motion-page .therapist-link{transition:background .25s,transform .35s var(--motion-ease),box-shadow .35s}
@media(hover:hover){.motion-page .red:hover{transform:translateY(-3px);box-shadow:0 8px 25px #ff302e30}.motion-page .steps article:hover{transform:translateY(-5px)}.motion-page .about-link:hover{color:var(--red)}}
.motion-page .button:active{transform:scale(.98)}
.motion-page .faq summary{transition:color .25s}.motion-page .faq summary:hover{color:#b72421}.motion-page .faq details[open] p{animation:answer-in .35s ease-out}
@keyframes answer-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Elements are visible by default; the observer adds the initial state only when safe. */
.motion-ready .reveal-pending{opacity:0;transform:translateY(28px)}
.motion-ready .reveal-item{transition:opacity .85s var(--motion-ease),transform .85s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:none}
@media(max-width:1000px){.motion-page .hero{min-height:660px}.motion-page .hero-visual.logos-only{min-height:420px}.visual-caption{bottom:5px}.motion-page .ticker{gap:16px}.motion-page .section-intro h2{letter-spacing:-2px}}
@media(max-width:720px){.motion-page .hero{min-height:0;padding-top:40px;padding-bottom:42px;gap:8px}.motion-page .hero h1{font-size:clamp(78px,21vw,125px)}.motion-page .hero-visual.logos-only{min-height:340px;max-width:390px;padding:50px 10px;gap:17px}.movement-orbit{width:92%;left:4%}.visual-caption{bottom:7px;font-size:8px;letter-spacing:3px}.motion-page .logo-window{outline-offset:5px}.motion-page .ticker{justify-content:flex-start;gap:17px;font-size:17px;padding:21px 18px;overflow-x:clip}.motion-page .ticker span:last-of-type{font-size:14px}.motion-page .ticker i{font-size:16px}.motion-page .concept{padding-top:60px}.motion-page .section-intro h2{font-size:42px;letter-spacing:-1.8px}.motion-page .steps{margin-top:40px;gap:30px}.motion-page .steps article{padding:24px 0 0 52px}.motion-page .step-num{font-size:30px;top:24px}.motion-page .interlude{min-height:310px;padding:75px 0}.motion-page .interlude h2{font-size:clamp(33px,8.8vw,60px)}.kinetic-mark{right:-120px;opacity:.2}.motion-page .booking-panel{box-shadow:0 12px 30px #4a392010}.motion-page .socials{max-width:100%}}
@media(prefers-reduced-motion:reduce){.motion-page .reveal-item,.motion-page .reveal-pending{opacity:1;transform:none}.movement-orbit{transform:translateY(-50%);will-change:auto}.kinetic-mark{transform:translateY(-50%)}.motion-page .ticker i{transform:none}.reading-progress{display:none}}
.motion-page .section-intro h2>span{position:relative;display:inline-block;padding-bottom:12px}.motion-page .section-intro h2>span:after{content:'';position:absolute;bottom:0;left:0;width:70px;height:3px;background:var(--red);transform-origin:left}.motion-ready .section-intro.is-visible h2>span:after{animation:line-draw .8s .3s var(--motion-ease) both}
@media(max-width:720px){.motion-page .ticker{flex-wrap:wrap;justify-content:center;gap:10px 16px}.motion-page .ticker span:last-of-type{font-size:17px}.motion-page .ticker i:nth-child(4){display:none}.motion-page .ticker span:last-of-type{flex-basis:100%;text-align:center}}
@media(max-width:720px){.motion-page .ticker i:last-child{display:none}}
