:root{--u:min(.0520833vw, .0925926vh);--cosmic:#0e0520;--lilac:#f3e1ff;--ns-ease:cubic-bezier(.16,1,.3,1)}html,body{background:var(--cosmic);height:100%;overflow:hidden}body{font-family:var(--ui);color:#fff}#particles-js{z-index:0;background:radial-gradient(circle at 50% 45%, #7636c624, transparent 40%), var(--cosmic);position:fixed;inset:0}.grain{z-index:3;pointer-events:none;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.grain:before{content:"";opacity:.13;mix-blend-mode:soft-light;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.92'/%3E%3C/svg%3E");background-size:180px 180px;width:calc(100% + 20rem);height:calc(100% + 20rem);animation:1s steps(2,end) infinite grainShift;position:absolute;top:-10rem;left:-10rem}@keyframes grainShift{0%{transform:translateY(9rem)}10%{transform:translate(-1rem,-4rem)}20%{transform:translate(-8rem,2rem)}30%{transform:translate(9rem,-9rem)}40%{transform:translate(-2rem,7rem)}50%{transform:translate(-9rem,-4rem)}60%{transform:translate(2rem,6rem)}70%{transform:translate(7rem,-8rem)}80%{transform:translate(-9rem,1rem)}90%{transform:translate(6rem,-5rem)}to{transform:translate(-7rem)}}.tk{z-index:1;opacity:0;pointer-events:none;background-position:50%;background-size:cover;transition:opacity .45s;position:fixed;inset:0}body[data-state=onboarding] .tk-onboarding,body[data-state=camera] .tk-camera,body[data-state=slice] .tk-slice{opacity:1}.tk-onboarding{background-image:url(/assets/home/Project%20Thumbnails/UP-Onboarding-bgArtboard-1.png)}.tk-camera{background-image:url(/assets/home/Project%20Thumbnails/Camera%20Thumbnail.png)}.tk-slice{background-image:url(/assets/home/Project%20Thumbnails/Slice&%20Prize%20Project%20Thumbnail.png)}.scrim{z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#000000db 100%);position:fixed;inset:0}.top{z-index:10;pointer-events:none;position:fixed;inset:0}.tiles{top:calc(55*var(--u));align-items:flex-start;gap:calc(60*var(--u));pointer-events:auto;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tile{width:calc(136*var(--u));height:calc(136*var(--u));border-radius:calc(36*var(--u));corner-shape:squircle;cursor:pointer;box-shadow:0 calc(18*var(--u)) calc(44*var(--u)) calc(-14*var(--u)) #000000b3;background:#000;border:0;place-items:center;padding:0;transition:width .32s cubic-bezier(.22,.61,.36,1),height .32s cubic-bezier(.22,.61,.36,1),background .32s;display:grid}.ico-dark{width:62%;height:62%;-webkit-mask:var(--m) center/contain no-repeat;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:#fff}.tile[data-key=home] .ico-dark{--m:url(/build/tile-home-D-flgE5k.svg)}.tile[data-key=onboarding] .ico-dark{--m:url(/build/tile-onboarding-2jcUmSli.svg)}.tile[data-key=camera] .ico-dark{--m:url(/build/tile-camera-DJUqJx-P.svg)}.tile[data-key=slice] .ico-dark{--m:url(/build/tile-slice-B2t5k0of.svg)}.ico-live{object-fit:contain;width:64%;height:64%;display:none}.tile.on{width:calc(180*var(--u));height:calc(180*var(--u));background:#fff}.tile.on .ico-dark{display:none}.tile.on .ico-live{display:block}.pill{top:calc(55*var(--u));height:calc(64*var(--u));width:calc(172*var(--u));border-radius:calc(32*var(--u));corner-shape:squircle;align-items:center;gap:calc(12*var(--u));padding:0 calc(20*var(--u));font-family:var(--ui);font-size:calc(20*var(--u));color:#fff;opacity:0;pointer-events:none;background:#000;transition:opacity .3s;display:flex;position:absolute}.pill svg{width:calc(28*var(--u));height:calc(28*var(--u));fill:none;stroke:#fff;stroke-width:1.6px;flex:none}.pill.contact{left:calc(100*var(--u))}.pill.about{left:calc(1648*var(--u))}body:not([data-state=home]) .pill{opacity:1;pointer-events:auto}.menu-btn{top:calc(55*var(--u));left:calc(1756*var(--u));width:calc(64*var(--u));height:calc(64*var(--u));border-radius:calc(20*var(--u));corner-shape:squircle;cursor:pointer;pointer-events:auto;background:#0d0d0f;border:0;place-items:center;display:grid;position:absolute}.menu-btn img{object-fit:contain;width:52%;height:52%}body:not([data-state=home]) .menu-btn{opacity:0;pointer-events:none}.homeview{z-index:6;pointer-events:none;opacity:1;transition:opacity .35s;position:fixed;inset:0}body:not([data-state=home]) .homeview{opacity:0}.portrait{left:calc(423*var(--u));top:calc(147*var(--u));width:calc(1064*var(--u));height:calc(1064*var(--u));z-index:4;object-fit:contain;mix-blend-mode:luminosity;transition:opacity .35s;position:fixed}body:not([data-state=home]) .portrait{opacity:0}.wordmark{left:calc(746*var(--u));top:calc(803*var(--u));width:calc(518*var(--u));height:calc(64.57*var(--u));background:var(--lilac);position:absolute;-webkit-mask:url(/build/wordmark-Dz5qZP-J.svg) 50%/contain no-repeat;mask:url(/build/wordmark-Dz5qZP-J.svg) 50%/contain no-repeat}.tagline{left:calc(875*var(--u));top:calc(885.57*var(--u));font-family:var(--mono);font-size:calc(24*var(--u));color:#fff;white-space:nowrap;position:absolute}.tip{left:calc(732*var(--u));top:calc(978.5*var(--u));font-family:var(--ui);font-size:calc(16*var(--u));color:#fff;white-space:nowrap;position:absolute}.keys{top:calc(970*var(--u));gap:calc(12*var(--u));pointer-events:auto;display:flex;position:absolute}.key{height:calc(36*var(--u));border-radius:calc(4*var(--u));corner-shape:squircle;font-family:var(--mono);font-size:calc(20*var(--u));color:#fff;border:1px solid #ffffff8c;place-items:center;display:grid}button.key{cursor:pointer;appearance:none;transition:background .18s var(--ns-ease),border-color .18s var(--ns-ease),transform .18s var(--ns-ease);background:0 0;padding:0}button.key:hover{background:#ffffff1f;border-color:#ffffffd9}button.key:active{transform:translateY(1px)}.tk-press button.key{pointer-events:auto}@media (prefers-reduced-motion:reduce){button.key{transition:none}button.key:active{transform:none}}.key.sq{width:calc(36*var(--u))}.key.enter{width:calc(87*var(--u))}.keys{left:calc(1005*var(--u))}.tkview{z-index:6;pointer-events:none;opacity:0;transition:opacity .35s;position:fixed;inset:0}body:not([data-state=home]) .tkview{opacity:1}.tk-title{left:calc(100*var(--u));top:calc(876*var(--u));font-family:var(--mono);font-weight:700;font-size:calc(60*var(--u));color:#fff;line-height:1;position:absolute}.tk-sub{left:calc(100*var(--u));top:calc(956*var(--u));font-family:var(--mono);font-size:calc(24*var(--u));color:#fff;position:absolute}.tk-blurb{left:calc(1292*var(--u));top:calc(876*var(--u));width:calc(528*var(--u));font-family:var(--ui);font-size:calc(20*var(--u));color:#fff;text-align:right;line-height:1.35;position:absolute}.tk-press{left:calc(1669*var(--u));top:calc(955*var(--u));align-items:center;gap:calc(10*var(--u));font-family:var(--mono);font-size:calc(20*var(--u));color:#fff;display:flex;position:absolute}.tk-press .key{height:calc(36*var(--u));width:calc(87*var(--u));margin-top:calc(-6*var(--u))}.menu{z-index:40;-webkit-backdrop-filter:blur(22px);background:#0e0520b8;display:none;position:fixed;inset:0}.menu.on{display:block}.menu-inner{inset:calc(120*var(--u)) calc(100*var(--u));gap:calc(80*var(--u));grid-template-columns:1fr 1fr;display:grid;position:absolute}.menu h2{font-family:var(--mono);font-size:calc(20*var(--u));color:var(--dn-purple,#a968f2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:calc(22*var(--u))}.menu a.ml{align-items:center;gap:calc(18*var(--u));font-family:var(--mono);font-weight:700;font-size:calc(36*var(--u));color:#fff;padding:calc(10*var(--u)) 0;transition:color .2s;display:flex}.menu a.ml:hover{color:#a968f2}.menu a.ml img{width:calc(44*var(--u));height:calc(44*var(--u));object-fit:contain}.menu .field{margin-bottom:calc(16*var(--u));display:block}.menu .field span{font-family:var(--mono);font-size:calc(16*var(--u));color:#9c958d;margin-bottom:calc(6*var(--u));display:block}.menu input{width:100%;height:calc(52*var(--u));border-radius:calc(10*var(--u));corner-shape:squircle;color:#fff;font-family:var(--ui);font-size:calc(18*var(--u));padding:0 calc(16*var(--u));background:#ffffff0d;border:1px solid #ffffff29}.menu button.send{margin-top:calc(10*var(--u));height:calc(52*var(--u));padding:0 calc(28*var(--u));color:#0e0520;border-radius:calc(10*var(--u));corner-shape:squircle;font-family:var(--mono);font-weight:700;font-size:calc(18*var(--u));cursor:pointer;background:#a968f2;border:0}.menu .close{top:calc(46*var(--u));left:calc(100*var(--u));width:calc(56*var(--u));height:calc(56*var(--u));cursor:pointer;font-family:var(--mono);font-size:calc(30*var(--u));color:#fff;background:0 0;border:0;position:absolute}.menu .contactline{font-family:var(--mono);font-size:calc(20*var(--u));color:#fff;margin-bottom:calc(14*var(--u))}.menu .contactline b{color:#9c958d;margin-right:calc(10*var(--u));font-weight:400}body.preload .tile,body.preload .tk,body.preload .homeview,body.preload .tkview,body.preload .pill,body.preload .portrait{transition:none!important}@media (prefers-reduced-motion:reduce){.grain:before{animation:none}.tile,.tk,.homeview,.tkview,.pill,.portrait{transition:none}}@media (prefers-reduced-motion:no-preference){html.intro .portrait{animation:ns-rise-portrait .9s var(--ns-ease) 60ms backwards}html.intro .wordmark{animation:ns-rise .76s var(--ns-ease) .2s backwards}html.intro .tagline{animation:ns-rise .76s var(--ns-ease) .28s backwards}html.intro .tip{animation:ns-rise .7s var(--ns-ease) .38s backwards}html.intro .keys{animation:ns-rise .7s var(--ns-ease) .44s backwards}html.intro .tile{animation:ns-drop .7s var(--ns-ease) backwards}html.intro .tile:first-child{animation-delay:60ms}html.intro .tile:nth-child(2){animation-delay:.12s}html.intro .tile:nth-child(3){animation-delay:.18s}html.intro .tile:nth-child(4){animation-delay:.24s}html.intro .menu-btn{animation:ns-fade .6s var(--ns-ease) .42s backwards}}@keyframes ns-rise-portrait{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:none}}@keyframes ns-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes ns-drop{0%{opacity:0;transform:translateY(-22px)scale(.94)}to{opacity:1;transform:none}}@keyframes ns-fade{0%{opacity:0}to{opacity:1}}
