/* Restrained interactions: no looping movement or scroll interception. */
header>nav a{position:relative;transition:color .2s ease}header>nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:linear-gradient(90deg,var(--blue),var(--purple),var(--red));transform:scaleX(0);transform-origin:left;transition:transform .28s ease}header>nav a:hover:after,header>nav a:focus-visible:after{transform:scaleX(1)}
.button{transition:transform .25s ease,box-shadow .25s ease,background .2s ease}.button>span{transition:transform .25s ease}.button:active{transform:translateY(0) scale(.98)}
.portfolio-work img{transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .3s ease,box-shadow .4s ease}.portfolio-work figcaption>span:last-child{transition:transform .25s ease}.catalog-grid .package{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #5267b525}.button:hover>span{transform:translate(3px,-2px)}.portfolio-work:hover img{transform:translateY(-5px);box-shadow:0 14px 28px #18213c1a}.portfolio-work:hover figcaption>span:last-child{transform:translate(3px,-3px)}.catalog-grid .package:hover{transform:translateY(-5px);box-shadow:0 14px 32px #18213c12}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.button:active,.button:hover>span,.portfolio-work:hover img,.portfolio-work:hover figcaption>span:last-child,.catalog-grid .package:hover{transform:none}}
