/* FrameShift V21 — dedicated gallery sizing for vertical Urban Style renders.
   No shared hero, core story or existing project galleries are changed. */
.urban-hero h1{font-size:clamp(84px,11.7vw,196px);letter-spacing:-.105em}
.urban-hero .case-hero-image{object-position:50% 54%}
.urban-gallery-note{max-width:670px;color:#58705a;font-size:13px;line-height:1.8;margin:0 0 clamp(35px,5vw,76px)}
.urban-grid{--urban-gap:clamp(18px,3vw,52px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.7vw,60px) var(--urban-gap);align-items:start}
.urban-grid .view,.urban-grid .view.wide{grid-column:auto;min-width:0;width:100%;padding:0!important;margin:0}
.urban-grid .view a{width:100%;aspect-ratio:1760/2200;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#d8d8d2}
.urban-grid .view img,.urban-grid .view.wide img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;transform:none;background:#d8d8d2}
.urban-grid .view--narrow img{object-fit:contain}
.urban-grid .view:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,620px);max-width:620px;justify-self:center;margin:10px 0 0}
.urban-grid .view figcaption{min-height:44px}
@media(max-width:600px){
 .urban-hero h1{font-size:clamp(75px,17vw,112px)}
 .urban-grid{grid-template-columns:minmax(0,1fr);row-gap:28px}
 .urban-grid .view:last-child:nth-child(odd){grid-column:auto;width:100%;max-width:none;margin-top:0}
 .urban-grid .view figcaption{min-height:0}
}
@media(prefers-reduced-motion:reduce){.urban-grid .view img{transition:none!important}}
