.projects-page{min-height:100vh;padding:5rem 0 0}.projects-header{text-align:center;margin-bottom:2rem}.projects-header p{color:var(--text-light);max-width:900px;margin:.5rem auto 0;font-size:1.1rem}.section-subtitle{color:var(--text-light);max-width:900px;margin:0 auto;font-size:1rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.project-card{background:var(--white);border:1px solid var(--border);cursor:pointer;flex-direction:column;height:100%;transition:all .3s;display:flex;overflow:hidden}.project-card:hover{box-shadow:0 10px 30px var(--shadow-hover);border-color:var(--black);transform:translateY(-5px)}.project-image{aspect-ratio:16/9;background:var(--gray-50);width:100%;position:relative;overflow:hidden}.project-image a{width:100%;height:100%;display:block;position:relative}.project-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-img{transform:scale(1.05)}.project-placeholder{color:var(--black);background:var(--gray-50);justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;font-weight:900;display:flex}.project-content{flex-direction:column;flex-grow:1;min-height:0;padding:1.5rem;display:flex}.project-title1{color:var(--text);margin-bottom:.3rem;font-family:Syne,sans-serif;font-size:1.2rem;font-weight:700}.project-year{color:#10b981;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.3rem;margin-bottom:.8rem;font-family:Syne,sans-serif;font-size:.72rem;font-weight:600;display:inline-flex}.project-title-link{color:var(--text);text-decoration:none;transition:color .3s}.project-title-link:hover{color:var(--black)}.project-description{color:var(--text-light);word-wrap:break-word;overflow-wrap:break-word;flex-grow:0;font-size:.9rem;line-height:1.6}.project-tech{flex-wrap:wrap;align-content:flex-start;gap:.5rem;display:flex}.project-links{flex-wrap:wrap;gap:.75rem;margin-top:auto;display:flex}.tech-tag{background:var(--background-alt);color:var(--text);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.3rem;padding:.3rem .8rem;font-family:Syne,sans-serif;font-size:.8rem;font-weight:600;display:inline-flex}.tech-tag-icon{object-fit:contain;width:14px;height:14px}[data-theme=dark] .tech-tag-icon[src*=nextjs],[data-theme=dark] .tech-tag-icon[src*=express],[data-theme=dark] .tech-tag-icon[src*=json],[data-theme=dark] .tech-tag-icon[src*=socketio],[data-theme=dark] .tech-tag-icon[src*=vercel],[data-theme=dark] .tech-tag-icon[src*=github],[data-theme=dark] .tech-tag-icon[src*=microsoftexcel],[data-theme=dark] .tech-tag-icon[src*=simple-icons],[data-theme=dark] .tech-tag-icon[src*=axios]{filter:invert()}.project-bottom{flex-direction:column;gap:1rem;margin-top:auto;display:flex}.project-link{color:var(--black);background:var(--white);justify-content:center;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.project-link:hover{color:var(--text-light)}.project-link.view-details{justify-content:center;width:100%}.projects-cta{text-align:center;margin-top:2rem}.cta-text{color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;font-family:Syne,sans-serif;font-size:1.2rem;font-weight:600}.project-filters{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem;display:flex}.filter-btn{border:1px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;box-sizing:border-box;border-radius:4px;align-items:center;gap:.4rem;width:auto;padding:.5rem 1.2rem;font-family:Syne,sans-serif;font-size:.85rem;font-weight:600;transition:all .3s;display:inline-flex}.filter-btn.active{background:var(--black);color:var(--white);border-color:var(--black)}.filter-btn:hover{border-color:var(--black);color:var(--black)}.filter-btn .filter-icon-wrap{background:#10b98126;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.filter-icon-wrap svg{color:#10b981}.filter-btn.active .filter-icon-wrap svg{color:#fff}.filter-btn.active .filter-icon-wrap{background:#fff3}.filter-count{color:#10b981;background:0 0;border-radius:0;margin-left:2px;padding:0;font-size:.8rem}.filter-btn.active .filter-count{color:inherit;background:0 0}[data-theme=dark] .filter-btn.active{color:#111;background:#fff;border-color:#fff}[data-theme=dark] .filter-btn.active .filter-icon-wrap svg{color:#111}[data-theme=dark] .filter-btn.active .filter-icon-wrap{background:#00000026}.projects-coming-soon{text-align:center;color:var(--text-light);letter-spacing:.03em;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.9rem;font-weight:500;display:flex}.projects-coming-soon p{margin:0}.pagination{justify-content:center;align-items:center;gap:1rem;margin:2rem 0;display:flex}.pagination__btn{border:1px solid var(--border);background:var(--white);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:1rem;transition:all .3s;display:flex}.pagination__btn:hover:not(:disabled){background:var(--black);color:var(--white);border-color:var(--black)}.pagination__btn:disabled{opacity:.3;cursor:not-allowed}.pagination__info{color:var(--text);letter-spacing:.05em;font-family:Syne,sans-serif;font-size:.88rem;font-weight:600}@media (max-width:968px){.projects-page{padding:3rem 0}.section-title{font-size:1.5rem!important}.projects-header{margin-bottom:2.5rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.projects-header p{font-size:.95rem}.project-title1{font-size:1.2rem}.project-description{font-size:.88rem}}@media (max-width:768px){.section-title{font-size:1.5rem!important}.section-subtitle{font-size:.9rem!important}.projects-page{padding:2rem 0 1rem}.project-content{padding:1.25rem}.projects-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:1.5rem}.projects-header p{font-size:.9rem}.project-title1{font-size:.95rem}.project-title-link{font-size:1rem}.project-description{font-size:.78rem}.project-link{font-size:.85rem}.project-card{height:auto}.project-description{margin-bottom:0}.project-bottom{margin-top:.75rem}.projects-cta{padding:2rem}.cta-text{font-size:1.1rem}}@media (max-width:480px){.project-card{margin:0 .5rem}.projects-header p{font-size:.85rem}.project-title1{font-size:1rem}.project-content p{font-size:.8rem}.project-description{font-size:.75rem}.project-link{font-size:.8rem}.tech-tag{padding:.25rem .7rem;font-size:.75rem}.project-filters{flex-wrap:nowrap;grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%;padding:0 .5rem;display:grid}.filter-btn{flex:unset;letter-spacing:0;white-space:nowrap;text-align:center;justify-content:center;width:100%;padding:.5rem 0;font-size:.75rem}.filter-btn .filter-icon-wrap{width:18px;height:18px}.filter-icon-wrap svg{width:11px!important;height:11px!important}}
