#pf-header{padding:160px 0 80px;background:var(--white);text-align:center}.pf-h1{font-family:var(--font-display);font-weight:900;font-size:clamp(32px,4vw,52px);line-height:1.1;color:var(--ink);margin-bottom:16px}.pf-sub{font-size:17px;color:var(--ink-md);line-height:1.7;max-width:560px;margin:0 auto}#pf-gallery{padding:80px 0;background:var(--bg)}.pf-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:48px}.pf-filter{font-family:var(--font-display);font-weight:600;font-size:13px;padding:10px 24px;border-radius:100px;border:1.5px solid var(--border-md);background:var(--surface);color:var(--ink-md);cursor:pointer;transition:all .2s}.pf-filter:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-xlt)}.pf-filter[data-active=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pf-card{border-radius:var(--radius-lg);overflow:hidden;border:1.5px solid var(--border);background:var(--surface);transition:border-color .25s,box-shadow .25s,transform .25s,opacity .4s}.pf-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pf-card.in{opacity:1}.pf-img-wrap{overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:relative}.pf-img-grid{display:grid;grid-template-columns:1fr 1fr;width:100%;aspect-ratio:4/3}.pf-img-cell{overflow:hidden}.pf-img-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}.pf-card:hover .pf-img-cell img{transform:scale(1.04)}.pf-img-badge{position:absolute;bottom:8px;right:8px;z-index:2;background:#000000a6;color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:100px;pointer-events:none;backdrop-filter:blur(4px)}.pf-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}.pf-card:hover .pf-img{transform:scale(1.04)}.pf-meta{padding:16px}.pf-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.pf-type-chip{font-family:var(--font-display);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:4px 10px;border-radius:100px;background:var(--accent-lt)}.pf-city-chip{font-family:var(--font-body);font-size:12px;color:var(--ink-lt);padding:4px 10px;border-radius:100px;background:var(--bg-2)}.pf-desc{font-size:14px;color:var(--ink-md);line-height:1.6}#pf-cta{padding:80px 0;background:var(--white)}.pf-cta-card{max-width:640px;margin:0 auto;text-align:center;padding:56px 40px;border-radius:var(--radius-xl);border:1.5px solid var(--border);background:var(--surface)}.pf-cta-title{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.5vw,36px);color:var(--ink);margin-bottom:12px}.pf-cta-sub{font-size:16px;color:var(--ink-md);line-height:1.7;margin-bottom:32px}.pf-cta-btns{display:flex;gap:12px;justify-content:center}#project-lightbox{border:none;padding:0;background:transparent;max-width:min(90vw,1200px);width:min(90vw,1200px);border-radius:8px;overflow:hidden;margin:auto}#project-lightbox::backdrop{background:#000000d9}.lb-inner{display:flex;flex-direction:column;align-items:center;position:relative;background:#111;border-radius:8px;overflow:hidden}.lb-img{max-width:100%;max-height:80vh;object-fit:contain;display:block}.lb-controls{display:flex;align-items:center;gap:16px;padding:12px 24px;color:#fff}.lb-btn{background:#ffffff26;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.lb-btn:hover{background:#ffffff4d}.lb-close{position:absolute;top:8px;right:8px;z-index:3;background:#00000080;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.lb-close:hover{background:#000000b3}@media(max-width:1024px){.pf-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){#pf-header{padding:120px 0 60px}#pf-gallery,#pf-cta{padding:60px 0}.pf-grid{grid-template-columns:1fr}.pf-cta-card{padding:36px 24px}.pf-cta-btns{flex-direction:column;align-items:center}}
