/* Photo captions — SOLIDWORKS / 6 November 2026 */
.image-story{position:relative;isolation:isolate;overflow:hidden;background:var(--deep)}
.image-story img{width:100%;height:440px;max-height:none;object-fit:cover;object-position:center 48%}
.image-story:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 15%,rgba(4,25,19,.18) 38%,rgba(4,25,19,.92) 100%)}
.image-story .image-story-copy{position:absolute;bottom:36px;left:38px;right:38px;z-index:2;color:#fff}
.image-story .image-story-label{color:#d5edbd;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.5;margin:0 0 15px}
.image-story h2{color:white;font-size:clamp(30px,3.5vw,49px);line-height:1.1;letter-spacing:-.04em;max-width:750px;text-shadow:0 1px 12px #001a1460}
.image-story .image-story-detail{color:#f0f4ef;font-size:13px;line-height:1.6;margin:17px 0 0}
.contact-photo.image-story{margin-bottom:55px}.contact-photo.image-story img{height:370px}
.caption-project-grid{gap:26px}
.caption-project-grid .project-card{position:relative;isolation:isolate;overflow:hidden;background:var(--deep)}
.caption-project-grid .photo-button{background:var(--deep)}
.caption-project-grid .photo-button>img{aspect-ratio:1.25;min-height:370px;object-fit:cover;transition:transform .35s ease}
.caption-project-grid .photo-button:after,.caption-project-photos .photo-button:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 25%,rgba(4,25,19,.12) 42%,rgba(4,25,19,.95) 100%)}
.caption-project-grid .project-info{position:absolute;bottom:27px;left:28px;right:28px;z-index:2;padding:0;pointer-events:none}
.caption-project-grid .project-info a{pointer-events:auto}
.caption-project-grid .project-info .eyebrow{color:#d5edbd;font-size:10px;letter-spacing:.13em;margin:0 0 10px}
.caption-project-grid .project-info h3{font-size:clamp(24px,2.3vw,32px);line-height:1.15;color:white;max-width:95%}
.caption-project-grid .project-info>p:last-child{color:#e2eae2;font-size:12px;margin-top:14px}
.caption-project-grid .project-info .text-link{color:white;font-size:12px;border-color:#b7cfad88;padding-bottom:2px}
.caption-project-grid .enlarge{top:18px;right:18px;bottom:auto;z-index:2;transition:background .2s}
.caption-project-grid .project-card:hover img,.caption-project-grid .project-card:focus-within img{transform:scale(1.025)}
.caption-project-grid .project-card:hover .enlarge{background:var(--green)}
.caption-project-grid .photo-button:focus-visible{outline-offset:-5px}
.caption-project-photos figure{position:relative;isolation:isolate;overflow:hidden;background:var(--deep)}
.caption-project-photos .photo-button>img{aspect-ratio:1.4;min-height:290px;object-fit:cover}
.caption-project-photos figure:first-child .photo-button>img{width:100%;aspect-ratio:1.85;max-height:650px;min-height:380px;object-fit:contain;background:var(--deep)}
.caption-project-photos figcaption{position:absolute;bottom:24px;left:26px;right:65px;z-index:2;color:white;font-size:15px;line-height:1.5;padding:0;pointer-events:none;text-shadow:0 1px 5px #0006}
.caption-project-photos figure:first-child figcaption{font-size:21px;bottom:30px;left:32px}
.caption-project-photos .enlarge{z-index:2}
.caption-project-photos .photo-button:focus-visible{outline-offset:-5px}
@media(max-width:760px){
 .image-story img{height:370px}.image-story .image-story-copy{left:24px;right:24px;bottom:26px}
 .image-story h2{font-size:34px}.image-story .image-story-label{font-size:9px;margin-bottom:12px}
 .image-story .image-story-detail{font-size:12px;margin-top:15px}
 .contact-photo.image-story img{height:330px}.contact-photo.image-story{margin-bottom:35px}
 .caption-project-grid .photo-button>img{aspect-ratio:1.15;min-height:330px}
 .caption-project-grid .project-info{left:22px;right:22px;bottom:24px}
 .caption-project-grid .project-info h3{font-size:27px}
 .caption-project-photos .photo-button>img{min-height:300px;aspect-ratio:1.15}
 .caption-project-photos figure:first-child .photo-button>img{aspect-ratio:1.1;min-height:320px}
 .caption-project-photos figcaption,.caption-project-photos figure:first-child figcaption{font-size:15px;left:22px;right:56px;bottom:22px}
}
@media(prefers-reduced-motion:reduce){.caption-project-grid .photo-button>img{transition:none}.caption-project-grid .project-card:hover img,.caption-project-grid .project-card:focus-within img{transform:none}}
