/* Portfolio grid, project pages and related-project blocks. Loaded only on those pages. */
.pj-hero h1{max-width:1000px}.pj-hero .pj-title{font-size:clamp(34px,5vw,64px)}
.pj-by{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:22px!important}
html[dir=rtl] .pj-by{letter-spacing:0}
.pj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px}
.pj-grid.pj-sm{grid-template-columns:repeat(3,1fr);gap:24px}
.pj-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:border-color .25s,transform .25s}
.pj-card:hover,.pj-card:focus-visible{border-color:var(--gold);transform:translateY(-4px)}
.pj-card figure{aspect-ratio:4/3;background:#f3f1ec;overflow:hidden;margin:0}
.pj-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.pj-card:hover img{transform:scale(1.04)}
.pj-card-b{padding:28px 30px 32px;display:flex;flex-direction:column;gap:10px;flex:1}
.pj-card h2,.pj-card h3{font-size:clamp(21px,2.1vw,27px);line-height:1.2}
.pj-sm .pj-card h3{font-size:19px}.pj-sm .pj-card-b{padding:22px 22px 26px}
.pj-card p{color:var(--muted);margin:0}
.pj-more{margin-top:auto;padding-top:8px;color:var(--gold2);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
html[dir=rtl] .pj-more{letter-spacing:0;font-size:14px}
.pj-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:72px;align-items:start}
.pj-text p{color:var(--muted);font-size:18px;line-height:1.8;margin-bottom:1.2em;max-width:720px}
.pj-text p:first-child{color:var(--ink);font-size:21px;line-height:1.65}
.pj-text strong{color:var(--ink)}
.pj-meta{position:sticky;top:110px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px}
.pj-meta dl{display:grid;gap:18px;margin-bottom:26px}
.pj-meta dt{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}
.pj-meta dd{font-size:17px;margin-top:4px}.pj-meta dd a{color:var(--gold2);border-bottom:1px solid currentColor}
.pj-meta .btn{width:100%;text-align:center}
.pj-hint{color:var(--muted);margin:12px 0 32px;max-width:680px}
.pj-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pj-shot{position:relative;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;padding:14px}
.pj-shot:first-child{grid-column:1/-1;aspect-ratio:auto;padding:20px}
.pj-shot img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .5s ease}
.pj-shot:first-child img{max-height:80vh}
.pj-shot:hover img{transform:scale(1.02)}
.pj-zoom{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:rgba(14,14,12,.82);color:#fff;display:grid;place-items:center;font-size:22px;opacity:0;transition:opacity .25s}
.pj-shot:hover .pj-zoom,.pj-shot:focus-visible .pj-zoom{opacity:1}
@media(max-width:900px){.pj-grid.pj-sm{grid-template-columns:1fr 1fr}.pj-body{grid-template-columns:1fr;gap:40px}.pj-meta{position:static}}
@media(max-width:640px){.pj-grid,.pj-grid.pj-sm,.pj-gallery{grid-template-columns:1fr;gap:20px}.pj-card-b{padding:22px}.pj-text p:first-child{font-size:19px}.pj-zoom{opacity:1}.pj-shot{aspect-ratio:auto}}
