.portfolio-page{padding-top:120px;padding-bottom:80px}.portfolio-header{text-align:center;margin-bottom:56px}.portfolio-header .overline{display:inline-block;font-size:13px;font-weight:600;color:var(--accent-light);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.portfolio-header h1{font-size:clamp(2rem, 4vw, 3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px}.portfolio-header p{font-size:17px;color:var(--text-secondary);max-width:520px;margin:0 auto}.portfolio-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:48px}.filter-btn{padding:7px 18px;border-radius:var(--capsule-radius);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s ease;font-family:inherit}.filter-btn.active,.filter-btn:hover{background:rgba(91,168,232,.15);border-color:rgba(91,168,232,.35);color:var(--accent-light)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{display:block;border-radius:var(--card-radius);overflow:hidden;text-decoration:none;color:inherit;position:relative;aspect-ratio:1/1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:transform .35s ease,box-shadow .35s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.35)}.project-thumb{position:absolute;inset:0;width:100%;height:100%}.project-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease}.project-card:hover .project-thumb img{transform:scale(1.05)}.project-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(91,168,232,.08),rgba(94,92,230,.08));color:var(--text-tertiary)}.project-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0,rgba(0,0,0,.3) 40%,transparent 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;transition:background .3s ease}.project-card:hover .project-card-overlay{background:linear-gradient(to top,rgba(0,0,0,.88) 0,rgba(0,0,0,.45) 50%,rgba(0,0,0,.1) 100%)}.project-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.project-card-category{font-size:10px;font-weight:700;color:var(--accent-light);letter-spacing:.1em;text-transform:uppercase;background:rgba(91,168,232,.15);border:1px solid rgba(91,168,232,.25);padding:2px 8px;border-radius:var(--capsule-radius)}.project-card-year{font-size:11px;color:rgba(255,255,255,.45)}.project-card-title{font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:#fff;margin-bottom:0}.project-card-arrow{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:scale(.8);transition:opacity .25s ease,transform .25s ease}.project-card:hover .project-card-arrow{opacity:1;transform:scale(1)}.project-video-badge{position:absolute;top:14px;left:14px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff}.portfolio-empty{text-align:center;padding:80px 20px;color:var(--text-tertiary);font-size:15px}@media (max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:640px){.portfolio-page{padding-top:100px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:10px}.project-card{border-radius:16px}.project-card-title{font-size:13px}.project-card-overlay{padding:14px}}