/* Projects page (2026-10) */
.pj-intro{padding:70px 0 80px}
.pj-head{max-width:820px;margin:0 auto 34px;text-align:center}
.pj-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#181673;margin:0 0 10px;display:flex;align-items:center;justify-content:center;gap:10px}
.pj-eyebrow:before{content:"";width:34px;height:3px;background:#ffb600;display:inline-block}
.pj-title{font-size:32px;line-height:1.25;text-transform:none;letter-spacing:-.5px;color:#212121;margin:0 0 16px}
.pj-lead{font-size:17px;line-height:1.7;color:#4a4a4a;margin:0}

.pj-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 30px}
.pj-filter{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:#181673;background:#fff;border:2px solid #d9dbe8;border-radius:40px;padding:10px 18px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;line-height:1.2}
.pj-filter span{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:20px;background:#eef0f8;color:#181673;font-size:11px}
.pj-filter:hover{border-color:#181673}
.pj-filter.is-active{background:#181673;border-color:#181673;color:#fff}
.pj-filter.is-active span{background:#ffb600;color:#181673}
.pj-filter:focus-visible{outline:3px solid #ffb600;outline-offset:2px}

.pj-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:16px}
.pj-item{position:relative;overflow:hidden;border-radius:6px;background:#e9e9ef;margin:0}
.pj-item.pj-tall{grid-row:span 2}
.pj-item.pj-hidden{display:none}
.pj-link{display:block;position:relative;width:100%;height:100%;color:#fff}
.pj-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pj-link:hover img,.pj-link:focus-visible img{transform:scale(1.06)}
.pj-link:focus-visible{outline:3px solid #ffb600;outline-offset:-3px}
.pj-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:42px 14px 12px;background:linear-gradient(to top,rgba(10,12,40,.85),rgba(10,12,40,0));opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.pj-link:hover .pj-cap,.pj-link:focus-visible .pj-cap{opacity:1;transform:none}
.pj-cap-cat{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#ffb600}
.pj-cap-text{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;line-height:1.25}
@media (hover:none){.pj-cap{opacity:1;transform:none;padding-top:30px}}

.pj-more{text-align:center;margin-top:34px}
.pj-status{font-size:14px;color:#666;margin:0 0 14px}
.pj-more[hidden]{display:none}

.pj-cta{background:linear-gradient(135deg,#181673,#25229a);color:#fff;padding:70px 0}
.pj-cta h2{color:#fff;font-size:32px;text-transform:none;letter-spacing:-.5px;margin-bottom:10px}
.pj-cta p{font-size:18px;margin-bottom:26px;color:#e8e9ff}
.pj-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* lightbox */
.pj-lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:rgba(8,10,35,.94);display:flex;align-items:center;justify-content:center;padding:56px 70px 24px}
.pj-lb[hidden]{display:none}
.pj-lb-fig{margin:0;max-width:100%;display:flex;flex-direction:column;align-items:center}
.pj-lb-img{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#111}
.pj-lb-cap{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;color:#fff;margin-top:14px;max-width:760px}
.pj-lb-cat{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#ffb600}
.pj-lb-text{font-size:15px;line-height:1.45}
.pj-lb-count{font-style:normal;font-size:12px;color:#aab;}
.pj-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer;transition:background .2s}
.pj-lb-btn:hover,.pj-lb-btn:focus-visible{background:#ffb600;color:#181673;outline:none}
.pj-lb-close{top:12px;right:14px}
.pj-lb-prev{left:12px;top:50%;margin-top:-23px}
.pj-lb-next{right:12px;top:50%;margin-top:-23px}
body.pj-lb-open{overflow:hidden}

@media (max-width:991px){
  .pj-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:190px;gap:14px}
}
@media (max-width:767px){
  .pj-intro{padding:48px 0 56px}
  .pj-title{font-size:26px}
  .pj-lead{font-size:16px}
  .pj-cta{padding:52px 0}
  .pj-cta h2{font-size:26px}
  .pj-lb{padding:56px 10px 16px}
  .pj-lb-prev{left:6px;top:auto;bottom:16px;margin:0}
  .pj-lb-next{right:6px;top:auto;bottom:16px;margin:0}
  .pj-lb-img{max-height:calc(100vh - 190px)}
}
@media (max-width:575px){
  .pj-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:10px}
  .pj-filters{gap:8px}
  .pj-filter{padding:8px 13px;font-size:12px}
  .pj-cap-text{font-size:12px}
  .pj-cap{padding:26px 10px 8px}
  .pj-cta-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.pj-link img,.pj-cap{transition:none}}
