/* Preserve the native 3:2 composition of catalogue photographs on touch screens. */
@media(max-width:1100px){
body .tour-card>img,body .stay-card>img,body .rental-photo img,body .premium-grid article>img,body .concierge-example-grid article>img,body img.detail-art,body .service-hero figure>img{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover;object-position:center}
body[data-grandline=home] .cards .photo{aspect-ratio:3/2;background-size:cover;background-position:center}
body .premium-editorial-hero figure img{aspect-ratio:3/2;object-position:center;height:auto}
body #rental-panel .rental-summary>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
body #rental-panel .tour-modal-photo{aspect-ratio:3/2;max-height:none;object-position:center;height:auto}
body #rental-panel .wizard-option img{aspect-ratio:3/2;object-position:center;object-fit:cover}
body #rental-panel .wizard-option img[src*="vehicle-"]{object-fit:contain;background:#f4f3ef}
body #rental-panel .reservation-selection img{width:112px;height:75px;object-fit:contain;background:#f4f3ef}
body .booking-start-offer img{width:96px;height:64px;object-fit:contain;background:#f4f3ef}
body .basket-item-head img{object-fit:contain;background:#f3f3ed}
body .premium-reservation-aside>img{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
body .premium-mobile-selection>img,body .premium-checkout-product img{object-fit:contain;background:#f3f3ed}
body .private-call-aside>img{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
}
@media(max-width:650px){
body .premium-signature-scene{min-height:0;background:#101713}
body .premium-signature-scene>img{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
body .premium-signature-scene:after{display:none}
body .premium-signature-scene>.container{padding-block:32px}
body .value-editorial-photo{height:auto;min-height:0;aspect-ratio:3/2}
body .value-editorial-photo>img{object-position:center}
body[data-grandline=home] .quick-art{object-position:center}
}
/* Tablet hero uses the complete dedicated scene rather than a cropped background. */
@media(min-width:651px) and (max-width:950px){
body[data-grandline=home] header{height:110px;flex-wrap:nowrap}
body[data-grandline=home] header>.button{display:none}
body[data-grandline=home] .hero{height:auto;min-height:0;background:#fff!important}
body[data-grandline=home] .hero:before,body[data-grandline=home] .hero:after{display:none}
body[data-grandline=home] .hero-copy{padding:125px 5% 0;max-width:none;margin:0}
body[data-grandline=home] .hero-copy>.eyebrow,body[data-grandline=home] .hero-copy>.button{display:none}
body[data-grandline=home] .hero-copy h1{font-size:58px;line-height:.98;margin:0 0 15px;max-width:none}
body[data-grandline=home] .hero-intro{border:0;padding:0;margin:0}
body[data-grandline=home] .hero-tagline{font-size:15px;margin:0 0 15px}
body[data-grandline=home] .hero-services{width:100%;max-width:none;gap:10px}
body[data-grandline=home] .hero-services .quick-art{height:72px;width:100%;object-fit:cover}
body[data-grandline=home] .hero-services .quick-copy{min-height:44px;padding:8px 12px}
body[data-grandline=home] .hero-services strong{font-size:14px}
body[data-grandline=home] .mobile-hero-scene{display:block;position:relative;margin:0;line-height:0}
body[data-grandline=home] .mobile-hero-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
body[data-grandline=home] .mobile-scene-brand{display:block;position:absolute;bottom:14px;left:5%;width:145px;border-radius:7px;background:#fffdf2ed;padding:5px 10px;line-height:0}
body[data-grandline=home] .mobile-scene-brand img{width:100%;height:auto;display:block}
}
@media(min-width:651px) and (max-width:950px){body[data-grandline=home] .hero-copy{padding-top:115px}body[data-grandline=home] .hero-copy h1{font-size:56px}body[data-grandline=home] .hero-services .quick-art{height:64px}body[data-grandline=home] .hero-services .quick-copy{min-height:40px;padding-block:6px}}
/* Larger header identity, with a real top bar on phones. */
body[data-grandline] header>.brand{width:260px!important;display:flex!important;flex-direction:column;justify-content:center;align-items:stretch;flex-shrink:0}
body[data-grandline] header>.brand strong{font-size:56px!important;line-height:.96!important;letter-spacing:-1.3px!important}
body[data-grandline] header>.brand .flight{height:17px!important;margin:1px 0!important}
body[data-grandline] header>.brand small{font-size:11px!important;line-height:1.2!important;letter-spacing:7px!important;margin-top:1px!important}
@media(min-width:651px) and (max-width:1100px){body[data-grandline] header>.brand{width:220px!important}body[data-grandline] header>.brand strong{font-size:48px!important}body[data-grandline] header>.brand small{font-size:10px!important;letter-spacing:6px!important}body[data-grandline] header{gap:16px!important}}
@media(max-width:650px){
body[data-grandline] header,body[data-grandline=home] header{display:flex!important;position:relative!important;inset:auto!important;align-items:center!important;justify-content:space-between!important;height:94px!important;padding:10px 6%!important;gap:18px!important;width:100%;background:#fff;pointer-events:auto!important;z-index:25}
body[data-grandline] header>a.brand,body[data-grandline=home] header>a.brand{display:flex!important;width:min(232px,calc(100% - 62px))!important;height:74px;pointer-events:auto!important}
body[data-grandline] header>.brand strong{font-size:49px!important;line-height:1!important}
body[data-grandline] header>.brand small{font-size:9px!important;letter-spacing:6px!important;line-height:1.2!important}
body[data-grandline] header>.brand .flight{height:15px!important}
body[data-grandline] header .menu,body[data-grandline=home] header .menu{position:static!important;inset:auto!important;display:grid!important;place-items:center;width:44px;height:44px;min-height:44px;flex:0 0 44px;box-shadow:none!important;border-radius:9px;pointer-events:auto}
body[data-grandline] header #nav,body[data-grandline=home] header #nav{position:absolute;top:calc(100% - 3px)!important;left:6%!important;right:6%!important;max-height:calc(100dvh - 185px)!important;z-index:30}
body[data-grandline=home] .mobile-scene-brand{display:none!important}
body[data-grandline=home] .hero-copy{padding-top:12px!important}
body[data-grandline=home] .hero-copy h1{max-width:none!important}
body[data-grandline]:not([data-grandline=home]) main>section:first-child{padding-top:28px!important}
}
@media(max-width:350px){body[data-grandline] header,body[data-grandline=home] header{height:86px!important;gap:12px!important}body[data-grandline] header>.brand strong{font-size:43px!important}body[data-grandline] header>.brand small{font-size:8px!important;letter-spacing:5px!important}}
@media(max-width:950px){body[data-grandline=home] header>.home-reserve{display:none!important}body[data-grandline=home] .mobile-scene-brand{display:none!important}}
/* Blend the service grid into the mobile hero scene. */
@media(max-width:650px){
body[data-grandline=home] .hero-copy{position:relative;z-index:3!important;background:transparent}
body[data-grandline=home] .hero-services{position:relative;z-index:3;margin-bottom:0!important}
body[data-grandline=home] .hero-services li{box-shadow:0 4px 14px #21362c12!important}
body[data-grandline=home] .mobile-hero-scene{margin-top:-42px!important;overflow:visible;z-index:1}
body[data-grandline=home] .mobile-hero-scene::before{content:''!important;display:block!important;position:absolute;inset:-1px 0 auto!important;height:105px!important;z-index:2;background:linear-gradient(180deg,#fff 0%,#fffffff2 21%,#ffffffa6 46%,#ffffff35 73%,#ffffff00 100%)!important;pointer-events:none}
body[data-grandline=home] .mobile-hero-art{position:relative;z-index:1}
}

/* Mobile masthead: centred name/subtitle with the flight line reaching the menu. */
@media(max-width:650px){
body[data-grandline] header,body[data-grandline=home] header{height:100px!important;padding:0 6%!important;display:block!important;gap:0!important}
body[data-grandline] header>a.brand,body[data-grandline=home] header>a.brand{position:absolute!important;left:6%!important;right:6%!important;top:0!important;width:88%!important;height:100px!important;margin:0!important;display:block!important;z-index:1}
body[data-grandline] header>.brand strong{position:absolute;left:0;right:0;top:9px;text-align:center;font-size:47px!important;line-height:1!important;letter-spacing:-1.1px!important;white-space:nowrap}
body[data-grandline] header>.brand .flight{position:absolute;left:0;top:57px;width:calc(100% - 52px)!important;height:18px!important;margin:0!important;display:flex;align-items:center;gap:0}
body[data-grandline] header>.brand .flight i{height:2px;flex:1;background:var(--brand)!important}
body[data-grandline] header>.brand .flight svg{width:27px!important;height:19px!important;flex:0 0 27px;color:var(--brand)!important}
body[data-grandline] header>.brand small{position:absolute;left:0;right:0;top:79px;margin:0!important;text-align:center;font-size:9px!important;line-height:1.2!important;letter-spacing:6px!important;text-indent:6px}
body[data-grandline] header .menu,body[data-grandline=home] header .menu{position:absolute!important;top:44px!important;right:6%!important;left:auto!important;bottom:auto!important;z-index:3;width:44px;height:40px;min-height:40px;border:0!important;background:transparent!important;border-radius:7px;color:var(--brand)!important}
body[data-grandline] header .menu svg{width:25px;height:25px}
body[data-grandline] header .menu[aria-expanded=true]{background:var(--brand-soft)!important}
body[data-grandline] header #nav,body[data-grandline=home] header #nav{z-index:5;top:100px!important}
}
@media(max-width:350px){body[data-grandline] header>.brand strong{font-size:43px!important}body[data-grandline] header>.brand small{font-size:8px!important;letter-spacing:5px!important;text-indent:5px}}
@media(max-width:650px){body[data-grandline] header .menu,body[data-grandline=home] header .menu{height:44px!important;min-height:44px!important}}

/* Preserve the whole character and scooter on wide desktop screens. */
@media(min-width:951px){body[data-grandline=home] .hero{height:clamp(780px,56vw,960px);min-height:780px;background-size:auto 100%;background-position:right bottom;background-color:#fff}body[data-grandline=home] .hero:before{background:linear-gradient(90deg,#fff 0%,#fffffff0 17%,#ffffff99 33%,#ffffff00 56%)}}
