/* A specimen settles onto paper; text follows the reading direction. */
@keyframes paper-type{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes specimen-settle{from{opacity:0;transform:translate(28px,18px) rotate(2deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){html[data-motion="on"] .specimen{animation:specimen-settle 1500ms var(--ease) both}html[data-motion="on"] .botanical-poster .heading-line{animation:paper-type 850ms var(--ease) 100ms both}html[data-motion="on"] .botanical-poster .heading-line:nth-child(2){animation-delay:210ms}html[data-motion="on"] .botanical-poster .heading-line:nth-child(n+3){animation-delay:310ms}html[data-motion="on"] .poster-bottom{animation:paper-type 700ms var(--ease) 360ms both}html[data-motion="on"] .reveal-ready{transition:opacity 850ms var(--ease),transform 850ms var(--ease);transition-delay:var(--reveal-delay,0ms)}html[data-motion="on"] .reveal-pending{opacity:0;transform:translateY(18px);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}}
