:root{--calm-ease:cubic-bezier(.22,1,.36,1)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:calm-page-out 300ms ease both;mix-blend-mode:normal}
::view-transition-new(root){animation:calm-page-in 460ms var(--calm-ease) both;mix-blend-mode:normal}
.site-header{view-transition-name:masthead}
.contact-launcher{view-transition-name:contact-launcher}
::view-transition-group(masthead),::view-transition-group(contact-launcher){animation-duration:360ms;animation-timing-function:var(--calm-ease)}
@keyframes calm-page-out{to{opacity:0}}
@keyframes calm-page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.text-link,.project-view,.footer-navigation a{transition:color 300ms ease,background 300ms ease}
.text-link>span[aria-hidden],.button>span[aria-hidden],.project-view>span[aria-hidden]{transition:transform 350ms var(--calm-ease)}
@media(hover:hover) and (pointer:fine){.text-link:hover>span[aria-hidden],.button:hover>span[aria-hidden],.project-view:hover>span[aria-hidden]{transform:translate(2px,-2px)}}
.button:active,.work-toggle:active{transform:scale(.98)}
.coverage-map>a{border-radius:8px;overflow:hidden;box-shadow:0 18px 55px #0002}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root),::view-transition-group(masthead),::view-transition-group(contact-launcher){animation:none!important}
 .button:active,.work-toggle:active{transform:none}
}
