/* Scroll movement must have tangible visual targets and render without script. */
.psychera-reading-track{position:fixed;top:0;left:0;width:100%;height:4px;z-index:180;pointer-events:none;background:transparent}
.psychera-reading-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#89a991 0%,#f2b182 52%,#784c68 100%);transform:scaleX(var(--psychera-reading,0));transform-origin:left center;will-change:transform}
.nav-shell{position:sticky;top:0;z-index:100}
/* Greenhouse/vine line now grows on an exposed margin, not behind cards. */
.concerns{position:relative;isolation:isolate;overflow:hidden}
.concerns>.wrap{position:relative;z-index:2}
.botanical-trace{position:absolute;left:max(6px,calc((100% - 1260px)/2));right:auto;top:8%;height:82%;width:150px;opacity:.74;z-index:1;overflow:visible;pointer-events:none}
.botanical-trace .trace-stem,.botanical-trace .trace-leaf{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;stroke-width:3.5;stroke:#805e70}
.botanical-trace .trace-leaf{stroke:#89a993;stroke-width:4.4}
.botanical-trace .trace-petals{opacity:0;transform-origin:center;transform-box:fill-box;transform:scale(.22) rotate(-25deg);transition:transform .85s cubic-bezier(.18,1.3,.3,1),opacity .5s ease}
.botanical-trace .trace-bud.is-open .trace-petals{opacity:1;transform:scale(1) rotate(0)}
.botanical-trace .trace-bud ellipse{fill:#eac0b8;stroke:#936f82;stroke-width:1}
.botanical-trace .trace-bud circle{fill:#f6d390}
/* Multi-layer hero: movement tied to real scroll distance, not negligible 15px shifts. */
.hero-stage::before{transform:translate3d(0,var(--hero-arch-shift,0px),0) rotate(-4deg);will-change:transform}
.hero-wash{will-change:transform;transform-origin:center;opacity:var(--hero-light-opacity,.68);transition:opacity .2s ease}
/* Therapist: animate the actually visible B portrait, not the hidden ground pseudo element. */
.portrait-art .portrait-shape{translate:0 var(--portrait-content-shift,0px);transition:translate .12s linear}
.portrait-art::after{translate:0 var(--portrait-ring-shift,0px);transition:translate .12s linear}
/* Workshop botanical illustration: actual visible SVG + swaying inner botanical shape. */
.org-visual svg{translate:0 var(--org-content-shift,0px);transition:translate .12s linear;will-change:translate}
.org-visual svg path:nth-of-type(2){transform-origin:50% 78%;transform:rotate(var(--org-leaf-turn,0deg));transition:transform .12s linear}
/* Existing view reveals unchanged; no content disappearing when script is disabled. */
html.has-motion.psychera-motion-on [data-reveal]{opacity:.58;transform:translate3d(0,24px,0);transition:opacity .65s ease,transform .8s cubic-bezier(.15,1,.25,1);transition-delay:var(--stagger,0ms)}
html.has-motion.psychera-motion-on [data-reveal].shown{opacity:1;transform:none}
html.has-motion.psychera-motion-on .mini-rule{transform-origin:left center;transition:transform .85s cubic-bezier(.18,1,.3,1)}
html.has-motion.psychera-motion-on .section:not(.in-view) .mini-rule{transform:scaleX(.2)}
/* Three illustrated acts of a first session. No mechanical line drawn across cards. */
.first-session{background:linear-gradient(155deg,#f9e6da 0%,#faeee2 58%,#fff6e9 100%)}
.session-storyboard{position:relative;isolation:isolate}
.story-steps{position:relative;z-index:2;gap:20px}
.story-step{border:1px solid #e6cfc0;background:rgba(255,253,247,.92);border-radius:25px;box-shadow:0 14px 38px rgba(101,67,62,.07);padding:22px 23px 26px;min-height:328px;overflow:hidden;transition:border-color .7s,box-shadow .7s,background .7s,transform .7s;position:relative}
.story-step.moment-current{border-color:#ba8b87;box-shadow:0 18px 44px rgba(111,74,88,.15);background:#fffcf8}
.story-step::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#f5d99a,#eeb6a6,#9cb99c);transform:scaleX(.12);transform-origin:left;transition:transform 1s cubic-bezier(.18,1,.25,1)}
.story-step.moment-visible::before{transform:scaleX(1)}
.story-step .step-index{font-size:24px;margin:0 0 5px;font-family:'DM Sans',sans-serif;font-weight:700;color:#986456}
.story-step .step-copy{position:relative;z-index:2}
.story-step h3{font-size:25px;margin:0 0 8px;color:#56334c}
.story-step p{font-size:15px;line-height:1.56}
.step-scene{height:151px;width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:8px}
.step-scene svg{width:min(100%,238px);height:150px;overflow:visible}
.step-scene .scene-arch{stroke:#b8a0a4;stroke-width:3;stroke-linecap:round;fill:none;stroke-dasharray:330;stroke-dashoffset:0}
.step-scene .scene-paper{fill:#f6ead4;stroke:#936c7c;stroke-width:2}
.step-scene .scene-line{fill:none;stroke:#8e7882;stroke-width:3;stroke-linecap:round}
.step-scene .scene-tick{fill:none;stroke:#7b9d82;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:58;stroke-dashoffset:58;transition:stroke-dashoffset 1.3s .2s ease}
.story-step.moment-visible .scene-tick{stroke-dashoffset:0}
.scene-star{fill:#e7bca6;transform-origin:center;transform-box:fill-box;transition:transform 1s .1s ease,opacity 1s;opacity:.4}
.story-step.moment-visible .scene-star{transform:rotate(25deg) scale(1.18);opacity:1}
.scene-leaf{fill:#99b99d;stroke:#6e9278;stroke-width:2;transform-box:fill-box;transform-origin:bottom center;transition:transform 1s ease}
.story-step:not(.moment-visible) .scene-leaf{transform:rotate(-12deg) scale(.83)}
.scene-chat{fill:#f3e3db;stroke:#976f83;stroke-width:2;transition:transform 1s cubic-bezier(.16,1,.3,1);transform-origin:center;transform-box:fill-box}
.scene-chat-b{fill:#e0ebda;transform:translate(14px,-6px)}
.story-step.moment-visible .scene-chat-b{transform:translate(0,0)}
.story-step:not(.moment-visible) .scene-chat-a{transform:translate(-9px,12px)}
.scene-talk{fill:#93627a;opacity:.35;transition:opacity .5s ease}
.story-step.moment-visible .scene-talk{opacity:1}
.scene-talk:nth-of-type(2){transition-delay:.18s}.scene-talk:nth-of-type(3){transition-delay:.35s}
.scene-stem{stroke:#73617b;stroke-linecap:round;stroke-width:4;stroke-dasharray:96;stroke-dashoffset:96;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1)}
.story-step.moment-visible .scene-stem{stroke-dashoffset:0}
.scene-bloom{transform-origin:50% 80%;transform-box:fill-box;transform:scale(.35) rotate(-18deg);opacity:.25;transition:transform 1.3s cubic-bezier(.19,1.4,.3,1),opacity 1s}
.story-step.moment-visible .scene-bloom{transform:scale(1) rotate(0);opacity:1}
.scene-flight{fill:none;stroke:#b48f9c;stroke-width:2;stroke-dasharray:6 9}
.session-light{position:absolute;inset:-35px 6% 12%;border-radius:40%;background:radial-gradient(ellipse at calc(var(--story-movement,0)*75% + 10%) 32%,rgba(252,232,175,.47),transparent 64%);pointer-events:none;z-index:1}
.moving-seed{position:absolute;top:-14px;left:calc(5% + var(--story-movement,0)*87%);width:12px;height:12px;border-radius:50%;background:#d3a57d;box-shadow:0 0 0 10px rgba(240,194,142,.2),0 0 25px 15px rgba(240,194,142,.16)}
.story-step .step-copy{max-width:280px;margin:auto}
@media(max-width:1040px){.botanical-trace{left:-66px;opacity:.52;width:130px}.story-steps{gap:12px}.story-step{padding:18px;min-height:320px}}
@media(max-width:760px){.botanical-trace{left:-62px;width:114px;opacity:.44;top:14%;height:72%}.story-steps{grid-template-columns:1fr;gap:18px}.story-step{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:10px;min-height:195px;padding:18px}.step-scene{height:140px}.step-scene svg{height:136px}.story-step .step-copy{margin:0}.story-step h3{font-size:22px}.story-step p{font-size:14px}.session-light{display:none}}
@media(max-width:430px){.story-step{grid-template-columns:99px 1fr;gap:8px;padding:14px}.step-scene,.step-scene svg{height:118px}.story-step .step-index{font-size:19px}.story-step h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){
 .psychera-reading-fill{transform:scaleX(var(--psychera-reading,0))!important}
 .botanical-trace .trace-stem,.botanical-trace .trace-leaf{stroke-dashoffset:0!important}
 .botanical-trace .trace-petals{opacity:1;transform:none;transition:none}
 .hero-stage::before{transform:rotate(-4deg)!important}.hero-wash{transform:none!important}
 .portrait-art .portrait-shape,.portrait-art::after,.org-visual svg{translate:0!important;transform:none!important;transition:none!important}
 .story-step::before{transform:scaleX(1)!important}
 .scene-tick,.scene-stem{stroke-dashoffset:0!important}.scene-bloom{opacity:1;transform:none!important}
 .scene-chat,.scene-star,.scene-leaf{opacity:1!important;transform:none!important;transition:none!important}
 html.has-motion.psychera-motion-on [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
}
/* The final bloom uses Psychera blush, never a default black SVG fill. */
.step-scene .scene-bloom path{fill:#e8adad;stroke:#936b80;stroke-width:1.4}
.step-scene .scene-bloom circle{fill:#56334c}
/* Add a gentle living quality without substituting idle motion for scroll logic. */
@keyframes psycheraPortraitBreathe{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes psycheraWorkshopFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1.2deg)}}
.portrait-art .portrait-shape{animation:psycheraPortraitBreathe 8s ease-in-out infinite}
.org-visual svg{animation:psycheraWorkshopFloat 9s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.portrait-art .portrait-shape,.org-visual svg{animation:none!important}}
