.Card_wrapper__h5GMf{border-radius:5px;transition:transform var(--hover-down),box-shadow var(--hover-down);box-shadow:var(--shadow-elevation-medium);background-color:var(--gray-900);transform:scale(.98);position:relative}.Card_wrapper__h5GMf:hover{box-shadow:var(--shadow-elevation-high);transition:transform var(--hover-up),box-shadow var(--hover-up);transform:scale(1)}.Card_link__P9oON:focus{outline:var(--primary-500) auto 1px}.Card_text__52S9d{position:absolute;top:0;bottom:0;left:0;right:0;opacity:0;border-radius:calc(var(--border-radius)/2);display:grid;place-items:center;color:var(--gray-100);height:calc(100% + 1px);transition:all var(--hover-down);padding:var(--md);text-align:center;font-size:1.25rem;font-weight:500}.Card_text__52S9d span{opacity:0;transition:opacity var(--hover-down)}.Card_text__52S9d:hover{opacity:1;background-color:var(--alpha-95);border-radius:var(--border-radius);transition:opacity var(--hover-up),background-color var(--hover-up)}@supports((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.Card_text__52S9d:hover{background-color:var(--alpha-70);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.Card_text__52S9d:hover:hover span{opacity:1;transition:opacity var(--hover-up)}.Card_picture__DWtcX{height:100%}.Card_image__G_jyc{border-radius:var(--border-radius);width:100%;height:100%;object-fit:cover}.Card_imageDark__mXlbW{filter:brightness(.5)}.Card_imageLight__VvcNE{filter:brightness(1)}.SkipLink_wrapper__uoFh_{position:absolute;top:0;left:0;background:var(--gray-900);color:var(--gray-100);padding:10px 20px;transform:translateY(-100%);transition:transform .3s;border-radius:var(--border-radius);text-decoration:none;font-weight:var(--bold);isolation:isolate;z-index:2}.SkipLink_wrapper__uoFh_:focus{transform:translateY(0)}.Nav_nav__EkkmE{position:static;height:100%;opacity:1}@media(max-width:1100px){.Nav_nav__EkkmE{width:100%;transition:opacity var(--hover-up);position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--md);z-index:1;opacity:0;pointer-events:none;background-color:var(--gray-900-alpha-70)}@supports((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.Nav_nav__EkkmE{background-color:var(--gray-900-alpha-50);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}}.Nav_navOpen__4ThBL{opacity:1;pointer-events:auto}.Nav_navLink__VNpcI{text-transform:capitalize;display:inline-block;margin:0 5px;color:var(--gray-100);background-color:var(--gray-900);box-shadow:var(--shadow-elevation-low);padding:10px 20px;border-radius:5px;font-weight:600;transition:color var(--hover-down),box-shadow var(--hover-down);will-change:transform}.Nav_navLink__VNpcI,.Nav_navLink__VNpcI:hover{text-decoration:none}@media(max-width:1100px){.Nav_navLink__VNpcI{font-size:1.25rem;min-width:200px;text-align:center;font-weight:400}}.Nav_navLink__VNpcI:hover{box-shadow:var(--shadow-elevation-medium);transition:color var(--hover-up),box-shadow var(--hover-up)}.ThemeFlipIcon_icon__dAwiN{cursor:pointer;min-width:45px;width:45px;height:45px;display:grid;place-items:center;color:var(--gray-100);background-color:var(--gray-900);box-shadow:var(--shadow-elevation-low);transform:scale(.95);border-radius:5px;transition:color var(--hover-down),box-shadow var(--hover-down),transform var(--hover-down);will-change:transform}.ThemeFlipIcon_icon__dAwiN:hover{box-shadow:var(--shadow-elevation-medium);transform:scale(1);transition:color var(--hover-up),box-shadow var(--hover-up),transform var(--hover-up)}.Header_wrapper__PJAKW{position:fixed;top:0;left:0;width:100%;background-color:var(--light-alpha-95);z-index:1}@supports((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){@media(min-width:1100px){.Header_wrapper__PJAKW{background-color:var(--light-alpha-70);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}}@media(max-width:1100px){.Header_wrapper__PJAKW{position:revert}}.Header_innerWrapper__CkUex{max-width:var(--max-width);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:var(--md);position:relative}.Header_logo__V9h3K{display:flex;align-items:center;box-shadow:var(--shadow-elevation-low);transition:color var(--hover-down),box-shadow var(--hover-down);border-radius:var(--border-radius)}.Header_logo__V9h3K:hover{box-shadow:var(--shadow-elevation-medium);transition:color var(--hover-up),box-shadow var(--hover-up)}.Header_logoImage__YyeGM{border-radius:var(--border-radius);object-fit:cover}.FollowLink_link__kU2ck{cursor:pointer;width:45px;height:45px;display:grid;place-items:center;color:var(--gray-100);background-color:var(--gray-900);box-shadow:var(--shadow-elevation-low);transform:scale(.95);border-radius:5px;transition:color var(--hover-down),box-shadow var(--hover-down),transform var(--hover-down);will-change:transform}.FollowLink_link__kU2ck:hover{box-shadow:var(--shadow-elevation-medium);transform:scale(1);transition:color var(--hover-up),box-shadow var(--hover-up),transform var(--hover-up)}.FollowLink_link__kU2ck:hover svg{transition:color var(--hover-up);color:var(--primary-500)}.FollowLink_link__kU2ck svg{font-size:2rem;margin:var(--sm);color:var(--gray-300);transition:color var(--hover-down)}.BottomDecoration_wrapper__QDnN_{position:absolute;bottom:0;left:0;right:0;width:100%;height:100%;overflow:hidden;z-index:-1}.BottomDecoration_background__5VP1l{position:absolute;inset:0;width:100%;min-width:800px;height:100%;max-width:revert}.Footer_flex__Xn9_r{display:flex;gap:var(--sm)}.Footer_footer__OYoYH{display:flex;flex-direction:column;align-items:center;gap:var(--lg);color:var(--gray-100);width:100%;padding-top:var(--3xl);padding-bottom:var(--xl);position:relative;isolation:isolate}.Footer_copyrightText__X2QNr{text-transform:uppercase;font-weight:var(--bold);font-family:var(--system-sans);font-size:var(--fine-print-1);color:var(--text);text-align:center}.Footer_copyrightLink__VEjYF{font-weight:var(--black)}.Footer_serif__gyTS0{text-transform:capitalize}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/de32ab4287127d46-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/52c789a43a83edb4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/53a2694769c6fc4b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/109cd0be88080556-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9f5251eb979d3d3e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spectral Fallback;src:local("Times New Roman");ascent-override:96.46%;descent-override:42.17%;line-gap-override:0.00%;size-adjust:109.78%}.__className_79a72a{font-family:Spectral,Spectral Fallback;font-weight:400;font-style:italic}.ToggleMobileNav_toggle__nPqIl{display:none}@media(max-width:1100px){.ToggleMobileNav_toggle__nPqIl{cursor:pointer;display:block;position:fixed;right:30px;bottom:40px;background-color:var(--gray-900);border:none;padding:0 12px;border-radius:var(--border-radius);z-index:2;transition:color var(--hover-down),box-shadow var(--hover-down),transform var(--hover-down);box-shadow:var(--shadow-elevation-low);transform:scale(.95)}}.ToggleMobileNav_toggleOpen__I1FH8{transition:color var(--hover-up),box-shadow var(--hover-up),transform var(--hover-up);box-shadow:var(--shadow-elevation-medium);transform:scale(1)}.ToggleMobileNav_chevronUp__Mv6mz{color:var(--gray-100);transform:translateY(5px);transition:transform var(--hover-down);stroke-width:2px}.ToggleMobileNav_chevronUpOpen__7M44p{color:var(--primary-500);transform:translateY(15px);transition:transform var(--hover-up);stroke-width:2px}.ToggleMobileNav_chevronDown__idUjt{color:var(--gray-100);transform:translateY(-5px);transition:transform var(--hover-down);stroke-width:2px}.ToggleMobileNav_chevronDownOpen__6uwc6{color:var(--primary-500);transform:translateY(-15px);transition:transform var(--hover-up);stroke-width:2px}.ScreenReaderText_wrapper__bdBSo{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.TopButton_wrapper__oS8md{position:fixed;bottom:var(--xl);right:var(--xl);border:none;border-radius:var(--border-radius);outline:none;background-color:var(--gray-900);color:var(--gray-100);cursor:pointer;padding:12px;font-size:1.125rem;transition:color var(--hover-down),box-shadow var(--hover-down),transform var(--hover-down);box-shadow:var(--shadow-elevation-low);transform:scale(.95) translateZ(0);text-decoration:none;visibility:hidden;opacity:0}.TopButton_wrapper__oS8md:focus{outline:2px solid var(--primary-500)}@media(hover:hover)and (pointer:fine){.TopButton_wrapper__oS8md:hover{transition:color var(--hover-up),box-shadow var(--hover-up),transform var(--hover-up);box-shadow:var(--shadow-elevation-medium);transform:scale(1)}}@media(max-width:1100px){.TopButton_wrapper__oS8md{display:none}}.TopButton_icon__4dOg6{font-size:2rem;display:block}.Theme_main__0fATD{padding:var(--header-height) var(--md) var(--2xl);min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:var(--max-width);margin:auto}@media(max-width:1100px){.Theme_main__0fATD{padding-top:0}}.Portfolio_cards__9evkT{grid-area:cards;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--gap);gap:var(--gap)}