.project-gallery-section{position:sticky;top:100px}.main-project-image-container{position:relative;width:100%;aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:var(--card-bg);border:1px solid var(--border-color);cursor:zoom-in}.main-project-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.main-project-image-container:hover .main-project-img{transform:scale(1.05)}.project-thumbnails{display:flex;gap:12px;margin-top:16px;overflow-x:auto;padding:8px 0}.project-thumb{flex-shrink:0;width:100px;height:70px;border-radius:12px;overflow:hidden;border:2px solid var(--border-color);cursor:pointer;transition:all .3s ease}.project-thumb:hover,.project-thumb.active{border-color:var(--primary-color);transform:translateY(-4px)}.project-thumb img{width:100%;height:100%;object-fit:cover}.project-tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tech-tag{padding:8px 16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;font-size:.9rem;font-weight:500;transition:all .3s ease}.tech-tag:hover{border-color:var(--primary-color);background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.1))}.project-links{display:flex;flex-direction:column;gap:12px;margin-top:24px}.project-status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.project-status-badge.completed{background:#dcfce7;color:#16a34a}.project-status-badge.in-progress,.project-status-badge.inprogress{background:#fef3c7;color:#d97706}.project-status-badge.planned,.project-status-badge.planning{background:#dbeafe;color:#2563eb}.zoom-modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.95);align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.zoom-modal.active{display:flex;opacity:1}.zoom-modal img{max-width:90%;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:zoomIn .3s ease}@keyframes zoomIn{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.zoom-modal p{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);color:#fff;text-align:center;font-size:1.1rem;max-width:80%;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0}.zoom-close{position:absolute;top:20px;right:30px;color:#fff;font-size:48px;font-weight:300;cursor:pointer;z-index:10001;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);border-radius:50%;transition:all .3s ease}.zoom-close:hover{background:rgba(255,255,255,.2);transform:rotate(90deg)}.zoom-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);color:#fff;border:0;padding:20px;cursor:pointer;font-size:28px;z-index:10001;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.zoom-nav:hover{background:rgba(255,255,255,.2);transform:translateY(-50%) scale(1.1)}.zoom-prev{left:30px}.zoom-next{right:30px}@media(max-width:768px){.project-gallery-section{position:relative;top:0}.main-project-image-container{aspect-ratio:4/3}.zoom-modal img{max-width:95%;max-height:70vh}.zoom-modal p{font-size:.9rem;max-width:90%;bottom:20px}.zoom-close{top:10px;right:10px;font-size:36px;width:40px;height:40px}.zoom-nav{padding:12px;font-size:20px;width:45px;height:45px}.zoom-prev{left:10px}.zoom-next{right:10px}}