.pr-projects{max-width:1160px;margin:0 auto;padding:64px 34px;color:#173550}
.pr-projects-full{padding:0 28px 72px}
.pr-projects-heading{max-width:760px;margin-bottom:28px}
.pr-projects-heading h2{font-size:34px;line-height:1.15;margin:8px 0 14px}
.pr-projects-heading p{font-size:17px;line-height:1.65;color:#6f7e8b}
.pr-projects-eyebrow{font-size:14px;letter-spacing:2px;color:#ef4c43;font-weight:800;text-transform:uppercase}
.pr-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pr-photo-card{margin:0;background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 5px 20px rgba(20,45,68,.12)}
.pr-photo-card a{display:block;position:relative;cursor:zoom-in}
.pr-photo-card img{display:block;width:100%;height:260px;object-fit:cover}
.pr-photo-card figcaption{padding:18px 20px;font-size:16px;font-weight:700;line-height:1.45;color:#173550}
.pr-photo-grid{grid-auto-rows:1fr}
.pr-caption-title,.pr-caption-detail{display:block;overflow-wrap:anywhere}
.pr-caption-title{font-weight:700}
.pr-caption-detail{margin-top:5px;font-size:14px;font-weight:400}
.pr-photo-open{position:absolute;bottom:12px;right:12px;padding:7px 11px;border-radius:4px;background:#173550;color:#fff;font-size:13px;font-weight:700;opacity:0;transition:opacity .15s}
.pr-photo-card a:hover .pr-photo-open,.pr-photo-card a:focus-visible .pr-photo-open{opacity:1}
.pr-photo-card a:focus-visible{outline:3px solid #ef4c43;outline-offset:-3px}
.pr-gallery-link{display:inline-block;margin-top:28px;color:#173550;font-size:17px;font-weight:700;text-underline-offset:4px}
.pr-lightbox{position:fixed;inset:0;width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:60px 20px 20px;border:0;border-radius:9px;background:#173550;color:#fff;box-shadow:0 16px 60px #102b4070}
.pr-lightbox::backdrop{background:rgba(10,28,43,.93)}
.pr-lightbox-body{margin:0;text-align:center}
.pr-lightbox-image{display:block;width:100%;height:min(68dvh,850px);object-fit:contain;color:#fff}
.pr-lightbox-image[hidden]{display:none}
.pr-lightbox-caption{padding:16px 36px 0;font-size:16px;line-height:1.5;color:#fff}
.pr-lightbox button{border:1px solid #ffffff70;border-radius:4px;background:#263f57;color:#fff;cursor:pointer;min-height:44px;padding:10px 16px;font:700 16px Arial,sans-serif}
.pr-lightbox button:hover{background:#345570}
.pr-lightbox button:focus-visible{outline:3px solid #ff796f;outline-offset:3px}
.pr-lightbox-close{position:absolute;right:20px;top:10px}
.pr-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}
.pr-lightbox-status{font-size:14px;min-width:70px;text-align:center;color:#fff}
.pr-lightbox-error{color:#fff;text-align:center}
@media(max-width:900px){.pr-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pr-projects{padding:48px 24px}.pr-projects-full{padding-top:0}.pr-photo-grid{grid-template-columns:1fr}.pr-photo-card img{height:280px}.pr-projects-heading h2{font-size:30px}.pr-lightbox{padding:60px 12px 16px}.pr-lightbox-caption{padding:16px 0 0}.pr-lightbox-image{height:55dvh}.pr-photo-open{opacity:1}.pr-lightbox-controls{gap:12px}.pr-lightbox button{padding:10px 12px}}
