.ProjectCard_card__6TP8P{display:flex;flex-direction:column;border-radius:.75rem;border:1px solid var(--color-bg-light);background:var(--color-bg-medium);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;height:100%}.ProjectCard_card__6TP8P:hover{box-shadow:0 4px 20px rgba(34,211,238,.1);transform:translateY(-2px);border-color:var(--color-primary)}.ProjectCard_imageLink__A7dGw{display:block;text-decoration:none}.ProjectCard_imageWrapper__4uXQm{position:relative;width:100%;aspect-ratio:2/1;background:var(--color-bg-dark);overflow:hidden}.ProjectCard_image__jV0kZ{object-fit:cover;object-position:center top}.ProjectCard_cardBody__OBfrE{padding:1rem 1.25rem 1.25rem;flex:1}.ProjectCard_titleLink__nbLXz{text-decoration:none;color:inherit}.ProjectCard_titleLink__nbLXz:hover .ProjectCard_title__wQ97h{color:var(--color-primary)}.ProjectCard_title__wQ97h{font-size:1.0625rem;font-weight:600;color:var(--color-text-primary);line-height:1.4;transition:color .15s ease;-webkit-line-clamp:2}.ProjectCard_description__YkM58,.ProjectCard_title__wQ97h{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.ProjectCard_description__YkM58{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;-webkit-line-clamp:3;flex:1}.ProjectCard_cardFooter__olVhP{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--color-bg-light)}.ProjectCard_externalLink__SvcuD{font-size:.8125rem;font-weight:500;color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.125rem;transition:color .15s ease}.ProjectCard_externalLink__SvcuD:hover{color:var(--color-primary-dark);text-decoration:underline}.ProjectCard_externalLink__SvcuD:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.ProjectCard_externalLinkIcon__roRbQ{font-size:.75rem}.ProductCard_card__P0s_O{display:flex;flex-direction:column;border-radius:.75rem;border:1px solid var(--color-bg-light);background:var(--color-bg-medium);overflow:hidden;opacity:.75;height:100%}.ProductCard_imageWrapper__s6X9J{position:relative;width:100%;aspect-ratio:2/1;background:var(--color-bg-dark);overflow:hidden;filter:grayscale(40%)}.ProductCard_image__1Y8Z5{object-fit:cover;object-position:center top}.ProductCard_cardBody__mgmcX{padding:1rem 1.25rem 1.25rem;flex:1}.ProductCard_badge__nQKnl{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-dark);border:1px solid var(--color-bg-light);border-radius:.25rem;padding:.125rem .5rem;align-self:flex-start}.ProductCard_titleLink__9W9Jo{text-decoration:none;color:inherit}.ProductCard_title__7_jct{font-size:1.0625rem;font-weight:600;color:var(--color-text-primary);line-height:1.4;-webkit-line-clamp:2}.ProductCard_description__SOyaG,.ProductCard_title__7_jct{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.ProductCard_description__SOyaG{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;-webkit-line-clamp:3;flex:1}.SearchInput_searchWrapper__keeHU{display:flex;flex-direction:column;gap:.25rem;min-width:220px;max-width:400px}.SearchInput_searchLabel__21VY8{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.SearchInput_searchInput__OwnB9{padding:.5rem .875rem;border:1.5px solid var(--color-bg-lighter);border-radius:.5rem;font-size:.9375rem;color:var(--color-text-primary);background:var(--color-bg-dark);transition:border-color .15s ease;width:100%}.SearchInput_searchInput__OwnB9::placeholder{color:var(--color-text-muted)}.SearchInput_searchInput__OwnB9:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(34,211,238,.15)}.ProjectsToolbar_toolbar__WRE6Y{position:sticky;top:0;z-index:10;display:flex;flex-direction:row;align-items:center;gap:1rem;padding:1rem 0;background:var(--color-bg-dark);border-bottom:1px solid var(--color-bg-light)}.ProjectsToolbar_searchWrapper__QI0Bu{flex:1 1 auto;min-width:0}.ProjectsToolbar_filtersWrapper__H0ZH0{flex:0 0 auto}.page_main__XtsNF{min-height:80vh}.page_container__iTHnK{max-width:1200px;margin:0 auto;padding:0 1.5rem}.page_hero__ZFubL{padding:3rem 0 2rem;border-bottom:1px solid var(--color-bg-light)}.page_heroTitle__dxClO{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--color-text-primary);margin:0 0 .75rem;line-height:1.15}.page_heroSubtitle__uORL6{font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0;line-height:1.6}.page_toolbarSection__v1bm9{background:var(--color-bg-dark)}.page_gridSection___Gity{padding:2.5rem 0 4rem}.page_projectGrid__ORung{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:640px){.page_projectGrid__ORung{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.page_projectGrid__ORung{grid-template-columns:repeat(3,1fr)}}.page_projectGridItem__aGYyC{display:flex}.page_projectGridItem__aGYyC>*{width:100%}.page_emptyState__SNF9l{padding:3rem 0;text-align:center}.page_emptyStateText__I_S5T{font-size:1rem;color:var(--color-text-muted)}.page_errorContainer__5eT5z,.page_loadingContainer__AvH7_{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.page_spinner__ihVPA{width:2.5rem;height:2.5rem;border:3px solid var(--color-bg-light);border-top-color:var(--color-primary);border-radius:50%;animation:page_spin__LmvFz .75s linear infinite}@keyframes page_spin__LmvFz{to{transform:rotate(1turn)}}.page_errorText__w2kNy,.page_loadingText__0tTWc{font-size:.9375rem;color:var(--color-text-muted)}.page_productsSection__YESNc{padding:2.5rem 0 4rem;border-top:1px solid var(--color-bg-light)}.page_productsSectionTitle__BLkBi{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:600;color:var(--color-text-secondary);margin:0 0 1.5rem;line-height:1.3}.page_productsGrid__nDk1q{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:640px){.page_productsGrid__nDk1q{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.page_productsGrid__nDk1q{grid-template-columns:repeat(3,1fr)}}.page_productsGridItem__e8kVg{display:flex}.page_productsGridItem__e8kVg>*{width:100%}