/* Photo cards link as one complete target; a fourth project becomes a two-column grid. */
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-gallery:has(.project-photo-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.project-photo-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;min-width:0;transition:border-color .2s,transform .2s}
.project-photo{position:relative;overflow:hidden;aspect-ratio:12/5;background:#071c30}
.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.project-number{position:absolute;top:15px;left:15px;padding:7px 10px;background:#071c30dd;color:#fff;font-size:.75rem}
.project-copy{display:flex;flex-direction:column;flex:1;padding:28px}
.project-copy .eyebrow{margin-bottom:18px}
.project-copy h2{font-size:1.75rem;line-height:1.14;letter-spacing:-.035em;margin-bottom:16px}
.project-copy>p:not(.eyebrow){font-size:.9375rem;color:var(--muted)}
.project-card-link{margin-top:auto;padding-top:18px;font-size:.8125rem;font-weight:700;display:flex;justify-content:space-between;gap:20px;color:var(--blue)}
.project-card-link span{font-size:1.375rem;line-height:1}
.project-photo-card:hover{border-color:var(--blue);transform:translateY(-3px)}
.project-photo-card:hover img{transform:scale(1.035)}
html[data-theme=dark] .project-photo-card{background:#10283d}
html[data-theme=dark] .project-card-link{color:#8dbdff}
@media(max-width:1000px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-gallery,.project-gallery:has(.project-photo-card:nth-child(4)){grid-template-columns:1fr}.project-copy{padding:25px}}
