/* All content is visible without JS. Enhancement is enabled only after setup. */
.reveal-line{display:block;overflow:clip;padding-bottom:.14em;margin-bottom:-.14em}.reveal-text{display:block;transform-origin:left bottom}.motion-ready [data-reveal=lines] .reveal-text{transition:transform 850ms var(--ease),opacity 700ms var(--ease);transition-delay:var(--line-delay,0ms)}.motion-ready [data-reveal=lines]:not(.is-visible) .reveal-text{transform:translateY(110%);opacity:.2}.motion-ready [data-reveal=rise]{transition:transform 750ms var(--ease),opacity 650ms var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal=rise]:not(.is-visible){transform:translateY(22px);opacity:0}.motion-ready .hero [data-hero]{transition:transform 850ms var(--ease),opacity 700ms var(--ease);transition-delay:var(--hero-delay,0ms)}.motion-ready .hero:not(.hero-ready) [data-hero]{transform:translateY(16px);opacity:0}.motion-ready .hero .hero-line .reveal-text{transition:transform 950ms var(--ease),opacity 850ms var(--ease);transition-delay:var(--hero-delay,0ms)}.motion-ready .hero:not(.hero-ready) .hero-line .reveal-text{transform:translateY(110%);opacity:.2}.motion-ready .hero .lab{transition:opacity 1000ms var(--ease),translate 1000ms var(--ease);transition-delay:360ms}.motion-ready .hero:not(.hero-ready) .lab{translate:0 22px;opacity:0}
.motion-ready .portfolio-cover:after{content:'';position:absolute;z-index:3;inset:28px 0 0;background:#202b38;pointer-events:none;transform:scaleY(0);transform-origin:bottom;transition:transform 1000ms var(--ease)}.motion-ready .portfolio-card:not(.is-visible) .portfolio-cover:after{transform:scaleY(1)}.motion-ready .portfolio-card .portfolio-meta,.motion-ready .portfolio-card>h3,.motion-ready .portfolio-card>p,.motion-ready .portfolio-card .portfolio-foot{transition:opacity 700ms var(--ease),translate 850ms var(--ease);transition-delay:150ms}.motion-ready .portfolio-card>h3{transition-delay:190ms}.motion-ready .portfolio-card>p{transition-delay:230ms}.motion-ready .portfolio-card .portfolio-foot{transition-delay:270ms}.motion-ready .portfolio-card:not(.is-visible) .portfolio-meta,.motion-ready .portfolio-card:not(.is-visible)>h3,.motion-ready .portfolio-card:not(.is-visible)>p,.motion-ready .portfolio-card:not(.is-visible) .portfolio-foot{opacity:0;translate:0 12px}.motion-ready .portfolio-card img{transition:opacity 900ms var(--ease),transform 900ms var(--ease)}.motion-ready .portfolio-card:not(.is-visible) img{opacity:.4;transform:translateY(8px)}
.lab.is-floating .sculpture{animation:sculpture-drift 9s ease-in-out infinite;animation-play-state:paused}.lab.is-floating.in-view .sculpture{animation-play-state:running}@keyframes sculpture-drift{50%{transform:translateY(-7px) rotate(-14deg)}}.lab.is-switching .lab-status i{animation:status-pulse 600ms var(--ease)}@keyframes status-pulse{50%{opacity:.35;transform:scale(.7)}}details[open] p{animation:faq-answer 350ms var(--ease)}@keyframes faq-answer{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.motion-ready [data-reveal=lines] .reveal-text{transition-duration:650ms}.motion-ready [data-reveal=rise]{transition-duration:600ms}.motion-ready [data-reveal=rise]:not(.is-visible){transform:translateY(12px)}.lab.is-floating .sculpture{animation:none}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal],.motion-ready [data-hero],.motion-ready .hero .lab,.motion-ready .hero .reveal-text,.motion-ready .reveal-text,.motion-ready .portfolio-card img,.motion-ready .portfolio-card .portfolio-meta,.motion-ready .portfolio-card>h3,.motion-ready .portfolio-card>p,.motion-ready .portfolio-card .portfolio-foot{transform:none!important;translate:none!important;opacity:1!important;transition:none!important}.motion-ready .portfolio-cover:after{transform:scaleY(0)!important}.lab .sculpture{animation:none!important}}
