/* Image-led case narratives: original project media with concise adjacent text. */
.case-reference .editorial-sequence { display:block; background:#fff; margin:0; padding:65px 0; }
.case-reference .editorial-sequence .editorial-frame { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr); gap:clamp(28px,5vw,88px); align-items:center; margin:0 auto; padding:55px max(6vw,calc((100vw - 1500px)/2)); background:#fff; }
.case-reference .editorial-sequence .editorial-frame:nth-of-type(even) { grid-template-columns:minmax(240px,1fr) minmax(0,1.9fr); }
.case-reference .editorial-sequence .editorial-frame:nth-of-type(even)>img { grid-column:2; grid-row:1; }
.case-reference .editorial-sequence .editorial-frame:nth-of-type(even)>figcaption { grid-column:1; grid-row:1; }
.case-reference .editorial-sequence .editorial-frame>img { width:100%; height:auto; max-height:none; min-height:0; object-fit:contain; display:block; }
.case-reference .editorial-sequence figcaption { padding:0; color:#242b27; }
.case-reference .editorial-sequence .mono { display:block; font-size:9px; line-height:1.7; letter-spacing:.1em; color:#677168; }
.case-reference .editorial-sequence h3 { font:300 clamp(25px,2.1vw,36px)/1.3 'Raleway',Arial,sans-serif; margin:17px 0; }
.case-reference .editorial-sequence p { font:400 16px/1.85 'Raleway',Arial,sans-serif; margin:0; max-width:38em; }
.case-reference .editorial-sequence .process-plan { margin:70px auto; padding:40px 6vw 65px; background:#fff; }
.case-reference .process-plan img { width:100%; height:auto; max-height:none; object-fit:contain; display:block; }
.case-reference .process-plan figcaption { max-width:830px; margin:35px auto 0; }
.process-plan small { display:block; font:400 12px/1.7 'Raleway',Arial,sans-serif; color:#6e776f; margin-top:22px; }
.process-source-link { display:inline-block; font:400 12px/1.6 'Raleway',Arial,sans-serif; margin-top:16px; text-decoration:underline; text-underline-offset:4px; }
.plan-image-link { display:block; }
.plan-image-link:focus-visible { outline:2px solid #51675c; outline-offset:6px; }
.case-reference #design-process,.case-reference #terrace-view,.case-reference #elevated-view { scroll-margin-top:100px; }
@media(max-width:760px) {
 .case-reference .editorial-sequence { padding:25px 0; }
 .case-reference .editorial-sequence .editorial-frame,.case-reference .editorial-sequence .editorial-frame:nth-of-type(even) { grid-template-columns:minmax(0,1fr); padding:30px 6vw; gap:22px; }
 .case-reference .editorial-sequence .editorial-frame:nth-of-type(even)>img,.case-reference .editorial-sequence .editorial-frame:nth-of-type(even)>figcaption { grid-column:auto; grid-row:auto; }
 .case-reference .editorial-sequence .process-plan { margin:25px 0; padding:25px 6vw 40px; }
 .case-reference .editorial-sequence h3 { font-size:26px; }
 .case-reference .editorial-sequence p { font-size:15px; }
}

/* Photographs drift by at most 18px; the window clips only the small motion overscan. */
.project-photo-window { position:relative; overflow:hidden; min-width:0; }
.case-reference .editorial-sequence .project-photo-window>img { display:block; width:100%; height:auto; max-height:none; min-height:0; object-fit:contain; transform-origin:center; }
.case-reference .editorial-sequence .editorial-frame:nth-of-type(even)>.project-photo-window { grid-column:2; grid-row:1; }
.case-reference .case-opening>.project-photo-window { position:absolute; inset:0; height:100%; }
.case-reference .case-opening>.project-photo-window>img { display:block; width:100%; height:100%; object-fit:cover; }
.project-photo-motion .project-photo-window>img { will-change:transform; }
@media(max-width:760px) {
 .case-reference .editorial-sequence .editorial-frame:nth-of-type(even)>.project-photo-window { grid-column:auto; grid-row:auto; }
}
@media(prefers-reduced-motion:reduce) {
 .project-photo-window>img { transform:none!important; will-change:auto!important; }
}