/* Readable controls on phones and laptops; bounded sizes on wide screens. */
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:16px}
body .button,body .fleet-select,body .service-choose,body .text-link,body #request-dialog .dialog-actions>.button{font-size:16px;line-height:1.4;min-height:44px;padding:10px 16px}
body .language-menu>summary,body #active-language,body .site-header #category-menu>a,body .site-header #category-menu>details>summary,body .site-header #category-menu .fleet-dropdown a{font-size:16px}
body .service-strip{font-size:15px;flex-wrap:wrap}
body .capacity,body .compact-home .fleet-desc,body.compact-home .fleet-desc,body .fleet-desc,body .service-item p,body.compact-home .service-item p{font-size:15px;line-height:1.6}
body .tags span,body .fleet-group,body .fineprint,body.compact-home .fineprint,body .summary-intro,body .summary-status p,body .summary-card dt{font-size:13px;line-height:1.5}
body .fleet-card h3,body.compact-home .fleet-card h3{font-size:21px;line-height:1.3}
body .eyebrow{font-size:13px}
body footer p,body footer .footer-right p,body footer .footer-contact a,body footer .footer-contact .footer-phone bdi,body footer .footer-contact .footer-phone>span,body footer .footer-legal a{font-size:14px}
body #booking-form .segmented label>span{font-size:16px;min-height:70px;padding:12px}
body #booking-form .segmented small{font-size:14px;margin-inline-start:0}
body #booking-form .field label,body.compact-home #booking-form .field label{font-size:16px}
body #booking-form legend,body #booking-form h3,body.compact-home #booking-form legend,body.compact-home #booking-form h3{font-size:19px}
body #booking-form .field-help,body #booking-form .field-error,body #booking-form .form-note{font-size:14px}
body #booking-form input,body #booking-form select,body #booking-form textarea,body.compact-home #booking-form input,body.compact-home #booking-form select,body.compact-home #booking-form textarea{font-size:16px;min-height:48px;padding:12px}
body #booking-form input[type=radio]{min-height:0;padding:0}
body .destination-tile strong,body.compact-home .destination-tile strong{font-size:18px}
body .destination-tile small,body.compact-home .destination-tile small{font-size:14px;color:#72551e}
body .hero.hero-uncropped .hero-cities{font-size:16px;line-height:1.4}
body .hero.hero-uncropped .hero-bottom{font-size:14px;letter-spacing:.3px}
body .booking-type .segmented{width:min(100%,540px);max-width:100%}
/* Use the existing brand asset as a decorative overlay, keeping photos intact. */
.hero-media,.fleet-visual,.service-hero figure,.chauffeur-gallery figure,.branded-photo{position:relative}
.fleet-visual::after,.service-hero figure::after,.chauffeur-gallery figure::after,.branded-photo::after{content:"";position:absolute;right:10px;top:10px;width:clamp(70px,20%,140px);aspect-ratio:1800/872;background:url('assets/swisslimos-vip-logo-cutout.png?v=74') center/contain no-repeat;filter:drop-shadow(0 1px 2px #fff);pointer-events:none;z-index:2}

.branded-photo{display:block;flex-shrink:0;overflow:hidden;border-radius:5px}
.destination-tile .branded-photo{width:96px;height:68px}
.destination-tile .branded-photo img{display:block;width:100%;height:100%;object-fit:cover}
.destination-tile .branded-photo::after{width:45%;min-width:36px;max-width:70px;top:3px;right:3px}
.branded-service{margin-bottom:16px}.branded-service .service-photo{margin-bottom:0}
@media(min-width:801px){body.compact-home .destination-tile .branded-photo{width:8vw;height:5.7vw}}
@media(max-width:540px){body .destination-tile .branded-photo{width:100%;height:90px}body .destination-tile strong{font-size:16px}body .hero.hero-uncropped .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;max-width:none;padding:12px 20px;background:#484e49}body .hero.hero-uncropped .hero-cities{flex-direction:row;flex-wrap:wrap;gap:6px 14px;font-size:14px}body .hero.hero-uncropped .hero-bottom>span{font-size:13px}}
body .button.button,body .fleet-select.fleet-select,body .service-choose.service-choose,body #edit-request{font-size:16px;min-height:44px;padding:10px 16px}
.hero.hero-uncropped .hero-media::before{content:"";position:absolute;top:3%;right:3%;width:clamp(90px,14%,210px);aspect-ratio:1800/872;background:url('assets/swisslimos-vip-logo-cutout.png?v=74') center/contain no-repeat;filter:drop-shadow(0 1px 2px #fff);pointer-events:none;z-index:4}
@media(max-width:540px){body .hero.hero-uncropped .hero-media{aspect-ratio:auto}body .service-strip>a{font-size:14px}}
.driver-feature figure{position:relative}
.driver-feature figure::after{content:"";position:absolute;right:10px;top:10px;width:clamp(70px,20%,140px);aspect-ratio:1800/872;background:url('assets/swisslimos-vip-logo-cutout.png?v=74') center/contain no-repeat;filter:drop-shadow(0 1px 2px #fff);pointer-events:none}
