:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.76,0,.24,1);--ease-soft:cubic-bezier(.33,1,.68,1)}.lines .line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.lines [data-line]{display:block}@media (prefers-reduced-motion:no-preference){.js .lines [data-line]{animation:ed-line-up .9s var(--ease-out)forwards;animation-delay:calc(var(--i)*.11s + .15s);transform:translateY(110%)}.js [data-after-lines]{opacity:0;animation:ed-rise .7s var(--ease-out).52s forwards;transform:translateY(16px)}}@keyframes ed-line-up{to{transform:none}}@keyframes ed-rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--d,0)*80ms);transform:translateY(24px)}.js [data-reveal].is-in{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:0;transition:opacity .5s}.js [data-reveal].is-in{opacity:1}}@media (prefers-reduced-motion:no-preference){.js .shutter{clip-path:inset(100% 0 0);animation:ed-shutter 1.1s var(--ease-in-out).3s forwards}.js .shutter img{animation:ed-settle 1.6s var(--ease-soft).3s forwards;transform:scale(1.12)}}@keyframes ed-shutter{to{clip-path:inset(0)}}@keyframes ed-settle{to{transform:none}}#top :is(a,button):focus-visible{outline:2px solid var(--foreground);outline-offset:3px}#top footer :is(a,button):focus-visible,#site-menu :is(a,button):focus-visible{outline-color:var(--field-foreground)}.press{transition:transform .16s var(--ease-out),background-color .2s ease,color .2s ease,opacity .2s ease}.press:active{transform:scale(.97)}
