/* Current responsive/type corrections; loaded after historical revision styles. */
body[data-concept=play] .story-bubble :is(p,.intro-body){font-size:clamp(16px,1.35vw,18px)}
body[data-concept=play] .story-bubble h2{font-size:clamp(25px,2.6vw,36px)}
body[data-concept=flow] :is(.intro-copy h2,.project h2){font-size:clamp(27px,3.1vw,44px)}
body[data-concept=flow] .editorial-copy .intro-body{margin-top:24px}
body[data-concept] #map .section-heading>p{font-size:clamp(16px,1.3vw,18px);font-weight:500;line-height:1.7}
body[data-concept] #places .filters{flex-wrap:wrap}
body[data-concept] #places .filters button{font-size:16px;min-height:44px}
body[data-concept] #places input[type=search]{font-size:16px;min-width:0}
@media(max-width:700px){
 body[data-concept] #places .filters button{font-size:14px;padding-inline:16px}
 body[data-concept=flow] .contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 body[data-concept=flow] .contact-grid>div{grid-column:auto;grid-row:auto}
 body[data-concept=flow] .contact-grid a{font-size:clamp(24px,6vw,36px);white-space:nowrap;line-height:1.3}
}
@media(max-width:600px){
 /* Two landscape images retain context instead of becoming narrow portrait crops. */
 body[data-concept=flow] .project-gallery-stage{grid-template-columns:minmax(0,1fr);height:auto}
 body[data-concept=flow] .project-gallery-exterior{grid-column:1;grid-row:1}
 body[data-concept=flow] .project-gallery-main{grid-column:1;grid-row:2}
 body[data-concept=flow] .project-gallery .place-image-frame{height:auto;aspect-ratio:3/2}
 body[data-concept=flow] .project-gallery-nav{top:50%}
}
