/* The new source and all visual adjustments are mobile-only. */
@media(max-width:767px){
 .demo-a .a-hero .hero-media img{object-position:65% 50%}
 /* The header already supplies location; free the bright ridge from a repeated label. */
 .demo-a .a-hero-copy .eyebrow{display:none}
 .demo-a .a-hero-copy h1{margin-top:0}
 .demo-a .a-hero-copy>p:not(.eyebrow){text-shadow:0 1px 5px #07190d80}
}
/* On short screens keep the headline below the luminous ridge, not on top of it. */
@media(max-width:767px) and (max-height:760px){.demo-a .a-hero{min-height:840px}}

/* Approved phone composition: keep the booking rail at its safe bottom gutter.
   Title/subtitle spacing consumes free space above it, without shifting the card.
   Small viewport units stay stable; short or enlarged content can scroll naturally. */
@media(max-width:600px){
 .demo-a .a-hero{height:auto;min-height:100svh;justify-content:flex-end}
 .demo-a .a-hero-copy{padding:calc(104px + env(safe-area-inset-top)) 20px clamp(32px,6svh,52px)}
 .demo-a .a-hero-copy h1{margin-top:0;margin-bottom:24px}
 .demo-a .a-hero-booking{margin-top:0;margin-bottom:max(20px,env(safe-area-inset-bottom))}
 .demo-a .a-hero-booking .booking-wrap{padding:12px}
 .demo-a .a-hero .booking-heading{gap:8px;margin-bottom:10px}
 .demo-a .a-hero .booking-heading>span:last-child{max-width:14ch;line-height:1.4}
 .demo-a .a-hero .booking-field{padding:8px 10px}
 .demo-a .a-hero .booking-field>button{min-height:44px}
 .demo-a .a-hero .check-button{min-height:76px;padding:10px;gap:10px}
}
