/* Progressive enhancement: all content remains usable without JavaScript. */
.motion-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--purple);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.motion-toggle{position:fixed;right:22px;bottom:20px;z-index:13;display:flex;align-items:center;gap:8px;border:1px solid #ded5e9;border-radius:24px;padding:9px 14px;background:#fffffff2;color:var(--deep);font-size:11px;box-shadow:0 4px 20px #3524510c;cursor:pointer;backdrop-filter:blur(12px)}
.motion-toggle:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.motion-toggle[aria-pressed=false]{color:var(--gray)}
.hero-art{isolation:isolate;background:none}
.hero-art:before{content:'';position:absolute;inset:-24px;background:white url('assets/hero-background.webp') center/cover;z-index:-2;transform:translate3d(var(--bg-x,0px),var(--bg-y,0px),0) scale(1.04);transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.hero-art:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,40%),#c4a1f029,transparent 60%);z-index:-1;pointer-events:none}
.hero-logo{transform:translate3d(var(--logo-x,0px),var(--logo-y,0px),0);transition:transform .7s cubic-bezier(.2,.65,.3,1);position:relative;z-index:1}
.motion-hex{position:absolute;width:74px;height:84px;color:#9773c4;opacity:.35;pointer-events:none;transform:translate3d(var(--hex-x,0px),var(--hex-y,0px),0);transition:transform .9s ease}
.motion-hex svg{display:block;width:100%;height:100%}
.motion-hex.one{top:12%;left:8%}.motion-hex.two{right:5%;top:44%;width:44px;height:51px}.motion-hex.three{bottom:12%;left:16%;width:31px;height:36px}
html[data-motion=on] .motion-hex svg{animation:hex-drift 7s ease-in-out infinite}
html[data-motion=on] .motion-hex.two svg{animation-delay:-2.5s;animation-duration:9s}
html[data-motion=on] .motion-hex.three svg{animation-delay:-4s;animation-duration:8s}
@keyframes hex-drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(7deg)}}
.service{position:relative;isolation:isolate}
.service:after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(240px circle at var(--card-x,50%) var(--card-y,30%),#b58adb1a,transparent 75%);opacity:0;transition:opacity .35s;pointer-events:none}
.service-img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}
html[data-motion=on] .service{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .75s ease,translate .75s ease}
html[data-motion=on] .service.is-hovered{transform:perspective(1000px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border-color:#c9b5e7;box-shadow:0 16px 38px #5d438d12}
html[data-motion=on] .service.is-hovered:after{opacity:1}
html[data-motion=on] .service.is-hovered .service-img{transform:scale(1.025)}
.reveal-item{transition:opacity .75s ease,translate .75s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
html[data-motion=on] .reveal-item.is-waiting{opacity:0;translate:0 22px}
html[data-motion=on] .reveal-item.is-visible{opacity:1;translate:0 0}
html[data-motion=on] .btn span{transition:transform .25s}
html[data-motion=on] .btn:hover span{transform:translate(3px,-3px)}
html[data-motion=on] .steps li .stepno{transition:background .3s,color .3s,transform .3s}
html[data-motion=on] .steps li:hover .stepno{background:var(--purple);color:white;transform:rotate(-5deg)}
html[data-motion=off] .hero-art:before,html[data-motion=off] .hero-logo,html[data-motion=off] .motion-hex,html[data-motion=off] .service{transform:none!important;transition:none!important}
html[data-motion=off] .reveal-item{opacity:1;translate:none;transition:none}
html[data-motion=off]{scroll-behavior:auto}
@media(max-width:700px){.motion-toggle{bottom:85px;right:14px;font-size:10px;padding:7px 11px}.motion-hex.one{width:48px;height:55px}.motion-hex.two{width:30px;height:34px}.motion-hex.three{width:22px;height:25px}.reveal-item{--reveal-delay:0ms!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.motion-hex svg{animation:none!important}.reveal-item{opacity:1!important;translate:none!important}.hero-logo,.hero-art:before,.motion-hex,.service{transform:none!important}.motion-progress{display:none}}
