<!doctype html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<style>
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#0e0e0e}
#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;overflow:hidden;transform-origin:center;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
:where(#stage *){position:absolute}
:where(#stage pre *){position:static}
#stage{background:#0e0e0e;color:#f2f2f2}
.sc{inset:0;display:none}
.big{left:0;width:1920px;top:390px;text-align:center;font-size:240px;font-weight:900;letter-spacing:-.04em;line-height:1}
.streak{left:0;top:538px;height:4px;width:1920px;background:#c6ff3d}
.mono{font-family:ui-monospace,Menlo,monospace}
.grid{left:60px;top:60px;width:1800px;height:960px;display:grid;grid-template-columns:repeat(6,1fr);align-content:space-around}
.grid span{position:static;font-size:64px;font-weight:900;text-align:center}
.mq{left:0;top:420px;white-space:nowrap;font-size:220px;font-weight:900}
.shape{left:860px;top:440px;width:200px;height:200px;background:#c6ff3d}
.name{left:0;width:1920px;top:400px;text-align:center}.name *{position:static}
.nm{font-size:160px;font-weight:900;letter-spacing:-.04em}.rl{font:36px ui-monospace,Menlo,monospace;color:#9a9a9a;margin-top:14px}
.u{display:block;height:8px;width:0;background:#c6ff3d;margin:26px auto 0}
</style></head><body><div id="stage"><div class="streak" id="streak"></div>
<div class="sc" id="sc0"><div class="big" style="overflow:hidden;height:250px"><span id="a0" style="left:0;width:1920px">Brand</span></div></div>
<div class="sc" id="sc1"><div class="big" id="a1l" style="left:-480px">Ty</div><div class="big" id="a1r" style="left:480px">pe</div></div>
<div class="sc" id="sc2"><div class="grid" id="g2"><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span><span>Product</span></div></div>
<div class="sc" id="sc3"><div class="shape" id="a3"></div><div class="big mono" style="top:700px;font-size:90px">Data</div></div>
<div class="sc" id="sc4"><div class="big" id="a4">3D</div></div>
<div class="sc" id="sc5"><div class="mq" id="a5">UI · UI · UI · UI · UI · UI · UI · UI · UI · UI · UI · UI ·</div></div>
<div class="sc" id="sc6"><div class="big" id="a6" style="color:#c6ff3d">Loops</div></div>
<div class="sc" id="sc7"><div class="name"><div class="nm">Ava Chen</div><div class="rl">Motion designer · Berlin</div><i class="u" id="u"></i></div></div></div>
<script>
var W=1920,H=1080,D=15;
var E={
o3:function(t){return 1-Math.pow(1-t,3)},
o4:function(t){return 1-Math.pow(1-t,4)},
oe:function(t){return t>=1?1:1-Math.pow(2,-10*t)},
io3:function(t){return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2},
io5:function(t){return t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2},
ob:function(t){var c=1.2,d=c+1;return 1+d*Math.pow(t-1,3)+c*Math.pow(t-1,2)},
sp:function(t){return t>=1?1:1-Math.exp(-6*t)*Math.cos(9*t)}
};
function P(t,a,b){return Math.max(0,Math.min(1,(t-a)/(b-a)))}
function L(a,b,p){return a+(b-a)*p}
function $(s){return document.querySelector(s)}
function $$(s){return [].slice.call(document.querySelectorAll(s))}
function S(el,x,y,s,o,r){el.style.transform='translate('+(x||0)+'px,'+(y||0)+'px) scale('+(s==null?1:s)+')'+(r?' rotate('+r+'deg)':'');if(o!=null)el.style.opacity=o}
function rnd(i){var x=Math.sin(i*127.1+311.7)*43758.5453;return x-Math.floor(x)}
function fit(){var k=Math.min(innerWidth/W,innerHeight/H);$('#stage').style.transform='translate(-50%,-50%) scale('+k+')'}
addEventListener('resize',fit);fit();
var cuts=[1,2.5,4,5.5,7,8.5,10,12];
function render(t){
var st=P(t,.5,.9);$('#streak').style.transform='translateX('+(-1920+3840*E.io3(st))+'px)';$('#streak').style.opacity=t<1?1:0;
var cur=-1;for(var i=0;i<cuts.length;i++)if(t>=cuts[i])cur=i;
for(var i=0;i<8;i++)$('#sc'+i).style.display=i===cur?'block':'none';
if(cur<0)return;var lt=t-cuts[cur];
if(cur===0)$('#a0').style.transform='translateY('+(100*(1-E.oe(P(lt,0,.5))))+'%)';
if(cur===1){var k=E.oe(P(lt,0,.6));$('#a1l').style.transform='translateX('+(-600*(1-k))+'px)';$('#a1r').style.transform='translateX('+(600*(1-k))+'px)'}
if(cur===2)$$('#g2 span').forEach(function(s,i){s.style.opacity=lt>i*.025?(i%7===3?1:.25):0;s.style.color=i%7===3?'#c6ff3d':'#f2f2f2'});
if(cur===3){var m=E.io3(P(lt,0,1.2));var a=$('#a3');a.style.borderRadius=(50*m)+'%';a.style.transform='rotate('+(180*m)+'deg) scale('+L(.6,1.2,m)+')'}
if(cur===4){var r=lt*1.5;$('#a4').style.transform='perspective(800px) rotateY('+(Math.sin(r)*35)+'deg) rotateX('+(Math.cos(r)*15)+'deg)';$('#a4').style.textShadow='6px 6px 0 #c6ff3d,12px 12px 0 #c6ff3d66'}
if(cur===5)$('#a5').style.transform='translateX('+(-lt*900)+'px)';
if(cur===6){var pu=lt%.5;$('#a6').style.transform='scale('+(1+.25*Math.max(0,1-pu/.2))+')'}
if(cur===7){$('#u').style.width=(420*E.o3(P(lt,.3,.9)))+'px';$('.name').style.opacity=E.o3(P(lt,0,.4))}
}
var live=true;
window.__addmotion={width:W,height:H,fps:30,duration:D,seek:function(t){live=false;render(Math.min(t,D))}};
var t0=performance.now();
(function f(n){if(!live)return;var c=((n-t0)/1000)%(D+0.6);render(Math.min(c,D));requestAnimationFrame(f)})(t0);
</script></body></html>