/* Mobile-only refinements. Desktop rules and layout are deliberately untouched. */
@media (max-width:900px) {
 html {scroll-padding-top:92px;}
 main [id] {scroll-margin-top:92px;}
 main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),
 .home-page .hero .field input,.review-sort select {font-size:16px!important;}
 main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {min-height:48px;min-width:0;max-width:100%;}
 main textarea {min-height:140px;}
 main :is(.button,.text-link,summary,button),.home-page .vehicle-card > .text-link {min-height:44px;}
 .home-page .vehicle-card > .text-link {font-size:.75rem;line-height:1.5;}
 .home-page .vehicle-card :is(dt,dd) {font-size:.75rem;}
 .home-page .vehicle-card h3 {font-size:1rem;}
 .home-page .vehicle-card h3 a {display:inline-flex;align-items:center;min-height:44px;}
 .home-page .hero .booking-panel {gap:16px;}
 .home-page .hero .field-control {min-height:50px;}
 .home-page .hero .field > span:first-child {font-size:.72rem;line-height:1.5;}
 .home-page .hero .field-control input {width:100%;}
 .home-page .hero-intro {font-size:.95rem;line-height:1.75;}
 .home-page .hero .button-row :is(.button,.text-link) {font-size:.72rem;min-height:48px;}
 .home-page .trust-strip li {font-size:.65rem;line-height:1.6;}
 .home-page :is(.standard-copy,.home-introduction-body,.home-airport-copy,.coverage-copy) p {font-size:.94rem;line-height:1.8;}
 .home-page .service-item h3 {font-size:1rem;line-height:1.4;}
 .home-page .service-item p {font-size:.875rem;line-height:1.75;}
 .home-page .home-journal .journal-card h3 {font-size:1.35rem;line-height:1.35;}
 .home-page .home-journal .journal-card p {font-size:.9rem;line-height:1.8;}
 .home-page .airport-list dd {font-size:.75rem;line-height:1.5;}
 .home-page .airport-list dt {font-size:1rem;}
 .footer-column a,.footer-bottom a {min-height:44px;display:inline-flex;align-items:center;line-height:1.6;}
 .footer-column :is(p,address),.footer-brand p {font-size:.85rem;line-height:1.8;}
 .footer-column a {font-size:.82rem;}
 .footer-social-links a {width:44px;height:44px;min-width:44px;}
 .article-body {overflow-wrap:break-word;}
 .article-body :is(p,li),.page-content.prose :is(p,li) {font-size:1rem;line-height:1.85;}
 .journal-card .journal-topic,.journal-card .journal-card-meta {font-size:.75rem;}
 .review-sort {gap:12px;}
 .review-sort select {min-height:48px;}
}
@media (max-width:600px) {
 .home-page .hero .booking-panel {grid-template-columns:minmax(0,1fr);padding:18px;}
 .home-page .hero .field {grid-column:1/-1;}
 .home-page .hero .hero-copy {max-width:100%;}
 .home-page h1 {font-size:clamp(2.8rem,12vw,3.6rem);}
 .home-page .service-list {grid-template-columns:1fr;gap:16px;}
 .home-page .service-item,.home-page .service-item:last-child {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-column:auto;min-width:0;}
 .home-page .service-item img,.home-page .service-item:last-child img {height:100%;min-height:180px;width:100%;aspect-ratio:auto;object-fit:cover;}
 .home-page .service-item p {margin-bottom:12px;}
 .home-page .fleet-grid {grid-template-columns:minmax(0,1fr);gap:18px;}
 .home-page .vehicle-card {padding:16px;}
 .home-page .vehicle-photo {aspect-ratio:1.8;margin:0 0 12px;}
 .home-page .vehicle-card dl {gap:10px 20px;}
 .home-page .vehicle-card h3 {font-size:1.12rem;margin-bottom:4px;}
 .home-page .vehicle-card > .text-link {margin-top:12px;}
 .home-page .standard-grid .standards {gap:0;}
 .home-page .standards strong {font-size:.95rem;line-height:1.5;}
 .home-page .standards span {font-size:.85rem;line-height:1.65;}
 .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;}
 .footer-grid > .footer-brand,.footer-grid > .footer-column:nth-child(2) {grid-column:1/-1;}
 .footer-column,.footer-brand {min-width:0;}
 .footer-column a {overflow-wrap:anywhere;}
 .footer-bottom {gap:10px;}
 .footer-bottom nav {gap:4px 18px;}
 .review-stars {flex-wrap:nowrap;gap:8px;}
 .review-stars label {width:44px;height:48px;}
 .fleet-toolbar {gap:16px;}
 .fleet-filters {gap:8px;}
 .fleet-filters button {padding:10px 12px;font-size:.8rem;}
}
@media (max-width:360px) {
 .home-page .hero .button-row {display:grid;grid-template-columns:1fr;gap:10px;}
 .home-page .hero .button-row :is(.button,.text-link) {justify-content:center;}
 .home-page .service-item,.home-page .service-item:last-child {grid-template-columns:1fr;}
 .home-page .service-item img,.home-page .service-item:last-child img {aspect-ratio:16/9;height:auto;min-height:0;}
 .review-stars {gap:5px;}
}
@media (min-width:361px) and (max-width:600px) {
 .home-page .service-item > img {grid-column:1;grid-row:1 / span 2;align-self:stretch;}
 .home-page .service-item > div {grid-column:2;grid-row:1;}
 .home-page .service-item > a {grid-column:2;grid-row:2;margin:0 10px 10px;}
}
@media (max-width:360px) {
 .home-page .service-item > a {grid-column:1;grid-row:auto;}
}
@media (max-width:900px) {
 /* Keep mobile content visible without waiting for scroll-reveal observers. */
 .reveal-pending {opacity:1;transform:none;}
}
/* Mobile hero: image-led composition with an inset editorial card. */
@media (max-width:900px) {
 .home-page .hero {--mobile-hero-image:clamp(240px,58vw,380px);background:linear-gradient(160deg,#111a25,#080b11 70%);}
 .home-page .hero .hero-image {top:76px;height:var(--mobile-hero-image);width:100%;object-fit:cover;object-position:62% center;mask-image:none;}
 .home-page .hero .hero-image-secondary {height:var(--mobile-hero-image);object-fit:cover;object-position:60% center;}
 .home-page .hero .hero-layout {width:calc(100% - 32px);padding-top:calc(76px + var(--mobile-hero-image) - 12px);padding-bottom:12px;}
 .home-page .hero .hero-slides {position:relative;z-index:1;border:1px solid #b99a5659;border-radius:16px;background:linear-gradient(140deg,#151c25f7,#090e16);box-shadow:0 12px 30px #0005;overflow:hidden;}
 .home-page .hero .hero-copy {padding:24px 22px;min-width:0;gap:0;}
 .home-page .hero .hero-context {font-size:.62rem;letter-spacing:.13em;line-height:1.5;margin-bottom:16px;}
 .home-page .hero .hero-slide-title {font-size:clamp(2.15rem,8.5vw,3.5rem);line-height:1.08;max-width:none;margin:0 0 16px;}
 .home-page .hero .hero-intro {font-size:.87rem;line-height:1.65;margin:0 0 20px;max-width:42ch;}
 .home-page .hero .hero-copy > .eyebrow {font-size:.6rem;margin-bottom:12px;}
 .home-page .hero .button-row {display:grid;grid-template-columns:1fr;gap:8px;margin:0;width:100%;}
 .home-page .hero .button-row :is(.button,.text-link) {justify-content:center;width:100%;min-height:46px;padding:12px 10px;font-size:.65rem;border-radius:5px;}
 .home-page .hero .hero-slide-controls {position:absolute;z-index:2;top:calc(76px + var(--mobile-hero-image) - 72px);right:16px;margin:0;gap:0;padding:3px;border-radius:30px;box-shadow:0 4px 15px #0005;background:#080e18ee;}
 .home-page .hero .hero-slide-controls button {min-width:40px;min-height:44px;font-size:.72rem;}
 .home-page .hero .hero-slide-controls [data-hero-pause] {padding-inline:10px;}
 .home-page .hero .hero-slide-dots {gap:0;}
 .home-page .hero .trust-strip {margin:18px 0;padding:16px 0;gap:14px 0;}
 .home-page .hero .trust-strip li {font-size:.58rem;gap:7px;padding-inline:8px;}
 .home-page .hero .trust-strip li::before {width:22px;height:22px;flex-basis:22px;}
 .home-page .hero .booking-panel {border-radius:12px;margin-top:0;}
}

/* Thumb-friendly contact actions and calmer phone layouts. */
.mobile-quick-actions {display:none;}
@media (max-width:900px) {
 body {padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));}
 .mobile-quick-actions {position:fixed;z-index:45;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:10px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#090e17f5;border-top:1px solid #d1a12a55;box-shadow:0 -6px 24px #0005;backdrop-filter:blur(14px);}
 .mobile-quick-actions a {display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:9px;text-decoration:none;font:700 .85rem/1.3 var(--sans);}
 .mobile-quick-call {border:1px solid #d1a12a88;color:#f0d18c;background:#171d26;}
 .mobile-quick-book {background:linear-gradient(135deg,#e4bd62,#c49633);color:#15130e;}
 .mobile-quick-actions a:focus-visible {outline:2px solid #fff0bc;outline-offset:3px;}
 body.nav-open .mobile-quick-actions,body:has(main input:focus) .mobile-quick-actions,body:has(main textarea:focus) .mobile-quick-actions,body:has(main select:focus) .mobile-quick-actions {visibility:hidden;pointer-events:none;}
 .booking-panel > .booking-submit {order:20;}
 .booking-panel > [role=status] {order:21;}
 .booking-panel .request-expanded {min-width:0;}
 .booking-panel .field-control {min-width:0;}
 .booking-panel :is(input,select,textarea) {scroll-margin-block:110px;}
 #request-form,#reserve {scroll-margin-top:96px;}
 .home-page .hero {--mobile-hero-image:clamp(200px,52vw,330px);}
 .home-page .hero .hero-copy {padding:20px;}
 .home-page .hero .hero-slide-title {font-size:clamp(2rem,8.2vw,3.2rem);margin-bottom:12px;}
 .home-page .hero .hero-intro {font-size:.92rem;line-height:1.65;margin-bottom:16px;}
 .home-page .hero .hero-context {font-size:.65rem;margin-bottom:12px;}
 .home-page .hero .button-row :is(.button,.text-link) {font-size:.73rem;}
 .home-page .hero .trust-strip li {font-size:.66rem;}
 .home-page .hero .hero-slide-controls {top:calc(76px + var(--mobile-hero-image) - 64px);}
}
@media (max-width:600px) {
 .home-page .service-item,.home-page .service-item:last-child {display:flex;flex-direction:column;border:1px solid #b99a5640;border-radius:12px;overflow:hidden;background:#111720;}
 .home-page .service-item > img,.home-page .service-item:last-child > img {width:100%;height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;}
 .home-page .service-item > div {padding:18px 18px 8px;}
 .home-page .service-item h3 {font-size:1.15rem;}
 .home-page .service-item p {font-size:.94rem;line-height:1.7;}
 .home-page .service-item > a {margin:0 18px 12px;align-self:flex-start;}
 .home-page .hero .trust-strip {margin:14px 0;padding:14px 0;}
 .reservation-form,.contact-form {border-radius:12px;padding:20px;}
 .request-expanded {grid-template-columns:minmax(0,1fr);}
 .footer-bottom {padding-bottom:18px;}
}
