/* Native scrolling, with local animation that never moves the page or follows the wheel. */
html{scroll-behavior:auto;scrollbar-gutter:stable}.reveal{transform:none;transition:opacity .45s ease;transition-delay:var(--reveal-delay,0ms)}html.motion-ready .reveal:not(.visible){opacity:0;transform:none}.hero-photo img{will-change:auto;transform:none;animation:hero-photo-appear 1.4s ease both}.project-photo{clip-path:none;transform:none;transition:opacity .85s ease}.motion-ready:not(.motion-off) .project-photo.reveal:not(.visible){clip-path:none;transform:none}.project-photo img{scale:1;translate:none;transition:transform .7s ease}.project-photo:hover img{transform:none}.home-work .project-photo img{translate:none}.reveal-line>span{transition-duration:.85s}.motion-ready:not(.motion-off) .reveal:not(.visible) .reveal-line>span{transform:translateY(18%)}.home-works-heading h2{position:relative}.home-works-heading h2:after{content:'';position:absolute;left:0;bottom:-12px;width:45px;height:2px;background:#8ba79b;transform:scaleX(0);transform-origin:left;transition:transform .9s ease .25s}.home-works-heading .visible h2:after{transform:scaleX(1)}.home-path{position:relative}.home-path:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#6b9188;transform:scaleX(0);transform-origin:left;transition:transform .6s ease}.home-path:hover:after,.home-path:focus-visible:after{transform:scaleX(1)}
@keyframes hero-photo-appear{from{opacity:.4}to{opacity:1}}
@media(hover:hover) and (pointer:fine){.project-photo:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.reveal,.hero-photo img,.project-photo,.reveal-line>span{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.home-works-heading h2:after{transform:scaleX(1);transition:none}}
.motion-off .home-works-heading h2:after{transform:scaleX(1)}
