.project-detail-heading{
    padding:150px 0 48px;
    background:#05080d;
    border-bottom:1px solid rgba(191,145,43,.32)
}
.project-detail-heading h1{margin:.25rem 0;color:#fff}
.project-location{color:#d5dde4;text-transform:uppercase;letter-spacing:.08em}
.project-detail-body{padding:64px 0 90px;background:#fff}
.project-copy{max-width:920px}
.project-lead{font-size:1.25rem;line-height:1.7;color:#17202b}
.project-copy p{line-height:1.8}

.project-db-gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:42px
}
.project-gallery-item{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:260px;
    padding:0;
    border:1px solid rgba(7,31,49,.18);
    background:#f4f7f9;
    cursor:pointer;
    overflow:hidden
}
.project-gallery-item img{
    display:block;
    width:100%;
    height:auto;
    max-height:420px;
    object-fit:contain;
    transition:transform .35s ease
}
.project-gallery-action{
    position:absolute;
    right:12px;
    bottom:12px;
    padding:8px 12px;
    background:rgba(2,17,28,.88);
    color:#fff;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.08em
}
.project-gallery-item:hover img{transform:scale(1.015)}
.project-gallery-missing{display:none}
.project-gallery-item.is-missing{
    min-height:220px;
    cursor:not-allowed;
    border-style:dashed;
    background:#f5f6f7
}
.project-gallery-item.is-missing img,
.project-gallery-item.is-missing .project-gallery-action{display:none}
.project-gallery-item.is-missing .project-gallery-missing{
    display:block;
    padding:24px;
    color:#6b747c;
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.08em
}
.project-gallery-empty{
    margin-top:42px;
    padding:30px;
    border:1px dashed rgba(7,31,49,.25);
    color:#65717a
}

.project-lightbox[hidden]{display:none}
.project-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 70px;
    align-items:center;
    background:rgba(0,0,0,.94);
    padding:40px
}
.project-lightbox figure{margin:0;text-align:center}
.project-lightbox img{
    max-width:100%;
    max-height:82vh;
    object-fit:contain;
    border:1px solid rgba(255,255,255,.2)
}
.project-lightbox figcaption{margin-top:12px;color:#fff}
.project-lightbox button{
    border:0;
    background:transparent;
    color:#fff;
    font-size:3rem;
    cursor:pointer
}
.project-lightbox-close{position:absolute;top:18px;right:24px}
.project-lightbox-open{overflow:hidden}

@media(max-width:900px){
    .project-db-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
    .project-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:24px 8px}
}
@media(max-width:560px){
    .project-db-gallery{grid-template-columns:1fr}
    .project-gallery-item{min-height:200px}
}
