/* Phone framing. Loaded last. On phones each photo keeps one frame whatever the screen width: its own shape (--ar-m, held between 4:5 and 3:2 by photo()) instead of a fixed pixel height, so nothing reads zoomed in or letterboxed. Selectors mirror the slot rules they replace. */
@media(max-width:760px){
.photo,.panorama,.page-hero-media .photo,body[data-page="how"] .page-hero-media .photo,.feature-panel>.photo,.home-feature .feature-panel>.photo,.bento-photo .photo,.photo-copy .photo,.featured-guide .photo,.article-hero>.photo,.area-availability .photo,.campaign-hero>.photo,.team-image,.receipt-photo,.journey-photo,.contact-photo,.contact-page .contact-photo,.contact-small-photo,.home-contact .contact-small-photo,.home-proof-photo,.close-photo,.not-found-photo{position:relative;inset:auto;height:auto;min-height:0;aspect-ratio:var(--ar-m,4/3);max-height:72svh}
/* Cards in a set share one frame so the set reads evenly */
.guide-card .photo,.suburb-card .photo{aspect-ratio:5/4}
.page-hero-media,body[data-page="how"] .page-hero-media,.bento-photo,.home-bento .bento-photo{height:auto;min-height:0}
/* Homepage hero: a portrait frame made for phones, with no resting zoom; the lights-on motion settles from 1.03 to 1 */
.hero-photo{min-height:0;aspect-ratio:4/5;max-height:78svh}
.hero-frame{transform:none}
.hero-motion-pending .hero-frame{transform:scale(1.03)}
}
