/* Keep the village targets aligned with the full 3-by-2 illustration. */
.village-board>img{height:auto;aspect-ratio:3/2}

/* Small screens show the complete art and keep captions in their own space. */
@media(max-width:760px){
 .building-grid>a{padding:2px}
 .building-grid>a>span{font-size:10px;line-height:1.2;padding:3px;border-width:1px}
 .story-scene{min-height:0}
 .story-scene>img{position:static;width:100%;height:auto;object-fit:contain}
 .story-scene figcaption{position:static}
 .adventure-card>img{height:auto;aspect-ratio:3/2;align-self:start;object-fit:contain}
 .rival-teaser{grid-template-columns:1fr;gap:0}
 .rival-teaser>img{width:100%;height:auto;min-height:0;max-height:400px;object-fit:contain;border-right:0;border-bottom:2px solid #d4aa5b;animation:none}
 .rival-teaser>div{padding:20px}
 .read{min-height:44px}
 .quest-guide .read{min-height:44px}
}

/* Keep artwork and the close button reachable in a short landscape viewport. */
dialog{max-height:94dvh;overflow:auto}
dialog .close{position:sticky;top:0;display:block;margin-left:auto;z-index:1}
