/* Shared customer-facing rhythm, navigation and typography. */
.site-header{position:relative;z-index:40;background:#fff;color:#10243b;border-bottom:1px solid #dce4ec;font-family:Arial,"Noto Sans Thai","Noto Sans SC",sans-serif}
.site-header-inner{width:min(1440px,calc(100% - 48px));margin:auto;min-height:88px;display:flex;align-items:center;gap:22px}
.site-logo{flex-shrink:0;display:flex}.site-logo img{width:144px;height:64px;object-fit:contain}
.site-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-left:auto}
.site-header a{text-decoration:none}.site-desktop-nav a{font-size:14px;font-weight:600;color:#30485d;white-space:nowrap;padding:12px 0;border-bottom:2px solid transparent}
.site-desktop-nav a:hover,.site-desktop-nav a[aria-current=page]{color:#075da8;border-bottom-color:#e8bc39}
.site-header .jd-languages{display:flex;flex-shrink:0;gap:2px;padding:3px;background:#eef3f7;border:1px solid #dbe4ee;border-radius:8px;margin:0}
.site-header .jd-languages button{min-width:40px;min-height:40px;padding:0 7px;font-size:14px;font-weight:600;color:#30485d;border-radius:5px}
.site-header .jd-languages button.active{background:#f6c945;color:#06182c}
.site-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;background:#f6c945;color:#06182c;font-size:14px;font-weight:700;white-space:nowrap}
.site-menu-button{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #dbe4ee;border-radius:8px;background:white;color:#10243b;flex-shrink:0}
.site-mobile-nav[hidden]{display:none}.site-mobile-nav{position:absolute;top:100%;left:0;right:0;padding:16px 24px;display:grid;gap:4px;background:#fff;box-shadow:0 18px 30px #071a2d18;max-height:75vh;overflow:auto}
.site-mobile-nav>a{padding:12px;color:#10243b;font-size:16px}.site-mobile-nav>a[aria-current=page]{background:#eef3f7;border-radius:6px}
.site-skip{position:absolute;top:0;left:20px;transform:translateY(-150%);padding:12px;background:#f6c945;color:#06182c;z-index:100}.site-skip:focus{transform:translateY(0)}
.site-header :focus-visible,.jd-home a:focus-visible,.service-page a:focus-visible,.policy-page a:focus-visible{outline:3px solid #1474bd;outline-offset:4px}
.jd-home,.service-page,.policy-page{font-family:Arial,"Noto Sans Thai","Noto Sans SC",sans-serif;line-height:1.65}
.jd-hero-inner{width:min(1240px,calc(100% - 64px));min-height:520px}
.jd-hero h1,.service-hero-scenic h1{font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.18;letter-spacing:-.025em;font-weight:600}
.jd-hero h1 em{font-weight:400}.jd-hero-lead,.service-lead{font-size:1.0625rem;line-height:1.8}
.jd-section-head h2,.jd-proof-process h2,.jd-location-section h2,.jd-rental-copy h2{font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.25;letter-spacing:-.02em}
.jd-section-head{align-items:start;gap:36px}.jd-section-head p{font-size:1rem;line-height:1.75}
.jd-service-paths,.jd-reasons{padding-block:64px}.jd-path-grid a{min-height:220px;padding:28px}.jd-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#eaf2f8;color:#126397}.jd-feature-icon svg{width:26px;height:26px;stroke-width:1.7}
.jd-path-grid h3{margin:24px 0 10px;line-height:1.4;font-size:1.2rem}.jd-path-grid p,.jd-reason-grid p{font-size:1rem;line-height:1.7;color:#52677b}.jd-reason-grid h3{font-size:1.125rem;line-height:1.4;margin-top:22px}
.jd-path-grid a:hover .jd-feature-icon{background:#ffffff20;color:#f6d46f}
.jd-home .jd-eyebrow,.service-eyebrow,.jd-section-head>div>span,.fleet-kicker{font-size:13px;letter-spacing:.12em;line-height:1.7}
.jd-hero-trust span,.jd-dock-option small,.fleet-category,.fleet-progress span,.fleet-showroom .service-image-note{font-size:13px}
.fleet-carousel .fleet-choice-specs dt,.service-catalog.fleet-showroom>p{font-size:14px}.fleet-carousel .fleet-choice h3{line-height:1.4}.service-content p,.service-content li,.service-faq p{font-size:16px;line-height:1.8}
.jd-footer p,.jd-footer a,.jd-footer span{font-size:14px}.jd-footer strong{font-size:14px}.jd-process-card small{font-size:14px;line-height:1.7}
html:lang(th) h1,html:lang(th) h2,html:lang(th) h3,html:lang(zh-Hans) h1,html:lang(zh-Hans) h2,html:lang(zh-Hans) h3{letter-spacing:normal;line-height:1.45}
@media(max-width:1240px){.site-desktop-nav{display:none}.site-menu-button{display:flex}.site-header .jd-languages{margin-left:auto}}
@media(min-width:1241px){.site-mobile-nav{display:none}}
@media(max-width:680px){.site-header-inner{width:calc(100% - 28px);min-height:76px;gap:8px}.site-logo img{width:105px;height:54px}.site-header-inner>.site-book{display:none}.site-header .jd-languages button{min-width:35px;min-height:40px;padding:0 5px}.jd-hero-inner{width:calc(100% - 40px);min-height:0}.jd-hero-copy{padding:48px 0 40px}.jd-hero h1,.service-hero-scenic h1{font-size:2.35rem;line-height:1.25}.jd-hero-lead,.service-hero-scenic .service-lead{font-size:16px}.jd-section-head h2,.jd-proof-process h2,.jd-location-section h2,.jd-rental-copy h2{font-size:1.9rem}.jd-service-paths,.jd-reasons{padding-block:48px}.jd-path-grid a{min-height:0;padding:24px}.jd-path-grid h3{margin-top:18px}.jd-booking-dock{margin-bottom:20px}.contact-hub{right:12px;bottom:12px}.contact-hub-toggle{font-size:14px}.service-facts{gap:0}.service-facts strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Midnight navy header: shared by marketing, policy and booking pages. */
.site-header,body>header{background:#081b32;color:#f2f5f9;border-bottom:1px solid #31425a;backdrop-filter:none}
.site-desktop-nav a,body>header .navlink{color:#e6ecf3}
.site-desktop-nav a:hover{color:#f6d475;border-bottom-color:transparent}
.site-desktop-nav a[aria-current=page]{color:#f6d475;border-bottom-color:#f6c945}
body>header .navlink:hover{background:#152d48;color:#f6d475}
.site-header .jd-languages,body>header .langs{background:#142b45;border:1px solid #35475d;border-radius:8px;padding:3px}
.site-header .jd-languages button,body>header .lang{color:#e6ecf3;background:transparent;box-shadow:none}
.site-header .jd-languages button.active,body>header .lang.active{background:#f6c945;color:#081b32}
.site-menu-button{background:#142b45;color:#f2f5f9;border-color:#35475d}
.site-mobile-nav,body>header .booking-mobile-menu nav{background:#081b32;border-color:#35475d;box-shadow:0 18px 30px #020a1640}
.site-mobile-nav>a,body>header .booking-mobile-menu a,body>header .booking-mobile-menu summary{color:#e6ecf3}
.site-mobile-nav>a:hover,.site-mobile-nav>a[aria-current=page],body>header .booking-mobile-menu a:hover{background:#152d48;color:#f6d475;border-radius:6px}
.site-mobile-nav>a.site-book,.site-mobile-nav>a.site-book:hover{background:#f6c945;color:#081b32}
.site-header :focus-visible,body>header :focus-visible{outline:3px solid #f6d475;outline-offset:4px}
.jd-home .jd-hero{min-height:0}
.jd-home .jd-hero-inner{min-height:350px}
.jd-home .jd-hero-copy{padding:38px 0;width:min(760px,100%)}
.jd-home .jd-hero h1{font-size:clamp(34px,4.3vw,58px);line-height:1.15}
.jd-home .jd-hero-lead{margin-top:18px;font-size:16px;max-width:680px;line-height:1.6}
.jd-home .jd-hero-cta{margin-top:22px}.jd-home .jd-hero-trust{margin-top:18px}
.home-booking{padding:24px 28px;margin:24px auto 0;border-radius:14px}
.home-booking .hb-heading{margin-bottom:20px;gap:12px}
.home-booking .hb-heading h2{font-size:25px;margin:6px 0 0}
.home-booking .hb-heading span{font-size:10px;letter-spacing:1.5px}
.home-booking .hb-note{margin:16px 0 0;font-size:12px}
.home-booking .hb-form{gap:12px 16px}
.home-booking .hb-form label{font-size:12px}
.home-booking .hb-form input,.home-booking .hb-form select{min-height:44px}
.home-booking .hb-submit{font-size:14px;min-height:44px;padding:12px}
.popular-routes{width:min(1280px,calc(100% - 40px));margin:36px auto 48px;color:#092239}
.popular-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.popular-heading h2{font-size:25px;margin:0}.popular-heading>a{font-size:14px;font-weight:700;color:#36536a}
.popular-routes .hb-routes{gap:12px}
.popular-routes .hb-routes a{background:white;color:#092239;border:1px solid #dce4ea;padding:16px 32px 16px 18px;gap:8px;border-radius:10px}
.popular-routes .hb-routes a:hover{background:#fffaf0;border-color:#ba9133}
.popular-routes .hb-routes span{color:#856319;font-size:16px}
.popular-routes .hb-routes small{color:#506475}
.popular-routes .hb-other{font-size:14px;color:#36536a;margin-top:18px}
.popular-routes a:focus-visible{outline:3px solid #a77a18;outline-offset:3px}
@media(max-width:680px){
.jd-home .jd-hero-inner{min-height:0}.jd-home .jd-hero-copy{padding:28px 0}
.jd-home .jd-hero h1{font-size:34px}.jd-home .jd-hero-lead{font-size:14px}
.jd-home .jd-hero-cta{gap:10px}.jd-home .jd-hero-cta a{width:auto;flex:1;padding:13px 10px;font-size:12px}
.jd-home .jd-hero-trust{display:flex;flex-wrap:wrap;gap:6px}
.home-booking{width:calc(100% - 24px);padding:20px 16px;margin-top:16px}
.home-booking .hb-heading{display:block}.home-booking .hb-heading h2{font-size:23px}
.home-booking .hb-heading>a{font-size:12px;margin-top:10px}
.popular-routes{width:calc(100% - 24px);margin:28px auto 36px}
.popular-heading{align-items:flex-start;flex-direction:column;gap:8px}.popular-heading h2{font-size:23px}
}
/* Booking vehicle cards: keep names readable and notes outside narrow columns. */
.booking .vehicles{align-items:start;gap:16px}
.booking .vehicle{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto auto;gap:8px 16px;align-items:start;padding:18px;border-radius:16px}
.booking .vehicle.selected{padding:17px}
.booking .vehicle>span:not(.price):not(.vehicle-blank){display:contents}
.booking .vehicle img,.booking .vehicle .vehicle-blank{grid-column:1;grid-row:1/span 2;width:120px;height:90px;align-self:center}
.booking .vehicle h4{grid-column:2;grid-row:1;font-size:16px;line-height:1.45;margin:0;padding-right:12px;overflow-wrap:normal;word-break:normal}
.booking .vehicle small{grid-column:2;grid-row:2;font-size:13px;line-height:1.6}
.booking .vehicle .price{grid-column:1/-1;grid-row:3;display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-align:left;border-top:1px solid #e3eaf0;padding-top:12px;margin-top:6px}
.booking .vehicle .price strong{font-size:21px;white-space:nowrap}.booking .vehicle .price span{font-size:12px}
.booking .vehicle small.vehicle-note{grid-column:1/-1;grid-row:4;font-size:12px;line-height:1.65;background:#f4f7fa;border-radius:8px;padding:10px 12px;margin-top:4px}
.booking .vehicle:focus-visible{outline:3px solid #cda840;outline-offset:3px}
@media(max-width:640px){.booking .vehicle{grid-template-columns:96px minmax(0,1fr);padding:14px;gap:8px 12px}.booking .vehicle.selected{padding:13px}.booking .vehicle img,.booking .vehicle .vehicle-blank{width:96px;height:76px}.booking .vehicle h4{font-size:15px}.booking .vehicle .price>span:last-child{width:auto}}
