/* Movement has its own layers: surface → pointer/scroll wrapper → drifting image.
   Text and controls keep their layout; all content remains visible without JS. */
.motion-object{--motion-x:0px;--motion-y:0px;--motion-rx:0deg;--motion-ry:0deg;--scroll-y:0px;--scroll-turn:0deg;transform:perspective(850px) translate3d(var(--motion-x),calc(var(--motion-y) + var(--scroll-y)),0) rotateX(var(--motion-rx)) rotateY(var(--motion-ry)) rotate(var(--scroll-turn));transition:transform .65s var(--ease);pointer-events:none;transform-style:preserve-3d}
.motion-drift{display:block;width:100%;height:100%;object-fit:contain;animation:sereno-drift 8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.motion-ready:not(.motion-paused):not(.motion-idle) .is-in-view .motion-drift{animation-play-state:running}
.manifesto-orbits{width:165px;height:165px;margin:-16px 0 10px -22px}
.manifesto-orbits .motion-drift{animation-duration:10s;animation-delay:-2s}
.care-art-motion{position:absolute;right:-8px;bottom:-15px;width:175px;height:175px;z-index:0;pointer-events:none;opacity:.9}
.care-art{height:100%;width:100%;pointer-events:none}
.care-art .motion-drift{animation-duration:9s;animation-delay:-4s}
.care-panel .care-art-motion~*{position:relative;z-index:1}
.footer{position:relative;padding-bottom:40px}
.footer-wordmark{position:relative;z-index:1}
.footer-art{position:absolute;right:8%;top:69px;width:190px;height:190px;pointer-events:none}
.footer-art .motion-drift{animation-duration:11s;animation-delay:-5s}
.ticker{display:block;overflow:hidden;padding-block:0}
.ticker-track{display:flex;width:max-content;animation:sereno-ticker 32s linear infinite;animation-play-state:paused}
.ticker-group{display:flex;align-items:center;gap:38px;padding:17px 38px 17px 0;flex-shrink:0}
.motion-ready:not(.motion-paused):not(.motion-idle) .ticker.is-in-view .ticker-track{animation-play-state:running}
.ticker:hover .ticker-track{animation-play-state:paused!important}
.word-sticker{--scroll-y:0px;--scroll-turn:0deg;transform:translateY(var(--scroll-y)) rotate(calc(-2deg + var(--scroll-turn)));transition:transform .7s var(--ease)}
.space-section>img{--scroll-y:0px;transform:translateY(var(--scroll-y)) scale(1.1);transition:transform .55s linear;transform-origin:center;backface-visibility:hidden}
.space-sticker{--scroll-y:0px;--scroll-turn:0deg;transform:translateY(var(--scroll-y)) rotate(calc(7deg + var(--scroll-turn)));transition:transform .65s var(--ease)}
.appointment-orb{position:relative;isolation:isolate}
.appointment-orb:before,.appointment-orb:after{content:'';position:absolute;inset:-15px;border:1px solid #281b2466;border-radius:50%;pointer-events:none;animation:sereno-aura 5s ease-out infinite;animation-play-state:paused;z-index:-1}
.appointment-orb:after{inset:-30px;animation-delay:-2.5s;border-color:#281b2440}
.motion-ready:not(.motion-paused):not(.motion-idle) .appointment-section.is-in-view .appointment-orb:before,.motion-ready:not(.motion-paused):not(.motion-idle) .appointment-section.is-in-view .appointment-orb:after{animation-play-state:running}
.motion-ready:not(.motion-paused):not(.motion-idle) .faq-list details[open]>p{animation:sereno-answer .3s var(--ease) both}
.motion-toggle{position:fixed;bottom:18px;left:18px;z-index:35;display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #c8b8ec50;background:#281b24ed;color:var(--light);font:8px var(--mono);letter-spacing:.02em;backdrop-filter:blur(8px);box-shadow:0 3px 15px #140d1633;transition:border-color .2s,background .2s}
.motion-toggle:hover{border-color:var(--lime);background:var(--dark)}
.motion-toggle-icon{font:13px var(--font);color:var(--lime);line-height:1}
.motion-toggle[aria-pressed=true] .motion-toggle-icon{font-size:10px}
.motion-toggle[aria-disabled=true]{cursor:default;color:var(--muted)}
.motion-paused .motion-object,.motion-idle .motion-object{transform:none!important;transition:none!important}
.motion-paused #hero-art,.motion-idle #hero-art{transform:none!important;transition:none!important}
.motion-paused .motion-drift,.motion-idle .motion-drift,.motion-paused .ticker-track,.motion-idle .ticker-track,.motion-paused .appointment-orb:before,.motion-idle .appointment-orb:before,.motion-paused .appointment-orb:after,.motion-idle .appointment-orb:after{animation-play-state:paused!important}
.motion-paused .word-sticker,.motion-idle .word-sticker{transform:rotate(-2deg);transition:none}
.motion-paused .space-sticker,.motion-idle .space-sticker{transform:rotate(7deg);transition:none}
.motion-paused .space-section>img,.motion-idle .space-section>img{transform:scale(1.1);transition:none}
@keyframes sereno-drift{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-11px) rotate(6deg)}}
@keyframes sereno-ticker{to{transform:translateX(-50%)}}
@keyframes sereno-aura{0%{transform:scale(.95);opacity:.65}80%,100%{transform:scale(1.11);opacity:.04}}
@keyframes sereno-answer{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:950px){.manifesto-orbits{width:145px;height:145px;margin-left:-18px}.care-art-motion{width:145px;height:145px;right:-13px;bottom:-8px}.footer-art{width:150px;height:150px;right:6%;top:62px}.ticker-group{gap:29px;padding:16px 29px 16px 0}}
@media(max-width:680px){.manifesto-note{grid-template-columns:105px 1fr;column-gap:20px}.manifesto-orbits{width:130px;height:130px;margin:0 0 0 -18px;grid-row:1/4;align-self:start}.manifesto-note p{font-size:13px}.manifesto-note p+p{font-size:12px}.care-art-motion{width:110px;height:110px;right:-13px;bottom:0;opacity:.85}.footer-art{width:79px;height:79px;right:0;top:47px}.ticker-group{gap:25px;padding:15px 25px 15px 0}.appointment-orb:before{inset:-9px}.appointment-orb:after{inset:-18px}.motion-toggle{left:12px;bottom:12px;padding:8px 10px;font-size:7px;gap:7px}.motion-drift{animation-duration:10s}.space-section>img{transform:translateY(calc(var(--scroll-y,0px) * .65)) scale(1.1)}}
@media(prefers-reduced-motion:reduce){.motion-object,#hero-art{transform:none!important;transition:none!important}.motion-drift,.ticker-track,.appointment-orb:before,.appointment-orb:after{animation:none!important}.word-sticker{transform:rotate(-2deg)!important}.space-sticker{transform:rotate(7deg)!important}.space-section>img{transform:scale(1.1)!important}}
