.subpage-header[data-astro-cid-vhbf367z]{padding-top:150px;padding-bottom:30px;display:flex;align-items:end;justify-content:center;flex-wrap:wrap;margin:0 auto;text-transform:lowercase}.subpage-header[data-astro-cid-vhbf367z] h1[data-astro-cid-vhbf367z]{font-size:60px;padding-right:30px;line-height:58px}.subpage-header[data-astro-cid-vhbf367z]>p[data-astro-cid-vhbf367z]{font-size:24px;font-weight:200;text-align:right;padding-right:30px;text-indent:30px;line-height:40px}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}#menu_toggle{display:none;position:relative;width:30px;height:30px}@media screen and (max-width:670px){#menu_toggle{display:block}}#menu_toggle>span{display:block;height:2px;border-radius:4px;background:var(--site-text-color);transition-duration:.2s;transition-timing-function:ease-out;transition-property:width,color,opacity,transform,height}#menu_toggle>span:first-of-type{width:30px}#menu_toggle>span:nth-of-type(2){width:20px}#menu_toggle>span:last-of-type{width:10px}#menu_toggle>span:not(:last-of-type){margin-bottom:7px}@media screen and (hover:hover){#menu_toggle:hover>span{width:30px!important}}.nav-open #menu_toggle>span{position:absolute;width:30px!important;height:3px}.nav-open #menu_toggle>span:first-of-type{transform:rotate(45deg)}.nav-open #menu_toggle>span:nth-of-type(2){opacity:0}.nav-open #menu_toggle>span:last-of-type{transform:rotate(-45deg)}.container[data-astro-cid-jiy6zkd6]{position:relative;cursor:pointer;display:flex;align-items:center}.container[data-astro-cid-jiy6zkd6] button[data-astro-cid-jiy6zkd6]{background-color:transparent;transition:all .2s ease-out;border-radius:3px;padding:0 .2em 0 .7em;display:flex;justify-content:center;align-items:center;text-transform:uppercase;position:relative;font-family:inherit;z-index:1;font-size:1rem;cursor:pointer}#lang_button_chevron[data-astro-cid-jiy6zkd6]{margin-left:.15rem;transition:transform .25s ease!important;width:1.25rem;height:1.25rem;display:flex}#lang_list[data-astro-cid-jiy6zkd6]{position:absolute;right:-5px;top:2.5em;z-index:0;height:0;overflow:hidden;transition:height .36s ease-out;display:block;color:var(--nav-link-color);text-align:center;border-bottom-left-radius:6px;border-bottom-right-radius:6px;backdrop-filter:blur(12px)}#lang_list[data-astro-cid-jiy6zkd6] a[data-astro-cid-jiy6zkd6]{padding:.75em;line-height:3;text-decoration:none;font-size:1rem;text-transform:lowercase;white-space:nowrap}#lang_list[data-astro-cid-jiy6zkd6] li[data-astro-cid-jiy6zkd6]:not(:last-child){border-bottom:1px solid var(--nav-link-color)}#lang_list[data-astro-cid-jiy6zkd6].open{height:96px;z-index:5}body{--header-bg:#dde8fb;position:relative}.dark{--header-bg:#01011b}body>nav,.meta_nav{height:var(--site-header-height);color:var(--nav-link-color)}body>nav a,body>nav button,.meta_nav a,.meta_nav button{color:inherit}body>nav:before,.meta_nav:before{content:"";position:absolute;background:var(--header-bg);top:-45px;filter:blur(20px);z-index:-1;height:115px}body>nav{display:flex;justify-content:space-between;padding:10px 20px;position:fixed;left:0;align-items:center;height:var(--site-header-height);color:var(--nav-link-color);top:0;z-index:234523456;line-height:36px}body>nav:before{width:560px;left:0}.meta_nav{position:fixed;top:0;right:0;align-items:center;z-index:3;gap:20px;min-height:56px;padding-right:25px}.meta_nav:before{width:140px;right:0}.nav_menu,.meta_nav{display:flex;align-items:center;height:inherit}@media (hover:hover){.nav_menu:hover a,.nav_menu:hover button,.nav_menu:hover .sun,.nav_menu:hover .moon,.meta_nav:hover a,.meta_nav:hover button,.meta_nav:hover .sun,.meta_nav:hover .moon{color:var(--nav-menu-hover-color)}.nav_menu a,.nav_menu button,.nav_menu .sun,.nav_menu .moon,.meta_nav a,.meta_nav button,.meta_nav .sun,.meta_nav .moon{transition:color .2s ease}.nav_menu a:hover,.nav_menu button:hover,.nav_menu .sun:hover,.nav_menu .moon:hover,.meta_nav a:hover,.meta_nav button:hover,.meta_nav .sun:hover,.meta_nav .moon:hover{color:var(--nav-link-color)}}.nav_menu{gap:35px;font-size:25px}.nav_menu .highlighted{text-decoration:underscore}.nav_menu .hue-rotation-root{position:absolute;display:flex;gap:6px;opacity:0;width:100%;top:50px;left:-50%;white-space:nowrap;transition:opacity .2s ease,visibility .2s ease;visibility:hidden}.nav_menu>li{display:flex;position:relative}.nav_menu>li>a:hover~p{opacity:1;visibility:visible}.nav_menu>li:nth-of-type(3) p{left:0}.nav_menu a{position:relative;text-decoration:none;z-index:324234;padding:0 15px;border-radius:25px;margin:8px 0;transition:color .2s ease;text-transform:lowercase;font-weight:600}.nav_menu a svg,.nav_menu a .page-title{vertical-align:middle}.nav_menu li:not(:first-child) a svg{display:none}.nav_menu a.home .page-title{display:none}@media screen and (min-width:671px){.nav_header{display:none}}@media screen and (max-width:670px){.nav-open .nav_menu{width:100vw}.nav-open .nav_menu li a{opacity:1;visibility:visible;transform:translateY(0);transition-delay:calc(55ms*var(--link-index))}.nav-open main{filter:var(--out-of-focus-filter)}body>nav:before{width:76px}.nav_menu{padding-top:100px;position:fixed;display:block;font-size:38px;left:0;top:0;z-index:-1;white-space:nowrap;width:0;transition:width .9s ease}.nav_menu li a{opacity:0;visibility:hidden;transform:translateY(100%);transition-property:opacity,transform,visibility;transition-duration:.3s;transition-timing-function:cubic-bezier(.75,-.015,.565,1.055)}.nav_menu a{padding:15px 20px;width:100%;overflow:hidden}.nav_menu a svg{position:relative;bottom:2px}.nav_menu a svg,.nav_menu a .page-title{display:inline-block!important}.nav_menu a .page-title{margin-left:50px}}@media screen and (max-width:670px) and (hover:hover){.nav_menu a .page-title{width:0;transition:width .25s ease-out;overflow:hidden}}@media screen and (max-width:670px){.nav_menu a:hover .page-title{width:100%}.nav_menu .hue-rotation-root,.nav_menu .page-title{line-height:43px}.nav_menu .hue-rotation-root{display:none;position:fixed;width:64vw;bottom:200px;left:0;top:auto;margin-left:20px}}.chevron-down{color:inherit!important;transition:inherit!important}.mouse-leave #cursor{display:none}.dark #cursor{mix-blend-mode:exclusion;filter:invert(1)}#cursor{position:fixed;left:15px;top:-10px;pointer-events:none;transform:translateZ(0);z-index:99999999;border-radius:50%;width:60px;height:60px;transition:width .25s ease-out,height .25s ease-out;transform-origin:center center;will-change:transform;z-index:234523457;transition:transform 75ms ease-out;color:#000}@media screen and (pointer:coarse){#cursor{display:none}}#cursor svg{position:absolute;width:inherit;height:inherit;padding:3px;opacity:0;transition:opacity .5s ease}#stars{position:fixed;top:0;left:0;width:100%;height:100%;transition:filter .65s ease-out;z-index:-10;opacity:0;animation:fadeIn 1s forwards ease-out;animation-delay:.4s;filter:invert(1)}#stars>canvas{background-size:cover;min-height:100vh}.dark #stars{filter:invert(0)}astro-particles{display:none}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}body{--modal-bg:rgba(196, 219, 255, .49);--modal-close-btn-bg:#dfdfdf;--modal-close-btn-hover-bg:#090920;--modal-close-btn-hover-color:#fff;--modal-icon-color:#2b3a63;--modal-icon-bg:#c1d1ff;--modal-input-bg:#f4f7ff}.dark{--modal-bg:rgba(0, 0, 0, .75);--modal-close-btn-bg:#131313;--modal-close-btn-hover-bg:#2b2a33;--modal-close-btn-hover-color:#fff;--modal-icon-color:#ddd;--modal-icon-bg:#2e2e44;--modal-input-bg:#1e1e2d}body.modal-open>main{filter:var(--out-of-focus-filter)}.contact_form_container:not(.open){display:none}.contact_form_container{position:fixed;display:grid;justify-content:center;align-items:center;width:100vw;height:100vh;color:var(--site-text-color);top:56px;z-index:2}@media screen and (max-width:700px){.contact_form_container{top:0;z-index:999999999;overflow-y:scroll}}.contact_form_container h3{white-space:nowrap}.contact_form_container .contact-btn{margin:0 auto!important}.contact_form_container .contact-btn>svg{width:24px}.contact_form_container>form{display:grid;gap:35px;background:var(--modal-bg);padding:20px 20px 30px;font-size:24px;box-shadow:0 3px 16px #0000004a;min-height:600px;width:calc(100vw - 3px);position:absolute;top:0;height:calc(100vh - 56px);overflow-y:scroll}@media screen and (min-width:500px){.contact_form_container>form{position:relative;width:500px;border-radius:12px;height:auto}}@media screen and (max-height:760px){.contact_form_container>form{width:calc(100vw - 3px)}}@media screen and (max-width:700px){.contact_form_container>form{display:block}.contact_form_container>form>*{margin-bottom:20px}}.contact_form_container>form header{display:flex;justify-content:space-between;font-size:39px;align-items:center}.contact_form_container>form header button{display:flex;justify-content:center;align-items:center;background:var(--modal-close-btn-bg);width:44px;border-radius:100%;height:44px;transition:background-color .25s ease,color .25s ease}.contact_form_container>form header button:hover{background-color:var(--modal-close-btn-hover-bg);color:var(--modal-close-btn-hover-color)}.contact_form_container>form p{text-align:center}.contact_form_container>form hr{border-bottom:1px dashed #35356f}.contact_form_container>form>fieldset{display:flex;justify-content:center}.contact_form_container>form>fieldset svg{color:var(--modal-icon-color);background:var(--modal-icon-bg)}.contact_form_container>form>fieldset input,.contact_form_container>form>fieldset textarea{background:var(--modal-input-bg)}.contact_form_container>form>fieldset:last-of-type svg{padding:0 10px}.contact_form_container>form>fieldset:last-of-type textarea,.contact_form_container>form>fieldset:last-of-type svg{height:170px}.contact_form_container>form textarea{resize:none}.contact_form_container>form input,.contact_form_container>form textarea,.contact_form_container>form button{color:var(--site-text-color)}.contact_form_container>form input,.contact_form_container>form textarea{max-width:376px;width:100%;border-top-right-radius:20px;border-bottom-right-radius:20px;height:43px;padding:8px 16px;line-height:32px;font-family:inherit;font-size:20px;font-weight:400!important}.contact_form_container>form input:focus-visible,.contact_form_container>form input:focus-visible+svg,.contact_form_container>form textarea:focus-visible,.contact_form_container>form textarea:focus-visible+svg{outline:2px solid #5c5cce}.contact_form_container>form>fieldset svg{border-top-left-radius:20px;border-bottom-left-radius:20px;padding:10px 0 10px 5px;height:43px;width:45px}.contact_form_container>form>.contact-btn{background-color:#5c5cce;color:#fff;border-color:#5c5cce;box-shadow:0 0#5c5cce;margin:0 auto;align-self:flex-end}.contact_form_container>form>.contact-btn:hover{background-color:#fff;border-color:#5c5cce;color:#5c5cce;box-shadow:0 2px 3px #5c5cce}.spinner{display:inline-block;vertical-align:middle;border:3px solid #6affb2;border-top-color:transparent;border-radius:100%;width:2rem;height:2rem;margin-right:1.25rem;animation:spin 1s linear infinite}.loading_container{text-align:center;margin-top:100px}.contact_form_container .loading_container{display:none}.contact_form_container.sending .loading_container,.contact_form_container.sent .loading_container,.contact_form_container.sending form,.contact_form_container.sent form{display:block}.contact_form_container.sending form>p,.contact_form_container.sending form>fieldset,.contact_form_container.sending form>button,.contact_form_container.sent form>p,.contact_form_container.sent form>fieldset,.contact_form_container.sent form>button{display:none}.contact_form_container.sending .loading_container>span:last-child,.contact_form_container.sent .loading_container>span:first-child{display:none}@font-face{font-family:League Spartan;font-style:normal;font-weight:100;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-ExtraLight.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:100;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-ExtraLight.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:100;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-ExtraLight.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Light.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Light.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Light.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Thin.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Thin.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Thin.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Regular.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Regular.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Regular.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Bold.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Bold.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Bold.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-SemiBold.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-SemiBold.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-SemiBold.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Bold.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Bold.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Bold.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-ExtraBold.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-ExtraBold.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-ExtraBold.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Black.woff2)format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Black.woff2)format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/LeagueSpartan/LeagueSpartan-Black.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{--out-of-focus-filter:opacity(.05) blur(2px);--site-header-height:56px}@media screen and (min-width:611px){body{--big-font-size:42px}}@media screen and (max-width:610px){body{--big-font-size:8vw}}@media screen and (max-width:350px){body{--big-font-size:14vw}}body{--site-text-color:#000;--article-sm-bg:#c1d1ff;--article-sm-highlight-color:#4b4b9e;--article-sm-highlight-bg:#4a53db;--loader-color:#ddd;--site-hyper-color:#fff;--page-header-bg-color:rgba(224,225,230,.65);--nav-menu-hover-color:#868383;--nav-link-color:#000;--nav-element-color:rgba(0,0,0,.86);--nav-mobile-bg-color:rgba(255,255,255,1);--text-shadow-color:#d9dce5}.dark{--site-text-color:#ddd;--article-sm-bg:#050525;--article-sm-highlight-color:#b9b9fa;--loader-color:lime;--site-hyper-color:#000;--page-header-bg-color:rgba(8,10,15,.7);--nav-menu-hover-color:#868383;--nav-link-color:#fff;--nav-element-color:hsla(0,0%,100%,.11);--nav-mobile-bg-color:rgba(0,0,0,1);--current-project-bg:#050525;--current-project-bg-two:#140122;--current-project-highlight-color:#b9b9fa;--text-shadow-color:#8588bf;--title-color:#09ff97}.icon{display:block;color:inherit;width:35px;height:35px;filter:drop-shadow(.5px 1px 0#b4b5cf);transition:color .2s ease;color:var(--nav-link-color)}.icon.animated{background-color:currentcolor;mask-image:var(--svg);mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-image:var(--svg);-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.icon.moon,.icon.sun{width:27px;height:27px}.icon.moon{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24' class='iconify iconify--line-md'%3E%3Cg fill='currentColor' fill-opacity='0'%3E%3Cpath d='M15.22 6.03L17.75 4.09L14.56 4L13.5 1L12.44 4L9.25 4.09L11.78 6.03L10.87 9.09L13.5 7.28L16.13 9.09L15.22 6.03Z'%3E%3Canimate attributeName='fill-opacity' values='0;1' begin='0.7s' dur='0.4s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3Cpath d='M19.61 12.25L21.25 11L19.19 10.95L18.5 9L17.81 10.95L15.75 11L17.39 12.25L16.8 14.23L18.5 13.06L20.2 14.23L19.61 12.25Z'%3E%3Canimate attributeName='fill-opacity' values='0;1' begin='1.1s' dur='0.4s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3C/g%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 6 C7 12.08 11.92 17 18 17 C18.53 17 19.05 16.96 19.56 16.89 C17.95 19.36 15.17 21 12 21 C7.03 21 3 16.97 3 12 C3 8.83 4.64 6.05 7.11 4.44 C7.04 4.95 7 5.47 7 6 Z' stroke-dashoffset='56' stroke-dasharray='56'%3E%3Canimate attributeName='stroke-dashoffset' values='56;0' dur='0.6s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}.icon.sun{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24' class='iconify iconify--line-md'%3E%3Cg stroke='currentColor' stroke-linecap='round' stroke-width='2'%3E%3Cpath d='M12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7' fill='currentColor' fill-opacity='0' stroke-dasharray='34' stroke-dashoffset='34'%3E%3Canimate attributeName='stroke-dashoffset' values='34;0' dur='0.4s' fill='freeze'%3E%3C/animate%3E%3Canimate attributeName='fill-opacity' values='0;1' begin='0.9s' dur='0.5s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3Cg fill='none' stroke-dasharray='2' stroke-dashoffset='2'%3E%3Cpath d='M0 0'%3E%3Canimate attributeName='d' values='M12 19v1M19 12h1M12 5v-1M5 12h-1;M12 21v1M21 12h1M12 3v-1M3 12h-1' begin='0.5s' dur='0.2s' fill='freeze'%3E%3C/animate%3E%3Canimate attributeName='stroke-dashoffset' values='2;0' begin='0.5s' dur='0.2s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3Cpath d='M0 0'%3E%3Canimate attributeName='d' values='M17 17l0.5 0.5M17 7l0.5 -0.5M7 7l-0.5 -0.5M7 17l-0.5 0.5;M18.5 18.5l0.5 0.5M18.5 5.5l0.5 -0.5M5.5 5.5l-0.5 -0.5M5.5 18.5l-0.5 0.5' begin='0.7s' dur='0.2s' fill='freeze'%3E%3C/animate%3E%3Canimate attributeName='stroke-dashoffset' values='2;0' begin='0.7s' dur='0.2s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3CanimateTransform attributeName='transform' type='rotate' values='0 12 12;360 12 12' dur='30s' repeatCount='indefinite'%3E%3C/animateTransform%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.icon.chevron-down{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24'%3E%3Cg transform='rotate(-90 12 12)'%3E%3Cpath fill='none' stroke='currentColor' stroke-dasharray='10' stroke-dashoffset='10' stroke-linecap='round' stroke-width='2' d='M8 12L15 5M8 12L15 19'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.3s' values='10;0'%3E%3C/animate%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}.icon.github{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cmask id='svgIDa' width='24' height='24' x='0' y='0'%3E%3Cg fill='%23fff'%3E%3Cellipse cx='9.5' cy='9' rx='1.5' ry='1'/%3E%3Cellipse cx='14.5' cy='9' rx='1.5' ry='1'/%3E%3C/g%3E%3C/mask%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath stroke-dasharray='30' stroke-dashoffset='30' d='M12 4C13.6683 4 14.6122 4.39991 15 4.5C15.5255 4.07463 16.9375 3 18.5 3C18.8438 4 18.7863 5.21921 18.5 6C19.25 7 19.5 8 19.5 9.5C19.5 11.6875 19.017 13.0822 18 14C16.983 14.9178 15.8887 15.3749 14.5 15.5C15.1506 16.038 15 17.3743 15 18C15 18.7256 15 21 15 21M12 4C10.3317 4 9.38784 4.39991 9 4.5C8.47455 4.07463 7.0625 3 5.5 3C5.15625 4 5.21371 5.21921 5.5 6C4.75 7 4.5 8 4.5 9.5C4.5 11.6875 4.98301 13.0822 6 14C7.01699 14.9178 8.1113 15.3749 9.5 15.5C8.84944 16.038 9 17.3743 9 18C9 18.7256 9 21 9 21'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.6s' values='30;0'/%3E%3C/path%3E%3Cpath stroke-dasharray='10' stroke-dashoffset='10' d='M9 19'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.7s' dur='0.2s' values='10;0'/%3E%3Canimate attributeName='d' dur='3s' repeatCount='indefinite' values='M9 19c-1.406 0-2.844-.563-3.688-1.188C4.47 17.188 4.22 16.157 3 15.5;M9 19c-1.406 0-3-.5-4-.5-.532 0-1 0-2-.5;M9 19c-1.406 0-2.844-.563-3.688-1.188C4.47 17.188 4.22 16.157 3 15.5'/%3E%3C/path%3E%3C/g%3E%3Crect width='8' height='4' x='8' y='11' fill='currentColor' mask='url(%23svgIDa)'%3E%3Canimate attributeName='y' dur='10s' keyTimes='0;0.45;0.46;0.54;0.55;1' repeatCount='indefinite' values='11;11;7;7;11;11'/%3E%3C/rect%3E%3C!-- 1667430764225 --%3E%3C/svg%3E")}.icon.linkedin{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' role='img' viewBox='0 0 24 24' class='iconify iconify--line-md'%3E%3Ccircle cx='4' cy='4' r='2' fill='currentColor' fill-opacity='0'%3E%3Canimate attributeName='fill-opacity' values='0;1' dur='0.4s' fill='freeze'%3E%3C/animate%3E%3C/circle%3E%3Cg fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M4 10V20' stroke-dasharray='12' stroke-dashoffset='12'%3E%3Canimate attributeName='stroke-dashoffset' values='12;0' begin='0.2s' dur='0.2s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3Cpath d='M10 10V20' stroke-dasharray='12' stroke-dashoffset='12'%3E%3Canimate attributeName='stroke-dashoffset' values='12;0' begin='0.5s' dur='0.2s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3Cpath d='M10 15C10 12.2386 12.2386 10 15 10C17.7614 10 20 12.2386 20 15V20' stroke-dasharray='24' stroke-dashoffset='24'%3E%3Canimate attributeName='stroke-dashoffset' values='24;0' begin='0.7s' dur='0.5s' fill='freeze'%3E%3C/animate%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}.icon.mail{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath stroke-dasharray='20' stroke-dashoffset='20' d='M3 21H21'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.3s' values='20;0'%3E%3C/animate%3E%3C/path%3E%3Cpath stroke-dasharray='44' stroke-dashoffset='44' d='M7 17V13L17 3L21 7L11 17H7'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.4s' dur='0.6s' values='44;0'%3E%3C/animate%3E%3C/path%3E%3Cpath stroke-dasharray='8' stroke-dashoffset='8' d='M14 6L18 10'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='1s' dur='0.2s' values='8;0'%3E%3C/animate%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}.icon.twitter{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' aria-hidden='true' role='img' id='footer-sample-full' width='1em' height='1em' preserveAspectRatio='xMidYMid meet' viewBox='0 0 24 24' class='iconify iconify--line-md'%3E%3Cpath fill='none' stroke='currentColor' stroke-dasharray='62' stroke-dashoffset='62' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19.8906 7.34375C19.7969 7.67188 19.4001 8.50548 18.7219 9.29669C18.2698 17.9717 9.84907 20.7974 4.08456 17.8869C3.29335 16.8414 6.93856 17.2653 8.26666 15.259C3.23684 12.6876 3.63244 5.82103 4.64971 6.1036C7.02333 9.29669 10.8381 9.57926 11.4597 9.29669C11.4597 8.562 11.1489 6.97958 12.8726 5.65148C13.8616 4.94505 15.9297 4.3125 17.8047 6.34375C18.125 6.55469 18.5859 6.64844 19.2734 6.49219C19.6797 6.28125 20.2262 6.427 19.9453 7.15625'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.6s' values='62;0'%3E%3C/animate%3E%3C/path%3E%3C/svg%3E")}@keyframes pulse{0%,75%{transform:scale(1)}25%{transform:scaleY(3)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes hueRotate{0%{filter:hue-rotate(0deg)}75%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows,.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}[data-darkreader-mode=dynamic] .dark{--darkreader-bg--spotify-bg:var(--spotify-bg);--darkreader-map-color:var(--map-color)}:root{--scrollbar-bg:transparent;--scrollbar-thumb:#90A4AE;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-bg)}::-webkit-scrollbar{height:12px;width:3px;background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-bg);-webkit-border-radius:1ex;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.75)}::-webkit-scrollbar-track{background:var(--scrollbar-bg);border:3px solid var(--scrollbar-bg)}::-webkit-scrollbar-corner{background:#000;border:3px solid var(--scrollbar-bg)}*{padding:0;margin:0;border:0;box-sizing:border-box}body{background-image:linear-gradient(170deg,#010110,#010136 48%,#2c0e17);background-color:#010136;min-height:100vh;background-attachment:fixed;background-size:cover;font-family:League Spartan,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--site-text-color);overflow-x:hidden;overflow-y:scroll}body .contact-btn{color:#292633}body .contact-btn:hover{background-color:#000;color:#fff}body:not(.dark){background:linear-gradient(to bottom,#e0eafc,#cfdef3);background-attachment:fixed}body>footer{height:240px;background:url(/img/line.png);color:#ffffff20}button[type=button]{cursor:pointer;background:0 0}ul,ol,dl{list-style:none}body>main{position:relative;z-index:2;transition:filter .5s ease-out;max-width:100vw}body>main>section{width:100%}.hue-rotation-text{animation:hueRotate 7s infinite linear;position:relative}.hue-rotation-text span{position:relative;z-index:2}.hue-rotation-text:before,.hue-rotation-text:after{content:attr(data-text);position:absolute;z-index:1;width:100%;color:transparent;width:auto;left:0;top:0;background:linear-gradient(170deg,#b0a5ff,gold 48%,#19ffa9) #fd0000;background-clip:border-box;-webkit-background-clip:text;background-clip:text}.hue-rotation-text:before{text-shadow:-1px -1px 0#0e2901,0-1px 0#0e2901,1px -1px 0#0e2901,1px 0 0#0e2901,1px 1px 0#0e2901,0 1px 0#0e2901,-1px 1px 0#0e2901,-1px 0 0#0e2901}.dark .hue-rotation-text:before{filter:blur(2px)}.dark .hue-rotation-text:after{text-shadow:none}.dark .contact-btn{color:#fff}.dark .contact-btn:hover{color:#4d485b;background-color:#fff}.contact-btn.big{justify-content:left;padding:12px 40px 12px 80px;max-width:fit-content}.contact-btn.big:hover svg{transform:rotate(0)!important;filter:drop-shadow(0 0 5px #fff)}.contact-btn:not(.big) svg{margin:0 15px 5px 0}.contact-btn{display:flex;position:relative;justify-content:center;align-items:center;max-width:230px;width:100%;background-color:transparent;color:#fff;cursor:pointer;font-weight:700;font-family:League Spartan,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;border-radius:25px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .125s ease-out;margin:20px auto;font-size:22px;z-index:1;overflow:hidden;padding:12px;white-space:nowrap;text-decoration:none}.contact-btn.flipped{padding:12px 80px 12px 40px}.contact-btn.flipped>span{left:auto;right:0;padding:0 3px 3px 0;border-radius:0 25px 25px 0}.contact-btn span{filter:hue-rotate(55deg)}.contact-btn>span{position:absolute;left:0;height:100%;display:flex;align-items:center;background:linear-gradient(170deg,#5c48e6,#3b5dc1 48%,#2161a6) #153080;color:#fff;justify-content:center;width:55px;z-index:-2;padding:0 0 3px 9px;border:1px solid #218dff;border-top-left-radius:25px;border-bottom-left-radius:25px;filter:hue-rotate(19deg);box-shadow:0 0 40px #507fff;transition:filter .5s ease;outline:1px solid rgba(255,255,255,.0901960784);outline-offset:-2px}.contact-btn svg{transition:transform .2s ease,filter .2s ease}.article-sm{background:var(--article-sm-bg);border-radius:12px;word-break:break-word;box-shadow:0 0 3px #4a53db}.loader-container{display:grid;justify-items:center;align-items:center;height:270px}.loading-bars{text-align:center;opacity:.5}.loading-bars .bar{height:20px;width:10px;background:var(--loader-color);display:inline-block;animation:pulse 1.2s infinite ease-out}.loading-bars .bar:not(:last-child){margin-right:5px}.loading-bars .bar:nth-of-type(1){animation-delay:0s}.loading-bars .bar:nth-of-type(2){animation-delay:.2s}.loading-bars .bar:nth-of-type(3){animation-delay:.4s}.loading-bars .bar:nth-of-type(4){animation-delay:.6s}.loading-bars .bar:nth-of-type(5){animation-delay:.8s}.ReactModal__Body--open .socials.min,.ReactModal__Body--open .down-btn,.artwork-expanded .socials.min,.artwork-expanded .down-btn,.nav-open .socials.min,.nav-open .down-btn{opacity:0;visibility:hidden}.socials{display:flex;flex-wrap:wrap;align-items:center;gap:48px;align-items:normal;bottom:21px;position:relative;max-width:400px;justify-content:center;width:100%;border-top:1px dotted #5275dd;padding:40px}.socials>li{visibility:hidden}.socials:hover .icon{color:#bababa82}.socials a:hover .icon,.socials button:hover .icon{color:var(--nav-link-color)}.socials span{display:none;text-indent:-3000px}.socials:not(.min) .icon{width:48px;height:48px}@media screen and (max-width:1250px){.socials:not(.min) .icon{width:34px;height:34px}}@media screen and (max-width:480px){.socials:not(.min) .icon{width:24px;height:24px}}.socials.min{position:fixed;right:10px;border-top:0;display:grid;gap:20px;max-width:50px;padding:10px 0;border-top-left-radius:12px;border-bottom-left-radius:12px;transition:opacity .5s ease,visibility .5s ease;visibility:visible;z-index:3}.socials.min .icon{width:27px;height:27px}.dark .introduction a{color:#ddd;transition:color .125s ease}.dark .introduction a:hover{color:#fff}.introduction{position:relative;display:grid;align-content:space-evenly;padding:0 25px;height:100vh;opacity:0;animation:fadeIn 4.5s forwards ease-out;animation-delay:.5s;overflow:hidden}.introduction .nutshell svg{display:inline-block;position:relative}.introduction .tekken-logo{width:auto;height:1.8vw;vertical-align:middle}@media screen and (max-width:1024px){.introduction .tekken-logo{height:18px}}.introduction .ingrid-logo{height:1.8vw;vertical-align:middle}@media screen and (max-width:1024px){.introduction .ingrid-logo{width:auto;vertical-align:top;height:20px;top:5px}}@media screen and (max-height:700px){.introduction header{padding-top:80px}}.introduction .hue-rotation-text{display:inline-block}.introduction .hue-rotation-text:before{filter:blur(1px)}.introduction .intro-greeting{filter:drop-shadow(0 2px 12px rgba(255,153,0,.15))}.introduction .nutshell{display:flex;flex-direction:column;gap:10px;width:100%;max-width:640px}.introduction .nutshell-item{--item-accent:#ee72f1;position:relative;display:flex;align-items:center;gap:0;padding:14px 20px 14px 16px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .3s cubic-bezier(.25,.46,.45,.94),border-color .3s ease,box-shadow .3s ease,background .3s ease;line-height:1.5;overflow:hidden}.introduction .nutshell-item:hover{transform:translate(4px);border-color:color-mix(in srgb,var(--item-accent) 40%,transparent);box-shadow:0 4px 24px -4px color-mix(in srgb,var(--item-accent) 15%,transparent),inset 0 0 0 .5px color-mix(in srgb,var(--item-accent) 12%,transparent);background:#ffffff14}.introduction .nutshell-item:hover .nutshell-accent{opacity:1;height:60%}.introduction .nutshell-item--orange{--item-accent:#f90}.introduction .nutshell-item--pink{--item-accent:#ff2b84}.introduction .nutshell-item--green{--item-accent:#04ff66}.introduction .nutshell-accent{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:40%;border-radius:0 3px 3px 0;background:var(--item-accent);box-shadow:0 0 12px color-mix(in srgb,var(--item-accent) 50%,transparent);opacity:.7;transition:height .3s ease,opacity .3s ease}.introduction .nutshell-text{position:relative;z-index:1}.introduction .socials{justify-self:center;border-top:0;padding:0}.introduction>header{display:flex;flex-direction:column;align-items:center;margin:auto;gap:22px;padding-top:50px;font-size:clamp(1.1rem,1.6vw,2.5rem)!important}.introduction>header .hello{width:100%;display:block}.introduction>header h1{font-weight:800;text-align:center;font-size:clamp(1.8rem,2.5vw,4rem)}@media screen and (max-width:700px){.introduction>header{font-size:18px;gap:12px}.introduction>header h1{font-size:28px}.introduction>header .nutshell{gap:8px}.introduction>header .nutshell-item{padding:12px 16px 12px 14px;border-radius:12px}}.introduction .last-updated{position:absolute;bottom:20px;right:20px;font-size:1rem;font-weight:200;text-transform:lowercase;opacity:.75}.intro-dot-grid{position:absolute;width:120px;height:120px;background:radial-gradient(circle,var(--intro-dot-color, rgba(255, 255, 255, .18)) 1px,transparent 1px);background-size:10px 10px;opacity:.3;pointer-events:none;z-index:0;transition:opacity .4s ease}.intro-dot-grid--tl{top:12%;left:5%;width:100px;height:100px;--intro-dot-color:#f904d}@media screen and (max-width:700px){.intro-dot-grid--tl{top:8%;left:2%;width:60px;height:60px}}.intro-dot-grid--br{bottom:15%;right:4%;width:140px;height:90px;--intro-dot-color:#ff2b8440}@media screen and (max-width:700px){.intro-dot-grid--br{bottom:10%;right:2%;width:70px;height:50px}}.dark .intro-dot-grid{opacity:.25}body:not(.dark) .intro-dot-grid{--intro-dot-color:rgba(0,0,0,.08);opacity:.5}body:not(.dark) .nutshell-item{background:#ffffff73;border-color:#0000000f;box-shadow:0 1px 3px #0000000a}body:not(.dark) .nutshell-item:hover{background:#ffffffa6;border-color:color-mix(in srgb,var(--item-accent) 30%,transparent);box-shadow:0 4px 20px -4px color-mix(in srgb,var(--item-accent) 12%,transparent)}body:not(.dark) .nutshell-accent{opacity:.85}body:not(.dark) .intro-greeting{filter:drop-shadow(0 2px 12px rgba(255,153,0,.1))}.intro-ring{position:absolute;border-radius:50%;border:2px solid;pointer-events:none;z-index:0;opacity:.12;animation:introRingSpin 30s linear infinite}.intro-ring--1{width:400px;height:400px;border-color:#ee72f1;top:-80px;right:-100px;border-style:dashed}@media screen and (max-width:700px){.intro-ring--1{width:200px;height:200px;top:-40px;right:-50px}}.intro-ring--2{width:300px;height:300px;border-color:#f90;bottom:-60px;left:-80px;animation-direction:reverse;animation-duration:40s}@media screen and (max-width:700px){.intro-ring--2{width:160px;height:160px;bottom:-30px;left:-40px}}body:not(.dark) .intro-ring{opacity:.06}body:not(.dark) .intro-ring--1{border-color:#b44ec0}body:not(.dark) .intro-ring--2{border-color:#c87000}@keyframes introRingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wave{animation-name:wave-animation;animation-duration:2.5s;animation-iteration-count:infinite;transform-origin:70% 70%;display:inline-block}@keyframes wave-animation{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.dark{--grid-color:rgba(170, 109, 230, .15);--artwork-expanded-bg:#01011a;--artwork-figcaption-bg:rgba(0, 0, 0, .75);--back-glow:linear-gradient(0deg, #2410B3, #01012c);--uses-modal-bg:rgba(5, 5, 30, .82);--uses-modal-card-bg:rgba(15, 15, 50, .72);--uses-modal-card-border:rgba(255, 255, 255, .08);--uses-modal-text:#e0e0e0;--uses-modal-text-muted:#a0a0b8;--uses-modal-close-bg:rgba(255, 255, 255, .06);--uses-modal-close-hover-bg:rgba(255, 255, 255, .14);--uses-modal-close-color:#999;--uses-modal-close-hover-color:#fff;--uses-modal-icon-bg:rgba(255, 255, 255, .04);--uses-modal-icon-border:rgba(255, 255, 255, .08)}body{--grid-color:rgba(0, 0, 0, .1);--back-glow:linear-gradient(0deg, #AFACFF, #dae5f9);--uses-modal-bg:rgba(200, 210, 240, .6);--uses-modal-card-bg:rgba(255, 255, 255, .55);--uses-modal-card-border:rgba(0, 0, 0, .06);--uses-modal-text:#1a1a2e;--uses-modal-text-muted:#555570;--uses-modal-close-bg:rgba(0, 0, 0, .05);--uses-modal-close-hover-bg:rgba(0, 0, 0, .12);--uses-modal-close-color:#666;--uses-modal-close-hover-color:#111;--uses-modal-icon-bg:rgba(255, 255, 255, .6);--uses-modal-icon-border:rgba(0, 0, 0, .06)}body.uses-modal-open{overflow:hidden}body.uses-modal-open>main{filter:var(--out-of-focus-filter)}.uses{padding:0 24px 120px;opacity:0;animation:fadeIn 1s forwards ease-out;animation-delay:.5s;overflow:hidden;min-height:100vh;background:repeating-linear-gradient(0deg,var(--grid-color),var(--grid-color) 1px,transparent 1px,transparent 100px),repeating-linear-gradient(-90deg,var(--grid-color),var(--grid-color) 1px,transparent 1px,transparent 100px);background-size:cover;background-attachment:fixed}.uses:after{content:"";position:absolute;width:100%;bottom:0;left:0;height:40vh;background:var(--back-glow);z-index:-1;filter:blur(60px)}.uses section:first-child li:before{background:#f90}.uses section:nth-child(2) li:before{background:#ff2b84}.uses section:nth-child(3) li:before{background:#04ff66}.dark .uses section .uses-item-btn{color:#d3d3d3}.dark .uses section .uses-item-btn:hover{color:#fff!important}.uses>section{display:grid;justify-content:center;padding-top:50px}.uses>section h2{font-size:28px;line-height:2.1;text-align:center;text-transform:lowercase}.uses>section ul,.uses>section p{font-size:1.5rem}.uses>section ul{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;background:#ffffff12;padding:8px;border-radius:20px;border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(4px)}.uses>section ul .uses-item-btn{width:77px;height:77px;text-decoration:none;color:#454959;transition:color .125s ease,transform .2s ease;cursor:pointer;background:0 0;padding:0;display:flex;align-items:center;justify-content:center;border-radius:14px}.uses>section ul .uses-item-btn:hover{color:#000;transform:scale(1.08)}.uses>section ul .uses-item-btn:active{transform:scale(.96)}.uses>section ul li{position:relative;display:flex;align-items:center;line-height:1.6}.uses-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;justify-content:center;align-items:center;background:var(--uses-modal-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .35s cubic-bezier(.4,0,.2,1),visibility .35s cubic-bezier(.4,0,.2,1);padding:24px}.uses-modal-overlay.open{opacity:1;visibility:visible}.uses-modal-overlay.open .uses-modal__card{transform:translateY(0) scale(1);opacity:1}.uses-modal__card{position:relative;max-width:420px;width:100%;background:var(--uses-modal-card-bg);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--uses-modal-card-border);border-radius:24px;padding:40px 32px 32px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;overflow:hidden;transform:translateY(30px) scale(.95);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .35s ease;box-shadow:0 8px 60px #00000040,0 1px 3px #0000001a,inset 0 1px #ffffff14}@media screen and (max-width:480px){.uses-modal__card{padding:32px 20px 24px;max-width:calc(100vw - 32px);border-radius:20px}}.uses-modal__accent{position:absolute;top:-40px;left:-40px;width:calc(100% + 80px);height:calc(100% + 80px);pointer-events:none;z-index:0;opacity:.7;transition:background .3s ease}.uses-modal__dot{position:absolute;top:16px;left:16px;width:10px;height:10px;border-radius:50%;z-index:2;transition:background .3s ease,box-shadow .3s ease}.uses-modal__close{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--uses-modal-close-bg);color:var(--uses-modal-close-color);cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease}.uses-modal__close:hover{background:var(--uses-modal-close-hover-bg);color:var(--uses-modal-close-hover-color)}.uses-modal__icon-wrap{position:relative;z-index:1;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:var(--uses-modal-icon-bg);border:1px solid var(--uses-modal-icon-border);border-radius:22px;padding:6px;backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000014}.uses-modal__icon-wrap img{width:88px;height:88px;object-fit:contain;border-radius:14px}.uses-modal__name{position:relative;z-index:1;font-size:26px;font-weight:700;color:var(--uses-modal-text);line-height:1.2;margin:0}@media screen and (max-width:480px){.uses-modal__name{font-size:22px}}.uses-modal__desc{position:relative;z-index:1;font-size:18px;font-weight:300;line-height:1.6;color:var(--uses-modal-text-muted);max-width:340px}@media screen and (max-width:480px){.uses-modal__desc{font-size:16px}}.uses-modal__link{position:relative;z-index:1;filter:hue-rotate(-267deg);margin:8px auto 0!important}.missing-page[data-astro-cid-ccfurhev]{font-size:48px;max-width:600px;margin:auto;padding-top:160px;text-align:center;display:flex;flex-direction:column;align-items:center}.missing-page[data-astro-cid-ccfurhev] img[data-astro-cid-ccfurhev]{pointer-events:none;user-select:none;max-width:600px;width:100%}.missing-page[data-astro-cid-ccfurhev] i[data-astro-cid-ccfurhev]{display:block;margin-top:100px}.blog{padding:0 24px 120px;opacity:0;animation:fadeIn 1s forwards ease-out;animation-delay:.5s;min-height:100vh}.blog:after{content:"";position:absolute;width:100%;bottom:0;left:0;height:50vh;z-index:-1;opacity:.5;background:repeating-linear-gradient(0deg,var(--grid-color),var(--grid-color) 1px,transparent 1px,transparent 50px),repeating-linear-gradient(-90deg,var(--grid-color),var(--grid-color) 1px,transparent 1px,transparent 50px);background-size:cover;background-attachment:fixed}ol{display:flex;flex-direction:column;gap:12px;font-size:21px;max-width:800px;margin:0 auto}ol li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px;background:#ffffff13;backdrop-filter:blur(4px);outline:1px solid var(--grid-color);outline-offset:-6px}body{--hoverable-bg-color:#fff}.dark{--hoverable-bg-color:rgba(41, 38, 149, .6)}.case-study-thumbnail{display:flex;justify-content:space-evenly;flex-wrap:wrap;outline:1px solid var(--case-study-outline-color);margin:125px 30px;text-align:center}.case-study-thumbnail:not(.hoverable) .glide{cursor:grab}@media screen and (max-width:1360px){.case-study-thumbnail:not(.hoverable){margin:auto;max-width:900px;padding:50px}.case-study-thumbnail:not(.hoverable) .glide{max-width:100%;width:100%}.case-study-thumbnail:not(.hoverable) .case-study-info{text-align:left;margin:25px 0;max-width:100%;padding-left:0}.case-study-thumbnail:not(.hoverable) .case-study-info>header{margin-top:20px}.case-study-thumbnail:not(.hoverable) .case-study-info p{max-width:100%}.case-study-thumbnail:not(.hoverable) .view-case-btn{margin-top:50px;float:right}}.case-study-info{display:inline-block;padding-left:100px;text-align:left;vertical-align:top}.case-study-info p{margin-bottom:35px!important}.case-study-info .view-case-btn{margin-top:15px!important}.case-study-info .link-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}@media screen and (max-width:1360px){.case-study-info .link-container{flex-direction:row}}.case-study-info h2{font-size:45px;color:var(--cs-highlight-color);line-height:1.2;margin-bottom:10px}.case-study-info p{margin-top:20px;font-size:20px;max-width:330px}.view-case-btn{margin:40px 0 0;filter:hue-rotate(60deg)}.view-case-btn svg{padding:5px;width:44px;height:44px}.dark .case-tag{background:#270c3b}.dark .case-tag.software{background:#11223a}.case-tag{border-radius:20px;padding:4px 8px 2px;border:1px solid #ea3f71;margin-right:10px}.case-tag.graphics{border-color:#ea3f71}.case-tag.esport{border-color:#b9b9fa}.case-tag.software{border-color:#50ff5b}.glide{position:relative;max-width:800px;padding:5px;background:#000;border-width:1px 0 1px 0;transition:opacity 2s ease}.glide:after,.glide:before{content:"";position:absolute;display:block;width:100%;max-width:800px;height:50px;transition:filter .25s ease;filter:brightness(0) contrast(1) grayscale(100%);transform:rotate(2deg)}.glide:before{top:-35px;background:no-repeat bottom left/99% 50px url(/img/bar.png)}.glide:after{bottom:-35px;background:no-repeat bottom left/100% 50px url(/img/bar-flipped.png);z-index:-1}.glide img{width:100%}.case-study-thumbnail.hoverable{position:relative;justify-content:center;display:flex;width:650px;margin:0!important}.case-study-thumbnail.hoverable .glide{width:650px!important}.case-study-thumbnail.hoverable:hover .case-study-info{opacity:1;visibility:visible}.case-study-thumbnail.hoverable .case-study-info{position:absolute;background:var(--hoverable-bg-color);opacity:0;top:0;left:0;width:100%;height:100%;display:grid;border-radius:25px;backdrop-filter:blur(20px);align-items:flex-start;padding:20px;transition:opacity .125s ease,visibility .125s ease}.case-study-thumbnail.hoverable .case-study-info>p,.case-study-thumbnail.hoverable .case-study-info>header{max-width:100%}.case-study-thumbnail.hoverable .case-study-info .view-case-btn{margin:0!important;justify-self:flex-end}.case-studies-footer{display:flex;justify-content:flex-end;max-width:1200px;margin:50px auto}.projects>article{visibility:hidden;overflow:hidden}.projects .case-study-thumbnail:nth-child(odd){flex-direction:row-reverse!important}.projects .stack-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;list-style:none}.projects .stack-list svg{width:21px;fill:var(--site-text-color)}.about-case-studies{padding-top:150px;padding-bottom:30px;display:flex;align-items:end;justify-content:center;flex-wrap:wrap;margin:0 auto;text-transform:lowercase}.about-case-studies h1{font-size:60px;padding-right:30px;line-height:58px}.about-case-studies>p{font-size:24px;font-weight:200;text-align:right;padding-right:30px;text-indent:30px;line-height:40px}body{--spotify-bg:#81ff2e;--spotify-color:#1d2a24;--spotify-filter:contrast(0) sepia(100%) saturate(420%) brightness(355.4%) hue-rotate(34deg);--spotify-disc-mix:overlay}body:not(.dark) .disc{mix-blend-mode:difference;fill:#fff;color:#98fff5}.dark{--spotify-bg:#030d0b;--spotify-color:#ddd;--spotify-filter:none;--spotify-disc-mix:exclusion}#spotify_track_container{width:100%}.currently_listening{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;max-width:1200px;height:100%;min-height:540px;background:var(--spotify-bg);width:100%;padding:30px 40px;margin-top:80px}.currently_listening>div:after,.currently_listening:before,.currently_listening:after{filter:var(--spotify-filter)}.currently_listening a{justify-self:flex-end;margin:20px 0 0}@media screen and (max-width:745px){.currently_listening a{justify-self:flex-start}}.currently_listening h2,.currently_listening .track_info{font-size:var(--big-font-size)}.currently_listening h2{margin-bottom:40px}.currently_listening img{max-width:350px;width:100%;height:100%;z-index:2;pointer-events:none}@media screen and (max-width:550px){.currently_listening img{max-width:250px}}.currently_listening:before,.currently_listening:after,.currently_listening>div:after{content:"";position:absolute;display:block;width:100%;height:50px;z-index:2;transition:filter .25s ease}.currently_listening:after{right:-289px;bottom:251px;background:no-repeat bottom left/100% 50px url(/img/bar-flipped.png);transform:rotate(-90deg);background-size:801px 56px;max-width:555px}.currently_listening:before{top:-50px;left:0;background:no-repeat bottom left/100% 50px url(/img/bar.png)}.currently_listening>div:after{left:0;bottom:-49px;background:no-repeat bottom left/100% 50px url(/img/bar-flipped.png)}.track_info{display:flex;gap:40px;flex-wrap:wrap;padding:0 0 40px 40px}@media screen and (max-width:745px){.track_info{padding:0;flex-direction:column;align-content:baseline;align-items:baseline}}.track_info>div{display:grid;align-items:flex-end;position:relative}.track_info>div:last-child{flex:1}.track_info span{white-space:break-spaces}.album_cover:after{content:"";background:radial-gradient(#779b5c .5px,transparent .5px);background-size:5px 5px;display:block;height:100%;position:absolute;width:100%;top:38px;z-index:1;left:-42px}.disc{position:absolute;width:100%;height:100%;left:35%;top:0;z-index:1!important;animation:spin 3s linear infinite;mix-blend-mode:var(--spotify-disc-mix)}@media screen and (max-width:610px){.disc{left:90px;top:0}}@media screen and (max-width:352px){.disc{left:0;top:40px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.track_title_artist{line-height:1.2;max-width:690px;text-overflow:ellipsis;display:block;overflow:hidden}.track_title_artist span,.track_title_artist strong{white-space:nowrap}.featured-project{--accent:#f90;position:relative;display:flex;flex-direction:column;color:var(--site-text-color);text-decoration:none;border-radius:16px;overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease,border-color .3s ease;will-change:transform}.featured-project:hover{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 20px 60px -12px color-mix(in srgb,var(--accent) 25%,transparent)}.featured-project:hover .fp-thumb{transform:scale(1.05)}.featured-project:hover .fp-arrow{opacity:1;transform:translate(0)}.featured-project:hover .fp-dot-grid{opacity:.6}.featured-project:hover .fp-number{opacity:1;color:var(--accent)}.fp-number{position:absolute;top:12px;left:16px;font-size:13px;font-weight:800;letter-spacing:.05em;opacity:.4;z-index:3;transition:opacity .3s ease,color .3s ease;color:var(--site-text-color);font-variant-numeric:tabular-nums}.fp-img-wrap{position:relative;width:100%;aspect-ratio:16/9.5;overflow:hidden;background:#0003}.fp-img-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.5)0,transparent 100%);z-index:1;pointer-events:none}.fp-dot-grid{position:absolute;top:-8px;right:-8px;width:80px;height:80px;background:radial-gradient(circle,var(--accent) 1px,transparent 1px);background-size:8px 8px;opacity:.25;z-index:2;transition:opacity .3s ease;pointer-events:none}.fp-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.fp-content{position:relative;padding:20px 20px 24px;display:flex;flex-direction:column;gap:10px;flex:1}.fp-content h3{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;line-height:1.2;color:var(--site-text-color);margin:0}.fp-content p{font-size:.9rem;line-height:1.55;opacity:.75;margin:0;flex:1}.fp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.fp-tag{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px 2px;border-radius:100px;border:1px solid var(--accent);color:var(--accent);opacity:.8}.fp-arrow{position:absolute;top:18px;right:18px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#000;opacity:0;transform:translate(-4px,4px);transition:opacity .3s ease,transform .3s ease}.dark .featured-project{background:#ffffff0a;border-color:#ffffff14}.dark .featured-project:hover{background:#ffffff12;border-color:var(--accent)}.dark .fp-content h3{color:#fff}.dark .fp-arrow{color:#000}.featured-projects>header{padding:10vh 0 2vh;display:flex;justify-content:center}.featured-projects>header h2{font-size:var(--big-font-size);line-height:1.2}.featured-projects-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:20px;max-width:620px;margin:50px auto 0;padding:0 20px}@media screen and (max-width:680px){.featured-projects-grid{grid-template-columns:1fr;gap:16px;padding:0 16px}.featured-projects-grid .featured-project:first-child{grid-column:auto}.featured-projects-grid .featured-project:first-child .fp-img-wrap{aspect-ratio:16/9.5}}.featured-projects-grid::-webkit-scrollbar,.featured-projects-grid::-webkit-scrollbar-thumb,.featured-projects-grid::-webkit-scrollbar-track{display:none;width:0;height:0}@media screen and (hover:none){.home{overflow:hidden;overflow-y:scroll;max-height:100vh}}