/* Motion layer: existing content, forms and SEO are unchanged. */
:root{--muted:#4e685c}
.hero{background:radial-gradient(ellipse at 50% 33%,#12654d 0%,#054333 43%,#032f25 83%);isolation:isolate}
.hero::before,.hero::after{animation:ambient-drift 16s ease-in-out infinite alternate}
.hero::after{animation-delay:-8s}
.hero-scene{position:relative;isolation:isolate;width:min(660px,100%);aspect-ratio:3/2;margin:10px auto -8px;pointer-events:none}
.hero-people{position:absolute;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 18px #001b2030)}
.scene-halo{position:absolute;inset:12% 7% 3%;border-radius:50%;background:radial-gradient(ellipse,#6fc19327,transparent 68%);animation:halo-breathe 9s ease-in-out infinite alternate}
.scene-item{position:absolute;z-index:1;filter:drop-shadow(0 10px 8px #001e2440);animation-play-state:paused;transform-origin:center}
.scene-item svg{width:100%;height:auto;overflow:visible}
.scene-flag{width:19%;left:34%;top:9%;animation:flag-sway 6s ease-in-out infinite;transform-origin:20% 100%}
.flag-cloth{transform-origin:20px 70px;animation:flag-wave 3.8s ease-in-out infinite alternate}
.scene-plane{width:29%;right:4%;top:-3%;animation:plane-flight 10s ease-in-out infinite}
.scene-book-left{width:12%;left:2%;top:22%;animation:book-float 7s ease-in-out infinite}
.scene-book-right{width:11%;right:0;top:40%;animation:book-float 8.5s ease-in-out -3s infinite reverse}
.hero-scene.is-active .scene-item{animation-play-state:running}
.motion-toggle{position:relative;z-index:3;background:#ffffff0a;border:1px solid #a8cbbb55;border-radius:100px;color:#dcebe3;font-size:12px;font-weight:600;padding:7px 13px;margin:0 auto 12px}
.motion-toggle:hover{background:#ffffff1a}
.hero .lead,.hero .sub-link{font-weight:600}.hero-nav{font-size:14px;font-weight:700}.hero-proof{font-size:12px;font-weight:600}
.tiny,.cost-note,.tool-bar,.gallery-card figcaption,.steps p,.point-graphic p{font-size:14px;font-weight:600}
.lead,.card p,.trust-card p,.care-card p,.faq details p,.point-panel p,.list-row span{font-weight:500;color:#4e685c}
.footer{font-size:12px;font-weight:500;color:#526a5f}.footer a{color:#365a48}
.section,.question,.cta-band{position:relative;isolation:isolate;overflow:clip}
.section>.lp-container,.question>.lp-container,.cta-band>*{position:relative;z-index:1}
.section:not(.blue-section):not(.consult-section):not(.soft):not(.matcher){background:#fffdf8}
.section.soft{background:#edf5ef}.section.matcher{background:#dceee3}
.section::before,.question::before{content:"";position:absolute;z-index:0;width:min(52vw,620px);aspect-ratio:1;border-radius:50%;right:-24%;top:8%;border:1px solid #8bbda144;box-shadow:0 0 0 55px #8bbda110,0 0 0 110px #8bbda108;pointer-events:none;transform:translate3d(0,65px,0) scale(.82);opacity:.3;transition:transform 1.4s ease,opacity 1.4s ease}
.section:nth-of-type(even)::before{right:auto;left:-24%;top:24%}
.section.in-view::before,.question.in-view::before{transform:translate3d(0,0,0) scale(1);opacity:1}
.blue-section::before,.consult-section::before{border-color:#b4d8be33;box-shadow:0 0 0 60px #b4d8be09,0 0 0 120px #b4d8be05}
.section::after{content:"";position:absolute;top:0;left:50%;width:72px;height:3px;background:#88b79b;transform:translateX(-50%) scaleX(.2);opacity:.2;transition:transform .9s ease,opacity .9s ease}
.section.in-view::after{transform:translateX(-50%) scaleX(1);opacity:.65}
.title em{background:linear-gradient(transparent 78%,#83bc953b 78%);background-size:0 100%;background-repeat:no-repeat;transition:background-size 1s ease .25s}
.in-view .title em{background-size:100% 100%}
.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s ease var(--reveal-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.motion-ready .motion-reveal[data-motion=left]{transform:translate3d(-25px,12px,0)}
.motion-ready .motion-reveal[data-motion=right]{transform:translate3d(25px,12px,0)}
.motion-ready .motion-reveal[data-motion=scale]{transform:translate3d(0,15px,0) scale(.96)}
.motion-ready .motion-reveal.is-visible,.motion-ready .motion-reveal:focus-within{opacity:1;transform:none}
.card,.trust-card,.list-card,.care-card,.uni-card,.blog-card,.library-grid a{transition:box-shadow .25s ease,border-color .25s ease}
@media(hover:hover){.card:hover,.trust-card:hover,.uni-card:hover,.blog-card:hover,.library-grid a:hover{border-color:#75a78a;box-shadow:0 16px 35px #123c2710}}
.motion-paused .scene-item,.motion-paused .flag-cloth,.motion-paused .scene-halo,.motion-paused .hero::before,.motion-paused .hero::after{animation-play-state:paused!important}
.motion-paused .motion-reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .section::before,.motion-paused .section::after,.motion-paused .title em{transition:none!important}
@keyframes book-float{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-17px) rotate(2deg)}}
@keyframes plane-flight{0%,100%{transform:translate(0,7px) rotate(-3deg)}50%{transform:translate(-22px,-12px) rotate(4deg)}}
@keyframes flag-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(3deg)}}
@keyframes flag-wave{from{transform:skewY(-3deg) scaleX(.96)}to{transform:skewY(3deg) scaleX(1)}}
@keyframes halo-breathe{from{transform:scale(.92);opacity:.65}to{transform:scale(1.08);opacity:1}}
@keyframes ambient-drift{from{transform:translateY(-15px)}to{transform:translateY(25px)}}
@media(max-width:640px){.hero-scene{width:calc(100% + 20px);margin:22px -10px 0}.hero-nav{font-size:12px;gap:17px}.hero .lead{font-size:14px}.hero-proof{font-size:11px;gap:9px;flex-wrap:wrap}.hero-proof span+span{padding-left:9px}.hero .sub-link{font-size:14px}.tiny,.cost-note,.steps p,.point-graphic p{font-size:13px}.card p,.trust-card p,.care-card p,.faq details p{font-size:15px;line-height:1.85}.list-row{font-size:14px}.uni-card span{font-size:13px}.cl-consult-checks label{font-size:12px}.motion-toggle{font-size:11px}.section::before{width:90vw;right:-65%;box-shadow:0 0 0 30px #8bbda110}.section:nth-of-type(even)::before{left:-65%}.motion-ready .motion-reveal{--reveal-delay:0ms!important;transition-duration:.6s}.scene-plane{right:2%;top:-4%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-reveal{opacity:1!important;transform:none!important}.hero-scene *,.hero::before,.hero::after{animation:none!important}.section::before,.section::after,.title em{transition:none!important}.motion-toggle{display:none}}

.hero-scene:not(.is-active) .flag-cloth,.hero-scene:not(.is-active) .scene-halo{animation-play-state:paused}

.hero-scene:not(.is-active) .scene-item{animation-play-state:paused}
