.FeaturedProjects_featuredProjects___fkzZ{display:flex;flex-direction:column;gap:var(--space-2xl)}.FeaturedProjects_card__mQdfS{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);border-top:3px solid var(--accent);overflow:hidden}.FeaturedProjects_cardInner__lggY7{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-xl);gap:var(--space-xl);padding:var(--space-xl)}.FeaturedProjects_cardContent__UBETo{display:flex;flex-direction:column;gap:var(--space-md)}.FeaturedProjects_cardHeader__bTbwW{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.FeaturedProjects_cardTitle__JBC1Y{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-family:var(--font-display)}.FeaturedProjects_tags__sy6MT{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.FeaturedProjects_summary__XTNKw{font-size:1rem;color:var(--text-secondary);line-height:1.6}.FeaturedProjects_bullets__UVMS8{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs)}.FeaturedProjects_bullets__UVMS8 li{position:relative;padding-left:var(--space-lg);font-size:.9rem;color:var(--text-secondary);line-height:1.5}.FeaturedProjects_bullets__UVMS8 li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:600}.FeaturedProjects_links__Jnz1B{display:flex;gap:var(--space-md);margin-top:var(--space-sm)}.FeaturedProjects_link__geYBn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;text-decoration:none;transition:all var(--transition-fast);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary)}.FeaturedProjects_link__geYBn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.FeaturedProjects_link__geYBn svg{width:16px;height:16px}.FeaturedProjects_mediaSection__rhmAh{display:flex;flex-direction:column;gap:var(--space-sm)}.FeaturedProjects_galleryContainer__FXZNQ{position:relative}.FeaturedProjects_gallery__KHwPz{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:var(--radius-md);background:var(--bg-tertiary)}.FeaturedProjects_gallery__KHwPz::-webkit-scrollbar{height:6px}.FeaturedProjects_gallery__KHwPz::-webkit-scrollbar-track{background:var(--bg-tertiary)}.FeaturedProjects_gallery__KHwPz::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.FeaturedProjects_slide__PW4F8{flex-shrink:0;width:100%;scroll-snap-align:start;aspect-ratio:16/9;position:relative;overflow:hidden}.FeaturedProjects_slide__PW4F8 img,.FeaturedProjects_slide__PW4F8 video{width:100%;height:100%;object-fit:contain;display:block;cursor:pointer;background:var(--bg-tertiary)}.FeaturedProjects_placeholder__p_edo{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border:1px dashed var(--border-light);border-radius:var(--radius-md)}.FeaturedProjects_placeholderText___Js2I{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);opacity:.6}.FeaturedProjects_controls__DiPJZ{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.FeaturedProjects_arrows__qApqH{display:flex;gap:var(--space-xs)}.FeaturedProjects_arrow__Fu2Gq{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:1rem;line-height:1}.FeaturedProjects_arrow__Fu2Gq:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.FeaturedProjects_arrow__Fu2Gq:disabled{opacity:.3;cursor:not-allowed}.FeaturedProjects_dots__KyCLs{display:flex;gap:6px;align-items:center}.FeaturedProjects_dot__5kWdJ{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all var(--transition-fast);cursor:pointer;border:none;padding:0}.FeaturedProjects_dot__5kWdJ.FeaturedProjects_active__0AYWM{background:var(--accent);width:18px;border-radius:3px}.FeaturedProjects_dot__5kWdJ:hover:not(.FeaturedProjects_active__0AYWM){background:var(--border-light)}.FeaturedProjects_lightbox__DwOeL{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:100}.FeaturedProjects_lightbox__DwOeL:target{display:flex}.FeaturedProjects_lightbox__DwOeL img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-md)}.FeaturedProjects_lightboxClose__t2_hS{position:absolute;top:20px;right:20px;color:#fff;font-size:2rem;text-decoration:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.1);border-radius:50%;transition:background var(--transition-fast)}.FeaturedProjects_lightboxClose__t2_hS:hover{background:hsla(0,0%,100%,.2);color:#fff}@media (max-width:900px){.FeaturedProjects_cardInner__lggY7{grid-template-columns:1fr}}@media (max-width:600px){.FeaturedProjects_cardInner__lggY7{padding:var(--space-md)}.FeaturedProjects_cardTitle__JBC1Y{font-size:1.25rem}.FeaturedProjects_links__Jnz1B{flex-wrap:wrap}.FeaturedProjects_controls__DiPJZ{flex-direction:column;gap:var(--space-sm)}}.Hero_hero__bqvNd{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px var(--space-lg)}.Hero_content__WDVga{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center;max-width:640px;width:100%}.Hero_name__DIjOe{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary)}.Hero_tagline__PGzTC{font-size:clamp(1.125rem,2.5vw,1.5rem);color:var(--text-secondary);line-height:1.5;max-width:520px}.Hero_links__AYA0C{display:flex;align-items:center;gap:var(--space-md)}.Hero_iconLink__hnqg7{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--text-secondary);transition:color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.Hero_iconLink__hnqg7:hover{color:var(--text-primary);background-color:var(--bg-tertiary);transform:translateY(-2px)}.Hero_icon__aihqt{width:24px;height:24px}.Nav_nav__o8sSc{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--bg-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(39,39,42,.6)}.Nav_inner__sh7uA{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);height:64px;display:flex;align-items:center;justify-content:space-between}.Nav_brand__vMusG{font-family:var(--font-display);font-weight:600;color:#fff;font-size:1.125rem;text-decoration:none;transition:color var(--transition-fast)}.Nav_brand__vMusG:hover{color:var(--text-primary)}.Nav_desktopLinks__oKBp2{display:flex;align-items:center;gap:var(--space-xl);list-style:none}.Nav_desktopLinks__oKBp2 a{font-size:.875rem;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);padding:var(--space-sm) 0}.Nav_desktopLinks__oKBp2 a:hover{color:var(--text-primary)}.Nav_hamburger__lMmgP{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.Nav_hamburger__lMmgP:hover{background:var(--bg-secondary)}.Nav_hamburger__lMmgP span{display:block;width:20px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-base)}.Nav_hamburger__lMmgP span:not(:last-child){margin-bottom:4px}.Nav_hamburger__lMmgP.Nav_open__cKX7q span:first-child{transform:rotate(45deg) translate(4px,4px)}.Nav_hamburger__lMmgP.Nav_open__cKX7q span:nth-child(2){opacity:0}.Nav_hamburger__lMmgP.Nav_open__cKX7q span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.Nav_mobileMenu__3qPm8{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:var(--space-md) 0;box-shadow:0 4px 20px rgba(0,0,0,.3)}.Nav_mobileMenu__3qPm8.Nav_open__cKX7q{display:block}.Nav_mobileLinks__mW4B_{list-style:none;display:flex;flex-direction:column}.Nav_mobileLinks__mW4B_ a{display:block;padding:var(--space-md) var(--space-lg);font-size:1rem;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);min-height:48px;display:flex;align-items:center}.Nav_mobileLinks__mW4B_ a:hover{color:var(--text-primary);background:var(--bg-secondary)}@media (max-width:767px){.Nav_desktopLinks__oKBp2{display:none}.Nav_hamburger__lMmgP{display:flex}}.OpenSource_section__HUBDm{padding:var(--section-padding) 0}.OpenSource_container__GcbrZ{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.OpenSource_heading__OTsbt{text-align:center;margin-bottom:var(--space-xl)}.OpenSource_card__n9X2b{max-width:700px;margin:0 auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.OpenSource_card__n9X2b:hover{border-color:var(--border-light);transform:translateY(-2px)}.OpenSource_header__X7QV7{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.OpenSource_titleGroup__EZclu{display:flex;flex-direction:column;gap:var(--space-xs)}.OpenSource_title__nxXbb{font-size:1.25rem;font-weight:600}.OpenSource_subtitle__ZCQeM{color:var(--text-secondary);font-size:.875rem}.OpenSource_projectLink__Z_M9S{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.OpenSource_projectLink__Z_M9S:hover{color:var(--accent)}.OpenSource_githubLink__TQa4C{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);flex-shrink:0}.OpenSource_githubLink__TQa4C:hover{color:var(--accent)}.OpenSource_githubIcon__8eE7Q{width:20px;height:20px}.OpenSource_externalIcon__XSpZM{width:14px;height:14px}.OpenSource_bullets__TG8r2{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.OpenSource_bullet__nq9Dl{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;padding-left:var(--space-lg);position:relative}.OpenSource_bullet__nq9Dl:before{content:"–";position:absolute;left:0;color:var(--text-muted)}.OpenSource_code__3K6O7{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,Consolas,monospace;font-size:.8125rem;background:var(--bg-tertiary);color:var(--accent);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border)}.ProjectGrid_grid__2YtyC{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin-top:var(--space-2xl)}@media (max-width:1024px){.ProjectGrid_grid__2YtyC{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.ProjectGrid_grid__2YtyC{grid-template-columns:1fr}}.ProjectGrid_card__hYBlr{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.ProjectGrid_card__hYBlr:hover{transform:translateY(-4px);border-color:var(--border-light);box-shadow:0 12px 24px rgba(0,0,0,.3)}.ProjectGrid_thumbnailWrapper__EgHIp{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.ProjectGrid_thumbnailPlaceholder__UvpKq{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ProjectGrid_initials__Uxh7n{font-family:var(--font-display);font-size:2rem;font-weight:700;color:hsla(0,0%,100%,.9);text-shadow:0 2px 4px rgba(0,0,0,.2)}.ProjectGrid_thumbnailImageWrapper__DGW5w{position:absolute;inset:0}.ProjectGrid_thumbnailImage__iqDiz{object-fit:contain;transition:opacity var(--transition-base)}.ProjectGrid_content__Qm4Wf{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.ProjectGrid_title__logs6{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.ProjectGrid_summary__CoRYI{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ProjectGrid_tags__ctJ_W{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.ProjectGrid_tags__ctJ_W .ProjectGrid_tag__sRbAA{font-size:.6875rem;padding:2px 6px}.ProjectGrid_links__Fl36s{display:flex;gap:var(--space-md);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.ProjectGrid_linkIcon__bK3zG{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color var(--transition-fast),transform var(--transition-fast)}.ProjectGrid_linkIcon__bK3zG:hover{color:var(--accent);transform:translateY(-2px)}.ProjectGrid_linkPlaceholder__LCr2J{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.5}.Skills_section__vX78F{background:var(--bg-secondary);padding:var(--space-4xl) 0}.Skills_container__5nyuL{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.Skills_heading__iCpXB{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:var(--space-3xl);position:relative;display:inline-block;left:50%;transform:translateX(-50%)}.Skills_heading__iCpXB:after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:2px;background:var(--border);border-radius:1px}.Skills_grid__18gJe{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-xl);gap:var(--space-xl)}.Skills_group__OOLLK{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl)}.Skills_groupTitle__GLiYq{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin-bottom:var(--space-sm)}.Skills_groupItems__Xp3bm{font-size:.875rem;color:var(--text-secondary);line-height:1.6}@media (max-width:767px){.Skills_grid__18gJe{grid-template-columns:1fr}.Skills_section__vX78F{padding:var(--space-3xl) 0}}@media (min-width:768px) and (max-width:1023px){.Skills_grid__18gJe{grid-template-columns:repeat(2,1fr)}}