.details-link:focus-visible{outline:2px solid var(--plum);outline-offset:4px}
.motion-off *, .motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important}
.motion-enabled .reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
.motion-enabled .reveal-ready.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
.reveal-ready{opacity:1!important;transform:none!important}
}
.motion-enabled .reveal-ready{transition-duration:.9s,1s}
.motion-word{display:inline-block;overflow:clip;vertical-align:top;padding-block:.08em;margin-block:-.08em}
.motion-word>span{display:inline-block}
.motion-enabled .motion-heading.reveal-ready{opacity:1;transform:none;transition:none}
.motion-enabled .motion-heading .motion-word>span{transform:translateY(115%) rotate(3deg);transition:transform 1.35s cubic-bezier(.16,1,.3,1)}
.motion-enabled .motion-heading.is-visible .motion-word>span{transform:translateY(0) rotate(0)}
.motion-word:nth-child(2)>span{transition-delay:50ms}
.motion-word:nth-child(3)>span{transition-delay:100ms}
.motion-word:nth-child(4)>span{transition-delay:150ms}
.motion-word:nth-child(n+5)>span{transition-delay:200ms}
@media(max-width:760px){
.motion-enabled .motion-heading .motion-word>span{transition-duration:1s}
}
.motion-off .motion-word>span{transform:none!important}
@media(prefers-reduced-motion:reduce){
.motion-word>span{transform:none!important}
}
@media print{
.reveal-ready{opacity:1!important;transform:none!important}
.motion-word>span{transform:none!important}
}
.motion-enabled .site-menu[open]{animation:menu-arrive .65s cubic-bezier(.16,1,.3,1) both}
.motion-enabled .site-menu[open] .menu-links>a{animation:menu-item-in .75s cubic-bezier(.16,1,.3,1) .18s both}
.motion-enabled .site-menu[open] .menu-links>a:nth-child(2){animation-delay:.23s}
.motion-enabled .site-menu[open] .menu-links>a:nth-child(3){animation-delay:.28s}
.motion-enabled .site-menu[open] .menu-links>a:nth-child(4){animation-delay:.33s}
.motion-enabled .site-menu[open] .menu-links>a:nth-child(5){animation-delay:.38s}
.motion-enabled .site-menu[open] .menu-contact{animation:menu-item-in .85s cubic-bezier(.16,1,.3,1) .3s both}
.motion-enabled .site-menu[open].is-closing{animation:menu-leave .36s cubic-bezier(.4,0,.7,.4) both}
@keyframes menu-arrive{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes menu-leave{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes menu-item-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
