@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bitter-cyrillic-ext-400-normal.43guzvxc5e8k-.woff2)format("woff2"),url(../media/bitter-cyrillic-ext-400-normal.1ltg14r64pl0r.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bitter-cyrillic-400-normal.20etdyilhwv7s.woff2)format("woff2"),url(../media/bitter-cyrillic-400-normal.2u5qgo8bpdx1i.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bitter-vietnamese-400-normal.2xfl5nso990tz.woff2)format("woff2"),url(../media/bitter-vietnamese-400-normal.0lskrxz64oud2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bitter-latin-ext-400-normal.0a1l8g_ryz3yt.woff2)format("woff2"),url(../media/bitter-latin-ext-400-normal.23ukwo2gkuxcl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bitter-latin-400-normal.3ehmiuytjadav.woff2)format("woff2"),url(../media/bitter-latin-400-normal.1mkvqe83kk44j.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-cyrillic-ext-700-normal.0vpezuhbpqpvu.woff2)format("woff2"),url(../media/bitter-cyrillic-ext-700-normal.0gbl04wo06fra.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-cyrillic-700-normal.1x9bk9zs0ixbg.woff2)format("woff2"),url(../media/bitter-cyrillic-700-normal.0jqt2ieyly50f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-vietnamese-700-normal.2gtz4tsoo7d8m.woff2)format("woff2"),url(../media/bitter-vietnamese-700-normal.40u-fyf24jd0-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-latin-ext-700-normal.1vp87-8r7cl5a.woff2)format("woff2"),url(../media/bitter-latin-ext-700-normal.06nep8szet_bw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/bitter-latin-700-normal.0zsxnyx6aid4h.woff2)format("woff2"),url(../media/bitter-latin-700-normal.1meunfqod_e53.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.1zrieox9119mb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2whpih27xg_2r.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.1xlj4-0oa5zql.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1fxkn-ggzj93z.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.1ahvy37o8m5gt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.2ktx6yqc-sbf1.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0rpdhg_4ubdtf.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fcf7fb;--line:#8a1fd6;--fill:#f6c4dc;--text:#2a0f4f;--subtext:#e08cb5;--muted:#6e6576;--frame:#fff;--f-display:"Bitter", Rockwell, Georgia, serif;--f-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--frame-w:20px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);font-family:var(--f-body);line-height:1;overflow-x:hidden}a{color:inherit}:focus-visible{outline:3px solid var(--line);outline-offset:4px;border-radius:4px}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.frame{background:var(--frame);z-index:2000;pointer-events:none;position:fixed}.frame--t{height:calc(var(--frame-w) + env(safe-area-inset-top,0px));top:0;left:0;right:0}.frame--b{height:calc(var(--frame-w) + env(safe-area-inset-bottom,0px));bottom:0;left:0;right:0}.frame--l{width:calc(var(--frame-w) + env(safe-area-inset-left,0px));top:0;bottom:0;left:0}.frame--r{width:calc(var(--frame-w) + env(safe-area-inset-right,0px));top:0;bottom:0;right:0}.pagewrap{margin:var(--frame-w);margin-left:calc(var(--frame-w) + env(safe-area-inset-left,0px));margin-right:calc(var(--frame-w) + env(safe-area-inset-right,0px));background:var(--bg);min-height:calc(100vh - 2 * var(--frame-w));position:relative;overflow:hidden}.page{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-bottom:100px}@media (min-width:512px){.page{padding-left:max(60px, env(safe-area-inset-left,0px));padding-right:max(60px, env(safe-area-inset-right,0px))}}.section{max-width:1200px;margin:0 auto;padding-inline:40px}@media (max-width:1000px){.section{padding-inline:0}}[data-shade]{will-change:transform;transition:transform 1.5s ease-out}.s{fill:none;stroke:var(--line);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.s-thin{stroke-width:2px}.dash{stroke-dasharray:6 6}.f{fill:var(--fill)}.fl{fill:var(--line)}.fb{fill:var(--bg)}.fd{fill:url(#dots)}.mainnav{z-index:1500;top:calc(30px + env(safe-area-inset-top,0px));left:calc(65px + env(safe-area-inset-left,0px));align-items:center;display:flex;position:fixed}.logo{width:90px;height:90px;display:block;position:relative}.logo svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.menu-link{align-items:center;margin-left:16px;display:flex}.menu-link:before{content:"";background:var(--muted);width:1px;height:26px;margin-right:16px;animation:.45s cubic-bezier(.25,.46,.45,.94) .3s backwards menuBarIn}.menu-trigger{cursor:pointer;width:110px;height:20px;color:var(--text);font:700 12px/20px var(--f-body);letter-spacing:4px;text-transform:uppercase;text-align:left;background:0 0;border:0;padding:0;transition:letter-spacing .12s;position:relative;overflow:hidden}.menu-trigger:hover{letter-spacing:6px}.menu-trigger span{height:20px;transition:transform .25s cubic-bezier(.175,.885,.32,1.3);display:block}.menu-open .menu-trigger span{transform:translateY(-20px)}.hire-me{z-index:1500;top:calc(57px + env(safe-area-inset-top,0px));right:calc(65px + env(safe-area-inset-right,0px));font:700 12px/18px var(--f-body);letter-spacing:4px;text-transform:uppercase;color:var(--text);align-items:center;gap:12px;text-decoration:none;transition:letter-spacing .12s;display:flex;position:fixed}.hire-me:hover{letter-spacing:6px}.hire-me svg{width:35px;height:35px;overflow:visible}@keyframes menuBarIn{0%{transform:scaleY(0)}}.main-menu{z-index:1400;visibility:hidden;position:fixed;inset:0}.menu-open .main-menu{visibility:visible}.main-menu__mask{background:var(--fill);transition:transform .7s cubic-bezier(.165,.84,.44,1);position:absolute;inset:0;transform:translateY(-100%)}.menu-open .main-menu__mask{transform:none}.main-menu__flyout{padding:calc(180px + env(safe-area-inset-top,0px)) max(55px, env(safe-area-inset-right,0px)) 80px max(85px, env(safe-area-inset-left,0px));position:absolute;inset:0;overflow:auto}.social-links{align-items:center;gap:40px;margin:0 0 50px;padding:0 0 0 120px;list-style:none;display:flex;position:relative}.social-links:after{content:"";background:var(--line);transform-origin:0;width:80px;height:3px;margin-top:-2px;position:absolute;top:50%;left:0}.menu-open .social-links:after{animation:.25s cubic-bezier(.45,.85,.35,.85) both menuLineIn}.social-links a{opacity:0;width:22px;height:22px;color:var(--text);display:block}.social-links svg{width:100%;height:100%}.menu-open .social-links a{opacity:1;transition:opacity .5s ease-out .3s}.social-links a:hover{color:var(--line)}.primary-links{margin:0;padding:0;list-style:none}.primary-links li{opacity:0;flex-wrap:wrap;align-items:baseline;gap:4px 0;display:flex;transform:translateY(-5px)}.primary-links li+li{margin-top:28px}.menu-open .primary-links li{opacity:1;transition:all .7s ease-out;transform:none}.menu-open .primary-links li:first-child{transition-delay:.75s}.menu-open .primary-links li:nth-child(2){transition-delay:1s}.menu-open .primary-links li:nth-child(3){transition-delay:1.25s}.menu-open .primary-links li:nth-child(4){transition-delay:1.5s}.primary-links a{width:360px;font:700 60px/1.25 var(--f-display);letter-spacing:-.01em;color:var(--text);text-decoration:none}.primary-links a:hover{color:var(--bg)}.primary-links small{font:400 18px/1.4 var(--f-body);color:var(--text)}@keyframes menuLineIn{0%{opacity:0;transform:translate(500%)scaleX(5)}1%{opacity:1}to{opacity:1;transform:none}}.masthead{height:100vh;min-height:600px;max-height:1000px;position:relative}.avatar-bg{z-index:0;position:absolute;inset:0}.bar{opacity:.75;background:repeating-linear-gradient(45deg,var(--fill) 0 3px,transparent 3px 8px);width:80vw;max-width:840px;height:240px;position:absolute;top:35%;left:65%;overflow:hidden;transform:translate(-50%)}.bar:before,.bar:after{content:"";background:var(--bg);width:50%;height:100%;animation:.7s cubic-bezier(.23,1,.32,1) 1s backwards barReveal;position:absolute;top:0}.bar:before{left:0;transform:translate(-100%)}.bar:after{right:0;transform:translate(100%)}@keyframes barReveal{0%{transform:translate(0)}}.avatar{aspect-ratio:460/478;perspective:1000px;width:60vw;max-width:575px;position:absolute;top:45%;left:70%;transform:translate(-50%,-50%)}.avatar .layer,.avatar svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.avatar__animwrap{transform-origin:bottom;cursor:pointer;animation:1.4s cubic-bezier(.215,.61,.355,1) .45s backwards avatarIn;position:absolute;inset:0}@keyframes avatarIn{0%{transform:scale(.6,.4)}35%{transform:scale(1.12,.92)}60%{transform:scale(.96,1.05)}80%{transform:scale(1.02,.98)}to{transform:none}}.head__y{animation:2.5s ease-in-out infinite alternate breathHead}.body-breath{animation:2.5s ease-in-out infinite alternate breathBody}@keyframes breathHead{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes breathBody{0%{transform:translateY(2px)}to{transform:none}}.head__yaw,.head__rotation,.face-tilt,.hair-back{transform-origin:50% 80%;will-change:transform;transition:transform .35s ease-out}.eyes__dots{transition:transform .1s ease-out}.brows{transition:transform .36s ease-in-out}.glasses{transition:transform .55s cubic-bezier(.3,1.45,.5,1)}.is-cool .glasses{transform:translateY(160px)}.grin,.is-cool .pout{display:none}.is-cool .grin{display:inline}.lid{transform-box:fill-box;transform-origin:50%;animation:5s infinite blink}@keyframes blink{0%,94%,to{transform:scaleY(1)}96.5%{transform:scaleY(.08)}}.dizzy .head__rotation{animation:1.5s ease-in-out infinite alternate dizzySway}.dizzy .eyes__dots--l{animation:1.2s linear infinite dizzyL}.dizzy .eyes__dots--r{animation:1.2s linear infinite reverse dizzyR}@keyframes dizzySway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes dizzyL{0%{transform:translate(4px)}25%{transform:translateY(3px)}50%{transform:translate(-4px)}75%{transform:translateY(-3px)}to{transform:translate(4px)}}@keyframes dizzyR{0%{transform:translate(4px)}25%{transform:translateY(3px)}50%{transform:translate(-4px)}75%{transform:translateY(-3px)}to{transform:translate(4px)}}.page-header__inr{z-index:1;pointer-events:none;align-items:center;height:100%;display:flex;position:relative}.page-header__content{pointer-events:auto;width:50%;max-width:600px;position:relative}h1,h2,h3{font-family:var(--f-display);color:var(--text);text-wrap:balance;margin:0;font-weight:700}.t-outline{text-shadow:-1px -1px var(--bg),0 -1px var(--bg),1px -1px var(--bg),-1px 0 var(--bg),1px 0 var(--bg),-1px 1px var(--bg),0 1px var(--bg),1px 1px var(--bg),-2px -2px var(--bg),0 -2px var(--bg),2px -2px var(--bg),-2px 0 var(--bg),2px 0 var(--bg),-2px 2px var(--bg),0 2px var(--bg),2px 2px var(--bg),-3px -3px var(--bg),0 -3px var(--bg),3px -3px var(--bg),-3px 0 var(--bg),3px 0 var(--bg),-3px 3px var(--bg),0 3px var(--bg),3px 3px var(--bg)}.page-header__title{font-size:80px;font-weight:400;line-height:1;animation:.6s ease-out .1s backwards fadeInSlide}.page-header__title b{font-weight:700}.dot{color:var(--subtext)}.page-header__lede{font:400 22px/1.6 var(--f-display);max-width:500px;margin:26px 0 0;animation:.6s ease-out .2s backwards fadeInSlide}.page-header__scroll{color:var(--muted);text-transform:uppercase;flex-direction:column;align-items:center;gap:22px;font-size:12px;text-decoration:none;display:flex;position:absolute;top:calc(100% + 60px);left:220px;transform:translate(-50%)}.page-header__scroll .word{animation:1s ease-out 1s backwards fadeInSlide}.page-header__scroll .word span{margin:0 1px;animation:8s ease-in-out infinite scrollBob;display:inline-block}.page-header__scroll:after{content:"";background:var(--muted);opacity:.55;width:1px;height:150px}@keyframes scrollBob{0%,6%,to{transform:none}3%{transform:translateY(-6px)}}.page-header__eyebrow{font:700 12px/1 var(--f-body);letter-spacing:4px;text-transform:uppercase;color:var(--line);align-items:center;gap:12px;margin:0 0 22px;animation:.6s ease-out backwards fadeInSlide;display:flex}.pulse{background:var(--line);border-radius:50%;width:10px;height:10px;position:relative}.pulse:after{content:"";border:2px solid var(--line);border-radius:50%;animation:2s ease-out infinite pulse;position:absolute;inset:0}@keyframes pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.page-header__stack{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;animation:.6s ease-out .3s backwards fadeInSlide;display:flex}.page-header__stack li{border:2px solid var(--line);background:var(--bg);font:700 13px/1 var(--f-body);color:var(--line);border-radius:999px;padding:6px 12px}.page-header__actions{align-items:center;gap:14px;animation:.6s ease-out .4s backwards fadeInSlide;display:flex}.page-header__actions .btn{margin:28px 10px 0 0}.icon-link{border:3px solid var(--line);background:var(--bg);width:52px;height:52px;color:var(--line);border-radius:50%;place-items:center;margin-top:28px;transition:background .15s,transform .15s;display:grid}.icon-link svg{width:22px;height:22px}.icon-link:hover{background:var(--fill);transform:translateY(-2px)}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(8px)}}.panels{margin:250px auto;display:flex}.panels__main{width:50%}.article-heading__title{margin-bottom:60px;font-size:60px;line-height:1.125;position:relative}.article-heading__title:before{content:"";background:var(--subtext);transform-origin:0;width:80px;height:3px;position:absolute;bottom:-30px;left:0}.is-onscreen .article-heading__title:before{animation:.25s cubic-bezier(.45,.85,.35,.85) .3s both lineIn}@keyframes lineIn{0%{opacity:0;transform:translate(500%)scaleX(5)}1%{opacity:1}to{opacity:1;transform:none}}.flow p{font:400 18px/1.65 var(--f-body);color:var(--text);margin:25px 0}.flow p:first-child{margin-top:0}.flow b{font-weight:700}.btn{font:700 18px/1 var(--f-body);text-align:center;margin:30px 0;text-decoration:none;display:inline-block;position:relative}.btn__label{z-index:2;color:var(--line);border:3px solid var(--line);border-radius:8px;padding:15px 45px;display:inline-block;position:relative}.btn__fill{z-index:1;opacity:.75;background:repeating-linear-gradient(45deg,var(--fill) 0 3px,transparent 3px 8px);border-radius:8px;transition:transform 1.5s ease-out,background .15s ease-out;position:absolute;inset:4px}.btn:hover .btn__fill{background:var(--fill)}.btns{flex-wrap:wrap;gap:24px;display:flex}.btns .btn{margin:30px 0 0}.dot-header{margin-top:120px;position:relative}.dot-header__content{z-index:1;width:50%;position:relative}.dot-header h2{margin-bottom:20px;font-size:38px;line-height:1.125}.dot-header p{font:400 18px/1.65 var(--f-body);margin:0}.dots{background:radial-gradient(circle,var(--fill) 2.4px,transparent 2.8px) 0 0/12px 12px,radial-gradient(circle,var(--fill) 2.4px,transparent 2.8px) 6px 6px/12px 12px;opacity:.9;width:40%;height:100%;position:absolute;top:0;left:65%}.project-promo{margin:120px auto}.project{padding-bottom:30px;display:flex;position:relative}.project+.project{margin-top:50px}.project:not(:last-child):after{content:"";background:var(--text);opacity:.275;height:1px;position:absolute;bottom:-1px;left:0;right:0}.project__header{width:40%;margin-right:20px}.illustration{max-width:400px;margin:-20px auto 0;position:relative}.illustration svg{width:100%;height:auto;display:block;overflow:visible}.project__details{width:60%;margin-left:auto}.project h3{margin-bottom:10px;font-size:38px;line-height:1.125}.project .meta{font:600 14px/1.25 var(--f-body);text-transform:uppercase;letter-spacing:.075em;color:var(--subtext);margin-bottom:14px;display:block}.made-in{text-align:center;letter-spacing:.02em;color:var(--muted);margin:0 0 20px;font-size:12px;display:block}@media (min-width:1320px){.made-in{z-index:1500;transform-origin:0 100%;bottom:84px;left:calc(55px + env(safe-area-inset-left,0px));white-space:nowrap;margin:0;position:fixed;transform:rotate(-90deg)}.made-in:before{content:"";vertical-align:middle;background:var(--muted);width:25px;height:1px;margin-right:15px;display:inline-block}}.reveal-content{opacity:1;transition:opacity .75s ease-out .2s,transform .75s ease-out .2s;transform:none}.reveal-content.pending{opacity:.001;transform:translateY(5px)}@media (min-width:1001px) and (max-width:1200px){.bar{max-width:65vw;height:200px;left:60%}.avatar{width:50vw;max-width:485px;left:70%}.page-header__title{font-size:72px}}@media (max-width:1000px){.masthead{height:auto;min-height:0;max-height:none;padding-top:110px}.avatar-bg{height:45vh;min-height:300px;position:relative}.bar{height:25vw;max-height:200px;top:40%;left:50%}.avatar{width:auto;max-width:90vw;height:100%;top:0;left:50%;transform:translate(-50%)}.page-header__inr{justify-content:center;height:auto;padding-top:30px}.page-header__content{text-align:center;width:100%}.page-header__title{font-size:60px}.page-header__lede{margin-inline:auto;font-size:19px}.page-header__eyebrow,.page-header__stack,.page-header__actions{justify-content:center}.page-header__scroll{width:max-content;margin:40px auto 0;position:relative;bottom:auto;left:auto;transform:none}.page-header__scroll:after{height:160px}.panels{margin:120px auto}.panels__main,.dot-header__content{width:100%;max-width:580px;margin-inline:auto}.dots{display:none}.dot-header{margin-top:60px}.article-heading__title{font-size:42px}.mainnav{left:calc(30px + env(safe-area-inset-left,0px))}.hire-me{right:calc(30px + env(safe-area-inset-right,0px))}}@media (max-width:650px){.project{flex-direction:column}.project__header,.project__details{width:100%;margin:0}.illustration{max-width:320px;margin:0 auto 20px}}@media (max-width:512px){:root{--frame-w:10px}.mainnav{top:calc(20px + env(safe-area-inset-top,0px));left:calc(20px + env(safe-area-inset-left,0px))}.logo{width:56px;height:56px}.hire-me{top:calc(38px + env(safe-area-inset-top,0px));right:calc(22px + env(safe-area-inset-right,0px))}.hire-me svg{display:none}.masthead{padding-top:90px}.page-header__title{font-size:46px}.page-header__eyebrow{letter-spacing:2px;font-size:11px}.article-heading__title{font-size:38px}.article-heading__title:before{width:50px;bottom:-23px}.dot-header h2,.project h3{font-size:28px}.flow p,.dot-header p{font-size:16px}.main-menu__flyout{padding:110px 24px 50px}.social-links{padding-left:80px}.social-links:after{width:60px}.primary-links a{width:100%;font-size:40px}.btn__label{padding:14px 30px}.s{stroke-width:2.5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}body{margin:0}.page{padding-bottom:0}.pagewrap{margin-bottom:0}.work{--w-bg:#fcf7fb;--w-card:#fff;--w-line:#ecd9ea;--w-text:#2a0f4f;--w-sub:#6e6576;--w-violet:#8a1fd6;--w-rose:#b8336f;--w-magenta:#c04ea0;--w-pink:#f6c4dc;background:var(--w-bg);color:var(--w-text);font-family:"Inter Variable",var(--f-body);padding:150px 0 0;line-height:1.5;position:relative;overflow:hidden}.work:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#f6c4dc8c,#0000);width:min(900px,100vw);height:520px;position:absolute;top:0;left:50%;transform:translate(-50%)}.work:after{content:"";pointer-events:none;background-image:radial-gradient(#8a1fd624 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 55%);mask-image:linear-gradient(#000,#0000 55%)}.work__inner,.work__foot{z-index:1;position:relative}.work__inner{max-width:1180px;margin:0 auto;padding:0 24px}.work__head{text-align:center;flex-direction:column;align-items:center;display:flex}.dpill{color:var(--w-rose);background:#fff;border:1px solid #b8336f40;border-radius:999px;align-items:center;gap:8px;margin:0 0 26px;padding:6px 14px;font-size:14px;font-weight:500;display:inline-flex}.dpill__dot{background:var(--w-rose);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #b8336f26}.work__title{max-width:900px;font:700 clamp(36px,6vw,64px)/1.15 var(--f-display);letter-spacing:-.02em;color:var(--w-text);text-wrap:balance;margin:0}.dchip{color:var(--w-violet);box-shadow:-5px 5px 0 var(--w-pink);background:#8a1fd612;border:2px solid #8a1fd64d;border-radius:16px;align-items:center;padding:2px 12px;display:inline-flex}.dbrace{color:var(--w-rose)}.dgrad{background:linear-gradient(90deg,var(--w-violet),var(--w-magenta));color:#0000;-webkit-background-clip:text;background-clip:text}.work__sub{max-width:620px;color:var(--w-sub);margin:24px 0 0;font-size:18px;line-height:1.75}.dstats{border:1px solid var(--w-line);color:var(--w-sub);background:#fff;border-radius:999px;flex-wrap:wrap;justify-content:center;margin:40px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.dstats>li{padding:12px 24px}.dstats>li+li{border-left:1px solid var(--w-line)}.dstats b{color:var(--w-text);font-weight:600}.pgrid{grid-template-columns:repeat(2,1fr);gap:28px;margin:72px 0 0;display:grid}.pcard{--c:var(--w-violet);border:2px solid var(--w-line);background:var(--w-card);color:var(--w-text);border-radius:20px;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s,opacity .6s ease-out;display:flex;position:relative;overflow:hidden}.pcard--rose{--c:var(--w-rose)}.pcard--pink{--c:var(--w-magenta)}.pcard:hover,.pcard:focus-within{border-color:var(--c);box-shadow:-8px 8px 0 color-mix(in srgb,var(--c) 22%,transparent);transform:translate(3px,-3px)}.pcard__thumb{--line:var(--c);--fill:color-mix(in srgb,var(--c) 20%,white);--bg:#fff;--muted:#b9a7c4;aspect-ratio:16/9;border:1px solid var(--w-line);background:radial-gradient(circle at 50% 45%,#fff 0 28%,#0000 62%),repeating-linear-gradient(45deg,#f6c4dc73 0 3px,#0000 3px 9px),#fcf7fb;border-radius:12px;place-items:center;margin:12px 12px 0;display:grid}.pcard__thumb svg{width:62%;height:auto;max-height:85%;overflow:visible}.pcard__body{flex-direction:column;flex:1;gap:10px;padding:20px 22px 24px;display:flex}.pcard__year{color:var(--w-sub);font-size:13px}.pcard h3{font:700 23px/1.3 var(--f-display);color:var(--w-text);margin:0}.pcard p{color:var(--w-sub);margin:0;font-size:15px;line-height:1.65}.pcard__tags{flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pcard__tags li{color:var(--w-violet);background:#8a1fd612;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500}.pcard__facts{border:1px solid var(--w-line);background:#fcf7fb;border-radius:12px;gap:8px;margin:4px 0 0;padding:12px 14px;display:grid}.pcard__facts div{grid-template-columns:84px 1fr;gap:10px;display:grid}.pcard__facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--c);padding-top:2px;font-size:12px;font-weight:600}.pcard__facts dd{color:#4a3a5c;margin:0;font-size:14px;line-height:1.55}.pcard__links{gap:18px;margin-top:auto;padding-top:12px;display:flex}.pcard__links a{min-height:44px;color:var(--c);text-underline-offset:4px;align-items:center;gap:6px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.pcard__links a:hover{text-decoration:underline}.pcard__links a span{transition:transform .2s}.pcard__links a:hover span{transform:translate(2px,-2px)}.dcta{text-align:center;border:2px solid var(--w-line);background:radial-gradient(circle at 50% 0,#f6c4dc80,#0000 65%),#fff;border-radius:28px;flex-direction:column;align-items:center;max-width:760px;margin:120px auto 0;padding:56px 24px;display:flex}.dcta__title{font:700 clamp(30px,4.5vw,46px)/1.15 var(--f-display);color:var(--w-text);margin:0}.dcta p{color:var(--w-sub);margin:14px 0 0;font-size:17px}.dcta__btns{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.dbtn{border:2px solid var(--w-line);min-height:48px;color:var(--w-text);font:600 16px/1 "Inter Variable",var(--f-body);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:12px 22px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:inline-flex}.dbtn svg{width:18px;height:18px}.dbtn:hover{border-color:var(--w-violet);box-shadow:-5px 5px 0 var(--w-pink);transform:translate(2px,-2px)}.dbtn--primary{color:#fff;background:linear-gradient(135deg,#8a1fd6,#c04ea0);border-color:#0000}.work__foot{border-top:1px solid var(--w-line);text-align:center;color:var(--w-sub);margin-top:96px;padding:28px 24px 48px;font-size:14px}@media (max-width:800px){.pgrid{grid-template-columns:1fr}.work{padding-top:110px}}@media (max-width:640px){.dstats{border-radius:20px}.dstats>li{width:100%}.dstats>li+li{border-left:0;border-top:1px solid var(--w-line)}}.skip-link{z-index:3000;background:var(--text);color:#fff;font:700 14px/1 var(--f-body);border-radius:10px;padding:12px 18px;text-decoration:none;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.work:focus{outline:none}.reveal{transition:opacity .7s ease-out,transform .7s cubic-bezier(.215,.61,.355,1)}.reveal.is-hidden{opacity:0;transform:translateY(24px)}@media (prefers-reduced-motion:reduce){.reveal.is-hidden{opacity:1;transform:none}}body:before{content:"";z-index:1400;pointer-events:none;opacity:0;background:linear-gradient(var(--bg) 55%,#fcf7fb00);height:130px;transition:opacity .35s;position:fixed;top:0;left:0;right:0}body.nav-over:not(.menu-open):before{opacity:1}.pfilters{flex-wrap:wrap;justify-content:center;gap:8px;margin:64px 0 0;display:flex}.pfilter{border:2px solid var(--w-line);min-height:44px;color:var(--w-text);font:600 15px/1 "Inter Variable",var(--f-body);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.pfilter:hover{border-color:var(--w-violet);transform:translateY(-1px)}.pfilter[aria-pressed=true]{border-color:var(--w-violet);background:var(--w-violet);color:#fff}.pfilter__count{background:#8a1fd61a;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;display:grid}.pfilter[aria-pressed=true] .pfilter__count{background:#ffffff38}.pgrid{margin-top:28px}.pgrid>.pcard{animation:.45s cubic-bezier(.215,.61,.355,1) backwards cardIn}.pgrid>.pcard:nth-child(2){animation-delay:60ms}.pgrid>.pcard:nth-child(3){animation-delay:.12s}.pgrid>.pcard:nth-child(4){animation-delay:.18s}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}}.pcard--featured{grid-template-columns:1.15fr 1fr;margin-top:40px;display:grid}.pcard--featured h3{font-size:32px}.pcard__thumb{position:relative;overflow:hidden}.pcard__thumb img{object-fit:cover}.pcard__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pcard__star{background:var(--w-violet);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.status{border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status--produccion{color:#1d7a4a}.status--progreso{color:#9a5b00}.status--experimento{color:var(--w-violet)}.pcard__stretch{color:inherit;text-decoration:none}.pcard__stretch:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.pcard__links a,.pcard__tags{z-index:2;position:relative}.pcard__case{min-height:44px;color:var(--w-text);align-items:center;gap:6px;margin-right:auto;font-size:15px;font-weight:700;display:inline-flex}.pcard__case span{transition:transform .2s}.pcard:hover .pcard__case span{transform:translate(4px)}.pcard__stretch:focus-visible{outline:none}.pcard:has(.pcard__stretch:focus-visible){outline:3px solid var(--w-violet);outline-offset:4px}.parchive{width:max-content;min-height:44px;color:var(--w-violet);border-bottom:2px solid var(--w-pink);justify-content:center;align-items:center;gap:8px;margin:40px auto 0;padding:0 6px;font-weight:700;text-decoration:none;display:flex}.parchive:hover{border-color:var(--w-violet)}@media (max-width:900px){.pcard--featured{grid-template-columns:1fr}.pcard--featured .pcard__thumb{aspect-ratio:16/9;margin:12px 12px 0}.pcard--featured .pcard__body{padding:20px 22px 24px}.pcard--featured h3{font-size:26px}}.case{min-height:100vh;padding-top:160px}.case__inner{max-width:1040px}.case__back{min-height:44px;color:var(--w-violet);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.case__back:hover{text-decoration:underline}.case__head{margin-top:24px}.case__title{text-align:left;margin-top:16px}.case__lede{max-width:720px}.case__hero{--c:var(--w-violet);margin-top:40px}.case__hero.pcard--rose{--c:var(--w-rose)}.case__hero.pcard--pink{--c:var(--w-magenta)}.case__hero .pcard__thumb{aspect-ratio:21/9;border-width:2px;border-radius:20px;margin:0}.case__hero .pcard__thumb svg{width:40%}.case__grid{grid-template-columns:300px 1fr;align-items:start;gap:48px;margin-top:56px;display:grid}.case__facts{border:2px solid var(--w-line);background:#fff;border-radius:20px;padding:22px;position:sticky;top:130px}.case__facts dl{gap:18px;margin:0;display:grid}.case__facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--w-violet);font-size:12px;font-weight:700}.case__facts dd{color:#4a3a5c;margin:6px 0 0;font-size:15px;line-height:1.6}.case__links{gap:10px;margin-top:22px;display:grid}.case__links .dbtn{justify-content:center}.case__body h2{font:700 28px/1.25 var(--f-display);color:var(--w-text);margin:0 0 12px}.case__body h2:not(:first-child){margin-top:44px}.case__body p,.case__body li{color:#4a3a5c;font-size:18px;line-height:1.75}.case__body p{margin:0}.case__body ul{margin:0;padding-left:22px}.case__body li+li{margin-top:10px}.case__body li::marker{color:var(--w-rose)}.case__next{border:2px solid var(--w-line);color:var(--w-text);background:#fff;border-radius:24px;flex-direction:column;gap:6px;margin-top:96px;padding:32px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.case__next>span{color:var(--w-sub);font-size:14px}.case__next b{font:700 clamp(24px,3.5vw,34px)/1.2 var(--f-display)}.case__next:hover{border-color:var(--w-violet);transform:translate(3px,-3px);box-shadow:-8px 8px #8a1fd626}@media (max-width:820px){.case{padding-top:120px}.case__grid{grid-template-columns:1fr;gap:32px}.case__facts{position:static}.case__hero .pcard__thumb{aspect-ratio:16/9}.case__hero .pcard__thumb svg{width:60%}}@media (prefers-reduced-motion:reduce){.pgrid>.pcard{animation:none}}:root{--w-bg:#fcf7fb;--w-card:#fff;--w-line:#ecd9ea;--w-text:#2a0f4f;--w-sub:#6e6576;--w-violet:#8a1fd6;--w-rose:#b8336f;--w-magenta:#c04ea0;--w-pink:#f6c4dc}.about{background:var(--w-bg);color:var(--w-text);font-family:"Inter Variable",var(--f-body);padding:140px 0 40px;line-height:1.5;position:relative;overflow:hidden}.about__inner{max-width:1180px;margin:0 auto;padding:0 24px;position:relative}.about__grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:72px;display:grid}.collage{height:760px;position:relative}.collage__bar{opacity:.75;background:repeating-linear-gradient(45deg,var(--fill) 0 3px,transparent 3px 8px);height:200px;position:absolute;top:40%;left:-12%;right:-6%}.polaroid{border:2px solid var(--w-line);box-shadow:-10px 10px 0 var(--w-pink);background:#fff;border-radius:6px;margin:0;padding:12px 12px 0;transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .35s,z-index;position:absolute}.polaroid img{border-radius:3px;width:100%;height:auto;display:block}.polaroid figcaption{font:italic 400 17px/1.2 var(--f-display);color:var(--w-text);text-align:center;padding:12px 4px 14px}.polaroid--main{z-index:2;width:56%;top:0;left:20%;transform:rotate(-3deg)}.polaroid--moon{z-index:3;width:36%;bottom:0;left:0;transform:rotate(5deg)}.polaroid--selfie{z-index:3;width:32%;bottom:5%;right:2%;transform:rotate(-6deg)}.polaroid:hover{z-index:5;box-shadow:-14px 14px 0 color-mix(in srgb,var(--w-violet) 30%,transparent);transform:rotate(0)scale(1.04)}.about__eyebrow{font:700 12px/1 var(--f-body);letter-spacing:4px;text-transform:uppercase;color:var(--w-violet);align-items:center;gap:12px;margin:0 0 18px;display:flex}.about__title{font:700 clamp(38px,5vw,60px)/1.1 var(--f-display);letter-spacing:-.02em;color:var(--w-text);margin:0 0 8px}.about__text>p:not(.about__eyebrow){color:#4a3a5c;margin:18px 0 0;font-size:18px;line-height:1.75}.about__text .about__offline{border-left:4px solid var(--w-pink);background:#fff;border-radius:0 12px 12px 0;padding:14px 18px;font-style:italic}.about__text .dbtn{margin-top:28px}.about__sub{font:700 clamp(28px,3.5vw,38px)/1.2 var(--f-display);color:var(--w-text);text-align:center;margin:120px 0 0}.interests{grid-template-columns:repeat(4,1fr);gap:20px;margin:36px 0 0;padding:0;list-style:none;display:grid}.interest{border:2px solid var(--w-line);background:#fff;border-radius:20px;padding:24px 22px;transition:transform .25s,border-color .25s,box-shadow .25s}.interest:hover{border-color:var(--w-violet);transform:translate(3px,-3px);box-shadow:-8px 8px #8a1fd624}.interest svg{fill:none;width:48px;height:48px;stroke:var(--w-violet);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;background:#8a1fd614;border-radius:12px;padding:10px;overflow:visible}.interest h4{font:700 19px/1.3 var(--f-display);color:var(--w-text);margin:16px 0 0}.interest p{color:var(--w-sub);margin:8px 0 0;font-size:15px;line-height:1.6}.moments{max-width:760px;margin:40px auto 0;padding:0;list-style:none;position:relative}.moments:before{content:"";background:linear-gradient(var(--w-violet),var(--w-pink));width:2px;position:absolute;top:8px;bottom:8px;left:118px}.moment{grid-template-columns:100px 1fr;gap:38px;padding:0 0 30px;display:grid;position:relative}.moment:before{content:"";border:3px solid var(--w-violet);background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:112px}.moment:first-child:before{background:var(--w-violet);box-shadow:0 0 0 6px #8a1fd626}.moment__when{text-align:right;color:var(--w-rose);padding-top:2px;font-size:14px;font-weight:600}.moment h4{font:700 20px/1.3 var(--f-display);color:var(--w-text);margin:0}.moment h4 a{color:inherit;background:linear-gradient(var(--w-pink),var(--w-pink)) 0 100%/100% 6px no-repeat;text-decoration:none;transition:background-size .2s}.moment h4 a:hover{background-size:100% 100%}.moment p{color:var(--w-sub);margin:6px 0 0;font-size:16px;line-height:1.65}@media (max-width:1000px){.interests{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.about{padding-top:100px}.about__grid{grid-template-columns:1fr;gap:40px}.collage{grid-template-columns:1fr 1fr;gap:16px;height:auto;min-height:0;padding:10px;display:grid}.collage__bar{display:none}.polaroid{width:auto;position:relative;inset:auto}.polaroid--main{grid-column:1/-1;justify-self:center;width:78%}}@media (max-width:560px){.interests{grid-template-columns:1fr}.about__sub{margin-top:80px}.moments:before{left:7px}.moment{grid-template-columns:1fr;gap:4px;padding-left:34px}.moment:before{left:1px}.moment__when{text-align:left}}.subpage{background:var(--w-bg);min-height:100vh}.subpage__cta{padding:0 24px}.subpage .work{padding-top:150px}.subhead{max-width:760px}.subhead--center{text-align:center;margin:0 auto}.subhead--center .about__eyebrow{justify-content:center}.subhead__lede{color:#4a3a5c;margin:20px 0 0;font-size:19px;line-height:1.75}.explore{background:var(--w-bg);padding:120px 0 40px}.explore__inner{max-width:1180px;margin:0 auto;padding:0 24px}.explore__title{margin-top:0}.doors{grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0 0;padding:0;list-style:none;display:grid}.door{--c:var(--w-violet);border:2px solid var(--w-line);height:100%;color:var(--w-text);background:#fff;border-radius:22px;flex-direction:column;gap:10px;padding:22px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:relative}.door.pcard--rose{--c:var(--w-rose)}.door.pcard--pink{--c:var(--w-magenta)}.door:hover,.door:focus-visible{border-color:var(--c);box-shadow:-8px 8px 0 color-mix(in srgb,var(--c) 22%,transparent);transform:translate(3px,-3px)}.door__num{font:700 13px/1 var(--f-body);letter-spacing:.1em;color:var(--c)}.door__art{--line:var(--c);--fill:color-mix(in srgb,var(--c) 20%,white);--bg:#fff;--muted:#b9a7c4;aspect-ratio:4/3;border:1px solid var(--w-line);background:repeating-linear-gradient(45deg,#f6c4dc73 0 3px,#0000 3px 9px),#fcf7fb;border-radius:14px;place-items:center;display:grid}.door__art svg{width:72%;height:auto;overflow:visible}.door__title{font:700 24px/1.2 var(--f-display);margin-top:6px}.door__text{color:var(--w-sub);font-size:15px;line-height:1.6}.door__go{color:var(--c);margin-top:auto;padding-top:6px;font-size:22px;font-weight:700;transition:transform .2s}.door:hover .door__go{transform:translate(6px)}@media (max-width:1000px){.doors{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.doors{grid-template-columns:1fr}.explore{padding-top:80px}}.career,.contact{padding:150px 0 0}.career__inner,.contact__inner{max-width:1040px;margin:0 auto;padding:0 24px}.cblock{margin-top:72px}.cblock__title{font:700 clamp(26px,3vw,34px)/1.2 var(--f-display);color:var(--w-text);margin:0 0 22px}.jobs{margin:0;padding:0;list-style:none}.job{border:2px solid var(--w-line);background:#fff;border-radius:22px;grid-template-columns:120px 1fr;gap:24px;padding:26px;display:grid}.job__period{color:var(--w-rose);align-self:start;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.job__period:before{content:"";background:#1d7a4a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #1d7a4a26}.job h3{font:700 24px/1.3 var(--f-display);color:var(--w-text);margin:0}.job__org{color:var(--w-violet)}.job p{color:#4a3a5c;margin:10px 0 14px;font-size:16px;line-height:1.7}.talks{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.talk{border:2px solid var(--w-line);background:#fff;border-radius:22px;grid-template-columns:120px 1fr;transition:transform .25s,border-color .25s,box-shadow .25s;display:grid;overflow:hidden}.talk:hover{border-color:var(--w-violet);transform:translate(3px,-3px);box-shadow:-8px 8px #8a1fd624}.talk__ticket{border-right:2px dashed var(--w-line);font:700 15px/1.2 var(--f-display);color:var(--w-violet);text-align:center;background:repeating-linear-gradient(45deg,#f6c4dc8c 0 3px,#0000 3px 9px),#fcf7fb;flex-direction:column;justify-content:space-between;align-items:center;padding:20px 10px;display:flex;position:relative}.talk__mic svg{fill:none;width:44px;height:44px;stroke:var(--w-violet);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.talk__body{padding:22px}.talk__event{color:var(--w-rose);margin:0;font-size:13px;font-weight:600}.talk h3{font:700 22px/1.25 var(--f-display);color:var(--w-text);margin:6px 0 0}.talk p:not(.talk__event){color:var(--w-sub);margin:10px 0 0;font-size:15px;line-height:1.65}.talk a,.learn a{min-height:44px;color:var(--w-violet);align-items:center;gap:6px;margin-top:6px;font-weight:700;text-decoration:none;display:inline-flex}.talk a:hover,.learn a:hover{text-decoration:underline}.cgrid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.learn{gap:14px;margin:0;padding:0;list-style:none;display:grid}.learn li{border:2px solid var(--w-line);background:#fff;border-radius:18px;padding:20px 22px}.learn h3{font:700 19px/1.3 var(--f-display);color:var(--w-text);margin:0}.learn p{color:var(--w-sub);margin:6px 0 0;font-size:15px;line-height:1.6}.learn--awards li{border-color:var(--w-pink);box-shadow:-6px 6px 0 var(--w-pink)}.learn--awards h3 span{color:var(--w-rose)}@media (max-width:820px){.talks,.cgrid{grid-template-columns:1fr}.job{grid-template-columns:1fr;gap:10px}}@media (max-width:480px){.talk{grid-template-columns:1fr}.talk__ticket{border-right:0;border-bottom:2px dashed var(--w-line);flex-direction:row}}.contact__reasons{flex-wrap:wrap;justify-content:center;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.contact__reasons li{border:2px solid var(--w-line);color:var(--w-violet);background:#fff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}.channels{grid-template-columns:repeat(3,1fr);gap:22px;margin:56px 0 0;padding:0;list-style:none;display:grid}.channel{border:2px solid var(--w-line);height:100%;color:var(--w-text);background:#fff;border-radius:22px;flex-direction:column;gap:6px;padding:28px 24px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:relative}.channel:hover,.channel:focus-visible{border-color:var(--w-violet);transform:translate(3px,-3px);box-shadow:-8px 8px #8a1fd624}.channel--primary{color:#fff;background:linear-gradient(135deg,#8a1fd6,#c04ea0);border-color:#0000}.channel__icon{width:52px;height:52px;color:var(--w-violet);background:#8a1fd614;border-radius:14px;place-items:center;margin-bottom:10px;display:grid}.channel--primary .channel__icon{color:#fff;background:#ffffff2e}.channel__icon svg{width:24px;height:24px}.channel__label{font:700 24px/1.2 var(--f-display)}.channel__handle{color:var(--w-violet);font-weight:600}.channel--primary .channel__handle{color:#fff}.channel__note{color:var(--w-sub);font-size:15px}.channel--primary .channel__note{color:#f7e8f3}.channel__go{font-size:22px;font-weight:700;position:absolute;top:22px;right:24px}.contact__where{text-align:center;color:var(--w-sub);margin:40px 0 0;font-size:15px}@media (max-width:820px){.channels{grid-template-columns:1fr}}.sitefoot{border-top:1px solid var(--w-line);background:var(--w-bg);text-align:center;color:var(--w-sub);margin-top:110px;padding:32px 24px 48px;font-size:14px}.sitefoot__nav{flex-wrap:wrap;justify-content:center;gap:4px 22px;margin-bottom:14px;display:flex}.sitefoot__nav a{min-height:44px;color:var(--w-text);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.sitefoot__nav a:hover{color:var(--w-violet)}.sitefoot p{margin:0}.cmdk{border:2px solid var(--w-line);width:min(560px,100vw - 32px);max-height:min(560px,80vh);color:var(--w-text);box-shadow:-10px 10px 0 var(--w-pink),0 30px 80px -30px #2a0f4f73;font-family:"Inter Variable",var(--f-body);background:#fff;border-radius:20px;margin:12vh auto auto;padding:0;overflow:hidden}.cmdk[open]{animation:.18s ease-out cmdkIn}@keyframes cmdkIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.cmdk::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2a0f4f40}.cmdk__box{max-height:inherit;flex-direction:column;display:flex}.cmdk__search{border-bottom:1px solid var(--w-line);align-items:center;gap:12px;padding:14px 18px;display:flex}.cmdk__search svg,.cmdk-btn svg{fill:none;width:20px;height:20px;stroke:var(--w-violet);stroke-width:2px;stroke-linecap:round;flex:none}.cmdk__search input{min-width:0;font:500 17px/1.4 "Inter Variable",var(--f-body);color:var(--w-text);background:0 0;border:0;outline:0;flex:1}.cmdk__search input::placeholder{color:#8a7f92}.cmdk kbd,.cmdk-btn kbd{border:1px solid var(--w-line);font:600 12px/1.4 "Inter Variable",var(--f-body);color:var(--w-sub);background:#fcf7fb;border-radius:6px;padding:2px 7px}.cmdk__list{flex:1;margin:0;padding:8px;list-style:none;overflow:auto}.cmdk__group{letter-spacing:.08em;text-transform:uppercase;color:var(--w-rose);padding:12px 10px 6px;font-size:12px;font-weight:700;display:block}.cmdk__item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;font-weight:600;display:flex}.cmdk__item[aria-selected=true]{color:var(--w-violet);background:#8a1fd614}.cmdk__item span{color:var(--w-sub)}.cmdk__empty{text-align:center;color:var(--w-sub);padding:24px}.cmdk__hint{border-top:1px solid var(--w-line);color:var(--w-sub);margin:0;padding:10px 18px;font-size:12px}.cmdk-btn{border:2px solid var(--w-line);min-height:44px;color:var(--w-text);font:600 14px/1 "Inter Variable",var(--f-body);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;margin:0 0 16px;padding:8px 14px;transition:border-color .15s,transform .15s;display:inline-flex}.cmdk-btn:hover{border-color:var(--w-violet);transform:translateY(-1px)}.lost__inner{grid-template-columns:1fr 1fr;align-items:center;gap:48px;max-width:1100px;margin:0 auto;padding:150px 24px 0;display:grid}.lost__avatar{aspect-ratio:460/478;justify-self:center;width:100%;max-width:440px;position:relative}.lost__avatar .avatar,.lost__avatar .avatar[class]{width:100%;max-width:none;height:100%;position:absolute;inset:0;transform:none}.lost__btns{justify-content:flex-start}@media (max-width:820px){.lost__inner{text-align:center;grid-template-columns:1fr;padding-top:110px}.lost__avatar{max-width:300px}.lost .about__eyebrow,.lost__btns{justify-content:center}}.subpage{animation:.5s cubic-bezier(.215,.61,.355,1) pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.subpage,.cmdk[open]{animation:none}}.home{background:var(--w-bg);color:var(--w-text);font-family:"Inter Variable",var(--f-body);line-height:1.5;overflow-x:clip}.hsec{padding:110px 0 0}.hsec__inner{max-width:1180px;margin:0 auto;padding:0 24px}.hsec--tint{border-block:2px solid var(--w-line);background:repeating-linear-gradient(45deg,#f6c4dc47 0 3px,#0000 3px 11px),#fdf2f8;margin-top:110px;padding:90px 0}.hsec--tint+.hsec{padding-top:90px}.hhead{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.hhead__path{color:var(--w-rose);margin:0 0 10px;font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hhead__title{font:700 clamp(30px,4vw,46px)/1.12 var(--f-display);letter-spacing:-.02em;color:var(--w-text);text-wrap:balance;margin:0}.hhead__link{min-height:44px;color:var(--w-violet);border-bottom:2px solid var(--w-pink);flex:none;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.hhead__link:hover{border-color:var(--w-violet)}@media (max-width:640px){.hhead{flex-direction:column;align-items:flex-start;gap:8px}}.tmarquee{background:var(--w-violet);color:#fff;box-shadow:0 8px 0 var(--w-pink);margin:28px -10px 0;padding:18px 0;overflow:hidden;transform:rotate(-1.2deg)}.tmarquee__track{width:max-content;font:700 18px/1 var(--f-display);gap:34px;margin:0;padding:0;list-style:none;animation:36s linear infinite tmarq;display:flex}.tmarquee__track span{color:var(--w-pink)}@keyframes tmarq{to{transform:translate(-50%)}}.intro{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;display:grid}.intro__text>p:not(.hhead__path){color:#4a3a5c;margin:20px 0 0;font-size:18px;line-height:1.75}.hstats{grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.hstats li{border:2px solid var(--w-line);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.hstats b{min-width:48px;font:700 34px/1 var(--f-display);color:var(--w-violet)}.hstats span{color:var(--w-sub);font-size:14px;line-height:1.4}.term,.win{border:2px solid var(--w-line);box-shadow:-10px 10px 0 var(--w-pink);background:#fff;border-radius:16px;display:block;overflow:hidden}.win__bar{border-bottom:2px solid var(--w-line);background:#fcf7fb;align-items:center;gap:12px;padding:10px 14px;display:flex}.win__dots{gap:6px;display:flex}.win__dots i{background:#f6c4dc;border-radius:50%;width:11px;height:11px}.win__dots i:nth-child(2){background:#e08cb5}.win__dots i:nth-child(3){background:#8a1fd6}.win__title{color:var(--w-sub);font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.term{background:#2a0f4f;border-color:#2a0f4f}.term .win__bar{background:#3a1866;border-color:#4a2580}.term .win__title{color:#d9c6ef}.term__body{color:#f3e9fb;min-height:290px;padding:18px 20px;font:500 15px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.term__body p{margin:0}.term__prompt{color:#f6c4dc}.term__out{color:#c9a8ef}.term__caret{vertical-align:-3px;background:#f6c4dc;width:9px;height:17px;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.wgrid{grid-template-columns:repeat(3,1fr);gap:26px;margin:0;padding:0;list-style:none;display:grid}.win{--c:var(--w-violet);height:100%;color:var(--w-text);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}.win.pcard--rose{--c:var(--w-rose)}.win.pcard--pink{--c:var(--w-magenta)}.win:hover,.win:focus-visible{border-color:var(--c);box-shadow:-14px 14px 0 color-mix(in srgb,var(--c) 28%,transparent);transform:translate(4px,-4px)}.win__art{--line:var(--c);--fill:color-mix(in srgb,var(--c) 20%,white);--bg:#fff;--muted:#b9a7c4;aspect-ratio:16/10;border-bottom:2px solid var(--w-line);background:repeating-linear-gradient(45deg,#f6c4dc73 0 3px,#0000 3px 9px),#fcf7fb;place-items:center;display:grid}.win__art svg{width:60%;height:auto;transition:transform .35s;overflow:visible}.win:hover .win__art svg{transform:scale(1.06)rotate(-2deg)}.win__body{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px 22px;display:flex}.win__name{font:700 22px/1.25 var(--f-display)}.win__text{color:var(--w-sub);font-size:15px;line-height:1.6}.win__tags{color:var(--c);font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ateaser{grid-template-columns:.8fr 1.2fr;align-items:center;gap:64px;display:grid}.ateaser__photo{justify-self:center;width:100%;max-width:380px;position:relative;transform:rotate(-3deg)}.ateaser__photo:hover{transform:rotate(0)scale(1.03)}.ateaser .hhead{margin-bottom:18px}.ateaser__text{color:#4a3a5c;margin:0 0 26px;font-size:18px;line-height:1.75}.hsec--events{padding-top:90px}.hevents__label{text-align:center}.hevents{flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 0;padding:0;list-style:none;display:flex}.hevents li{border:2px dashed var(--w-line);font:700 16px/1.2 var(--f-display);color:var(--w-text);background:#fff;border-radius:999px;padding:12px 20px;transition:border-color .2s,transform .2s}.hevents li:hover{border-style:solid;border-color:var(--w-violet);transform:translateY(-2px)}@media (max-width:1000px){.wgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.intro,.ateaser{grid-template-columns:1fr;gap:40px}.ateaser__photo{max-width:300px}}@media (max-width:640px){.wgrid,.hstats{grid-template-columns:1fr}.hsec{padding-top:80px}.term__body{min-height:260px;font-size:13px}}@media (prefers-reduced-motion:reduce){.tmarquee__track,.term__caret{animation:none}}.status--hackaton{color:var(--w-rose)}.pcard__thumb .pcard__award,.win__award{z-index:1;background:var(--w-violet);color:#fff;font:700 12px/1.2 "Inter Variable",var(--f-body);box-shadow:-4px 4px 0 var(--w-pink);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;position:absolute;top:12px;left:12px}.win__award{box-shadow:none;position:static}.pcard__context{color:var(--w-sub);font-size:13px}.pcard__highlights{color:#4a3a5c;gap:8px;margin:4px 0 0;padding:0 0 0 20px;font-size:15px;line-height:1.6;display:grid}.pcard__links a svg{width:16px;height:16px}@media (min-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}.about__text .talkbox{border:2px solid var(--w-line);box-shadow:-8px 8px 0 var(--w-pink);background:#fff;border-radius:18px;gap:16px;margin:24px 0 0;padding:20px;display:flex}.talkbox__icon{background:var(--w-violet);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.talkbox__icon svg{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.about__text .talkbox p{color:#4a3a5c;margin:0;font-size:16px;line-height:1.7}.talkbox__link{min-height:44px;color:var(--w-violet);border-bottom:2px solid var(--w-pink);align-items:center;gap:6px;margin-top:6px;font-weight:700;text-decoration:none;display:inline-flex}.talkbox__link:hover{border-color:var(--w-violet)}.about__btns{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.about__text .about__btns .dbtn{margin-top:0}.traits{grid-template-columns:repeat(4,1fr);gap:20px;margin:36px 0 0;padding:0;list-style:none;display:grid}.trait{border:2px solid var(--w-line);background:#fff;border-radius:20px;padding:26px 22px 24px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.trait:hover{border-color:var(--w-violet);transform:translate(3px,-3px);box-shadow:-8px 8px #8a1fd624}.trait__num{font:700 44px/1 var(--f-display);color:#f6c4dcb3;position:absolute;top:10px;right:16px}.trait svg{background:var(--w-violet);fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;border-radius:12px;width:48px;height:48px;padding:10px;position:relative}.trait h3{font:700 21px/1.3 var(--f-display);color:var(--w-text);margin:16px 0 0}.trait p{color:var(--w-sub);margin:8px 0 0;font-size:15px;line-height:1.6}.about__duo{grid-template-columns:1.3fr 1fr;align-items:start;gap:28px;margin-top:110px;display:grid}.about__sub--left{text-align:left;margin:0 0 22px}.toolbox,.facts{border:2px solid var(--w-line);background:#fff;border-radius:22px;padding:28px}.toolbox dl{gap:16px;margin:0;display:grid}.toolbox dt{color:var(--w-rose);margin-bottom:8px;font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.toolbox dd{margin:0}.facts{background:repeating-linear-gradient(45deg,#f6c4dc4d 0 3px,#0000 3px 11px),#fff}.facts ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.facts li{border:2px solid var(--w-line);color:#4a3a5c;background:#fff;border-radius:14px;padding:14px 16px 14px 46px;font-size:16px;line-height:1.5;position:relative}.facts li:before{content:"✦";color:var(--w-violet);font-size:18px;position:absolute;top:13px;left:16px}@media (max-width:1000px){.traits{grid-template-columns:repeat(2,1fr)}.about__duo{grid-template-columns:1fr}}@media (max-width:560px){.traits{grid-template-columns:1fr}.about__duo{margin-top:80px}.about__text .talkbox{flex-direction:column}}.work{--w-bg:#efd2e2;--w-line:#e2b9d0;--w-sub:#5a4d63;background:radial-gradient(1200px 520px at 50% -80px,#f7e3ee,transparent 70%),repeating-linear-gradient(45deg,#c04ea012 0 3px,transparent 3px 12px),var(--w-bg)}.work:before{background:radial-gradient(closest-side,#ffffff8c,#0000)}.work:after{background-image:radial-gradient(#8a1fd629 1px,#0000 1px)}.subpage:has(.work){background:#efd2e2}.work .dpill,.work .dstats,.work .pfilter{background:#fff7fb}.work .pfilter{border-color:#e2b9d0}.work .pfilter[aria-pressed=true]{background:var(--w-violet);border-color:var(--w-violet)}.pcard{background:#fff;border:0;border-radius:22px;box-shadow:0 1px #2a0f4f0f,0 18px 40px -26px #2a0f4f73}.pcard:hover,.pcard:focus-within{box-shadow:0 1px 0 #2a0f4f0f,0 30px 60px -28px #2a0f4f8c,-8px 8px 0 color-mix(in srgb,var(--c) 30%,transparent);border-color:#0000;transform:translateY(-6px)}.pcard__thumb{aspect-ratio:16/10;background:radial-gradient(circle at 50% 45%,#fff 0 26%,#0000 62%),repeating-linear-gradient(45deg,#c04ea02e 0 3px,#0000 3px 9px),#f7e3ee;border:0;border-radius:0;margin:0}.pcard__thumb img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.pcard:hover .pcard__thumb img{transform:scale(1.045)}.pcard__thumb:after{content:"";pointer-events:none;background:linear-gradient(#0000,#2a0f4f2e);height:40%;position:absolute;inset:auto 0 0}.pcard__body{gap:9px;padding:20px 22px 22px}.pcard h3{font-size:24px}.pcard>.pcard__body>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pcard__tags li{color:#7a1bbd;background:#f6e6f0}.pcard__links{border-top:1px solid #f1dfea;margin-top:auto;padding-top:14px}.pcard__case{color:var(--w-violet)}.pcard--featured{grid-template-columns:1.25fr 1fr}.pcard--featured .pcard__thumb{aspect-ratio:auto;min-height:420px;margin:0}.pcard--featured>.pcard__body>p{-webkit-line-clamp:unset}.pcard--featured .pcard__body{padding:34px 36px}@media (max-width:900px){.pcard--featured .pcard__thumb{aspect-ratio:16/10;min-height:0;margin:0}.pcard--featured .pcard__body{padding:22px}}.case__hero .pcard__thumb{aspect-ratio:16/9;box-shadow:0 30px 70px -36px #2a0f4f99,-12px 12px 0 var(--w-pink);border:0;border-radius:24px}.case__hero .pcard__thumb:after{display:none}.win__art--img{background:#f7e3ee;position:relative}.win__art--img img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.win:hover .win__art--img img{transform:scale(1.05)}.scroll-progress{z-index:2100;pointer-events:none;height:4px;position:fixed;top:0;left:0;right:0}.scroll-progress span{transform-origin:0;background:linear-gradient(90deg,#8a1fd6,#c04ea0,#f6c4dc);height:100%;display:block;transform:scaleX(0)}.fx-layer{transform:translate3d(0,var(--py,0px),0);will-change:transform}.avatar-bg>.fx-layer{position:absolute;inset:0}.avatar-bg>.fx-layer--avatar{z-index:1}[data-parallax]:not(.polaroid){transform:translate3d(0,var(--py,0px),0)}.polaroid--main{--rot:-3deg}.polaroid--moon{--rot:5deg}.polaroid--selfie{--rot:-6deg}.ateaser__photo{--rot:-3deg}.polaroid[data-parallax]{transform:translate3d(0,var(--py,0px),0) rotate(var(--rot,0deg))}.polaroid[data-parallax]:hover{transform:translate3d(0,var(--py,0px),0) rotate(0) scale(1.04)}.fx-on [data-words] .w{opacity:calc(.14 + .86 * clamp(0, var(--p,1) * var(--n) - var(--i), 1));transition:opacity .25s linear}.fx-on .js-marquee{will-change:transform;animation:none}.fx-on .tilt,.fx-on .tilt:hover,.fx-on .tilt:focus-within{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}.fx-on .tilt:hover{--ty:-6px}.tilt{position:relative}.tilt:before{content:"";z-index:3;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#ffffff61,transparent 45%);mix-blend-mode:soft-light;transition:opacity .3s;position:absolute;inset:0}.tilt:hover:before{opacity:1}[data-magnetic]{transition:translate .25s cubic-bezier(.2,.7,.2,1);display:inline-block}.world{background:radial-gradient(900px 400px at 15% 0,#f7e3ee,#0000 70%),repeating-linear-gradient(45deg,#c04ea012 0 3px,#0000 3px 12px),#efd2e2;border-block:2px solid #e2b9d0;margin-top:110px;position:relative}.world__sticky{padding:80px 0 70px;position:relative;overflow:hidden}.world__head{z-index:2;justify-content:space-between;align-items:flex-end;gap:24px;max-width:1180px;margin:0 auto 36px;padding:0 24px;display:flex;position:relative}.world__hint{color:var(--w-rose);align-items:center;gap:12px;margin:0;font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:none}.world__hint i{border:2px solid var(--w-rose);border-radius:12px;width:22px;height:34px;position:relative}.world__hint i:after{content:"";background:var(--w-rose);border-radius:2px;width:4px;height:7px;margin-left:-2px;animation:1.6s ease-in-out infinite wheel;position:absolute;top:6px;left:50%}@keyframes wheel{0%{opacity:1;transform:translateY(0)}80%{opacity:0;transform:translateY(12px)}to{opacity:0}}.world__bgtext{z-index:0;white-space:nowrap;font:700 17vw/1 var(--f-display);letter-spacing:-.04em;color:#0000;-webkit-text-stroke:2px #8a1fd621;transform:translate3d(calc(var(--hp,0) * -38%),0,0);pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute;bottom:-2vw;left:0}.world__track{z-index:1;scroll-snap-type:x mandatory;scrollbar-width:none;gap:28px;margin:0;padding:10px 24px 30px;list-style:none;display:flex;position:relative;overflow-x:auto}.world__track::-webkit-scrollbar{display:none}.world__item{scroll-snap-align:center;flex:0 0 min(86vw,580px)}.world__progress{z-index:2;background:#8a1fd624;border-radius:4px;max-width:1132px;height:4px;margin:10px auto 0;position:relative;overflow:hidden}.world__progress span{height:100%;transform:scaleX(var(--hp,0));transform-origin:0;background:linear-gradient(90deg,#8a1fd6,#c04ea0);display:block}.world--on .world__sticky{flex-direction:column;justify-content:center;height:100vh;padding:70px 0 40px;display:flex;position:sticky;top:0}.world--on .world__track{scroll-snap-type:none;will-change:transform;padding-left:max(24px,50vw - 566px);overflow:visible}.world--on .world__hint{display:inline-flex}.world:not(.world--on) .world__progress{display:none}.wcard{--c:var(--w-violet);height:100%;color:var(--w-text);background:#fff;border-radius:26px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px #2a0f4f0f,0 24px 50px -28px #2a0f4f8c}.wcard.pcard--rose{--c:var(--w-rose)}.wcard.pcard--pink{--c:var(--w-magenta)}.fx-on .wcard:hover{box-shadow:0 1px 0 #2a0f4f0f,0 36px 70px -30px #2a0f4f99,-10px 10px 0 color-mix(in srgb,var(--c) 30%,transparent)}.wcard__media{aspect-ratio:16/10;background:radial-gradient(circle at 50% 45%,#fff 0 26%,#0000 62%),repeating-linear-gradient(45deg,#c04ea02e 0 3px,#0000 3px 9px),#f7e3ee;display:block;position:relative;overflow:hidden}.wcard__media img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.wcard:hover .wcard__media img{transform:scale(1.06)}.wcard__art{--line:var(--c);--fill:color-mix(in srgb,var(--c) 20%,white);--bg:#fff;--muted:#b9a7c4;place-items:center;display:grid;position:absolute;inset:0}.wcard__art svg{width:56%;height:auto;overflow:visible}.wcard__shine{background:linear-gradient(#0000 55%,#2a0f4f38);position:absolute;inset:0}.wcard__media .pcard__award{z-index:1;position:absolute;top:14px;left:14px}.wcard__num{z-index:2;font:700 74px/1 var(--f-display);color:#fff;-webkit-text-stroke:2px var(--c);text-shadow:-5px 5px 0 var(--w-pink);position:absolute;top:calc(min(86vw,580px)/1.6 - 46px);right:18px}.wcard__body{flex-direction:column;gap:8px;padding:24px 26px 26px;display:flex}.wcard__meta{color:var(--w-rose);font:600 13px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.wcard__title{font:700 30px/1.15 var(--f-display)}.wcard__text{color:var(--w-sub);font-size:16px;line-height:1.6}.wcard__tags{color:var(--c);font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.world__item--end{flex-basis:340px;align-items:center;display:flex}.wend{background:var(--w-violet);color:#fff;width:300px;height:300px;box-shadow:-12px 12px 0 var(--w-pink);border-radius:50%;flex-direction:column;justify-content:center;gap:10px;padding:40px;text-decoration:none;transition:background .2s;display:flex}.wend:hover{background:#7417b8}.wend__count{font:700 96px/1 var(--f-display)}.wend__label{flex-direction:column;gap:12px;font-size:16px;display:flex}.wend__label b{font:700 22px/1 var(--f-display)}.fx-on .page-header__inr{transition:opacity .1s linear}.magnet{display:inline-block}@media (max-width:899px){.world{margin-top:80px}.wcard__num{font-size:56px;display:none;top:auto;bottom:auto}.world__item--end{flex-basis:auto}.wend{width:220px;height:220px;padding:30px}.wend__count{font-size:64px}}.fx-off .tilt,.fx-off .tilt:hover{transform:none}@media (prefers-reduced-motion:reduce){.world__hint i:after{animation:none}}.nav-over .made-in{opacity:0;transition:opacity .3s}.tunnel{background:radial-gradient(circle,#fff 0,#fcf1f7 26%,#f3d9e8 62%,#e9c4da 100%);border-block:2px solid #e2b9d0;margin-top:110px;position:relative}.tunnel__stage{padding:90px 24px;position:relative}.tunnel__world{position:relative}.tunnel__ring,.tunnel__dot,.tunnel__float,.tunnel__hud{display:none}.tunnel__chapters{text-align:center;gap:56px;max-width:900px;margin:0 auto;padding:0;list-style:none;display:grid}.tunnel__kicker{letter-spacing:.06em;color:var(--w-rose);margin:0 0 12px;font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tunnel__title{font:700 clamp(30px,5.2vw,68px)/1.1 var(--f-display);letter-spacing:-.02em;color:var(--w-text);text-wrap:balance;margin:0}.tunnel__end{flex-direction:column;align-items:center;margin-top:56px;display:flex}.tunnel__end .dbtn{margin-top:4px}.tunnel--on .tunnel__stage{perspective:900px;perspective-origin:50%;height:100vh;padding:0;position:sticky;top:0;overflow:hidden}.tunnel--on .tunnel__stage:after{content:"";z-index:5;pointer-events:none;background:radial-gradient(#0000 55%,#e9c4dad9 100%);position:absolute;inset:0}.tunnel--on .tunnel__world{transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.tunnel--on .tunnel__chapters{max-width:none;transform-style:preserve-3d;margin:0;display:block;position:absolute;inset:0}.tunnel--on [data-z]{visibility:hidden;will-change:transform,opacity;backface-visibility:hidden;position:absolute;top:50%;left:50%}.tunnel--on .tunnel__ring{aspect-ratio:1;border:2px solid #8a1fd642;border-radius:50%;width:min(92vw,1150px);display:block;box-shadow:inset 0 0 60px #c04ea01f}.tunnel--on .tunnel__ring--dash{border:2px dashed #c04ea061}.tunnel--on .tunnel__dot{background:#8a1fd68c;border-radius:50%;display:block;box-shadow:0 0 12px #c04ea099}.tunnel--on .tunnel__float{--line:#8a1fd6;--fill:#f6c4dc;--bg:#fff;--muted:#b9a7c4;width:min(30vw,300px);display:block}.tunnel--on .tunnel__float svg{filter:drop-shadow(-10px 10px #f6c4dcb3);width:100%;height:auto;overflow:visible}.tunnel--on .tunnel__chapter{text-align:center;width:min(88vw,940px)}.tunnel--on .tunnel__end{width:min(88vw,600px);margin:0}.tunnel--on .tunnel__title{font-size:clamp(34px,6vw,80px)}.tunnel--on .tunnel__hud{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--w-rose);white-space:nowrap;background:#ffffffbf;border:2px solid #e2b9d0;border-radius:999px;align-items:center;gap:14px;padding:8px 14px;font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex;position:absolute;top:118px;left:50%;transform:translate(-50%)}.tunnel__bar{background:#8a1fd626;border-radius:4px;width:120px;height:4px;position:relative;overflow:hidden}.tunnel__bar i{transform:scaleX(var(--tp,0));transform-origin:0;background:linear-gradient(90deg,#8a1fd6,#c04ea0);position:absolute;inset:0}.tunnel__count{color:var(--w-text)}.tunnel__count b{color:var(--w-violet)}@media (max-width:640px){.tunnel--on .tunnel__float{width:42vw}.tunnel--on .tunnel__hud{top:96px}.tunnel__bar{width:70px}}.term{cursor:text}.term__body{scrollbar-width:thin;scrollbar-color:#5a2a86 transparent;height:330px;min-height:0;overflow-y:auto}.term__out a{color:#f6c4dc;text-underline-offset:3px;text-decoration:underline}.term__input{align-items:center;gap:8px;display:flex}.term__input input{min-width:0;font:inherit;color:#fff;caret-color:#f6c4dc;background:0 0;border:0;outline:0;flex:1;padding:0}.term__input input::placeholder{color:#8f6fb5}.term:focus-within{box-shadow:-10px 10px 0 var(--w-pink),0 0 0 3px #c58cff99}@media (max-width:640px){.term__body{height:300px}}.intro__btns{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.pjson .pjson__body{color:#f3e9fb;margin:0;padding:22px 24px;font:500 15px/1.9 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.pjson__brace{color:#c9a8ef;display:block}.pjson__row{flex-wrap:wrap;gap:0 10px;padding-left:22px;display:flex}.pjson__row dt{color:#f6c4dc}.pjson__row dd{color:#fff;margin:0}.sw{border-top:2px solid var(--w-line);margin:0;padding:0;list-style:none}.sw__row{border-bottom:2px solid var(--w-line);transition:opacity .25s}.sw--hover .sw__row:not(.is-active){opacity:.45}.sw__link{color:var(--w-text);grid-template-columns:56px 1fr 260px 120px 40px;align-items:center;gap:24px;padding:26px 8px;text-decoration:none;transition:padding .3s cubic-bezier(.2,.7,.2,1),background .3s;display:grid}.sw__row.is-active .sw__link,.sw__link:focus-visible{background:linear-gradient(90deg,#f6c4dc59,#0000 70%);padding-left:22px}.sw__num{color:var(--w-rose);font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sw__thumb{display:none}.sw__main{flex-direction:column;gap:6px;min-width:0;display:flex}.sw__title{font:700 clamp(28px,3.6vw,46px)/1.05 var(--f-display);letter-spacing:-.02em}.sw__desc{color:var(--w-sub);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:15px;line-height:1.5;display:-webkit-box;overflow:hidden}.sw__tags{color:var(--w-violet);font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sw__meta{color:var(--w-sub);text-align:right;font-size:14px}.sw__award{background:var(--w-violet);color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.sw__arrow{color:var(--w-violet);font-size:26px;font-weight:700;transition:transform .3s}.sw__row.is-active .sw__arrow{transform:translate(4px,-4px)rotate(0)}.sw__preview{z-index:30;aspect-ratio:16/10;pointer-events:none;opacity:0;width:400px;transition:opacity .25s,scale .35s cubic-bezier(.2,.7,.2,1);position:fixed;top:0;left:0;scale:.6}.sw__preview.is-on{opacity:1;scale:1}.sw__frame{--c:var(--w-violet);opacity:0;box-shadow:0 30px 60px -20px #2a0f4f80,-10px 10px 0 var(--w-pink);background:repeating-linear-gradient(45deg,#c04ea033 0 3px,#0000 3px 9px),#fcf1f7;border-radius:18px;place-items:center;transition:opacity .2s;display:grid;position:absolute;inset:0;overflow:hidden}.sw__frame.pcard--rose{--c:var(--w-rose)}.sw__frame.pcard--pink{--c:var(--w-magenta)}.sw__frame.is-active{opacity:1}.sw__frame img{object-fit:cover}.sw__frame svg{--line:var(--c);--fill:color-mix(in srgb,var(--c) 20%,white);--bg:#fff;--muted:#b9a7c4;width:60%;height:auto;overflow:visible}@media (max-width:1000px){.sw__link{grid-template-columns:40px 1fr 30px}.sw__tags,.sw__meta{display:none}}@media (hover:none),(pointer:coarse){.sw__preview{display:none}.sw--hover .sw__row:not(.is-active){opacity:1}}@media (max-width:700px){.sw__link{grid-template-columns:96px 1fr 24px;gap:14px;padding:18px 4px}.sw__num{display:none}.sw__thumb{--c:var(--w-violet);--line:var(--c);--fill:#f6c4dc;--bg:#fff;--muted:#b9a7c4;aspect-ratio:16/10;background:#f7e3ee;border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.sw__thumb img{object-fit:cover}.sw__thumb svg{width:70%;height:auto}.sw__title{font-size:22px}.sw__desc{-webkit-line-clamp:2}.sw__arrow{font-size:20px}}@media (prefers-reduced-motion:reduce){.sw__preview{display:none}}.services{grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid}.service{border:2px solid var(--w-line);background:#fff;border-radius:22px;padding:28px 26px}.service>svg{background:var(--w-violet);fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;border-radius:14px;width:52px;height:52px;padding:12px}.service h3{font:700 24px/1.25 var(--f-display);color:var(--w-text);margin:18px 0 0}.service p{color:var(--w-sub);margin:10px 0 16px;font-size:16px;line-height:1.65}@media (max-width:900px){.services{grid-template-columns:1fr}}.repos{grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid}.repo{border:2px solid var(--w-line);height:100%;color:var(--w-text);background:#fff;border-radius:18px;flex-direction:column;gap:12px;padding:22px;text-decoration:none;display:flex}.repo__top{color:var(--w-violet);align-items:center;gap:10px;font:600 14px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.repo__top svg{width:20px;height:20px;color:var(--w-text);flex:none}.repo__desc{color:var(--w-sub);font-size:15px;line-height:1.6}.repo__langs{color:var(--w-sub);flex-wrap:wrap;gap:6px 16px;margin-top:auto;font-size:13px;display:flex}.repo__langs>span{align-items:center;gap:6px;display:inline-flex}.repo__dot{background:#8a1fd6;border-radius:50%;width:10px;height:10px}.repo__dot--1{background:#c04ea0}.repo__dot--2{background:#e9a8c8}.repo__go{color:var(--w-violet);font-weight:700}.fx-on .repo:hover{border-color:var(--w-violet)}@media (max-width:900px){.repos{grid-template-columns:1fr}}.awards{flex-wrap:wrap;justify-content:center;gap:16px;margin:18px 0 26px;padding:0;list-style:none;display:flex}.award{border:2px solid var(--w-pink);box-shadow:-6px 6px 0 var(--w-pink);color:var(--w-text);background:#fff;border-radius:18px;align-items:center;gap:16px;padding:14px 22px 14px 14px;text-decoration:none;transition:transform .2s;display:flex}.award:hover{transform:translate(2px,-2px)}.award__place{background:var(--w-violet);color:#fff;width:52px;height:52px;font:700 18px/1 var(--f-display);border-radius:50%;place-items:center;display:grid}.award>span:last-child{flex-direction:column;gap:2px;display:flex}.award b{font:700 18px/1.2 var(--f-display)}.award>span:last-child>span{color:var(--w-sub);font-size:14px}.pjump{z-index:5;-webkit-backdrop-filter:blur(10px);background:#fff7fbd1;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:56px auto 0;padding:8px;display:flex;position:sticky;top:84px;box-shadow:0 10px 30px -20px #2a0f4f80}.pjump .pfilter{min-height:40px;padding:6px 14px;font-size:14px;text-decoration:none}.pjump .pfilter:hover{background:var(--w-violet);border-color:var(--w-violet);color:#fff}.pjump .pfilter:hover .pfilter__count{background:#ffffff38}.psec{margin-top:88px;scroll-margin-top:150px}.psec__head{border-bottom:2px solid var(--w-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;padding-bottom:16px;display:flex}.psec__head h2{font:700 clamp(28px,3.6vw,40px)/1.1 var(--f-display);color:var(--w-text);margin:0}.psec__head p{color:var(--w-sub);margin:0;font-size:16px}.psec .pgrid{margin-top:28px}.pgrid--big{gap:32px;grid-template-columns:repeat(2,1fr)!important}.pgrid--big .pcard--featured{flex-direction:column;margin-top:0;display:flex}.pgrid--big .pcard--featured .pcard__thumb{aspect-ratio:16/10;min-height:0}.pgrid--big .pcard--featured .pcard__body{padding:24px 26px}.pgrid--big .pcard--featured h3{font-size:28px}.pcard__highlights{color:#4a3a5c;margin:4px 0 0;padding:0 0 0 18px;font-size:14.5px;line-height:1.6}.pcard__highlights li+li{margin-top:4px}.pcard__highlights li::marker{color:var(--c)}.pcard__links{flex-wrap:wrap;align-items:center;gap:10px}.pcard__links .pbtn{border:2px solid var(--w-line);min-height:42px;color:var(--w-text);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:0 16px;font-size:14.5px;font-weight:600;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.pcard__links .pbtn:hover{border-color:var(--c);box-shadow:-4px 4px 0 var(--w-pink);text-decoration:none;transform:translate(2px,-2px)}.pcard__links .pbtn--demo{color:#fff;background:linear-gradient(135deg,#8a1fd6,#c04ea0);border-color:#0000}.pcard__links .pbtn--demo:hover{border-color:#0000}.pcard__links .pcard__case{min-height:42px;margin:0 0 0 auto}@media (max-width:900px){.pgrid--big{grid-template-columns:1fr!important}}@media (max-width:600px){.pjump{border-radius:20px;width:auto;position:static}.psec{margin-top:64px}}.pgrid:not(.pgrid--big) .pcard__links{gap:8px}.pgrid:not(.pgrid--big) .pcard__links .pbtn{padding:0 12px;font-size:14px}.pgrid:not(.pgrid--big) .pcard__links .pcard__case{font-size:14px}
