/* Portfolio page - tabs + cards grid + lightbox. Cards hamesha center me rehte hain, last adhuri row bhi. */
.pf-sec{--pf-gap:1.4rem;--pf-cols:1}
@media(min-width:576px){.pf-sec{--pf-cols:2}}
@media(min-width:992px){.pf-sec{--pf-cols:3}}
@media(min-width:1400px){.pf-sec{--pf-cols:4}}

/* tabs */
.pf-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 2.2rem}
.pf-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:50px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#ddd;font-size:.88rem;font-family:'Inter',sans-serif;cursor:pointer;transition:.3s;white-space:nowrap}
.pf-tab i{font-size:.85rem}
.pf-tab em{font-style:normal;font-size:.7rem;padding:.08rem .45rem;border-radius:20px;background:rgba(255,255,255,.12)}
.pf-tab:hover{background:rgba(139,0,0,.5);color:#fff}
.pf-tab.on{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;border-color:transparent;box-shadow:0 6px 18px rgba(139,0,0,.5)}
.pf-tab.on em{background:rgba(255,255,255,.25)}
@media(max-width:767px){.pf-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.6rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}}

/* grid */
.pf-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--pf-gap)}
.pf-card{flex:0 0 calc((100% - (var(--pf-cols) - 1) * var(--pf-gap)) / var(--pf-cols));max-width:calc((100% - (var(--pf-cols) - 1) * var(--pf-gap)) / var(--pf-cols));min-width:0;display:flex}
.pf-card[hidden]{display:none}
.pf-card.pf-in{animation:pfIn .5s both}
@keyframes pfIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.pf-open{display:flex;flex-direction:column;width:100%;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.pf-open:hover,.pf-open:focus-visible{transform:translateY(-6px);border-color:rgba(255,77,77,.55);box-shadow:0 18px 40px rgba(139,0,0,.35);outline:0}

.pf-thumb{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:linear-gradient(135deg,#2a0508 0%,#8B0000 55%,#150204 100%)}
.pf-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pf-open:hover .pf-thumb img{transform:scale(1.06)}
.pf-ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:3.2rem;color:rgba(255,255,255,.22)}
.pf-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(11,11,13,.1),rgba(11,11,13,.78));opacity:0;transition:.35s}
.pf-hover span{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:50px;background:#fff;color:var(--red);font-size:.82rem;font-weight:600}
.pf-open:hover .pf-hover,.pf-open:focus-visible .pf-hover{opacity:1}
@media(hover:none){.pf-hover{display:none}}

.pf-body{display:flex;flex-direction:column;gap:.4rem;padding:1.15rem 1.2rem 1.25rem;flex:1}
.pf-tag{align-self:flex-start;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#ff8f8f;background:rgba(255,77,77,.12);border-radius:50px;padding:.2rem .65rem}
.pf-title{font-family:'Sora',sans-serif;font-weight:700;font-size:1.05rem;line-height:1.3;color:#fff}
.pf-desc{font-size:.85rem;line-height:1.55;color:#b9b9c0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pf-svc{margin-top:auto;padding-top:.7rem;font-size:.78rem;color:#9a9aa3;display:flex;align-items:center;gap:.5rem}
.pf-svc i{color:var(--hot)}

.pf-more-wrap{text-align:center;margin-top:2.4rem}
.pf-more[hidden]{display:none}

/* lightbox */
.pf-lb{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:1rem}
.pf-lb[hidden]{display:none}
.pf-lb-bg{position:absolute;inset:0;background:rgba(5,5,7,.88);backdrop-filter:blur(4px)}
.pf-lb-box{position:relative;width:100%;max-width:1000px;max-height:calc(100vh - 2rem);overflow-y:auto;display:grid;grid-template-columns:1.35fr 1fr;background:#141416;border:1px solid var(--line);border-radius:20px;animation:pfIn .35s both}
.pf-lb-img{position:relative;min-height:340px;background:linear-gradient(135deg,#2a0508 0%,#8B0000 55%,#150204 100%)}
.pf-lb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-lb-img .pf-ico{font-size:4.5rem}
.pf-lb-info{padding:2rem 1.8rem;display:flex;flex-direction:column;gap:.7rem;color:#d6d6dc}
.pf-lb-info h3{color:#fff;font-size:1.45rem;margin:.2rem 0 0;line-height:1.25}
.pf-lb-svc{margin:0;font-size:.82rem;color:#ff8f8f}
.pf-lb-info p{margin:0;font-size:.93rem;line-height:1.65}
.pf-lb-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.pf-ghost{border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50px;padding:.55rem 1.2rem;font-size:.9rem;background:transparent;transition:.3s}
.pf-ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.pf-lb-nav{margin-top:auto;padding-top:1.2rem;display:flex;align-items:center;gap:.9rem;font-size:.82rem;color:#9a9aa3}
.pf-x{position:absolute;right:.8rem;top:.8rem;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(11,11,13,.7);color:#fff;cursor:pointer;transition:.3s}
.pf-x:hover{background:var(--red2)}
@media(max-width:767px){
 .pf-lb{padding:.6rem}
 .pf-lb-box{grid-template-columns:1fr;max-height:calc(100vh - 1.2rem)}
 .pf-lb-img{min-height:0;aspect-ratio:16/11}
 .pf-lb-info{padding:1.3rem 1.2rem 1.4rem}
 .pf-ico{font-size:2.6rem}
}
@media(prefers-reduced-motion:reduce){.pf-card.pf-in,.pf-lb-box{animation:none}.pf-open,.pf-thumb img{transition:none}}
body.pf-lock{overflow:hidden}

/* v59: gallery only - image cards, lightbox = image + one link icon */
.pf-open{background:none;border:0;border-radius:16px}
.pf-thumb{aspect-ratio:4/3;border-radius:16px;border:1px solid var(--line)}
.pf-hover{background:rgba(139,0,0,.45);color:#fff;font-size:1.6rem}
.pf-lb-box{display:block;width:auto;max-width:min(1000px,100%);background:none;border:0;overflow:visible;line-height:0}
.pf-lb-box>img{display:block;max-width:100%;max-height:calc(100vh - 2rem);width:auto;height:auto;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.6);margin:0 auto}
.pf-link{position:absolute;right:.8rem;bottom:.8rem;z-index:3;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-size:1.05rem;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.5);line-height:1}
.pf-link:hover{color:#fff;transform:translateY(-2px)}
.pf-nv{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(11,11,13,.65);color:#fff;cursor:pointer;line-height:1}
.pf-prev{left:.6rem}.pf-next{right:.6rem}
.pf-nv:hover{background:var(--red2)}
