.projects-header{text-align:center;margin-bottom:40px}.projects-title{font-size:2.5rem;font-weight:700;color:#fff;margin:0 0 8px}.projects-subtitle{font-size:1.1rem;color:#94a3b8;margin:0}.projects-container{max-width:1200px;margin:0 auto;padding:20px 50px 10px 50px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;padding-bottom:40px}.project-card{background:rgba(30,34,40,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden;opacity:0;animation:fadeInUp .6s ease forwards;display:flex;flex-direction:column}.project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity .3s ease}.project-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.3);background:rgba(40,44,52,.7);border-color:rgba(255,255,255,.15)}.project-card:hover::before{opacity:1}.project-card-content{display:flex;flex-direction:column;height:100%}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:10px}.project-card h3{margin:0;color:#fff;font-size:1.3rem;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.project-card p{color:#b0b3b8;margin:0 0 20px;flex-grow:1;font-size:.95rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.project-stats{display:flex;gap:16px;color:#8b949e;font-size:.9rem}.project-stats span{display:flex;align-items:center;gap:6px}.language-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(255,255,255,.05);border-radius:20px;color:#d0d7de;font-size:.75rem;font-weight:600;white-space:nowrap}.lang-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.project-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;padding:8px 16px;background:rgba(255,255,255,.1);border-radius:8px;font-size:.9rem;font-weight:600;transition:all .2s ease}.project-link:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}.project-link i{font-size:.9rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}