html{scroll-behavior:smooth}
body{animation:page-fade .55s ease both}
.motion-reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.16,1,.3,1)}
.motion-reveal.motion-visible{opacity:1;transform:none}
.motion-stagger>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.motion-stagger.motion-visible>*{opacity:1;transform:none}
.motion-stagger.motion-visible>*:nth-child(2){transition-delay:.08s}.motion-stagger.motion-visible>*:nth-child(3){transition-delay:.16s}.motion-stagger.motion-visible>*:nth-child(4){transition-delay:.24s}
.case-nav a,.poster-nav a,.product-nav a,.ip-nav a,.header nav a{position:relative}
.case-nav a::after,.poster-nav a::after,.product-nav a::after,.ip-nav a::after,.header nav a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.case-nav a:hover::after,.poster-nav a:hover::after,.product-nav a:hover::after,.ip-nav a:hover::after,.header nav a:hover::after{transform:scaleX(1);transform-origin:left}
.case-image img,.poster-tile img,.product-image img,.ip-image img{transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s ease,box-shadow .35s ease}
.case-image:hover img,.poster-tile:hover img,.product-image:hover img,.ip-image:hover img{transform:translateY(-6px) scale(1.012);filter:brightness(1.035);box-shadow:0 22px 50px rgba(0,0,0,.16)}
.case-hero h1,.poster-hero h1,.product-copy h1,.ip-hero h1{animation:hero-type-in 1s cubic-bezier(.16,1,.3,1) .12s both}
@keyframes page-fade{from{opacity:0}to{opacity:1}}
@keyframes hero-type-in{from{opacity:0;transform:translateY(55px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.case-hero h1,.poster-hero h1,.product-copy h1,.ip-hero h1{animation:none}.motion-reveal,.motion-stagger>*,.motion-reveal.motion-visible,.motion-stagger.motion-visible>*{opacity:1;transform:none;transition:none}}
