/* Cover text enters from the page edge; photographs resolve in place. */
@keyframes cover-type{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes cover-develop{from{opacity:.6;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){html[data-motion="on"] .cover-image{animation:cover-develop 1300ms var(--ease) both}html[data-motion="on"] .cover-copy h1 .heading-line{animation:cover-type 800ms var(--ease) 150ms both}html[data-motion="on"] .cover-copy h1 .heading-line:nth-child(n+2){animation-delay:260ms}html[data-motion="on"] .cover-copy>.text-link{animation:cover-type 700ms var(--ease) 390ms both}html[data-motion="on"] .reveal-ready{transition:opacity 650ms var(--ease),transform 650ms var(--ease);transition-delay:var(--reveal-delay,0ms)}html[data-motion="on"] .reveal-pending{opacity:0;transform:translateY(24px);transition:none}html[data-motion="on"] .reveal-instant{transition:none;opacity:1;transform:none}}

html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1!important;transform:none!important}.project-card:hover img{transform:none}.text-link:hover .arrow,.underlined:hover .icon,.project-story summary:hover .icon{transform:none}}
