.ProjectCard_card__ynzED{display:block;background:var(--color-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--elevation-1);transition:all var(--transition-normal) var(--ease-out);text-decoration:none;color:inherit;height:100%;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.08)}@media (prefers-color-scheme:dark){.ProjectCard_card__ynzED{border-color:hsla(0,0%,100%,.08)}}.ProjectCard_card__ynzED:hover{box-shadow:var(--elevation-3);transform:translateY(-4px)}.ProjectCard_card__ynzED:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ProjectCard_imageContainer__kaqtK{position:relative;width:100%;padding-top:56.25%;background:var(--neutral-100);overflow:hidden}@media (prefers-color-scheme:dark){.ProjectCard_imageContainer__kaqtK{background:var(--neutral-800)}}.ProjectCard_image___Mmu2{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal) var(--ease-out)}.ProjectCard_card__ynzED:hover .ProjectCard_image___Mmu2{transform:scale(1.05)}.ProjectCard_noImage__LQ9s9{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-muted);font-size:var(--font-size-base);background:linear-gradient(135deg,rgba(15,118,110,.05),rgba(20,184,166,.08))}.ProjectCard_noImage__LQ9s9:before{content:"▢";font-size:var(--font-size-4xl);opacity:.3;margin-bottom:var(--space-sm)}.ProjectCard_statusBadge__Fz_wc{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;text-transform:capitalize;-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md)}.ProjectCard_status-planned__y_WrR{background:rgba(15,118,110,.9);color:#fff}.ProjectCard_status-in_progress__cCKZZ{background:rgba(20,184,166,.9);color:#fff}.ProjectCard_status-completed__H28AS{background:hsla(0,0%,45%,.9);color:#fff}.ProjectCard_content__7ep5M{padding:var(--space-lg);flex:1 1;display:flex;flex-direction:column;gap:var(--space-sm)}.ProjectCard_categoryBadge__W_VlI{display:inline-block;padding:var(--space-xs) var(--space-sm);background:rgba(15,118,110,.1);color:var(--color-accent);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;text-transform:capitalize;width:-moz-fit-content;width:fit-content}.ProjectCard_name__cay7t{font-size:var(--font-size-xl);font-weight:600;margin:0;color:var(--color-fg);line-height:1.3}.ProjectCard_tagline__WfYb_{font-size:var(--font-size-base);color:var(--color-muted);margin:0;font-style:italic}.ProjectCard_location__GSrsi{font-size:var(--font-size-sm);color:var(--color-muted);margin:0}.ProjectCard_description__pOPAk{font-size:var(--font-size-base);color:var(--color-muted);margin:0;line-height:1.6;flex:1 1}.ProjectCard_date__6w186{font-size:var(--font-size-sm);color:var(--color-muted);margin:auto 0 0;padding-top:var(--space-sm);border-top:1px solid rgba(0,0,0,.08)}@media (prefers-color-scheme:dark){.ProjectCard_date__6w186{border-top-color:hsla(0,0%,100%,.08)}}@media (max-width:768px){.ProjectCard_content__7ep5M{padding:var(--space-md)}.ProjectCard_name__cay7t{font-size:var(--font-size-lg)}}.ProjectFilters_container__C_yuF{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);margin-bottom:var(--space-xl);flex-wrap:wrap;border:1px solid rgba(0,0,0,.08)}@media (prefers-color-scheme:dark){.ProjectFilters_container__C_yuF{border-color:hsla(0,0%,100%,.08)}}.ProjectFilters_filters__sCB5O{display:flex;gap:var(--space-sm);flex-wrap:wrap;flex:1 1}.ProjectFilters_filterButton__cJK6l{padding:var(--space-sm) var(--space-md);border:2px solid rgba(0,0,0,.08);background:var(--color-bg);color:var(--color-muted);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-normal) var(--ease-out);text-transform:capitalize}@media (prefers-color-scheme:dark){.ProjectFilters_filterButton__cJK6l{border-color:hsla(0,0%,100%,.08)}}.ProjectFilters_filterButton__cJK6l:hover{border-color:var(--color-accent);color:var(--color-accent);background:rgba(15,118,110,.05)}.ProjectFilters_filterButton__cJK6l:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ProjectFilters_filterButton__cJK6l.ProjectFilters_active__2tGtz{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.ProjectFilters_clearButton__HOTiS{padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--color-accent);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-decoration:underline;transition:color var(--transition-normal) var(--ease-out)}.ProjectFilters_clearButton__HOTiS:hover{color:var(--color-accent-hover)}.ProjectFilters_clearButton__HOTiS:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width:768px){.ProjectFilters_container__C_yuF{flex-direction:column;align-items:stretch}.ProjectFilters_filters__sCB5O{justify-content:center}.ProjectFilters_filterButton__cJK6l{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.ProjectFilters_clearButton__HOTiS{text-align:center}}.projects_container__IN86_{max-width:1400px;margin:0 auto;padding:var(--space-xxl) var(--space-lg)}.projects_header__xBwNG{text-align:center;margin-bottom:var(--space-xxl)}.projects_title__qiES_{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);color:var(--color-fg);line-height:var(--line-height-tight)}.projects_subtitle__CGP6Y{font-size:var(--font-size-lg);color:var(--color-muted);max-width:700px;margin:0 auto;line-height:var(--line-height-relaxed)}.projects_resultsCount__TRJbV{font-size:var(--font-size-base);color:var(--color-muted);margin-bottom:var(--space-lg);font-weight:var(--font-weight-medium)}.projects_grid__19mxF{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:var(--space-xl);gap:var(--space-xl);margin-bottom:var(--space-xxl)}.projects_noResults__T_sl0{text-align:center;padding:var(--space-xxl) var(--space-md);color:var(--color-muted)}.projects_noResults__T_sl0 h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm);color:var(--color-fg)}.projects_noResults__T_sl0 p{margin:0 0 var(--space-lg) 0;line-height:var(--line-height-relaxed)}.projects_loading__Xsths,.projects_noResults__T_sl0 p{font-size:var(--font-size-lg);color:var(--color-muted)}.projects_loading__Xsths{text-align:center;padding:var(--space-xxl)}.projects_error__0njfv{text-align:center;padding:var(--space-xxl) var(--space-md)}.projects_errorTitle__yLGcX{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);color:var(--color-error)}.projects_errorMessage__yorTv{font-size:var(--font-size-lg);color:var(--color-muted);margin-bottom:var(--space-lg);line-height:var(--line-height-relaxed)}.projects_retryButton__CDATq{padding:var(--space-md) var(--space-xl);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal) var(--ease-out);box-shadow:var(--elevation-1)}.projects_retryButton__CDATq:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--elevation-2)}.projects_retryButton__CDATq:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.projects_retryButton__CDATq:active{transform:translateY(0)}@media (max-width:1024px){.projects_container__IN86_{padding:var(--space-xl) var(--space-md)}.projects_grid__19mxF{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}}@media (max-width:768px){.projects_container__IN86_{padding:var(--space-lg) var(--space-md)}.projects_grid__19mxF{grid-template-columns:1fr;gap:var(--space-md)}.projects_title__qiES_{font-size:var(--font-size-h2)}.projects_subtitle__CGP6Y{font-size:var(--font-size-base)}}