/* Use each city file's real proportions; never crop it into the placeholder shape. */
.hero .city-frame.has-photo{height:auto;width:min(100%,calc(700px * var(--city-ratio)));max-width:100%;aspect-ratio:auto;align-self:center;justify-self:center;border-radius:6px;overflow:hidden}
.hero .city-frame.has-photo>img{position:static;display:block;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:auto}
.city-frame.has-photo figcaption{position:static;inset:auto;display:flex;flex-wrap:wrap;align-items:center;font-size:13px;gap:8px 20px;padding:13px 16px}
@media(max-width:650px){.hero .city-frame.has-photo{width:min(100%,calc(520px * var(--city-ratio)));height:auto}.city-frame.has-photo figcaption{font-size:12px}}

/* Supplied city collections: full image, bounded height, no distortion. */
.city-credit{flex-basis:100%;max-width:100%;font-size:11px;line-height:1.5;text-align:left}
.city-credit summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px}
.city-credit p{font-size:11px!important;line-height:1.6;margin-top:8px!important;overflow-wrap:anywhere}
.city-credit a{color:inherit;text-decoration:underline}.city-frame img{background:transparent}
.brand{min-width:0}.brand>span{max-width:240px}.no-phone [data-phone]{display:none!important}
.no-phone .mobile-bar>.button{width:100%}.no-phone .footer-primary>div:empty{display:none}
@media(max-width:650px){.site-header .brand{font-size:18px!important}.brand>span{max-width:210px}.brand small{font-size:10px!important}}

/* Long domain names and city names must also fit narrow screens. */
.hero .eyebrow,.hero h1,.city-word,.city-caption strong{overflow-wrap:anywhere}.brand{white-space:normal}.brand>span{white-space:normal}.footer-primary>.brand{font-size:clamp(22px,3vw,36px)!important;white-space:normal;max-width:100%;overflow-wrap:anywhere;line-height:1.2}
