.sidebar_sideBar__UiTy0{background:var(--background-dark);height:100vh;position:sticky;top:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.sidebar_sideBar__UiTy0 a{height:100px;flex-shrink:0;writing-mode:vertical-lr;font-size:var(--textC-sm);font-weight:200;display:flex;align-items:center;justify-content:center;opacity:.5;border-right:1px solid transparent;transition:all .1s;width:100%}.sidebar_sideBar__UiTy0 .sidebar_selected__nGDNt,.sidebar_sideBar__UiTy0 a:hover{background:var(--background);border-right:1px solid var(--brand);opacity:1}.sidebar_logo__8VGJt{flex-shrink:0;width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:var(--background);border-radius:4px;margin:1.8rem 0}.sidebar_logo__8VGJt,.sidebar_logo__8VGJt span{font-size:var(--textC-md);font-weight:900;line-height:1}.sidebar_logo__8VGJt span{color:var(--brand)}.sidebar_sideBar__UiTy0::-webkit-scrollbar{display:none}.sidebar_sidebar__rW6c3{display:flex;flex-direction:column;justify-content:space-between;background:#181a1b;width:300px;min-width:240px;height:100vh;padding:2.4rem 2rem;box-sizing:border-box;overflow:hidden}.sidebar_profileSection__8_oOO{display:flex;align-items:center;gap:1.2rem;margin-bottom:2.4rem}.sidebar_avatar__AghFg{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin-bottom:1.2rem}.sidebar_profileInfo__We_CC{text-align:center}.sidebar_name__TFajf{font-size:1.6rem;font-weight:700;color:#fff;margin:0}.sidebar_title__ACHAk{font-size:1.2rem;color:#bdbdbd;margin:0}.sidebar_menuSection__mjV4X{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2.4rem}.sidebar_menuItem__H_yue{color:#e0e0e0;font-size:1.3rem;padding:.8rem 1.2rem;border-radius:6px;transition:background .2s,color .2s;text-decoration:none;opacity:.8}.sidebar_menuItem__H_yue:hover,.sidebar_selected__nGDNt{background:#23272a;color:#c4fa70;opacity:1}.sidebar_socialSection___ivxs{display:flex;flex-direction:row;justify-content:center;gap:2.4rem;margin-top:2.4rem}.sidebar_extraSection__y4NIm{display:flex;flex-direction:column;gap:1.2rem;margin:2.4rem 0 0;align-items:flex-start}.sidebar_blogLink__DP9jY{color:#c4fa70;font-size:1.3rem;text-decoration:none;font-weight:600;padding:.8rem 1.2rem;border-radius:6px;transition:background .2s,color .2s;background:transparent;display:block}.sidebar_blogLink__DP9jY:hover{background:#23272a;color:#fff}.sidebar_switcherButton__80r4X{padding:.8rem 1.2rem;outline:none;border:none;border-radius:6px;font-weight:800;background:hsla(0,0%,100%,.051);text-transform:uppercase;color:#fff;cursor:pointer;transition:color .2s,background .2s;font-size:1.1rem}.sidebar_switcherButton__80r4X:hover{color:#181a1b;background:#c4fa70}.sidebar_navIcon__infDi{width:28px;height:28px;background:transparent;position:relative;border:none;transform:rotate(0deg);transition:.5s ease-in-out;cursor:pointer}.sidebar_navIcon__infDi span{display:block;position:absolute;height:2px;width:100%;background:#fff;border-radius:4px;opacity:1;left:0;transform:rotate(0deg);transition:.25s ease-in-out;-ms-transform:rotate(0deg)}.sidebar_navIcon__infDi span:first-child{top:6px}.sidebar_navIcon__infDi span:nth-child(2),.sidebar_navIcon__infDi span:nth-child(3){top:14px}.sidebar_navIcon__infDi span:nth-child(4){top:22px}.sidebar_navOpen___qF5k span:first-child{top:14px;width:0;left:50%}.sidebar_navOpen___qF5k span:nth-child(2){transform:rotate(45deg)}.sidebar_navOpen___qF5k span:nth-child(3){transform:rotate(-45deg)}.sidebar_navOpen___qF5k span:nth-child(4){top:18px;width:0;left:50%}.standardbutton_standardButton__kderB{outline:none;border:none;cursor:pointer;padding:1.2rem 2.4rem;background:var(--brand);color:var(--background-dark);font-size:var(--textC-sm);border-radius:4px;position:relative;z-index:20;overflow:hidden;transition:opacity .2s}.standardbutton_standardButton__kderB:hover{opacity:.9}.headinglinks_links__0X2vp{display:flex;gap:1.6rem;padding-top:10px}.headinglinks_links__0X2vp a{opacity:.9;position:relative;z-index:20}.headinglinks_links__0X2vp a:hover{color:var(--brand);opacity:1}.stats_stats__WOUW_{position:relative}.stats_statColumn__9zYLf h4{display:flex;align-items:center;margin-bottom:2.4rem}.stats_statColumn__9zYLf h4 span{font-size:var(--textC-md);font-weight:700;position:relative;margin-left:.8rem}.stats_statGrid__zB3xo{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:4.8rem}.projectmodal_modal__X7Nyj{position:fixed;top:0;left:0;right:0;z-index:100000000;height:100vh;padding:4.8rem 1.2rem;background:var(--bg-opaque);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:scroll;display:flex;justify-content:center;cursor:pointer}.projectmodal_modalCard__sntB0{width:100%;max-width:700px;height:-moz-fit-content;height:fit-content;border-radius:1.2rem;overflow:hidden;background:var(--background-light);box-shadow:0 5px 15px rgba(0,0,0,.1);cursor:auto}.projectmodal_modalImage__EWd63{width:100%}.projectmodal_modalContent__loHbD{padding:2.4rem}.projectmodal_modalContent__loHbD h4{font-size:var(--textC-lg)}.projectmodal_modalTech__CGlgc{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:var(--textC-xs);color:var(--brand);margin:.2rem 0 2.4rem}.projectmodal_suppliedContent__9ZyRY{display:flex;flex-direction:column;gap:1.2rem;font-size:var(--textC-xs)}.projectmodal_modalFooter__qkYgS{margin-top:2.4rem}.projectmodal_linksText__9hL89{font-weight:700;font-size:var(--textC-md);margin-bottom:.8rem}.projectmodal_linksText__9hL89 span{color:var(--brand)}.projectmodal_links__Q7utU{display:flex;align-items:center;gap:1.2rem}.projectmodal_links__Q7utU a{display:flex;align-items:center;gap:.4rem;font-size:var(--textC-xs);color:var(--brand)}.projectmodal_links__Q7utU a:hover{text-decoration:underline}.projectmodal_closeModalBtn__tv736{background:none;border:none;color:var(--text);font-size:var(--textC-md);position:absolute;top:1.2rem;right:1.2rem;cursor:pointer}.projects_projects__y7TVk{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem}@media(max-width:768px){.projects_projects__y7TVk{grid-template-columns:1fr}}.projects_projectImage__JxEFv{width:100%;aspect-ratio:16/9;background:var(--background-light);cursor:pointer;position:relative;border-radius:.8rem;overflow:hidden}.projects_projectImage__JxEFv div{position:absolute;bottom:0;left:50%;translate:-50% 20%;transition:all .25s;border-radius:.4rem}.projects_projectCopy__C5vpE{margin:1.6rem 0}.projects_projectTitle__Rv3E5{display:flex;align-items:center;gap:1.2rem}.projects_projectTitle__Rv3E5 h4{font-weight:700;font-size:var(--textC-md);flex-shrink:0;max-width:calc(100% - 150px)}.projects_projectTitle__Rv3E5 a{opacity:.75;transition:opacity .25s}.projects_projectTitle__Rv3E5 a:hover{opacity:1}.projects_projectTitleLine__QzzUe{width:100%;height:1px;background:var(--text);opacity:.3}.projects_projectDescription__K2fsn{font-weight:200}.projects_projectDescription__K2fsn span{display:inline-block;font-size:var(--textC-xs);font-weight:400;color:var(--brand);cursor:pointer}.projects_projectDescription__K2fsn span:hover{text-decoration:underline}.projects_projectTech__vVqDM{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:var(--textC-xs);color:var(--brand);margin:.8rem 0}.experience_experience__USIwr{margin-bottom:2.4rem;padding:0 1.2rem 2.4rem;border-bottom:1px solid var(--background-light)}.experience_heading__LeH28{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}.experience_title__hai7S{font-size:var(--textC-md);font-weight:700}.experience_position__E06bW{color:var(--brand);font-weight:700}.experience_description__iz3mi{margin-bottom:1.8rem;font-weight:200}.experience_tech__jTuus{display:flex;flex-wrap:wrap;gap:1.2rem}.contact_contactWrapper__imGw1{max-width:700px;margin:auto;border-radius:1.2rem}.contact_contactTitle__oMNhX{font-size:var(--textC-2xl);text-align:center;font-weight:900;line-height:1}.contact_contactTitle__oMNhX span{color:var(--brand)}@media(max-width:768px){.contact_contactTitle__oMNhX{font-size:var(--textC-xl)}}.contact_contactCopy__oCo8c{text-align:center;font-weight:200;margin:2.4rem 0}.contact_contactCopy__oCo8c a{color:var(--brand)}.contact_contactCopy__oCo8c a:hover{text-decoration:underline}.contact_contactEmail__Fr6hH{display:flex;align-items:center;justify-content:center;gap:.8rem;width:-moz-fit-content;width:fit-content;font-size:var(--textC-md);margin:auto;transition:color .25s}.contact_contactEmail__Fr6hH:hover{color:var(--brand)}