.portfolio-pg{background:var(--bg);color:var(--fg);min-height:100vh}.portfolio-pg .filter-bar{display:flex;gap:0;border-bottom:1px solid var(--border-w);overflow-x:auto;padding:0 48px;background:var(--dim2)}.portfolio-pg .filter-tab{padding:22px 28px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);cursor:pointer;background:transparent;font-family:var(--font);border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .25s,border-color .25s}.portfolio-pg .filter-tab:hover{color:rgba(255,255,255,.7)}.portfolio-pg .filter-tab.active{color:var(--white);border-bottom-color:var(--white)}.portfolio-pg .projects-wrap{padding:80px 48px 140px}.portfolio-pg .portfolio-count{font-size:11px;letter-spacing:.15em;color:rgba(255,255,255,.25)}.portfolio-pg .projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:40px}.portfolio-pg .proj-card{position:relative;overflow:hidden;cursor:pointer;background:var(--dim2);aspect-ratio:4/3}.portfolio-pg .proj-card.wide{grid-column:span 2;aspect-ratio:auto;min-height:400px}.portfolio-pg .proj-card.tall{grid-row:span 2;aspect-ratio:auto}.portfolio-pg .proj-card.hidden{display:none}.portfolio-pg .proj-bg{position:absolute;inset:0;background:var(--dim2);transition:transform .7s var(--ease)}.portfolio-pg .proj-card:hover .proj-bg{transform:scale(1.04)}.portfolio-pg .proj-num{position:absolute;top:24px;left:24px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);z-index:2}.portfolio-pg .proj-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);opacity:0;transition:opacity .4s;display:flex;flex-direction:column;justify-content:flex-end;padding:40px;z-index:2}.portfolio-pg .proj-card:hover .proj-overlay{opacity:1}.portfolio-pg .proj-industry{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px}.portfolio-pg .proj-name-ov{font-size:26px;font-weight:var(--fw-regular);letter-spacing:-.02em;margin-bottom:8px;line-height:1.1}.portfolio-pg .proj-tech{font-size:12px;color:rgba(255,255,255,.45)}.portfolio-pg .proj-card:first-child .proj-bg{background:linear-gradient(135deg,#0d0d0d,#1a1a1a 50%,#0a0a0a)}.portfolio-pg .proj-card:nth-child(2) .proj-bg{background:linear-gradient(160deg,#111,#1e1e1e)}.portfolio-pg .proj-card:nth-child(3) .proj-bg{background:linear-gradient(200deg,#0a0a0a,#161616)}.portfolio-pg .proj-card:nth-child(4) .proj-bg{background:linear-gradient(135deg,#141414,#0d0d0d)}.portfolio-pg .proj-card:nth-child(5) .proj-bg{background:linear-gradient(170deg,#161616,#111)}.portfolio-pg .proj-card:nth-child(6) .proj-bg{background:linear-gradient(145deg,#0d0d0d,#1a1a1a)}.portfolio-pg .proj-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.portfolio-pg .proj-icon-bg{font-size:100px;opacity:.06;font-weight:var(--fw-regular);letter-spacing:-.04em}.portfolio-pg .proj-bottom{position:absolute;bottom:0;left:0;right:0;padding:24px 28px;z-index:1}.portfolio-pg .proj-title{font-size:18px;font-weight:var(--fw-medium);letter-spacing:-.01em;margin-bottom:6px}.portfolio-pg .proj-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.portfolio-pg .proj-type{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.3)}.portfolio-pg .proj-year{font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.2)}.portfolio-pg .proj-status{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.4)}.portfolio-pg .proj-status.completed{border-color:rgba(74,222,128,.3);color:rgba(74,222,128,.7)}@media (max-width:900px){.portfolio-pg .projects-grid{grid-template-columns:1fr}.portfolio-pg .proj-card.tall,.portfolio-pg .proj-card.wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3;min-height:auto}.portfolio-pg .filter-bar{padding:0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.portfolio-pg .projects-wrap{padding:48px 20px 80px}}