.gradient-card_gradientCard__JtVEc{padding:20px;z-index:1;position:relative;box-shadow:var(--shadow-2);border-radius:16px;background:var(--border-gradient-onyx)}.gradient-card_gradientCard__JtVEc:before{content:"";position:absolute;inset:1px;background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1}@media (min-width:580px){.gradient-card_gradientCard__JtVEc{display:flex;justify-content:flex-start;align-items:flex-start;gap:18px;padding:30px}}@media (min-width:580px) and (max-width:639px){.gradient-card_gradientCard__JtVEc{flex-direction:row;align-items:center}.gradient-card_gradientCard__JtVEc>div:last-child{text-align:left}}.image_imageContainer__SMI8h{text-align:center;margin-top:2.5rem;margin-bottom:2.5rem}.image_imageFrame__8Q5z5{display:block;text-align:center;position:relative;border-radius:1rem;margin:2.5rem auto 1rem;overflow:hidden;max-height:12rem}.image_responsiveImage__O04qE{object-fit:contain;border-radius:1rem}.image_imageCaption__cV6p4{color:var(--light-gray-70);text-align:center;display:block;margin-bottom:2.5rem;font-size:.875rem;line-height:1.4}@media (min-width:640px){.image_imageFrame__8Q5z5{max-height:24rem}}@media (min-width:768px){.image_imageFrame__8Q5z5{max-height:24rem}}@media (min-width:1024px){.image_imageFrame__8Q5z5{max-height:24rem}}@media (min-width:1200px){.image_imageFrame__8Q5z5{max-height:24rem}}.page-title_pageTitle__A4yb0{font-weight:var(--fw-600);position:relative;padding-bottom:7px;margin-bottom:30px;font-size:var(--fs-1);color:var(--white-2);text-transform:capitalize}.page-title_pageTitle__A4yb0:after{content:"";position:absolute;bottom:0;left:0;width:30px;height:3px;background:var(--text-gradient-yellow);border-radius:3px}@media (min-width:580px){.page-title_pageTitle__A4yb0{padding-bottom:15px}.page-title_pageTitle__A4yb0:after{width:40px;height:5px}}@media (min-width:768px){.page-title_pageTitle__A4yb0{padding-bottom:20px}}.blog_blog__r_N81{margin-top:2rem;margin-bottom:2rem}.blog_blog__r_N81 .blog_cards__om5Yy{display:grid;grid-template-columns:1fr;gap:20px}.blog_blog__r_N81 .blog_card__70OwL{height:400px}.blog_blog__r_N81 .blog_card__70OwL>a{position:relative;background:var(--border-gradient-onyx);height:100%;box-shadow:var(--shadow-4);border-radius:16px;z-index:1;display:flex;flex-direction:column}.blog_blog__r_N81 .blog_card__70OwL>a:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:var(--eerie-black-1);z-index:-1}.blog_blog__r_N81 .blog_bannerBox__aCIXy{width:100%;height:200px;border-radius:12px;overflow:hidden;flex-shrink:0}.blog_blog__r_N81 .blog_bannerBox__aCIXy img{width:100%;height:100%;object-fit:cover;transition:var(--transition-1)}.blog_blog__r_N81 .blog_card__70OwL>a:hover .blog_bannerBox__aCIXy img{transform:scale(1.1)}.blog_blog__r_N81 .blog_content__d_6RP{padding:1rem;flex:1;display:flex;flex-direction:column;position:relative}.blog_blog__r_N81 .blog_meta__pKuM6{display:flex;flex-direction:column;gap:8px;flex:1}.blog_blog__r_N81 .blog_category__bMWeL{color:var(--light-gray-70);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px}.blog_blog__r_N81 .blog_title__oeUXW{color:var(--white-2);font-weight:700;font-size:var(--fs-2);line-height:1.3;display:inline-block;white-space:wrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease;margin-bottom:16px}.blog_blog__r_N81 .blog_card__70OwL>a:hover .blog_title__oeUXW{color:var(--orange-yellow-crayola)}.blog_blog__r_N81 .blog_date__g_Jf_{color:var(--light-gray);font-size:16px;font-weight:400;position:absolute;bottom:1rem;left:1rem}.blog_blog__r_N81 .blog_blog-text__ZuRp_{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6;overflow:hidden;text-overflow:ellipsis}.blog_blog__r_N81 .blog_filters__AtpEn{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:1rem;padding-left:1rem}.blog_blog__r_N81 .blog_filterButton__zK_So,.blog_blog__r_N81 .blog_filterLink__ADoFJ{color:var(--light-gray);font-size:var(--fs-5);transition:var(--transition-1)}.blog_blog__r_N81 .blog_filterButton__zK_So:hover{color:var(--light-gray-70)}.blog_blog__r_N81 .blog_filterButtonActive__mplcB{color:var(--orange-yellow-crayola)}.blog_blog__r_N81 .blog_filterLink__ADoFJ:hover{color:var(--light-gray-70)}.blog_blog__r_N81 .blog_filterLinkActive__HY_s5{color:var(--orange-yellow-crayola)}@media (min-width:450px){.blog_blog__r_N81 .blog_card__70OwL{height:450px}.blog_blog__r_N81 .blog_bannerBox__aCIXy{height:auto}}@media (min-width:580px){.blog_blog__r_N81 .blog_card__70OwL{height:500px}.blog_blog__r_N81 .blog_bannerBox__aCIXy{border-radius:16px}.blog_blog__r_N81 .blog_cards__om5Yy{gap:30px}.blog_blog__r_N81 .blog_content__d_6RP{padding:25px}.blog_blog__r_N81 .blog_date__g_Jf_{bottom:25px;left:25px}}@media (min-width:768px){.blog_blog__r_N81 .blog_cards__om5Yy{grid-template-columns:1fr 1fr}.blog_blog__r_N81 .blog_card__70OwL{height:450px}}@media (min-width:1024px){.blog_blog__r_N81 .blog_card__70OwL{height:450px}.blog_blog__r_N81 .blog_bannerBox__aCIXy{height:230px}}.selected-projects_latest-posts__e0GBt{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:10px}@media (min-width:768px){.selected-projects_latest-posts__e0GBt{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.selected-projects_latest-posts__e0GBt{grid-template-columns:repeat(3,1fr)}}.selected-projects_latest-post-img__26q5K{position:relative;width:100%;height:200px;border-radius:16px;overflow:hidden;margin-bottom:15px}.selected-projects_latest-post-img__26q5K:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;z-index:1;transition:var(--transition-1)}.selected-projects_latest-post__Rrt8c{list-style:none;width:100%}.selected-projects_latest-post__Rrt8c.selected-projects_active__BTPH4{display:block;animation:selected-projects_scaleUp__dRtGb .25s ease forwards}.selected-projects_latest-post__Rrt8c>a{width:100%}.selected-projects_latest-post__Rrt8c>a:hover .selected-projects_latest-post-img__26q5K:before{background:hsla(0,0%,0%,.5)}.selected-projects_latest-post-img__26q5K img{width:100%;height:100%;object-fit:cover;transition:var(--transition-1)}.selected-projects_latest-post__Rrt8c>a:hover img{transform:scale(1.1)}.selected-projects_latest-post-icon-box__zwcFz{--scale:0.8;transform:translate(-50%,-50%) scale(var(--scale));opacity:0;z-index:1}.selected-projects_latest-post__Rrt8c>a:hover .selected-projects_latest-post-icon-box__zwcFz{--scale:1;opacity:1}@media (min-width:375px){.selected-projects_latest-post-img__26q5K{height:auto}}@media (min-width:450px){.selected-projects_latest-post-img__26q5K{height:auto}}@media (min-width:580px){.selected-projects_latest-post-img__26q5K{border-radius:16px}}.about-section_section__iSW9d{margin-top:2rem;margin-bottom:2rem}.about-section_title__pVTSy{color:var(--white-2);font-size:var(--fs-2);font-weight:600;text-transform:capitalize;margin-bottom:2rem}.md_h1__VqpiC,.md_h2__4qwe0,.md_h3__7x_lz,.md_h4__klByv,.md_h5__u1pev,.md_h6__sn_V3{color:var(--white-1);display:block;text-decoration:none;line-height:1.375;font-weight:500;margin-top:1.5rem;margin-bottom:1rem}.md_h1__VqpiC a,.md_h2__4qwe0 a,.md_h3__7x_lz a,.md_h4__klByv a,.md_h5__u1pev a,.md_h6__sn_V3 a{color:inherit;text-decoration:none;display:inline-flex;align-items:center}.md_h1__VqpiC:hover,.md_h1__VqpiC:hover a,.md_h2__4qwe0:hover,.md_h2__4qwe0:hover a,.md_h3__7x_lz:hover,.md_h3__7x_lz:hover a,.md_h4__klByv:hover,.md_h4__klByv:hover a,.md_h5__u1pev:hover,.md_h5__u1pev:hover a,.md_h6__sn_V3:hover,.md_h6__sn_V3:hover a{text-decoration:underline;color:var(--light-gray);-webkit-text-decoration-color:var(--orange-yellow-crayola);text-decoration-color:var(--orange-yellow-crayola)}.md_h1__VqpiC{font-size:2.25rem;font-weight:700;line-height:1.5;margin-top:2.5rem;margin-bottom:.25rem}.md_h2__4qwe0{font-size:1.875rem;font-weight:600;margin-top:3rem;margin-bottom:.25rem}.md_h3__7x_lz{font-size:1.5rem;margin-top:2rem}.md_h4__klByv{font-size:1.25rem}.md_h5__u1pev{font-size:1.125rem}.md_h6__sn_V3{font-size:1rem}.md_separator___QhoG{width:100%;height:1px;background:var(--jet);margin:12px 0 24px}.md_pre__vMzDP{font-size:var(--fs-6);padding:15px;border-radius:14px;margin-top:1rem;margin-bottom:1rem;white-space:pre;overflow-x:auto;overflow-y:hidden;max-width:100%;position:relative}.md_pre__vMzDP::-webkit-scrollbar{height:8px}.md_pre__vMzDP::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.md_pre__vMzDP::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.md_pre__vMzDP::-webkit-scrollbar-thumb:hover{background:#555}@media (min-width:768px){.md_pre__vMzDP{white-space:pre;overflow-x:auto}}@media (max-width:767px){.md_pre__vMzDP{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}}.md_code__QDOy4[data-line-numbers]{counter-reset:line}.md_code__QDOy4[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);display:inline-block;width:.75rem;margin-right:2rem;text-align:right;color:gray}.md_code__QDOy4[data-line-numbers-max-digits="2"]>[data-line]:before{width:1.25rem}.md_code__QDOy4[data-line-numbers-max-digits="3"]>[data-line]:before{width:1.75rem}.md_code__QDOy4[data-line-numbers-max-digits="4"]>[data-line]:before{width:2.25rem}.md_code__QDOy4 [data-highlighted-line]{background:rgba(200,200,255,.1)}.md_code__QDOy4 [data-highlighted-chars]{background-color:rgba(82,82,91,.5);border-radius:.25rem;box-shadow:0 0 0 4px rgb(82 82 91/.5)}.md_code__QDOy4 [data-chars-id]{box-shadow:none;padding:.25rem;border-bottom-width:2px;border-bottom-style:solid}.md_code__QDOy4 [data-chars-id] span{color:inherit!important}.md_code__QDOy4 [data-chars-id=v]{color:#f9a8d4!important;background-color:rgba(159,18,57,.5);border-bottom:2px solid #db2777;font-weight:700}.md_code__QDOy4 [data-chars-id=s]{color:#fde68a!important;background-color:rgba(133,77,14,.5);border-bottom:2px solid #ca8a04;font-weight:700}.md_code__QDOy4 [data-chars-id=i]{color:#e9d5ff!important;background-color:rgba(107,33,168,.5);border-bottom:2px solid #9333ea;font-weight:700}.md_code__QDOy4:not(pre code){font-size:.875rem;color:#f8f8f2;background-color:#282a36;padding:.25rem .5rem;border-radius:.25rem}@media (min-width:580px){.md_separator___QhoG{margin:16px 0 32px}}.list_ul___B4FD{list-style:disc}.list_ol__ylcao,.list_ul___B4FD{padding-left:1.5rem;color:var(--light-gray);margin-top:1.5rem;margin-bottom:1.5rem}.list_ol__ylcao{list-style:decimal}.list_li__ElfT0{line-height:1.7;color:var(--light-gray);margin-top:.25rem;margin-bottom:.25rem}.list_ul___B4FD .md-ul{margin-top:.5rem;margin-bottom:.5rem;list-style:circle}.list_ol__ylcao .md-ol{margin-top:.5rem;margin-bottom:.5rem;list-style:lower-alpha}.list_ul___B4FD .md-ol{margin-top:.5rem;margin-bottom:.5rem;list-style:decimal}.list_ol__ylcao .md-ul{margin-top:.5rem;margin-bottom:.5rem;list-style:disc}.list_ul___B4FD .md-ul .md-ul{list-style:square}.list_ol__ylcao .md-ol .md-ol{list-style:lower-roman}.list_ol__ylcao .md-ul .md-ol,.list_ul___B4FD .md-ol .md-ul{list-style:disc}.list_ol__ylcao .md-ul .md-ul,.list_ul___B4FD .md-ol .md-ol{list-style:circle}.list_ul___B4FD .md-ul .md-ul .md-ul{list-style:disc}.list_ol__ylcao .md-ol .md-ol .md-ol{list-style:decimal}.list_ol__ylcao .md-ol .md-ol .md-ol,.list_ol__ylcao .md-ul .md-ol .md-ul,.list_ul___B4FD .md-ol .md-ul .md-ol,.list_ul___B4FD .md-ul .md-ul .md-ul{margin-top:.25rem;margin-bottom:.25rem;padding-left:1.25rem}.list_ol__ylcao .md-li,.list_ul___B4FD .md-li{margin-top:.125rem;margin-bottom:.125rem}.list_li__ElfT0:has(>.md-ol),.list_li__ElfT0:has(>.md-ul){margin-bottom:.5rem}.anchor_anchor__tRlDN{display:inline;color:var(--orange-yellow-crayola);text-decoration:underline}.anchor_anchor__tRlDN:hover{opacity:.7}.github-map_section__2uSJU{margin-top:2rem;margin-bottom:2rem;color:var(--light-gray)}.blockquote_blockquote__FXNMd{margin-top:1.5rem;margin-bottom:1.5rem;padding-left:1rem;border-left:.25rem solid;border-color:var(--light-gray-70)}.paragraph_p__jWUBF{margin-top:1.5rem;margin-bottom:1.5rem;line-height:1.7;color:var(--light-gray)}.icons_verified__d4U6V{margin-left:.125rem;max-width:20px;max-height:20px;height:1.25em;fill:currentColor;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:text-bottom}.project_project__kaTQl{margin-top:2rem;margin-bottom:2rem}.project_project__kaTQl .project_cards__vE5vV{display:grid;grid-template-columns:1fr;gap:2rem}.project_project__kaTQl .project_card__faZpl{height:400px}.project_project__kaTQl .project_card__faZpl>a{position:relative;background:var(--border-gradient-onyx);height:100%;box-shadow:var(--shadow-4);border-radius:16px;z-index:1;display:flex;flex-direction:column}.project_project__kaTQl .project_card__faZpl>a:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:var(--eerie-black-1);z-index:-1}.project_project__kaTQl .project_bannerBox__H9uf4{width:100%;height:200px;border-radius:1rem;overflow:hidden;flex-shrink:0}.project_project__kaTQl .project_bannerBox__H9uf4 img{width:100%;height:100%;object-fit:cover;transition:var(--transition-1)}.project_project__kaTQl .project_card__faZpl>a:hover .project_bannerBox__H9uf4 img{transform:scale(1.1)}.project_project__kaTQl .project_content__QaP8b{padding:1rem;flex:1;display:flex;flex-direction:column;position:relative}.project_project__kaTQl .project_meta__P2lwq{display:flex;flex-direction:column;flex:1}.project_project__kaTQl .project_category__GTIQq{color:var(--light-gray-70);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem}.project_project__kaTQl .project_title__HUt3a{color:var(--white-2);font-weight:700;font-size:var(--fs-2);line-height:1.3;display:inline-block;white-space:wrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease;margin-top:.5rem;margin-bottom:.5rem}.project_project__kaTQl .project_card__faZpl>a:hover .project_title__HUt3a{color:var(--orange-yellow-crayola)}.project_project__kaTQl .project_period__hOFCL{color:var(--light-gray-70);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem}.project_project__kaTQl .project_filters__uod_m{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:1rem;padding-left:1rem}.project_project__kaTQl .project_filterButton__v9FkU,.project_project__kaTQl .project_filterLink__irJwm{color:var(--light-gray);font-size:var(--fs-5);transition:var(--transition-1)}.project_project__kaTQl .project_filterButton__v9FkU:hover{color:var(--light-gray-70)}.project_project__kaTQl .project_filterButtonActive__GlnGU{color:var(--orange-yellow-crayola)}.project_project__kaTQl .project_filterLink__irJwm:hover{color:var(--light-gray-70)}.project_project__kaTQl .project_filterLinkActive__xoxMY{color:var(--orange-yellow-crayola)}@media (min-width:450px){.project_project__kaTQl .project_cards__vE5vV{grid-template-columns:1fr}.project_project__kaTQl .project_card__faZpl{height:450px}.project_project__kaTQl .project_bannerBox__H9uf4{height:auto}}@media (min-width:580px){.project_project__kaTQl .project_cards__vE5vV{grid-template-columns:1fr}.project_project__kaTQl .project_card__faZpl{height:500px}.project_project__kaTQl .project_content__QaP8b{padding:25px}}@media (min-width:768px){.project_project__kaTQl .project_cards__vE5vV{grid-template-columns:1fr 1fr}.project_project__kaTQl .project_card__faZpl{height:450px}}@media (min-width:1024px){.project_project__kaTQl .project_card__faZpl{height:450px}.project_project__kaTQl .project_bannerBox__H9uf4{height:230px}}.quoted-tweet-container_root__L4VrV{width:100%;overflow:hidden;border:var(--tweet-border);border-radius:12px;margin:var(--tweet-quoted-container-margin);transition-property:background-color,box-shadow;transition-duration:.2s;cursor:pointer}.quoted-tweet-container_root__L4VrV:hover{background-color:var(--tweet-quoted-bg-color-hover)}.quoted-tweet-container_article__YEmvQ{position:relative;box-sizing:inherit}.quoted-tweet-body_root__usXRk{font-size:var(--tweet-quoted-body-font-size);font-weight:var(--tweet-quoted-body-font-weight);line-height:var(--tweet-quoted-body-line-height);margin:var(--tweet-quoted-body-margin);overflow-wrap:break-word;white-space:pre-wrap;padding:0 .75rem}.tweet-media_root__nAxO8{margin-top:.75rem;overflow:hidden;position:relative}.tweet-media_rounded__ufTzn{border:var(--tweet-border);border-radius:12px}.tweet-media_mediaWrapper__XjsA7{display:grid;grid-auto-rows:1fr;gap:2px;height:100%;width:100%}.tweet-media_grid2Columns__2s_c3{grid-template-columns:repeat(2,1fr)}.tweet-media_grid3__U9yFL>a:first-child{grid-row:span 2}.tweet-media_grid2x2__OWldR{grid-template-rows:repeat(2,1fr)}.tweet-media_mediaContainer__5w4hX{position:relative;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.tweet-media_mediaLink__jX805{text-decoration:none;outline-style:none}.tweet-media_skeleton__kaqQM{padding-bottom:56.25%;width:100%;display:block}.tweet-media_image__fcGLX{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;margin:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.tweet-media-video_anchor__1QKn_{display:flex;align-items:center;color:white;padding:0 1rem;border:1px solid transparent;border-radius:9999px;font-weight:700;transition:background-color .2s;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline-style:none;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.tweet-media-video_videoButton__p_Wb_{position:relative;height:67px;width:67px;display:flex;align-items:center;justify-content:center;background-color:var(--tweet-color-blue-primary);transition-property:background-color;transition-duration:.2s;border:4px solid #fff;border-radius:9999px;cursor:pointer}.tweet-media-video_videoButton__p_Wb_:focus-visible,.tweet-media-video_videoButton__p_Wb_:hover{background-color:var(--tweet-color-blue-primary-hover)}.tweet-media-video_videoButtonIcon__X7gen{margin-left:3px;width:calc(50% + 4px);height:calc(50% + 4px);max-width:100%;color:#fff;fill:currentColor;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tweet-media-video_watchOnTwitter__3_AIt{position:absolute;top:12px;right:8px}.tweet-media-video_watchOnTwitter__3_AIt>a{min-width:2rem;min-height:2rem;font-size:.875rem;line-height:1rem;backdrop-filter:blur(4px);background-color:rgba(15,20,25,.75)}.tweet-media-video_watchOnTwitter__3_AIt>a:hover{background-color:rgba(39,44,48,.75)}.tweet-media-video_viewReplies__c_4UK{position:relative;min-height:2rem;background-color:var(--tweet-color-blue-primary);border-color:var(--tweet-color-blue-primary);font-size:.9375rem;line-height:1.25rem}.tweet-media-video_viewReplies__c_4UK:hover{background-color:var(--tweet-color-blue-primary-hover)}.skeleton_skeleton__IMDIg{display:block;width:100%;border-radius:5px;background-image:var(--tweet-skeleton-gradient);background-size:400% 100%;animation:skeleton_loading__v1OMg 8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.skeleton_skeleton__IMDIg{animation:none;background-position:200% 0}}@keyframes skeleton_loading__v1OMg{0%{background-position:200% 0}to{background-position:-200% 0}}.tweet-not-found_root__oHPdO{display:flex;flex-direction:column;align-items:center;padding-bottom:.75rem}.tweet-not-found_root__oHPdO>h3{font-size:1.25rem;margin-bottom:.5rem}.tweet-skeleton_root__IkUKO{pointer-events:none;padding-bottom:.25rem}