.ProjectCard-module__O0cGrG__card{background:var(--article-bg,#1a1a1a);will-change:transform;contain:layout style paint;border-radius:16px;flex-direction:column;transition:transform .3s ease-out,box-shadow .3s ease-out;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.ProjectCard-module__O0cGrG__card:hover{transform:translateZ(4px);box-shadow:0 12px 24px #0003}.ProjectCard-module__O0cGrG__headerRow{justify-content:space-between;align-items:center;gap:12px;margin:0 0 .75rem;display:flex}.ProjectCard-module__O0cGrG__projectTitle{color:var(--heading,#fff);margin:0;font-size:1.1rem;font-weight:700}.ProjectCard-module__O0cGrG__inlineTags{align-items:center;gap:6px;margin-right:2px;display:flex}.ProjectCard-module__O0cGrG__inlineTag{color:#fff;opacity:.85;letter-spacing:.2px;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500}.ProjectCard-module__O0cGrG__imageWrapper{background:var(--bg-secondary,#0a0a0a);width:100%;height:200px;position:relative;overflow:hidden}.ProjectCard-module__O0cGrG__image{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:block}.ProjectCard-module__O0cGrG__card:hover .ProjectCard-module__O0cGrG__image{transform:scale(1.08)}.ProjectCard-module__O0cGrG__tagOverlay{pointer-events:none;z-index:10;flex-wrap:wrap;gap:8px;max-width:calc(100% - 20px);display:flex;position:absolute;top:10px;left:10px}.ProjectCard-module__O0cGrG__overlayTag{color:#1a1a1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1e1eb3;border:1px solid #ffffffd9;border-radius:14px;align-items:center;gap:5px;padding:4px 10px;font-size:10px;font-weight:500;animation:.6s cubic-bezier(.34,1.56,.64,1) both ProjectCard-module__O0cGrG__tagFloatIn;display:inline-flex;transform:translateZ(0);box-shadow:0 4px 12px #00000026}.ProjectCard-module__O0cGrG__overlayTag:nth-child(2){animation-delay:.1s}.ProjectCard-module__O0cGrG__overlayTag:nth-child(3){animation-delay:.2s}.ProjectCard-module__O0cGrG__star{color:#ffd000;opacity:.75;filter:none;width:10px;height:10px}@keyframes ProjectCard-module__O0cGrG__tagFloatIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes ProjectCard-module__O0cGrG__starGlow{0%,to{filter:drop-shadow(0 0 2px #ffd70066)drop-shadow(0 0 #ffd70000)}50%{filter:drop-shadow(0 0 4px #ffd70099)drop-shadow(0 0 6px #ffd70033)}}.ProjectCard-module__O0cGrG__content{border-radius:0 0 16px 16px;flex-direction:column;flex-grow:1;padding:1rem;display:flex}.ProjectCard-module__O0cGrG__content h3{color:var(--heading,#fff);cursor:pointer;word-break:break-word;font-size:1.1rem;font-weight:700;transition:color .2s}.ProjectCard-module__O0cGrG__content h3:hover{color:var(--accent-color2,#2b8fe4)}.ProjectCard-module__O0cGrG__content p{-webkit-line-clamp:2;text-overflow:ellipsis;color:var(--text-secondary,#999);-webkit-box-orient:vertical;margin:0 0 1rem;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.ProjectCard-module__O0cGrG__tags{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 auto;display:flex}.ProjectCard-module__O0cGrG__tag{background-color:var(--accent-color2,#2b8fe4);color:#fff;white-space:nowrap;border-radius:999px;padding:.35rem .75rem;font-size:.7rem;font-weight:500;transition:all .2s;display:inline-block}.ProjectCard-module__O0cGrG__tag:hover{background-color:#1f6bad;transform:translateY(-2px)}.ProjectCard-module__O0cGrG__cta{gap:1rem;display:flex}.ProjectCard-module__O0cGrG__underline{letter-spacing:0;cursor:pointer;color:#fff;background-image:linear-gradient(120deg,var(--accent-color2,#2b8fe4)100%,var(--accent-color2,#2b8fe4)100%);background-position:0 88%;background-repeat:no-repeat;background-size:100% .15em;padding:.2rem 0;font-size:.9rem;text-decoration:none;transition:background-size .3s cubic-bezier(.34,1.56,.64,1);display:inline-block;position:relative}.ProjectCard-module__O0cGrG__underline:hover{background-size:100% 88%}.ProjectCard-module__O0cGrG__underline:focus-visible{outline:2px solid var(--accent-color2,#2b8fe4);outline-offset:4px}@media screen and (max-width:600px){.ProjectCard-module__O0cGrG__card{border-radius:12px}.ProjectCard-module__O0cGrG__imageWrapper{height:180px}.ProjectCard-module__O0cGrG__content{border-radius:0 0 12px 12px;padding:.875rem}.ProjectCard-module__O0cGrG__content h3{font-size:1rem}.ProjectCard-module__O0cGrG__content p{-webkit-line-clamp:2;font-size:.8rem}.ProjectCard-module__O0cGrG__tagOverlay{gap:6px;max-width:calc(100% - 16px);top:8px;left:8px}.ProjectCard-module__O0cGrG__overlayTag{gap:4px;padding:5px 10px;font-size:10px}.ProjectCard-module__O0cGrG__star{width:10px;height:10px}.ProjectCard-module__O0cGrG__headerRow{align-items:flex-start;gap:6px}}@media (prefers-color-scheme:dark){.ProjectCard-module__O0cGrG__overlayTag{color:#fff;background:#14141ef2;border:1px solid #ffffff1a}}@media (prefers-reduced-motion:reduce){.ProjectCard-module__O0cGrG__card,.ProjectCard-module__O0cGrG__image,.ProjectCard-module__O0cGrG__underline,.ProjectCard-module__O0cGrG__overlayTag,.ProjectCard-module__O0cGrG__star,.ProjectCard-module__O0cGrG__tag{transition:none!important;animation:none!important}}@media (hover:none){.ProjectCard-module__O0cGrG__card:hover,.ProjectCard-module__O0cGrG__card:hover .ProjectCard-module__O0cGrG__image,.ProjectCard-module__O0cGrG__tag:hover{transform:none}}
.ProjectsPage-module__KKEs9q__container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:0 0;display:grid}.ProjectsPage-module__KKEs9q__main{max-width:1500px;margin:0 auto;padding:.5rem 1rem}.ProjectsPage-module__KKEs9q__header{margin-bottom:1rem}.ProjectsPage-module__KKEs9q__header h2{color:var(--heading,#fff);letter-spacing:-.5px;margin:0;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700}.ProjectsPage-module__KKEs9q__visuallyHidden{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ProjectsPage-module__KKEs9q__container{content-visibility:auto;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.ProjectsPage-module__KKEs9q__empty{text-align:center;color:var(--text-secondary,#999);grid-column:1/-1;padding:3rem 1rem;font-size:1rem}@media screen and (min-width:768px){.ProjectsPage-module__KKEs9q__main{padding:0}.ProjectsPage-module__KKEs9q__container{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}}@media screen and (min-width:1024px){.ProjectsPage-module__KKEs9q__container{grid-template-columns:repeat(3,1fr)}}
