@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2) format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff) format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/figtree-latin-900-normal-BCLx4uqW.woff2) format("woff2"),url(/assets/figtree-latin-900-normal-BAYHxy6Q.woff) format("woff")}@font-face{font-family:Figtree;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/figtree-latin-900-italic-BW8Eh9xz.woff2) format("woff2"),url(/assets/figtree-latin-900-italic-CndldAy_.woff) format("woff")}:root{--bg: #fef5f0;--rule: #dfc1b0;--vw: 100vw;--u0: calc(min(var(--vw), 1920px) / 1280);--u: var(--u0);--hero-h: 851;--amp-n: 150;--amp-h: 180;--sdh: 2.4;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-pop: cubic-bezier(.34, 1.56, .64, 1)}@media (max-width: 639px){:root{--u0: calc(min(var(--vw), 560px) / 390);--hero-h: 720;--amp-n: 80;--amp-h: 90;--sdh: 0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%}body{background:var(--bg);color:#000;font-family:Figtree,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.band{position:relative;width:100%;height:calc(var(--u) * var(--h))}.frame{position:absolute;inset:0 auto 0 50%;width:calc(var(--u) * 1280);translate:-50% 0}.hero{overflow:hidden}@media (min-width: 640px){.hero{--u: max(calc(var(--u0) * .6), min(var(--u0), calc(100vh / var(--hero-h))))}}@supports (height: 100svh){@media (min-width: 640px){.hero{--u: max(calc(var(--u0) * .6), min(var(--u0), calc(100svh / var(--hero-h))))}}}.nav{display:contents}#projects{scroll-margin-top:calc(var(--u) * 40)}.p{position:absolute;left:calc(var(--u) * var(--x));top:calc(var(--u) * var(--y))}.rule{position:absolute;left:0;right:0;top:calc(var(--u) * var(--y));height:1px;background:var(--rule)}@media (max-width: 639px){.frame{width:calc(var(--u) * 390)}.p{left:calc(var(--u) * var(--mx));top:calc(var(--u) * var(--my))}.rule{top:calc(var(--u) * var(--my))}.band{height:calc(var(--u) * var(--mh))}#projects{scroll-margin-top:calc(var(--u) * 24)}}.t{font-weight:900;line-height:1.2;white-space:pre;color:#000;font-size:calc(var(--u) * var(--fs))}.t-it{font-style:italic}@media (max-width: 639px){.t{font-size:calc(var(--u) * var(--mfs))}}.dbl{font-style:italic;isolation:isolate}.dbl .front{display:block;position:relative}.dbl .back{position:absolute;left:0;top:0;z-index:-1;color:#000;translate:calc(var(--u) * var(--dx)) calc(var(--u) * var(--dy));transition:translate .25s var(--ease-out)}@media (max-width: 639px){.dbl .back{translate:calc(var(--u) * var(--mdx)) calc(var(--u) * var(--mdy))}}@media (hover: hover){.dbl:hover .back{translate:calc(var(--u) * (var(--dx) + 4)) calc(var(--u) * (var(--dy) + 3))}}.hero-img{position:absolute;max-width:none;display:block;width:calc(var(--u) * var(--w));height:calc(var(--u) * var(--h));object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 639px){.hero-img{width:calc(var(--u) * var(--mw));height:calc(var(--u) * var(--mh))}}.btn{display:flex;align-items:center;justify-content:center;width:calc(var(--u) * 195);height:calc(var(--u) * 63);border-radius:calc(var(--u) * 15);background:var(--c);color:#000;text-decoration:none;font-weight:700;font-size:calc(var(--u) * 28);line-height:1;white-space:nowrap;box-shadow:calc(var(--u) * 6) calc(var(--u) * 5) 0 #000;transform-origin:0 0;-webkit-tap-highlight-color:transparent;transition:translate .15s var(--ease-out),box-shadow .15s var(--ease-out)}.btn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}@media (max-width: 639px){.btn{scale:var(--mbs, 1)}}@media (hover: hover){.btn:hover{translate:calc(var(--u) * -2) calc(var(--u) * -2);box-shadow:calc(var(--u) * 8) calc(var(--u) * 7) 0 #000}}.btn:active{translate:calc(var(--u) * 6) calc(var(--u) * 5);box-shadow:0 0 #000;transition-duration:.06s}.circ{display:block;width:calc(var(--u) * 59);height:calc(var(--u) * 59);transform-origin:0 0;-webkit-tap-highlight-color:transparent}.circ:before{content:"";position:absolute;left:calc(var(--u) * 3);top:calc(var(--u) * 3);width:calc(var(--u) * 56);height:calc(var(--u) * 56);border-radius:50%;background:#000}.circ:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.circ-face{position:absolute;left:0;top:0;width:calc(var(--u) * 56);height:calc(var(--u) * 56);border-radius:50%;background:var(--c);transition:translate .15s var(--ease-out)}.circ-face svg{position:absolute;display:block;left:calc(var(--u) * var(--gx));top:calc(var(--u) * var(--gy));width:calc(var(--u) * var(--gs));height:calc(var(--u) * var(--gs))}@media (max-width: 639px){.circ{scale:.6}}@media (hover: hover){.circ:hover .circ-face{translate:calc(var(--u) * -2) calc(var(--u) * -2)}.circ:hover .circ-face svg{animation:wiggle .4s var(--ease-pop)}}.circ:active .circ-face{translate:calc(var(--u) * 3) calc(var(--u) * 3);transition-duration:.06s}@keyframes wiggle{0%{rotate:0deg}30%{rotate:-14deg}60%{rotate:8deg}to{rotate:0deg}}.btn:focus-visible,.circ:focus-visible,.card:focus-visible{outline:3px solid #000;outline-offset:5px}.panel{--ox: var(--sx);--oy: var(--sy);position:absolute;width:calc(var(--u) * var(--w));height:calc(var(--u) * var(--h))}.panel-shadow{position:absolute;width:100%;left:calc(var(--u) * var(--ox));top:calc(var(--u) * var(--oy));height:calc(100% + var(--u) * 1);background:#b88dff;border-radius:calc(var(--u) * 15)}.panel-face{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;border-radius:calc(var(--u) * 15)}@media (max-width: 639px){.panel{--ox: var(--msx);--oy: var(--msy);width:calc(var(--u) * var(--mw));height:calc(var(--u) * var(--mh))}}.card{--ox: 11.52;--oy: 10.95;position:absolute;display:block;width:calc(var(--u) * var(--w));height:calc(var(--u) * var(--h));border-radius:calc(var(--u) * 15);color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.card-shadow{position:absolute;width:100%;left:calc(var(--u) * var(--ox));top:calc(var(--u) * var(--oy));height:calc(100% + var(--u) * var(--sdh));background:#000;border:max(1px,calc(var(--u) * 1)) solid #000;border-radius:calc(var(--u) * 15)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--fbg, #fff);border:max(1px,calc(var(--u) * 1)) solid #000;border-radius:calc(var(--u) * 15);transition:translate .2s var(--ease-out)}.card-face img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:var(--fit, cover);object-position:var(--pos, 50% 0)}.card-chip{position:absolute;z-index:2;right:calc(var(--u) * 24);bottom:calc(var(--u) * 24);display:inline-flex;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 12) calc(var(--u) * 20);background:#f7cb46;color:#000;border:max(1px,calc(var(--u) * 2)) solid #000;border-radius:999px;box-shadow:calc(var(--u) * 4) calc(var(--u) * 4) 0 #000;font-weight:700;font-size:calc(var(--u) * 22);line-height:1;white-space:nowrap;opacity:0;translate:0 calc(var(--u) * 10);transition:opacity .2s ease,translate .25s var(--ease-out)}.card-chip svg{width:calc(var(--u) * 22);height:calc(var(--u) * 22);transition:translate .2s var(--ease-out)}.card:focus-visible .card-chip{opacity:1;translate:0 0}@media (hover: hover){.card:hover .card-face{translate:calc(var(--u) * -4) calc(var(--u) * -4)}.card:hover .card-chip{opacity:1;translate:0 0}.card:hover .card-chip svg{translate:calc(var(--u) * 2) calc(var(--u) * -2)}}.card:active .card-face{translate:calc(var(--u) * var(--ox)) calc(var(--u) * var(--oy));transition-duration:.08s}@media (hover: none){.card-chip{opacity:1;translate:0 0}}@media (max-width: 639px){.card{--ox: 6;--oy: 6;width:calc(var(--u) * var(--mw));height:calc(var(--u) * var(--mh))}.card-chip{right:calc(var(--u) * 10);bottom:calc(var(--u) * 10);gap:calc(var(--u) * 5);padding:calc(var(--u) * 6) calc(var(--u) * 11);font-size:calc(var(--u) * 13);box-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 #000}.card-chip svg{width:calc(var(--u) * 13);height:calc(var(--u) * 13)}}@keyframes enter-l{0%{opacity:0;transform:translate(calc(var(--u) * -60))}}@keyframes enter-r{0%{opacity:0;transform:translate(calc(var(--u) * 60))}}@keyframes enter-up{0%{opacity:0;transform:translateY(calc(var(--u) * 26))}}@keyframes pop-back{0%{translate:0 0}}@keyframes snap-out{0%{translate:calc(var(--u) * var(--ox)) calc(var(--u) * var(--oy))}}.js .card,.js .panel-face{transition-property:opacity,translate}.js .card:not(.is-in){opacity:0}.js .card{transition:opacity .45s ease,translate .6s var(--ease-out)}@media (prefers-reduced-motion: no-preference){.js .enter-l{animation:enter-l .8s var(--ease-out) both}.js .enter-r{animation:enter-r .8s var(--ease-out) .08s both}.js .enter-up{animation:enter-up .7s var(--ease-out) var(--d, 0s) both}.js .dbl:not(.is-in) .back{translate:0 0}.js .dbl.is-in .back{animation:pop-back .55s var(--ease-pop) var(--bd, .1s) backwards}.js .hero .dbl.is-in .back{--bd: .55s}.js .card:not(.is-in){translate:0 calc(var(--u) * 36)}.js .card:not(.is-in) .card-face{translate:calc(var(--u) * var(--ox)) calc(var(--u) * var(--oy))}.js .card.is-in .card-face{animation:snap-out .6s var(--ease-pop) .2s backwards}.js .panel:not(.is-in) .panel-face{translate:calc(var(--u) * var(--ox)) calc(var(--u) * var(--oy))}.js .panel.is-in .panel-face{animation:snap-out .6s var(--ease-pop) .1s backwards}}@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){.hero .hero-img{translate:calc(var(--px, 0) * var(--u) * 7) calc(var(--py, 0) * var(--u) * 4);transition:translate .45s var(--ease-out)}.hero .dbl{translate:calc(var(--px, 0) * var(--u) * -5) calc(var(--py, 0) * var(--u) * -3);transition:translate .45s var(--ease-out)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.btn,.circ-face,.card-face,.card-chip,.dbl .back{transition-duration:.01ms!important}}.progress{position:fixed;z-index:100;left:0;top:0;width:100%;height:max(4px,calc(var(--u0) * 6));background:linear-gradient(90deg,#2ed1a3,#b88dff 55%,#f7cb46);border-bottom:2px solid #000;transform-origin:0 50%;transform:scaleX(var(--sp, 0));opacity:min(1,calc(var(--sp, 0) * 60));pointer-events:none}.ch{display:inline-block;white-space:pre}@media (prefers-reduced-motion: no-preference){.js .hero .dbl.enter-l{transform:translate(calc(var(--hp, 0) * var(--u) * var(--amp-n) * -1)) rotate(calc(var(--hp, 0) * -3deg))}.js .hero .dbl.enter-r{transform:translate(calc(var(--hp, 0) * var(--u) * var(--amp-n))) rotate(calc(var(--hp, 0) * 3deg))}.js .hero .hero-img{transform:translateY(calc(var(--hp, 0) * var(--u) * 80)) scale(calc(1 + var(--hp, 0) * .07));transform-origin:50% 100%}.js .hero .tag,.js .hero .cta{transform:translateY(calc(var(--hp, 0) * var(--u) * -70));opacity:max(0,calc(1 - var(--hp, 0) * 1.5))}.js .dbl[data-drift]{transform:translate(calc((1 - var(--dp, 1)) * var(--dir, 1) * var(--u) * var(--amp-h))) rotate(calc((1 - var(--dp, 1)) * var(--dir, 1) * 5deg));transform-origin:50% 100%}.js .panel[data-drift]{transform:scale(calc(.86 + var(--dp, 1) * .14)) rotate(calc((1 - var(--dp, 1)) * -2.5deg));transform-origin:50% 60%}.js .split:not(.is-in) .ch{opacity:0;transform:translateY(.45em) rotate(9deg)}.js .split.is-in .ch{transition:transform .7s var(--ease-pop) calc(var(--i) * 45ms + .1s),opacity .35s ease calc(var(--i) * 45ms + .1s)}.js .dbl.split.is-in .back{--bd: .5s}.js .card{transform:perspective(calc(var(--u) * 1500)) rotateX(calc(var(--ct, 0) * 1deg)) scale(var(--cs, 1));will-change:transform}.js .card img.cover{scale:1.09;translate:0 calc(var(--cp, 0) * -3.2%);transition:scale .5s var(--ease-out)}}@media (hover: hover) and (prefers-reduced-motion: no-preference){.js .card:hover img.cover{scale:1.14}}
