.ProjectCard_cardContainer__Sm4Xj{width:100%;height:300px;perspective:1000px}.ProjectCard_card__Kts_a{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s}.ProjectCard_card__Kts_a.ProjectCard_flipped__nQVjI{transform:rotateY(180deg)}.ProjectCard_back__CTlKl,.ProjectCard_front__F9V5U{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:8px;overflow:hidden}.ProjectCard_front__F9V5U{background:var(--gray-alpha-100)}.ProjectCard_back__CTlKl{background:rgba(0,0,0,.9);transform:rotateY(180deg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;color:#fff}.ProjectCard_imageContainer__Z1ATS{width:100%;height:100%;overflow:hidden}.ProjectCard_imageContainer__Z1ATS img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.ProjectCard_projectName__FIXJI{font-size:1.5rem;font-weight:500;margin:0;cursor:pointer;transition:color .2s}.ProjectCard_projectName__FIXJI:hover{color:#808080}.ProjectCard_description__VX9v2{font-size:.875rem;line-height:1.5;color:#ccc;flex-grow:1}.ProjectCard_duration__J6Cvu{font-size:.75rem;color:#808080}.ProjectCard_techStack__yH_Z1{display:flex;flex-wrap:wrap;gap:.5rem}.ProjectCard_techTag__8B4ET{font-size:.75rem;padding:.25rem .75rem;background:rgba(255,255,255,.1);border-radius:12px;color:#ccc}.ProjectList_listContainer__YpYeb{width:100%;max-width:800px;margin:0 auto;padding:2rem}.ProjectList_projectItem__Lt9TX{padding:1.5rem 0;border-bottom:1px solid var(--gray-alpha-100);cursor:pointer}.ProjectList_projectName__nTgDB{font-size:1.5rem;font-weight:500;color:var(--foreground);display:inline-block;transition:opacity .3s ease}.ProjectList_projectItem__Lt9TX:hover .ProjectList_projectName__nTgDB{opacity:.7}.ProjectList_preview__q9Pjp{position:fixed;width:300px;height:200px;pointer-events:none;opacity:0;transform:translateZ(0);transition:opacity .6s cubic-bezier(.215,.61,.355,1);z-index:1000;will-change:transform,opacity}.ProjectList_preview__q9Pjp.ProjectList_visible__wrEgc{opacity:1}.ProjectList_previewImage__lpxyh{width:100%;height:100%;object-fit:cover;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.2)}@keyframes ProjectList_fadeIn__AW8to{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.Projects_projects__8QhGM{width:100%;max-width:1200px;margin:0 auto;padding:4rem 0;font-family:Inter,sans-serif}.Projects_header__Nk87S{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.Projects_title__fSJyF{font-size:1.5rem;font-weight:500;margin:0;color:var(--foreground)}.Projects_viewToggle__Ssy0v{display:flex;gap:.5rem}.Projects_toggleButton__cOsUa{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--gray-alpha-200);transition:color .2s;border-radius:4px}.Projects_toggleButton__cOsUa:hover{color:var(--foreground)}.Projects_toggleButton__cOsUa.Projects_active__tN2Ib{color:var(--foreground);background:var(--gray-alpha-100)}.Projects_projectsContainer__dGChW{display:grid;grid-gap:2rem;gap:2rem}.Projects_grid__8DDR6{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.Projects_list__5sgFK{grid-template-columns:1fr}.Projects_projectCard__T_23C{position:relative;border-radius:8px;overflow:hidden;background:var(--gray-alpha-100);transition:transform .2s}.Projects_projectCard__T_23C:hover{transform:translateY(-4px)}.Projects_projectImage__mgbEZ{position:relative;aspect-ratio:16/9;overflow:hidden}.Projects_projectImage__mgbEZ img,.Projects_projectImage__mgbEZ video{width:100%;height:100%;object-fit:cover}.Projects_projectVideo__0Kl7p{position:absolute;top:0;left:0;opacity:0;transition:opacity .3s}.Projects_projectCard__T_23C:hover .Projects_projectVideo__0Kl7p{opacity:1}.Projects_projectContent__4PLlL{padding:1.5rem}.Projects_projectTitle__H1YIU{font-size:1.125rem;font-weight:500;margin:0 0 .5rem;color:var(--foreground)}.Projects_projectDescription__pit2F{color:var(--gray-alpha-200);margin:0 0 1rem;line-height:1.5;font-size:.875rem}.Projects_projectTags__Aaiim{display:flex;flex-wrap:wrap;gap:.5rem}.Projects_tag__scvPA{font-size:.75rem;padding:.25rem .75rem;background:var(--gray-alpha-100);border-radius:12px;color:var(--gray-alpha-200)}@media (max-width:768px){.Projects_projects__8QhGM{padding:2rem 0}.Projects_header__Nk87S{margin-bottom:2rem}.Projects_projectsContainer__dGChW{gap:1.5rem}.Projects_grid__8DDR6{grid-template-columns:1fr}}.Loader_loaderContainer__y_yai{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--background)}.Loader_spinner__dGbY_{display:flex;gap:.5rem}.Loader_dot__siEri{width:8px;height:8px;background-color:var(--foreground);border-radius:50%;animation:Loader_bounce__jEkuG .5s ease-in-out infinite}.Loader_dot__siEri:nth-child(2){animation-delay:.1s}.Loader_dot__siEri:nth-child(3){animation-delay:.2s}@keyframes Loader_bounce__jEkuG{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.page_page__556_G{--gray-rgb:0,0,0;--gray-alpha-200:rgba(var(--gray-rgb),0.08);--gray-alpha-100:rgba(var(--gray-rgb),0.05);--button-primary-hover:#383838;--button-secondary-hover:#f2f2f2;display:grid;grid-template-rows:20px 1fr 20px;align-items:center;justify-items:center;min-height:100svh;padding:80px;grid-gap:64px;gap:64px;font-family:var(--font-geist-sans)}@media (prefers-color-scheme:dark){.page_page__556_G{--gray-rgb:255,255,255;--gray-alpha-200:rgba(var(--gray-rgb),0.145);--gray-alpha-100:rgba(var(--gray-rgb),0.06);--button-primary-hover:#ccc;--button-secondary-hover:#1a1a1a}}.page_main__nw1Wk{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.page_main__nw1Wk 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__nw1Wk li:not(:last-of-type){margin-bottom:8px}.page_main__nw1Wk code{font-family:inherit;background:var(--gray-alpha-100);padding:2px 4px;border-radius:4px;font-weight:600}.page_ctas__rfsth{display:flex;gap:16px}.page_ctas__rfsth 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}a.page_primary__2CBMe{background:var(--foreground);color:var(--background);gap:8px}a.page_secondary__jzhTV{border-color:var(--gray-alpha-200);min-width:158px}.page_footer__F3MD0{grid-row-start:3;display:flex;gap:24px}.page_footer__F3MD0 a{display:flex;align-items:center;gap:8px}.page_footer__F3MD0 img{flex-shrink:0}@media (hover:hover) and (pointer:fine){a.page_primary__2CBMe:hover{background:var(--button-primary-hover);border-color:transparent}a.page_secondary__jzhTV:hover{background:var(--button-secondary-hover);border-color:transparent}.page_footer__F3MD0 a:hover{text-decoration:underline;text-underline-offset:4px}}@media (max-width:600px){.page_page__556_G{padding:32px 32px 80px}.page_main__nw1Wk{padding:0 1rem}.page_main__nw1Wk ol{text-align:center}.page_ctas__rfsth{flex-direction:column}.page_ctas__rfsth a{font-size:14px;height:40px;padding:0 16px}a.page_secondary__jzhTV{min-width:auto}.page_footer__F3MD0{flex-wrap:wrap;align-items:center;justify-content:center}}@media (prefers-color-scheme:dark){.page_logo__ikIZE{filter:invert()}}.page_container__COkbX{max-width:1200px;margin:0 auto;padding:6rem 2rem 4rem}.page_header__hINtP{margin-bottom:3rem}.page_title__HVLBt{font-size:3rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(to right,var(--foreground),var(--gray-alpha-200));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page_meta__m_r_o{display:flex;gap:2rem;color:var(--gray-alpha-200);font-size:.875rem}.page_content__68q_l{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:start}.page_imageContainer___qNxD{position:-webkit-sticky;position:sticky;top:6rem}.page_image__oS9WU{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.page_details__3O6rb{display:flex;flex-direction:column;gap:3rem}.page_section___Nb9k{display:flex;flex-direction:column;gap:1rem}.page_section___Nb9k h2{font-size:1.5rem;font-weight:600;color:var(--foreground)}.page_section___Nb9k p{font-size:1rem;line-height:1.7;color:var(--gray-alpha-200)}.page_techStack__kKKWY{display:flex;flex-wrap:wrap;gap:.5rem}.page_techTag__AvtkI{font-size:.875rem;padding:.5rem 1rem;border-radius:20px}.page_link__FfBtf,.page_techTag__AvtkI{background:var(--gray-alpha-100);color:var(--foreground)}.page_link__FfBtf{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .2s}.page_link__FfBtf:hover{background:var(--gray-alpha-200);transform:translateY(-2px)}@media (max-width:1024px){.page_content__68q_l{grid-template-columns:1fr;gap:2rem}.page_imageContainer___qNxD{position:relative;top:0}}@media (max-width:768px){.page_container__COkbX{padding:5rem 1rem 3rem}.page_title__HVLBt{font-size:2rem}.page_meta__m_r_o{flex-direction:column;gap:.5rem}}