/* Shared timing, independent of each site's colours, layout and hover transforms. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1);--motion-distance:20px;--motion-time:700ms}
[data-motion]{opacity:1;translate:0 0;transition:opacity var(--motion-time) var(--motion-ease),translate var(--motion-time) var(--motion-ease),clip-path 850ms var(--motion-ease),transform 250ms ease,background-color 250ms ease,border-color 250ms ease,box-shadow 250ms ease}
[data-motion].motion-pending{opacity:.08;translate:0 var(--motion-distance)}
[data-motion="content"].motion-pending{opacity:1;translate:none}
[data-motion="media"].motion-pending{opacity:.45;translate:0 12px;clip-path:inset(4% 0 0 0)}
[data-motion="media"]{clip-path:inset(0)}
[data-motion].motion-immediate{transition:none!important;opacity:1;translate:none;clip-path:none}
/* No ongoing parallax, full-section bounces or competing legacy entry effects. */
.desktop-screen{transform:none}.mobile-screen{transform:translateY(24px)}
.hero-heading,.hero-bottom,.demo-hero-copy,.hero-image img,.hero-visual,.kern-hero-copy,.kern-hero-art{animation:none!important}
.hero-image img,.kern-photo img,.lijn .demo-hero>img,.story-image img,.moment-image img{animation:none!important;translate:none;transform:none}
.revealed,.reveal-ready,.kern-waiting,.is-entering,.flow-enter{animation:none!important}
.flow-enter:before,.flow-enter>*{animation:none!important}
.motion-ready .abstract-perspective span{animation:none}
/* Content changes get a short dissolve, never a jump of the whole page. */
@keyframes content-dissolve{from{opacity:.6}to{opacity:1}}
@keyframes content-leave{to{opacity:0}}
.is-enhanced .document-panel.is-active .work-document,.menu-panel,details[open]>.answer p,details[open]>p,.practical-faq details[open]>p{animation:content-dissolve 180ms ease-out}
details[open]>.answer{animation:none}
.is-enhanced .document-panel.is-active .work-document:before{animation:none}
@view-transition{navigation:auto}
::view-transition-old(root){animation:content-leave 160ms ease-out}
::view-transition-new(root){animation:content-dissolve 220ms ease-out}
@media(max-width:760px){:root{--motion-distance:10px;--motion-time:520ms}[data-motion="media"].motion-pending{translate:0 6px;clip-path:inset(2% 0 0 0)}.mobile-screen{transform:translateY(19px)}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}html{scroll-behavior:auto!important}[data-motion],[data-motion].motion-pending{opacity:1;translate:none;clip-path:none;transition:none!important}.desktop-screen,.mobile-screen{transform:none}*,*::before,*::after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
