a.button,.actions a,.login,.preview-dock a,.news-card,.app-card,.service-grid a{transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease}
.button:hover,.actions a:hover,.login:hover{transform:translateY(-3px);box-shadow:0 9px 24px #234c9325}.button:active,.actions a:active,.login:active{transform:translateY(0) scale(.97)}
.button span,.read-more{transition:transform .25s ease}.button:hover span{transform:translate(3px,-2px)}.news-card:hover .read-more,.app-card:hover .read-more{transform:translateX(5px)}.service-grid a:hover{transform:translateY(-4px);box-shadow:0 12px 28px #36547b12}
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.scroll-progress{position:fixed;left:0;top:0;height:3px;background:#7da6ff;width:100%;transform-origin:left;transform:scaleX(0);z-index:100;pointer-events:none}
.back-top{position:fixed;right:24px;bottom:26px;z-index:30;border:1px solid #ccd9ef;background:#ffffffed;color:#345ba0;border-radius:50%;width:44px;height:44px;box-shadow:0 5px 20px #243d6617;font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}.back-top.visible{opacity:1;visibility:visible;transform:none}.back-top:hover{transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none;transition:none}a.button,.actions a,.login,.preview-dock a,.news-card,.app-card,.service-grid a,.button span,.read-more,.back-top{transition:none}.button:hover,.actions a:hover,.login:hover,.service-grid a:hover{transform:none}}
