/* Decorative motion, isolated from the donation workflow. */
@property --orbit-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.motion-scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aurora{position:absolute;width:48vw;height:55vh;min-width:320px;min-height:340px;border-radius:50%;filter:blur(65px);opacity:.5;will-change:transform}
.aurora-a{left:-14%;top:4%;background:radial-gradient(ellipse,#2864bd70,#2353a12e 47%,transparent 70%);animation:aurora-flow-a 15s ease-in-out infinite alternate}
.aurora-b{right:-16%;bottom:0;background:radial-gradient(ellipse,#3084c85c,#3153ad33 45%,transparent 70%);animation:aurora-flow-b 18s ease-in-out infinite alternate}
.light-ring{position:absolute;left:50%;top:50%;width:900px;height:720px;margin:-360px 0 0 -450px;border:1px solid #669fe31f;border-radius:50%;box-shadow:inset 0 0 24px #5288d405,0 0 20px #5288d405;animation:ring-turn 46s linear infinite}
.light-ring::before{content:"";position:absolute;left:15%;top:12%;width:5px;height:5px;background:#a6d0ff;border-radius:50%;box-shadow:0 0 14px 3px #509cff70;opacity:.8}
.ring-b{width:1120px;height:760px;margin:-380px 0 0 -560px;border-style:dashed;border-color:#6298d719;animation-direction:reverse;animation-duration:64s}
.ring-b::before{width:3px;height:3px;left:81%;top:12%}
.ring-c{width:1240px;height:1000px;margin:-500px 0 0 -620px;border-color:#6298d70e;animation-duration:82s}
.ring-c::before{width:3px;height:3px;left:50%;top:0;opacity:.45}
.particles{position:absolute;inset:0}
.particles i{position:absolute;left:8%;top:90%;width:3px;height:3px;border-radius:50%;background:#9bcaff;box-shadow:0 0 10px #589beeb3;opacity:0;animation:particle-rise 16s linear infinite;will-change:transform,opacity}
.particles i:nth-child(2){left:19%;top:70%;animation-delay:-7s;animation-duration:20s}
.particles i:nth-child(3){left:28%;top:98%;animation-delay:-12s;width:2px;height:2px}
.particles i:nth-child(4){left:38%;top:50%;animation-delay:-3s;animation-duration:24s}
.particles i:nth-child(5){left:48%;top:85%;animation-delay:-15s;width:2px;height:2px}
.particles i:nth-child(6){left:58%;top:96%;animation-delay:-9s;animation-duration:19s}
.particles i:nth-child(7){left:67%;top:65%;animation-delay:-5s;width:2px;height:2px}
.particles i:nth-child(8){left:78%;top:87%;animation-delay:-11s;animation-duration:23s}
.particles i:nth-child(9){left:89%;top:97%;animation-delay:-1s;width:4px;height:4px}
.particles i:nth-child(10){left:95%;top:45%;animation-delay:-17s;animation-duration:21s}
.particles i:nth-child(11){left:5%;top:45%;animation-delay:-10s;animation-duration:25s}
.particles i:nth-child(12){left:74%;top:38%;animation-delay:-6s;width:2px;height:2px}
.donate-page .brand{animation:soft-arrival .7s ease-out both}
.donate-page .brand>span{background:linear-gradient(110deg,#809bbf 15%,#c0dcff 40%,#7394bf 65%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-light 8s ease-in-out infinite alternate}
.donate-page .form-card{border-color:#4263935c;box-shadow:0 18px 65px #0005,0 0 60px #418ce80c;animation:card-arrival .85s cubic-bezier(.2,.75,.3,1) both;transition:box-shadow .45s ease}
.donate-page .form-card:hover{box-shadow:0 20px 70px #0005,0 0 65px #418ce818}
.donate-page .form-card::before{inset:0;width:auto;height:auto;border-radius:inherit;padding:1px;background:conic-gradient(from var(--orbit-angle),transparent 0deg,#5b8dc833 80deg,#8ebcffc4 115deg,transparent 155deg,transparent 235deg,#6aa7f18c 285deg,transparent 325deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.85;animation:border-orbit 11s linear infinite}
.donate-page .card-heading{animation:soft-arrival .8s .12s ease-out both}
.donate-page .pill{display:inline-flex;align-items:center;gap:9px}
.donate-page .pill::before{content:"";width:5px;height:5px;border-radius:50%;background:#86b5f3;box-shadow:0 0 0 4px #74a6ea0e;animation:indicator-glow 4s ease-in-out infinite alternate}
.donate-page #form-view,.donate-page #payment-view,.donate-page #status-view{animation:soft-arrival .65s ease-out both}
.donate-page input,.donate-page textarea{transition:border-color .25s,box-shadow .3s,background-color .3s}
.donate-page input:focus,.donate-page textarea:focus{border-color:#729ed8;background:#111d2e;box-shadow:0 0 0 3px #79acfa13,0 0 22px #589bf00d}
.donate-page .amount-options button{transition:transform .22s ease,background .25s,border-color .25s,box-shadow .25s}
.donate-page .amount-options button:hover{transform:translateY(-3px);background:#729ed811;box-shadow:0 6px 16px #0002}
.donate-page .amount-options button:active{transform:translateY(0) scale(.96)}
.donate-page .primary{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(110deg,#3d65a0,#497fbe,#3b639f);background-size:200% 100%;animation:button-colour 9s ease-in-out infinite alternate;transition:transform .22s,box-shadow .3s,border-color .3s}
.donate-page .primary::after{content:"";position:absolute;inset:-70% auto -70% -50%;width:24%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,#c8e2ff2b,transparent);pointer-events:none;animation:button-sheen 7s ease-in-out infinite}
.donate-page .primary:hover{transform:translateY(-2px);border-color:#88b4ef;box-shadow:0 7px 25px #347bc638}
.donate-page .primary:active{transform:translateY(0) scale(.99)}
.donate-page .primary>span{transition:transform .25s}
.donate-page .primary:hover>span{transform:translate(2px,-2px)}
.donate-page .primary:disabled{animation:none;transform:none;box-shadow:none}
.donate-page .primary:disabled::after{animation:none;opacity:0}
.donate-page .status-icon{animation:status-arrival .6s cubic-bezier(.2,.8,.3,1) both}
@keyframes aurora-flow-a{from{transform:translate(-4%,-6%) scale(.9)}to{transform:translate(28%,20%) scale(1.25)}}
@keyframes aurora-flow-b{from{transform:translate(4%,8%) scale(1.15)}to{transform:translate(-24%,-20%) scale(.9)}}
@keyframes ring-turn{from{transform:rotate(-25deg)}to{transform:rotate(335deg)}}
@keyframes particle-rise{0%{transform:translate(0,20px);opacity:0}15%{opacity:.7}75%{opacity:.4}100%{transform:translate(55px,-330px);opacity:0}}
@keyframes border-orbit{to{--orbit-angle:360deg}}
@keyframes brand-light{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes indicator-glow{from{opacity:.5;box-shadow:0 0 0 3px #74a6ea0e}to{opacity:1;box-shadow:0 0 0 5px #74a6ea15,0 0 12px #6ea9fa40}}
@keyframes button-colour{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes button-sheen{0%,45%{left:-50%;opacity:0}50%{opacity:1}80%,100%{left:135%;opacity:0}}
@keyframes soft-arrival{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-arrival{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes status-arrival{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@media(max-width:780px){.aurora{filter:blur(45px);opacity:.4;min-width:250px}.aurora-a{left:-40%}.aurora-b{right:-45%}.light-ring{width:660px;height:850px;margin:-425px 0 0 -330px;opacity:.6}.ring-b,.ring-c{display:none}.particles i:nth-child(even){display:none}.donate-page .form-card{background:#121a26fa}}
@media(prefers-reduced-motion:reduce){.motion-scene *,.donate-page *,.donate-page *::before,.donate-page *::after{animation:none!important;transition:none!important}.particles i{opacity:.18}.donate-page .brand>span{background:none;color:#8eabd0}.donate-page .primary:hover,.donate-page .amount-options button:hover{transform:none}}
