.avatar_avatar__HU_lN img{border-radius:100%;border:8px solid var(--foreground)}.avatar_avatar__HU_lN img:hover{border-color:var(--highlight)}@media screen and (max-width:1000px){.avatar_avatar__HU_lN{display:none}}.link_link__pd2Z_{text-decoration:none;border-bottom:none}.link_link__pd2Z_:hover{background:rgba(0,0,0,0);color:var(--highlight);text-decoration:underline}@media screen and (max-width:450px){header.header_major__Ghh6v h2{font-size:2em;font-size:1.6em;text-align:center}}.header_header__P90l2{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;background-color:var(--background-gradient-start);transition:all .3s ease-in-out;background-attachment:scroll,fixed;background-position:0 0,0 0;background-repeat:repeat;background-image:url(/_next/static/media/bg.1e3e3a11.jpg);background-size:auto,auto 100%;color:#9cb3c9;height:100%;left:0;padding:8em 4em;position:fixed;text-align:right;top:0;width:30%;z-index:1000}@media screen and (max-width:1280px){.header_header__P90l2{width:30%;padding:2em 2em 2em 0}}@media screen and (max-width:980px){.header_header__P90l2{background-attachment:scroll;background-position:0 0,50%;background-size:auto,cover;left:auto;padding:3em 2em;position:relative;text-align:center;top:auto;width:100%;display:block}.header_header__P90l2 h1 strong{font-size:2em}}@media screen and (max-width:525px){.header_header__P90l2{padding:3em 1.5em}.header_header__P90l2 h1 strong{font-size:1.25em}}.header_header__P90l2>*{-ms-flex-shrink:0;flex-shrink:0;width:100%}.header_header__P90l2>.header_inner__2MqbQ{flex-grow:1;margin:0 0 2em}@media screen and (max-width:980px){.header_header__P90l2>.header_inner__2MqbQ{margin-bottom:0}}.header_header__P90l2 h2,.header_header__P90l2 h3,.header_header__P90l2 h4,.header_header__P90l2 h5,.header_header__P90l2 h6{color:#fff}.header_header__P90l2 h1{color:#fff;font-size:1.35em;line-height:1.75em;margin:0}.header_header__P90l2 .header_image__I07Ud.header_avatar__qn9gg{margin:0 0 1em;display:inline}.header_header__P90l2 .header_image__I07Ud.header_avatar__qn9gg img{border-radius:100%;max-width:135px;border:8px solid #fff}.header_header__P90l2 b,.header_header__P90l2 strong{color:#fff}.header_header__P90l2 a{border-bottom:none}.header_avatarLink__h5CyX{background:rgba(0,0,0,0)}.header_avatarLink__h5CyX:hover{background:rgba(0,0,0,0);padding:0}.header_nav__jqNm7{margin:1em 0 0;list-style:none}.page_page__A3Qm7 h3,.page_page__A3Qm7 p{margin-top:0;margin-bottom:0}.page_main__Ze6b8{width:40%}@media screen and (max-width:500px){.page_main__Ze6b8{width:100%}}.project-page_project_header__nfIzI{display:flex;flex-direction:column}.project-page_project_header__nfIzI h2{font-weight:500;margin-bottom:.5rem}@media screen and (max-width:400px){.project-page_project_header__nfIzI h2{font-size:1.25rem}}.project-page_project_header_row__gT_we{display:flex;align-items:center;justify-content:space-between;width:100%}@media screen and (max-width:500px){.project-page_project_header_row__gT_we{align-items:flex-start;flex-direction:column}.project-page_project_header_row__gT_we a{font-size:.75rem}.project-page_project_header_row__gT_we h3{margin-bottom:0}}.project-page_project_header_row_container__yXYwE{display:flex;align-items:center;justify-content:space-between;width:100%;flex-wrap:nowrap}.project-page_project_header_row_tech__rnyjf{display:flex;align-items:center;justify-content:flex-start;width:100%}@media screen and (max-width:500px){.project-page_project_header_row_tech__rnyjf{flex-wrap:wrap}}.project-page_orange_square__1lJQh{color:var(--highlight);border:1px solid var(--highlight);border-radius:8px;margin-right:8px;padding:0 8px;font-size:.8rem;white-space:nowrap}.project-page_tech__ROEp5:last-child,.project-page_type__7c1sl:last-child{margin-right:0}@media screen and (max-width:500px){.project-page_tech__ROEp5,.project-page_type__7c1sl{margin-top:1rem}.project-page_type__7c1sl{display:none}}.project-page_type_mobile__cFVQq{display:none;position:absolute;right:32px}@media screen and (min-width:499px){.project-page_type_mobile__cFVQq{display:none}}.project-page_project_content__atc_G{margin-top:1em}.project-page_project_content__atc_G p{font-size:1.1rem;line-height:1.5rem;margin:16px 0}@media screen and (max-width:400px){.project-page_project_content__atc_G p{font-size:.9rem;line-height:1.25rem}}.project-page_project_images__8_zXA{display:flex;justify-content:flex-start;flex-wrap:wrap}.project-page_project_images__8_zXA>div{margin-right:2%;width:45%}@media screen and (max-width:500px){.project-page_project_images__8_zXA>div{margin-left:1%;margin-right:1%;width:98%}}.project-page_page_wide__Aigcb{max-width:80%}@media screen and (max-width:500px){.project-page_page_wide__Aigcb{max-width:100%}}.project-page_image_container__2GTlQ{display:flex;flex-direction:column;align-items:center}.project-page_image_container__2GTlQ>p{font-style:italic;font-size:1rem}@media screen and (max-width:400px){.project-page_image_container__2GTlQ>p{font-size:.9rem;line-height:1.25rem}}.nav_nav__Y2Zqa{margin:1em 0 0;list-style:none}.nav_link__ucKH1{font-size:1.5rem;line-height:2rem}.nav_link__ucKH1.nav_active__gC5S0{text-decoration:underline}@media screen and (max-width:500px){.nav_link__ucKH1{font-size:1.25rem;line-height:1.5rem}}@media screen and (max-width:1000px){.nav_nav__Y2Zqa{display:flex;justify-content:space-evenly}}.navigation-buttons_page_buttons__7Ccdg{display:none}@media screen and (max-width:500px){.navigation-buttons_page_buttons__7Ccdg{display:flex;cursor:pointer;z-index:1000;justify-content:space-between;width:100%;position:fixed;top:200px;left:50%;transform:translate(-50%,-50%)}}.navigation-buttons_header_buttons__kfsgi{display:flex;justify-content:flex-end;cursor:pointer}@media screen and (max-width:500px){.navigation-buttons_header_buttons__kfsgi{display:none}}.navigation-buttons_header_buttons__kfsgi .navigation-buttons_back_button__jiuBX:hover,.navigation-buttons_header_buttons__kfsgi .navigation-buttons_next_button__68iso:hover{opacity:.5}.section_section__pgPjE header.section_major__0CNsN{font-size:2rem}.section_section__pgPjE h2{color:#fff;font-weight:600;line-height:1.25em}.section_section__pgPjE b{color:#fff;display:block;margin-bottom:1em}@media screen and (max-width:450px){.section_section__pgPjE b{text-align:center}}.section_section__pgPjE strong{color:#fff}.projects_info__Xs1yK{margin-top:8px}.projects_projectList__f6Tzs{display:flex;flex-wrap:wrap;margin:0 0 2em}@media screen and (max-width:500px){.projects_projectList__f6Tzs{flex-direction:column}}.projects_project__eQsMd{padding:1.75em;background-color:var(--background-gradient-start);border-radius:5px;width:calc(50% - 1.5em);margin:.75em 1.5em .75em 0;display:flex;flex-direction:column;justify-content:space-between;min-height:13em;position:relative;overflow:hidden;max-width:450px}.projects_project__eQsMd:hover{cursor:pointer;opacity:.7}.projects_project__eQsMd .projects_project_ribbon__NuCav{width:180px;background:var(--highlight);position:absolute;text-align:center;line-height:50px;letter-spacing:1px;color:#2e3141;font-weight:700;box-shadow:0 0 3px rgba(0,0,0,.3);top:auto;right:-50px;bottom:200px;left:auto;transform:rotate(45deg)}@media screen and (max-width:500px){.projects_project__eQsMd .projects_project_ribbon__NuCav{width:200px;bottom:240px;right:-65px;top:auto;left:auto}}.projects_project__eQsMd .projects_project_header__ewbvT{display:flex;flex-direction:column}.projects_project__eQsMd .projects_project_header__ewbvT h2{margin-bottom:5px;font-size:1.25rem}.projects_project__eQsMd .projects_project_header__ewbvT h3{margin-bottom:0;font-size:1rem}@media screen and (max-width:500px){.projects_project__eQsMd .projects_project_header__ewbvT h3 span{display:block;margin-top:.5rem;font-size:.75rem}}.projects_project__eQsMd .projects_project_header__ewbvT img{height:50px;border-radius:100%}.projects_project__eQsMd .projects_project_header__ewbvT a{cursor:pointer;font-size:1rem}@media screen and (max-width:500px){.projects_project__eQsMd .projects_project_header__ewbvT a{font-size:.8em}}.projects_project__eQsMd p{font-size:1.1rem;line-height:1.5rem;margin:16px 0}@media screen and (max-width:500px){.projects_project__eQsMd{width:100%}}.projects_techList___3IrP{display:flex;justify-content:space-between}.projects_techList___3IrP span{font-size:.9rem;border:1px solid var(--highlight);color:var(--highlight);border-radius:8px;padding:0 8px;margin-right:8px}@media screen and (max-width:500px){.projects_techList___3IrP span{margin-right:0;margin-bottom:8px;padding:3px 12px}.projects_techList___3IrP a{background:var(--highlight);color:var(--background-gradient-start);padding:2px 4px;border-radius:4px;display:flex;align-items:center}}.page_main__GlU4n{max-width:100%}@media screen and (max-width:500px){.page_main__GlU4n{max-width:100%}}@media screen and (min-width:2000px){.page_main__GlU4n{max-width:50%}}.page_main__GlU4n ol{font-family:var(--font-geist-mono);padding-left:0;margin:0;font-size:14px;line-height:24px;letter-spacing:-.01em;list-style-position:inside}.page_main__GlU4n li:not(:last-of-type){margin-bottom:8px}.page_main__GlU4n code{font-family:inherit;background:var(--gray-alpha-100);padding:2px 4px;border-radius:4px;font-weight:600}.page_mainWide__1CYrN{max-width:60%}.page_ctas__g5wGe{display:flex;gap:16px}.page_ctas__g5wGe a{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:128px;height:48px;padding:0 20px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:20px;font-weight:500;margin-left:16px}.page_ctas__g5wGe a svg{margin-right:8px}a.page_primary__V8M9Y{background:var(--foreground);color:var(--background);gap:8px}a.page_secondary__lm_PT{border-color:var(--gray-alpha-200);min-width:158px}.page_footer__sHKi3{grid-row-start:3;display:flex;gap:24px}.page_footer__sHKi3 a{display:flex;align-items:center;gap:8px}.page_footer__sHKi3 img{flex-shrink:0}@media (hover:hover) and (pointer:fine){a.page_primary__V8M9Y:hover{background:var(--button-primary-hover);border-color:transparent}a.page_secondary__lm_PT:hover{background:var(--button-secondary-hover);border-color:black;color:var(--highlight)}.page_footer__sHKi3 a:hover{text-decoration:underline;text-underline-offset:4px}}@media (max-width:600px){.page_page__ZU32B{padding-bottom:80px}.page_main__GlU4n{align-items:center}.page_main__GlU4n ol{text-align:center}.page_ctas__g5wGe{flex-direction:column}.page_ctas__g5wGe a{font-size:14px;height:40px;padding:0 16px}a.page_secondary__lm_PT{min-width:auto}.page_footer__sHKi3{flex-wrap:wrap;align-items:center;justify-content:center}}@media (prefers-color-scheme:dark){.page_logo__7fc9l{filter:invert()}}