/* Original proportions, in balanced rows. No nth-child image crops. */
.editorial-grid.natural-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:38px 24px}
.editorial-grid.natural-grid .editorial-card{flex:0 0 var(--card-width,100%);width:var(--card-width,100%);min-width:0;margin:0;grid-column:auto}
.editorial-grid .editorial-card .image-wrap{aspect-ratio:var(--cover-ratio,1.5)!important;height:auto;min-height:0;background:transparent}
.editorial-grid .editorial-card .image-wrap>img{width:100%;height:auto;aspect-ratio:var(--cover-ratio,1.5);object-fit:contain;transform:none!important}
.editorial-grid .editorial-card .card-second{display:none}
.editorial-grid .editorial-card .card-copy{min-width:0}
.editorial-grid .editorial-card h3{overflow-wrap:anywhere}
.editorial-grid .editorial-card .card-open{transition:translate .25s}
.editorial-grid .editorial-card:hover .card-open{translate:3px -3px}
/* List thumbnails use a quiet, fixed frame; the complete image stays inside it. */
.editorial-grid.as-list .editorial-card .image-wrap{aspect-ratio:1.5!important;background:#e5e7df}
.editorial-grid.as-list .editorial-card .image-wrap>img{height:100%;aspect-ratio:auto;object-fit:contain}
/* The lead image of a project is also complete, including tall buildings. */
.detail-hero.editorial-hero{height:auto;min-height:0;max-height:none;background:#e5e7df}
.detail-hero.editorial-hero img{display:block;width:100%;height:auto;max-height:80svh;object-fit:contain}
.feature-controls button[data-feature-pause]{border:1px solid #c4cbbf;border-radius:50%;font-size:15px}
.feature-controls button:focus-visible{outline:2px solid #31493d;outline-offset:4px}
.natural-opening .opening-photo .feature-photo{transform:none!important}
.natural-opening .opening-photo .feature-photo.is-contained{object-fit:contain;object-position:right center;filter:none;background:#20332a}
.natural-opening .opening-stage:has(.is-current.is-contained) .opening-copy{max-width:36%;text-shadow:0 2px 14px #102017}
.natural-opening .opening-stage:has(.is-current.is-contained) .opening-copy h1{font-size:clamp(38px,3.5vw,58px)}
@media(max-width:700px){
 .editorial-grid.natural-grid{gap:30px 18px}
 .editorial-grid.natural-grid .card-copy{padding-top:14px}
 .editorial-grid.natural-grid h3{font-size:22px}
 .editorial-grid.natural-grid .card-kicker{font-size:9px}
 .editorial-grid.as-list .editorial-card .image-wrap{aspect-ratio:1!important}
 /* A separate caption area keeps the architecture visible on narrow screens. */
 .natural-opening .opening-stage{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column}
 .natural-opening .opening-photo{position:relative;inset:auto;height:74vw;min-height:0;max-height:470px}
 .natural-opening .opening-photo .feature-photo{object-fit:contain;object-position:center;filter:none;min-height:0;background:#20332a}
 .natural-opening .opening-copy,.natural-opening .opening-stage:has(.is-current.is-contained) .opening-copy{position:relative;inset:auto;padding:28px var(--page-gutter) 32px;max-width:none;text-shadow:none}
 .natural-opening .opening-copy h1,.natural-opening .opening-stage:has(.is-current.is-contained) .opening-copy h1{font-size:clamp(32px,8.5vw,44px);max-width:520px;margin-bottom:22px}
 .natural-opening .opening-copy>.eyebrow{font-size:8px;max-width:none;margin-bottom:14px}
 .natural-opening .feature-caption .feature-title{font-size:14px}
 .natural-opening .feature-caption small{letter-spacing:.1em}
 .natural-opening .feature-controls button{min-width:40px;width:40px;min-height:42px}
 .detail-hero.editorial-hero img{max-height:75svh}
}
@media(prefers-reduced-motion:reduce){.natural-opening .feature-photo{transition:none!important}}
