/* Environmental walls, breathing sanctuary, and articulated body movement. */
.pattern-section{position:relative;isolation:isolate}.section-wall{position:absolute;left:0;right:0;top:0;height:200px;overflow:hidden;pointer-events:none;z-index:-1;mask-image:linear-gradient(#0008,transparent);color:#5A8A8A}.section-wall svg{width:110%;height:100%;margin-left:-5%;fill:none;stroke:currentColor;stroke-width:.8;opacity:.3;transform-origin:75% 50%;animation:wall-breath 22s ease-in-out infinite;animation-play-state:paused}.environment-visible>.section-wall svg{animation-play-state:running}.wall-petal svg{animation-duration:26s}.wall-contour svg{animation-duration:29s}#experience>.section-wall{color:#A8B8A5;z-index:0}#experience>.container{position:relative;z-index:1}#body{background:#eceee5;border-top:1px solid #a8b8a530;padding-top:70px;padding-bottom:80px;margin-top:28px}#body>.section-wall{height:220px}.lab-intro{isolation:isolate}.lab-intro>.section-wall{left:calc((1240px - 100vw)/2);right:calc((1240px - 100vw)/2);height:180px}.lab-intro{border-top:1px solid #8fb4b325}#learning{border-top:1px solid #8fb4b330}#garden{background:#f0eee5;border-top:1px solid #a8b8a52b;margin-top:0}.section-wall::after{content:'';position:absolute;left:50%;top:0;height:28px;width:1px;background:#D4A574;opacity:.45}.pond-motion{position:absolute;inset:-2px;background-image:url('assets/scene-3.png');background-size:cover;background-position:inherit;filter:url('#pond-distortion');clip-path:polygon(0 62%,100% 62%,100% 100%,0 100%);animation:pond-current 17s ease-in-out infinite alternate;animation-play-state:paused;pointer-events:none;z-index:0;opacity:.7}.hero-art>.pond-motion{background-position:center 47%}.garden>.pond-motion{background-position:right 45%;background-image:linear-gradient(90deg,#456d6d18,#456d6d18),url('assets/scene-3.png')}.environment-visible>.pond-motion{animation-play-state:running}.pond-sheen{position:absolute;inset:58% 0 0;overflow:hidden;pointer-events:none;z-index:1;mask-image:linear-gradient(transparent,#0009,transparent)}.pond-sheen i{position:absolute;left:-25%;width:150%;height:50%;top:10%;border-top:1px solid #e8f4f855;border-bottom:1px solid #e8f4f820;border-radius:50%;animation:surface-light 15s ease-in-out infinite;animation-play-state:paused}.pond-sheen i:nth-child(2){top:36%;animation-delay:-5s}.pond-sheen i:nth-child(3){top:68%;animation-delay:-10s}.environment-visible>.pond-sheen i{animation-play-state:running}.garden-copy{z-index:3}.garden::before{z-index:2;pointer-events:none}
@keyframes wall-breath{0%,100%{transform:scale(1);opacity:.23}50%{transform:scale(1.045) translateY(3px);opacity:.4}}@keyframes pond-current{from{transform:translate(-1px,0) scale(1.006)}to{transform:translate(2px,1px) scale(1.013)}}@keyframes surface-light{0%,100%{transform:translateX(-1%) scaleX(.98);opacity:.15}50%{transform:translateX(2%) scaleX(1.04);opacity:.45}}
/* The breathing room opens into a dark, spacious sanctuary. */
.modal[data-kind=breath],.modal[data-kind=rhythm]{background:#142f31ed;backdrop-filter:blur(22px)}.modal[data-kind=breath] .modal-panel,.modal[data-kind=rhythm] .modal-panel{width:min(1140px,100%);background:#24494a;border:1px solid #a8b8a538;border-radius:10px 55px 10px 10px;box-shadow:0 35px 140px #10272c80;position:relative;isolation:isolate}.modal[data-kind=breath] .modal-panel::before,.modal[data-kind=rhythm] .modal-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,#8fb4b318,transparent 67%);pointer-events:none;z-index:-1}.modal[data-kind=breath] .room-workspace,.modal[data-kind=rhythm] .room-workspace{padding:37px 50px 25px;animation:none}.modal[data-kind=breath] .dialog-label,.modal[data-kind=rhythm] .dialog-label{color:#D4A574;font-size:9px;letter-spacing:.23em;margin-bottom:10px}.modal[data-kind=breath] :is(h2,h1.page-heading),.modal[data-kind=rhythm] :is(h2,h1.page-heading){color:#F7F4EE;font-size:39px;margin-bottom:10px}.modal[data-kind=breath] .room-workspace>p,.modal[data-kind=rhythm] .room-workspace>p{color:#c1d5ce;font-size:12px;margin-bottom:0}.modal[data-kind=breath] .modal-close,.modal[data-kind=rhythm] .modal-close{background:#365959;color:#F7F4EE;border-color:#a8b8a54f}.immersive-reset{--open:0;--bloom-scale:.87;--petal-angle:19deg;--ambient-opacity:.2;position:relative;padding:0;isolation:isolate}.breath-universe{position:relative;height:375px;width:min(700px,100%);margin:0 auto;pointer-events:none}.breath-flower{position:absolute;width:100%;height:100%;left:0;top:12px;overflow:visible}.lotus-bloom{transform-origin:350px 418px;transform:scale(var(--bloom-scale));transition:transform .24s linear}.lotus-petal{transform-origin:350px 418px;transform:rotate(calc(var(--petal) * var(--petal-angle)));transition:transform .24s linear}.breath-haze{position:absolute;inset:8% 16% 4%;background:radial-gradient(ellipse,#8fb4b34d,transparent 65%);opacity:var(--ambient-opacity);transform:scale(var(--bloom-scale));transition:opacity .24s linear,transform .24s linear}.breath-orbit{position:absolute;inset:18px 20% 25px;border:1px solid #8fb4b31c;border-radius:50%;transform:scale(var(--bloom-scale));transition:transform .24s linear}.orbit-two{inset:3px 15% 8px;border-color:#d4a57412}.orbit-three{inset:-10px 10% -8px;border-color:#8fb4b30d}.breath-ripple{transform-origin:350px 426px;animation:breath-water 12s ease-in-out infinite;animation-play-state:paused}.ripple-1{animation-delay:-2s}.ripple-2{animation-delay:-4s}.ripple-3{animation-delay:-6s}.ripple-4{animation-delay:-8s}.modal[data-phase=inhale] .breath-ripple,.modal[data-phase=rest] .breath-ripple,.modal[data-phase=exhale] .breath-ripple{animation-play-state:running}.immersive-reset .breath-circle{position:absolute;left:50%;top:67px;width:300px;height:105px;margin:0;transform:translateX(-50%)!important;border:0;border-radius:0;background:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#F7F4EE;z-index:2;transition:none}.immersive-reset .breath-circle::before,.immersive-reset .breath-circle::after{display:none}.immersive-reset #phase{font-family:Georgia,serif;font-size:43px;font-weight:400;text-shadow:0 2px 18px #24494a}.phase-subtitle{font-family:"Segoe UI",sans-serif!important;font-size:10px!important;color:#c5d7ce;letter-spacing:.035em}.immersive-reset #breathHint{color:#c5d7ce;max-width:430px;font-size:11px;margin:0 auto 16px}.immersive-reset progress{width:min(350px,80%);height:2px;margin-bottom:12px;accent-color:var(--gold)}.immersive-reset progress::-webkit-progress-bar{background:#ffffff15}.immersive-reset progress::-webkit-progress-value{background:var(--gold)}.immersive-reset .btn{background:#E8DDD0;color:#294c4c;font-size:12px;padding:13px 25px}.immersive-reset .btn:hover{background:#F7F4EE}.immersive-reset .btn.secondary{background:#ffffff08;border-color:#a8b8a550;color:#dae5de}.immersive-reset .status{color:#c5d7ce;font-size:11px;margin-top:14px;min-height:20px}.breath-cadence{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;color:#b2c7be;font-size:7px;letter-spacing:.22em}.breath-cadence i{height:1px;width:35px;background:#a8b8a532}.breath-cadence span{opacity:.6;transition:opacity 1s,color 1s}.modal[data-phase=inhale] [data-cadence=inhale],.modal[data-phase=rest] [data-cadence=rest],.modal[data-phase=exhale] [data-cadence=exhale]{color:#E8DDD0;opacity:1}.modal[data-paused=true] .breath-ripple{animation-play-state:paused}.modal[data-kind=rhythm] .rhythm-visual{inset:-18px 80px auto;height:30px;opacity:.4}.modal[data-kind=rhythm] .rhythm-visual i{background:#A8B8A5;height:12px}.modal[data-kind=rhythm] .rhythm-visual i:nth-child(3){height:27px}.modal[data-kind=rhythm] .breath-circle span{transform:none}.modal[data-kind=rhythm] #phase{font-size:43px}.modal[data-phase=complete] .breath-cadence{opacity:.5}@keyframes breath-water{0%,100%{transform:scaleX(.97);opacity:.22}50%{transform:scaleX(1.04);opacity:.48}}
/* Articulated body diagrams; joints remain anchored as limbs move. */
.human-study{color:#456D6D}.human-limbs{stroke:#668d87}.human-limbs ellipse{fill:#E8DDD0;stroke:currentColor;stroke-width:1.4}.body-arm,.body-forearm,.body-leg,.human-head,.human-torso{transform-box:view-box}.arm-left{transform-origin:173px 128px}.arm-right{transform-origin:227px 128px}.forearm-left{transform-origin:158px 173px}.forearm-right{transform-origin:242px 173px}.leg-left{transform-origin:184px 239px}.leg-right{transform-origin:216px 239px}.human-head{transform-origin:200px 108px}.human-torso{transform-origin:200px 238px}.motion-guide{opacity:0}.pose-stretch .motion-guide,.pose-movement .motion-guide{opacity:.5}.room-scene .human-study .body-arm,.room-scene .human-study .body-forearm{animation-duration:10s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.scene-stretch .arm-left{animation-name:reach-left}.scene-stretch .arm-right{animation-name:reach-right}.scene-stretch .forearm-left{animation-name:unfold-left}.scene-stretch .forearm-right{animation-name:unfold-right}.scene-stretch[data-step="0"] .body-arm,.scene-stretch[data-step="0"] .body-forearm{animation:none}.scene-stretch[data-step="2"] .body-arm{animation:none;transform:rotate(0)}.scene-stretch[data-step="2"] .human-limbs ellipse{animation:hand-soften 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.scene-stretch[data-step="3"] .body-arm,.scene-stretch[data-step="3"] .body-forearm{animation:none}.scene-movement .arm-left{animation-name:swing-left}.scene-movement .arm-right{animation-name:swing-right}.scene-movement .body-leg{animation:step-weight 10s ease-in-out infinite}.scene-movement .leg-right{animation-delay:-5s}.scene-movement .human-torso{animation:body-sway 10s ease-in-out infinite}.scene-movement[data-step="0"] .human-study *,.scene-movement[data-step="3"] .human-study *{animation:none!important}.scene-movement[data-step] .artwork{transform:none}.experience-image.in-view .human-torso,.scene-body .human-torso{animation:body-breath 12s ease-in-out infinite}.body-scan{fill:#D4A574;opacity:.2}.art-tension [data-zone]{stroke-width:1.5;fill-opacity:.13}.art-tension [data-zone].selected{stroke-width:9;fill-opacity:.8;stroke-opacity:.16;animation:attention-soft 5s ease-in-out infinite}.room:hover .pose-stretch .arm-left{animation:reach-left 10s ease-in-out infinite}.room:hover .pose-stretch .arm-right{animation:reach-right 10s ease-in-out infinite}.room:hover .pose-movement .human-torso{animation:body-sway 10s ease-in-out infinite}.human-head{transition:transform 2s ease}.scene-body[data-step="1"] .human-head{transform:rotate(3deg)}.scene-body[data-step="3"] .human-head{transform:rotate(0)}
@keyframes reach-left{0%,100%{transform:rotate(0)}50%{transform:rotate(43deg)}}@keyframes reach-right{0%,100%{transform:rotate(0)}50%{transform:rotate(-43deg)}}@keyframes unfold-left{0%,100%{transform:rotate(0)}50%{transform:rotate(20deg)}}@keyframes unfold-right{0%,100%{transform:rotate(0)}50%{transform:rotate(-20deg)}}@keyframes swing-left{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(12deg)}}@keyframes swing-right{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(9deg)}}@keyframes step-weight{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes body-sway{0%,100%{transform:rotate(-1.3deg)}50%{transform:rotate(1.3deg)}}@keyframes body-breath{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.022)}}@keyframes hand-soften{50%{transform:scale(1.1)}}@keyframes attention-soft{50%{stroke-opacity:.3}}
.motion-sleep *,body.modal-open .pattern-section svg,body.modal-open .hero-art .pond-motion,body.modal-open .pond-sheen i{animation-play-state:paused!important}
@media(max-width:1000px){.lab-intro>.section-wall{left:-48px;right:-48px}.modal[data-kind=breath] .room-workspace,.modal[data-kind=rhythm] .room-workspace{padding:40px 30px 26px}.breath-universe{height:350px}.immersive-reset .breath-circle{top:56px}}
@media(max-width:720px){.section-wall{height:135px}.section-wall svg{width:170%;margin-left:-35%;stroke-width:1}.lab-intro>.section-wall{left:-20px;right:-20px}#body{padding-top:55px;padding-bottom:55px;margin-top:10px}.hero-art>.pond-motion{background-position:center 49%}.garden>.pond-motion{background-position:center 37%}.pond-motion{filter:none}.modal[data-kind=breath] .modal-panel,.modal[data-kind=rhythm] .modal-panel{border-radius:8px 30px 8px 8px}.modal[data-kind=breath] .room-workspace,.modal[data-kind=rhythm] .room-workspace{padding:52px 20px 24px}.modal[data-kind=breath] :is(h2,h1.page-heading),.modal[data-kind=rhythm] :is(h2,h1.page-heading){font-size:31px;padding:0}.modal[data-kind=breath] .dialog-label,.modal[data-kind=rhythm] .dialog-label{font-size:7px;letter-spacing:.17em}.modal[data-kind=breath] .room-workspace>p,.modal[data-kind=rhythm] .room-workspace>p{font-size:11px;max-width:280px;margin-inline:auto}.breath-universe{height:300px;width:calc(100% + 30px);margin-left:-15px}.breath-flower{width:140%;left:-20%;top:30px;height:300px}.breath-orbit{inset:48px 10% 3px}.orbit-two{inset:35px 4% -10px}.orbit-three{inset:22px -2% -22px}.immersive-reset .breath-circle{top:38px;width:270px;height:90px}.immersive-reset #phase,.modal[data-kind=rhythm] #phase{font-size:36px}.phase-subtitle{font-size:9px!important}.immersive-reset #breathHint{font-size:10px;max-width:270px;margin-top:13px;margin-bottom:17px}.immersive-reset .btn{font-size:11px;padding:13px 18px}.immersive-reset .status{font-size:10px;line-height:1.7}.breath-cadence{font-size:6px;gap:12px;margin-top:15px}.breath-cadence i{width:20px}.immersive-reset .form-actions{gap:8px}.room-scene .human-study{transform:scale(1.05);transform-origin:200px 180px}}
@media(max-height:740px) and (min-width:721px){.breath-universe{height:285px}.immersive-reset .breath-circle{top:22px}.modal[data-kind=breath] .room-workspace,.modal[data-kind=rhythm] .room-workspace{padding-top:28px}.breath-cadence{margin-top:10px}}
.breath-universe{overflow:clip}.modal[data-kind=breath] .modal-panel,.modal[data-kind=rhythm] .modal-panel{overflow-x:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.pond-motion{display:none}.lotus-petal{transform:rotate(calc(var(--petal) * 25deg))!important}.lotus-bloom,.breath-orbit,.breath-haze{transform:none!important}.breath-haze{opacity:.3!important}.immersive-reset .breath-circle{transform:translateX(-50%)!important}}
