/* Project photographs: original proportions and no more than three image zones. */
.project-detail .project-hero{padding-bottom:0}
.project-detail .project-hero h1{font-size:clamp(42px,6.8vw,116px);line-height:1.02;letter-spacing:-.065em;overflow-wrap:break-word;max-width:21ch}
.project-detail .project-summary{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-bottom:clamp(32px,5vw,72px)}
.project-detail .project-summary .lede{font-size:clamp(19px,2vw,30px);line-height:1.4;letter-spacing:-.035em;max-width:38ch}
.project-detail .specs{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.project-detail .spec{min-width:0;padding-block:12px}
.project-detail .spec dt{font-size:9px;line-height:1.4}
.project-detail .spec dd{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.project-detail .spec .is-pending{color:var(--muted)}
.project-media{margin:0;min-width:0;max-width:100%}
.project-media img{filter:none;transform:none}
.media-slides{display:flex;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-behavior:smooth;aspect-ratio:var(--media-ratio,2);max-height:82vh}
.media-slide{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
.media-slide img{display:block;width:100%;height:100%;object-fit:contain}
.project-media.is-enhanced .media-slides{scrollbar-width:none}
.project-media.is-enhanced .media-slides::-webkit-scrollbar{display:none}
.media-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:12px 0 0;min-height:58px;font-size:11px;line-height:1.5;color:var(--muted)}
.media-caption-text{max-width:68ch;padding-top:8px}
.media-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.media-controls[hidden]{display:none}
.media-counter{min-width:52px;text-align:center;font-variant-numeric:tabular-nums;color:var(--ink)}
.media-button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);color:var(--ink);background:transparent;font:inherit;font-size:18px;cursor:pointer}
.media-button:disabled{opacity:.25;cursor:default}
.media-button:not(:disabled):hover{border-color:var(--ink)}
.project-media:focus-visible,.media-button:focus-visible,.media-slides:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.project-story{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(52px,7vw,112px) 0}
.project-story-copy{max-width:44ch}
.project-story-copy h2{font-size:12px;font-weight:400;letter-spacing:.035em;line-height:1.5;margin:0 0 24px;text-transform:uppercase}
.project-story-copy p{font-size:16px;line-height:1.65;margin:0 0 1.15em}
.project-story-copy p:last-child{margin-bottom:0}
.project-story--portrait{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.project-story--portrait .project-media{width:min(100%,480px);justify-self:center}
.project-story--text{grid-template-columns:1fr;max-width:780px;margin-inline:auto}
.project-story--text .project-story-copy{max-width:65ch}
.project-closing{padding-bottom:clamp(36px,6vw,80px)}
.project-detail .next{display:grid;grid-template-columns:auto minmax(0,1fr);gap:32px;align-items:start;padding-top:28px}
.project-detail .next>a{display:block;min-width:0}
.project-detail .next>a:last-child{text-align:right}
.project-detail .next strong{display:block;margin-top:12px;font-size:clamp(25px,3.4vw,56px);line-height:1.15;overflow-wrap:break-word}
.project-detail .project-back{font-size:11px;line-height:1.5;padding-top:3px}
.project-detail .project-media--compact{width:min(100%,var(--media-max,800px));margin-inline:auto}
@media(max-width:900px){
 .project-detail .project-summary{grid-template-columns:1fr}
 .project-detail .project-summary .lede{max-width:60ch}
 .project-story,.project-story--portrait{grid-template-columns:1fr;gap:30px}
 .project-story-copy{max-width:65ch}
 .project-story--portrait .project-media{width:min(78%,440px)}
 .project-detail .next{grid-template-columns:1fr;gap:24px}
 .project-detail .next>a:last-child{text-align:left}
 .media-slides{max-height:none}
}
@media(max-width:600px){
 .project-detail .project-hero{padding-top:42px}
 .project-detail .project-hero h1{font-size:clamp(36px,10vw,58px);margin-bottom:28px}
 .project-detail .spec dd{font-size:11px}
 .project-story-copy p{font-size:14px;line-height:1.7}
 .media-caption{gap:12px;font-size:10px}
 .media-caption-text{padding-top:5px}
 .media-counter{min-width:38px}
 .media-controls{gap:3px}
 .project-story--portrait .project-media{width:min(86%,440px)}
}
@media(prefers-reduced-motion:reduce){.media-slides{scroll-behavior:auto}}
