/* Motion starts only when its pause control is available. */
.motion-toggle{position:fixed;right:18px;bottom:18px;z-index:30;border:1px solid #526c9a;border-radius:30px;padding:11px 17px;background:#101d34;color:#fff;font:500 13px/1.4 'DM Sans',sans-serif;box-shadow:0 4px 18px #101d3425;cursor:pointer}.motion-toggle:focus-visible{outline:3px solid #ffab39;outline-offset:4px}.motion-toggle:disabled{cursor:default}
@media(prefers-reduced-motion:no-preference){
.motion-live .hero{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 85% 30%,#e5ecff,transparent 65%)}
.motion-live .hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#2953ff09 1px,transparent 1px),linear-gradient(90deg,#2953ff09 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 25%,#000);animation:emporia-grid 12s linear infinite}
.motion-live .hero-copy{animation:emporia-enter 1s cubic-bezier(.16,1,.3,1) both}
.motion-live h1 em{background:linear-gradient(110deg,#2953ff 10%,#7032db 40%,#126aaf 65%,#2953ff 90%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:emporia-color 5s ease-in-out infinite alternate}
.motion-live .computer-hero{animation:emporia-float 6s ease-in-out infinite;box-shadow:0 24px 65px #2953ff24;transform-origin:center}
.motion-live .computer-hero img{animation:emporia-zoom 9s ease-in-out infinite alternate}
.motion-live .computer-hero figcaption{position:relative;z-index:1;background:#101d34}
.motion-live .button{animation:emporia-glow 3s ease-in-out infinite}
.cards article,.button,.nav-cta{transition:transform 300ms ease,box-shadow 300ms ease,border-color 300ms ease}
.button span,.text-link span,.nav-cta span{display:inline-block;transition:transform 250ms ease}
nav a{position:relative}nav a::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 250ms ease}nav a:focus-visible::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
.motion-live .cards article:hover{transform:translateY(-12px) rotate(-1deg);border-color:#91aaff;box-shadow:0 22px 42px #2953ff20}
.motion-live .button:hover,.motion-live .nav-cta:hover{transform:translateY(-5px) scale(1.035)}
.motion-live .button:hover span,.motion-live .text-link:hover span,.motion-live .nav-cta:hover span{transform:translate(5px,-5px)}
.motion-live nav a:hover::after{transform:scaleX(1)}
}
}
@keyframes emporia-enter{from{opacity:0;transform:translateY(55px)}to{opacity:1;transform:translateY(0)}}
@keyframes emporia-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(1deg)}}
@keyframes emporia-zoom{from{transform:scale(1)}to{transform:scale(1.1)}}
@keyframes emporia-color{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes emporia-grid{to{background-position:64px 64px}}
@keyframes emporia-glow{0%,100%{box-shadow:0 0 0 0 #2953ff00}50%{box-shadow:0 0 0 9px #2953ff12,0 10px 30px #2953ff28}}
@media(max-width:760px){.motion-toggle{right:12px;bottom:12px;font-size:12px;padding:10px 14px}footer{padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
html:not(.motion-live){scroll-behavior:auto}html:not(.motion-live) *,html:not(.motion-live) *::before,html:not(.motion-live) *::after{animation:none!important;transition:none!important}
