/* Nokta Transfer: one mobile-first visual system for the home page. */
body.home-page {
  --yellow:#efc76c; --bg:#0b1017; --panel:#111924; --line:#223044;
  --text:#f6f5ef; --muted:#aeb6c2; --green:#b5bdc8;
  background:#0b1017; color:#f6f5ef; font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.home-page .wrap { width:min(1180px,calc(100% - 64px)); }
body.home-page .section { padding:72px 0; }
body.home-page .section h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.13; letter-spacing:-.04em; }
body.home-page .section-kicker { padding:0; border:0; border-radius:0; background:none; color:#cfb575; font-size:11px; font-weight:600; letter-spacing:.15em; line-height:1.7; }
body.home-page .reveal { opacity:1; transform:none; }
body.home-page :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #efc76c; outline-offset:4px; }
body.home-page section[id],body.home-page #rota { scroll-margin-top:90px; }
.skip-to-content { position:fixed; left:16px; top:-100px; z-index:10000; padding:16px; background:#efc76c; color:#111; border-radius:8px; }
.skip-to-content:focus { top:12px; }
/* Navigation */
body.home-page .header { background:#0b1017f5; border-bottom:1px solid #ffffff12; backdrop-filter:blur(16px); }
body.home-page .nav { min-height:82px; gap:24px; }
body.home-page .logo { gap:8px; font-size:18px; font-weight:700; letter-spacing:-.04em; }
body.home-page .logo img { width:34px; height:34px; box-shadow:none; }
body.home-page .logo span { color:#efc76c; }
body.home-page .menu { gap:24px; }
body.home-page .menu a { font-size:12px; font-weight:500; }
body.home-page .menu-taxi { display:none; }
body.home-page .nav-phone { border:1px solid #ffffff26; border-radius:8px; color:#f6f5ef; background:transparent; box-shadow:none; font-size:12px; min-height:44px; padding:12px; }
body.home-page .language-switcher a { min-height:32px; min-width:28px; display:inline-flex; align-items:center; justify-content:center; }
/* An editorial introduction paired with an immediately useful planner. */
body.home-page .hero { padding:28px 0 36px; }
body.home-page .hero-bg { display:none; }
body.home-page .hero-inner { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:28px; align-items:stretch; }
body.home-page .hero-copy { position:relative; min-width:0; min-height:650px; padding:0; max-width:none; border:0; border-radius:20px; overflow:hidden; background:#182230; }
body.home-page .hero-scene { position:absolute; inset:0; height:100%; width:100%; margin:0; border:0; border-radius:0; background:#182230; }
body.home-page .hero-scene img { height:100%; width:100%; display:block; object-fit:cover; object-position:48% center; filter:saturate(.65); animation:none; }
body.home-page .hero-scene::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,#0d121a30 0%,#0d121a80 35%,#0b1412e8 78%,#0b1412fa 100%); }
body.home-page .hero-editorial { position:relative; display:flex; flex-direction:column; justify-content:flex-end; height:100%; min-height:650px; padding:40px; z-index:1; }
.hero-location { position:absolute; top:28px; left:32px; display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid #ffffff4a; background:#121a2555; border-radius:30px; color:#fff; font-size:10px; font-weight:600; letter-spacing:.14em; backdrop-filter:blur(8px); }
.hero-location > span { font-size:16px; }
body.home-page .hero-eyebrow { margin:0 0 16px; color:#ede5d1; font-size:10px; font-weight:500; letter-spacing:.14em; }
body.home-page .hero-copy h1 { font-size:clamp(34px,3.3vw,48px); font-weight:500; line-height:1.09; letter-spacing:-.05em; color:#fffdf5; margin:0 0 20px; text-shadow:none; }
body.home-page .hero-copy h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:#efc76c; letter-spacing:-.045em; }
body.home-page .hero-intro { font-size:14px; line-height:1.75; color:#d3d7dd; margin:0 0 24px; }
.hero-primary { display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:14px 20px; border-radius:10px; background:#efc76c; color:#121924; font-size:14px; font-weight:700; }
.hero-primary > span { font-size:24px; font-weight:400; }
.hero-secondary { display:flex; align-items:center; min-height:44px; margin-top:5px; color:#f4efdf; font-size:12px; text-decoration:underline; text-underline-offset:5px; }
.hero-signature { display:flex; align-items:center; gap:12px; padding-top:25px; color:#c2c8d1; font-size:9px; letter-spacing:.1em; }
.hero-signature > span:last-child { margin-left:auto; }
.signature-line { width:20px; height:1px; background:#c9af78; }
/* Light planner is the main visual anchor. */
body.home-page .hero-route { width:100%; min-width:0; }
body.home-page .hero-route .route-card { padding:28px; border-radius:20px; border:0; box-shadow:none; background:#f0f0e8; color:#182332; }
body.home-page .route-head { margin-bottom:22px; gap:16px; }
body.home-page .route-eyebrow { color:#596575; font-size:10px; letter-spacing:.12em; }
body.home-page .hero-route .route-head h2 { color:#182332; font-size:30px; font-weight:600; letter-spacing:-.045em; margin:7px 0 8px; }
body.home-page .hero-route .route-head p { font-size:13px; line-height:1.6; color:#5c697a; }
body.home-page .hero-route .route-icon { width:44px; height:44px; min-width:44px; border:1px solid #c4cad3; background:transparent; color:#314664; font-size:24px; border-radius:50%; }
body.home-page .hero-route .route-field { min-height:66px; padding:12px 16px 10px 38px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; gap:5px; border:1px solid #cdd2da; background:#fffef8; border-radius:12px; }
body.home-page .hero-route .route-field:focus-within { border-color:#5a6677; outline:2px solid #5a667733; }
body.home-page .mobile-field-caption { display:block; position:static; color:#627083; font-size:11px; font-weight:400; }
body.home-page .hero-route .route-field input { padding:0; border:0; min-height:24px; width:100%; background:transparent; color:#182332; font-size:16px; font-weight:500; outline:none; border-radius:0; }
body.home-page .hero-route .route-field input::placeholder { color:#314664; opacity:1; }
body.home-page .hero-route .route-field .dot { position:absolute; left:16px; top:29px; width:8px; height:8px; border:2px solid #627083; background:transparent; }
body.home-page .hero-route .route-field .end-dot { border-radius:2px; background:#627083; }
body.home-page .route-tools { margin:10px 0 16px; }
body.home-page .mini-action,body.home-page .reset-action { min-height:44px; font-size:12px; color:#485260; background:transparent; border-color:#c7ccd4; }
body.home-page .road-choice { background:#dde1e6; border:0; border-radius:10px; padding:4px; margin-bottom:14px; }
body.home-page .road-choice button { min-height:40px; border:0; border-radius:7px; color:#546070; background:transparent; font-size:12px; font-weight:500; }
body.home-page .road-choice button.is-active { background:#fffef8; color:#1f2c3f; box-shadow:0 2px 5px #16202d10; }
body.home-page .route-map-disclosure { margin:10px 0 0; border-top:1px solid #cdd2d9; }
body.home-page .route-map-disclosure > summary { display:flex; justify-content:space-between; align-items:center; min-height:44px; color:#4b5564; cursor:pointer; font-size:12px; list-style:none; }
body.home-page .route-map-disclosure > summary::-webkit-details-marker { display:none; }
body.home-page .map-card { height:210px; margin:0 0 10px; background:#d8dce1; border:1px solid #c3c9d1; border-radius:10px; }
body.home-page .route-status { font-size:12px; color:#4d5765; line-height:1.6; margin:5px 0 12px; }
body.home-page .route-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 16px; }
body.home-page .route-stats .stat-box { padding:14px 12px; background:#dde1e6; border:0; border-radius:10px; min-width:0; box-shadow:none; }
body.home-page .route-stats .stat-box span { color:#535f6f; font-size:10px; letter-spacing:.04em; }
body.home-page .route-stats .stat-box strong { font-size:25px; color:#1f2c3f; font-weight:600; }
body.home-page .route-stats .stat-box small { color:#596575; font-size:11px; line-height:1.5; }
body.home-page .route-submit { display:flex; align-items:center; justify-content:center; min-height:52px; padding:12px; background:#212f43; color:#fffdf3; box-shadow:none; border:0; border-radius:10px; font-size:13px; font-weight:600; }
body.home-page .booking-shortcut { min-height:44px; border:0; padding:12px 4px; margin:2px 0 0; color:#293a52; font-size:12px; background:transparent; }
body.home-page .route-card .price-disclaimer { color:#596575; font-size:11px; line-height:1.65; padding-top:12px; border-top:1px solid #cdd2da; margin:6px 0 0; }
body.home-page .route-note { display:none; }
body.home-page .route-card .toll-panel { background:#dde1e6; color:#26364d; border-color:#bec5ce; }
body.home-page .route-card .toll-panel :is(p,small) { color:#4a5461; }
body.home-page .route-suggestions { background:#fffef8; color:#1f2c3f; border-color:#c5cbd3; box-shadow:0 10px 24px #10182226; max-height:260px; overflow-y:auto; z-index:20; }
body.home-page .route-suggestions button { min-height:56px; color:#1f2c3f; background:transparent; border-color:#dee1e6; padding:12px; }
body.home-page .route-suggestions button :is(span,strong,small) { color:inherit; }
body.home-page .route-suggestions button:is(:hover,.is-active,[aria-selected="true"]) { background:#dfe2e6; }
/* Simple proof through useful information. */
body.home-page .service-reassurance { display:grid; grid-template-columns:repeat(3,1fr); padding:26px 0 32px; border-bottom:1px solid #ffffff15; gap:26px; }
.service-reassurance > div { display:flex; gap:14px; align-items:center; }
.service-reassurance > div > span { display:grid; place-items:center; flex:none; width:38px; height:38px; border:1px solid #a9b2be2e; border-radius:50%; color:#d1be8e; font-size:21px; }
.service-reassurance p { display:grid; gap:6px; margin:0; }
.service-reassurance strong { font-size:13px; font-weight:500; }
.service-reassurance small { font-size:12px; color:#909cac; }
/* Destinations and vehicles */
body.home-page .journey-hub { background:none; border:0; }
body.home-page .journey-heading { margin-bottom:28px; align-items:end; }
body.home-page .journey-heading h2 { margin-top:14px; }
body.home-page .journey-heading h2 span,body.home-page .fleet h2 span { color:#bdc4cd; font-weight:400; }
body.home-page .journey-heading > p { color:#9ca6b5; max-width:320px; font-size:14px; line-height:1.7; }
body.home-page .journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.home-page .journey-card { display:flex; flex-direction:column; padding:26px; border:1px solid #ffffff12; border-radius:16px; background:#131c28; }
body.home-page .journey-card:nth-child(2) { background:#24231b; }
body.home-page .journey-card:nth-child(3) { background:#1b2325; }
body.home-page .journey-card-top { font-size:10px; letter-spacing:.1em; color:#adb6c2; }
body.home-page .journey-symbol { background:transparent; border:1px solid #9ea8b540; color:#d8ca99; }
body.home-page .journey-card .journey-origin { margin:28px 0 8px; font-size:12px; color:#a2abb8; }
body.home-page .journey-card h3 { font-size:32px; color:#f4f4eb; font-weight:500; letter-spacing:-.04em; margin:0 0 12px; }
body.home-page .journey-card > p:not(.journey-origin) { color:#a4adba; font-size:13px; line-height:1.7; min-height:44px; }
body.home-page .journey-cta { min-height:46px; margin-top:22px; padding:12px 0; color:#e9d297; background:none; border:0; border-top:1px solid #ffffff1c; border-radius:0; font-size:13px; }
body.home-page .journey-detail { font-size:12px; color:#a3adba; min-height:44px; }
body.home-page .journey-process { display:none; }
body.home-page .transfer-confidence { background:#111924; border:1px solid #ffffff0e; box-shadow:none; margin:0; padding:28px; border-radius:16px; }
body.home-page .confidence-heading h2 { font-size:26px; margin:10px 0; }
body.home-page .confidence-heading > p { color:#a0aab8; font-size:13px; }
body.home-page .confidence-grid article { background:transparent; border:0; border-left:1px solid #ffffff20; padding:0 18px; }
body.home-page .confidence-grid h3 { color:#e2e5e9; font-size:15px; }
body.home-page .confidence-grid p,body.home-page .confidence-note { color:#a0aab8; font-size:12px; line-height:1.8; }
body.home-page .confidence-number { color:#d7c084; }
body.home-page .fleet-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:32px; gap:20px; }
body.home-page .fleet .narrow { max-width:none; text-align:left; margin-inline:auto; }
body.home-page .fleet .narrow > p { max-width:570px; color:#a0aab8; font-size:13px; line-height:1.8; }
body.home-page .fleet-card { padding:22px; border-radius:16px; border:1px solid #ffffff14; background:#131b26; }
body.home-page .fleet-card:hover { background:#16202e; border-color:#d1bd7750; }
body.home-page .fleet-head h3 { font-size:23px; font-weight:500; }
body.home-page .fleet-head span { font-size:10px; color:#cebc8d; }
body.home-page .fleet-head b { color:#c4cad2; background:#ffffff06; border-color:#ffffff18; }
body.home-page .vehicle-frame { aspect-ratio:3/2; background:#e2e5ea; margin-bottom:18px; border-radius:10px; }
body.home-page .fleet-photo { width:100%; height:100%; object-fit:cover; object-position:center; }
body.home-page .vehicle-brand { display:none; }
body.home-page .fleet-features { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
body.home-page .fleet-features li { font-size:12px; color:#b1b9c4; line-height:1.6; }
body.home-page .fleet-select { background:transparent; border:1px solid #9ea8b544; color:#e7d499; border-radius:10px; min-height:48px; font-size:13px; }
.fleet-swipe-hint { display:none; }
/* Open, legible booking steps. */
body.home-page .mobile-disclosure[data-mobile-open] { background:none; border:0; border-radius:0; }
body.home-page .mobile-disclosure[data-mobile-open] > summary { display:none; }
body.home-page .mobile-disclosure[data-mobile-open] > .mobile-disclosure-content { padding:0; }
body.home-page .booking-priority { background:#111822; border-block:1px solid #ffffff12; }
body.home-page .booking-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap:60px; }
body.home-page .booking-copy h2 { margin-top:14px; font-size:38px; }
body.home-page .booking-copy p { color:#b0b8c3; font-size:14px; }
body.home-page .booking-assurance article { background:transparent; border-color:#ffffff18; }
body.home-page .booking-assurance strong { color:#dcdfe4; font-size:14px; }
body.home-page .booking-assurance span { color:#a4aebb; font-size:12px; }
body.home-page .booking-form { padding:26px; background:#0d1219; border:1px solid #ffffff1c; border-radius:16px; box-shadow:none; }
body.home-page .booking-form input,body.home-page .booking-form select,body.home-page .reservation-support textarea { background:#141d2a; color:#f0f1f3; border:1px solid #ffffff25; min-height:52px; padding:12px; font-size:16px; border-radius:9px; }
body.home-page .booking-form label > span { font-size:12px; font-weight:500; color:#b8c0ca; text-transform:none; letter-spacing:0; }
body.home-page .booking-form label small { font-size:11px; }
body.home-page .booking-progress li { font-size:12px; }
body.home-page .booking-form-head > strong { background:#1c2838; color:#ccd1d8; border:1px solid #ffffff16; font-size:11px; }
body.home-page .booking-quick-routes { background:#161f2c; border-color:#9ba5b330; }
body.home-page .booking-quick-routes > span { color:#bdc4ce; }
body.home-page .booking-quick-routes button,body.home-page .booking-summary-actions button { background:#1f2c3f; color:#d3d7dd; border-color:#6c7b8f55; }
body.home-page .booking-step legend { font-size:24px; color:#f5f5ec; }
body.home-page .booking-next,body.home-page .booking-submit { background:#efc76c; color:#131b26; box-shadow:none; min-height:52px; font-size:14px; border-radius:9px; }
body.home-page .booking-vehicle-note { font-size:12px; line-height:1.7; color:#a8b1be; }
body.home-page .booking-extras { border-color:#9ba5b330; border-radius:9px; }
body.home-page .booking-extras summary { min-height:32px; font-size:13px; color:#d2c08f; }
body.home-page .booking-summary { background:#151e2a; border-color:#b5bdc833; }
body.home-page .booking-summary h3 { color:#ddcf9d; }
body.home-page .booking-summary dt { color:#a3adba; }
body.home-page .booking-summary dd { color:#edeff1; font-size:14px; }
body.home-page .booking-save-actions button { background:#151e2a; border-color:#6c7b8f55; font-size:12px; }
body.home-page .reservation-support { gap:50px; }
body.home-page .reservation-support p { font-size:14px; color:#a9b2be; }
body.home-page .reservation-support h2 { font-weight:500; }
body.home-page .faq-list details { border:0; border-bottom:1px solid #ffffff1b; border-radius:0; background:transparent; }
body.home-page .faq-list summary { min-height:58px; font-size:14px; }
body.home-page .faq-list p { font-size:13px; color:#a9b2be; }
body.home-page .site-footer { background:#090d12; border-color:#ffffff14; }
body.home-page .float-booking { display:none; }
/* Phone and small tablet */
@media(max-width:880px) {
 body.home-page { padding-bottom:90px; }
 body.home-page .wrap { width:calc(100% - 36px); }
 body.home-page .section { padding:44px 0; }
 body.home-page .header { background:#0b1017f2; }
 body.home-page .nav { min-height:68px; padding-block:8px; gap:12px; }
 body.home-page .logo { font-size:16px; }
 body.home-page .logo img { width:32px; height:32px; }
 body.home-page .mobile-header-menu > summary { min-height:44px; background:transparent; border:1px solid #ffffff25; border-radius:9px; font-size:12px; }
 body.home-page .mobile-header-panel { background:#131c28; border-color:#ffffff25; padding:18px; }
 body.home-page .mobile-header-links a { min-height:48px; font-size:14px; }
 body.home-page .mobile-header-panel .language-switcher a { min-width:42px; min-height:44px; }
 body.home-page .hero { padding:12px 0 0; }
 body.home-page .hero-inner { display:grid; grid-template-columns:1fr; width:calc(100% - 24px); gap:14px; }
 body.home-page .hero-copy { min-height:410px; border-radius:16px; }
 body.home-page .hero-editorial { min-height:410px; padding:96px 24px 22px; }
 body.home-page .hero-scene img { height:100%; object-position:50% 48%; }
 body.home-page .hero-scene::after { background:linear-gradient(180deg,#0c111815 0%,#0c111875 25%,#0c1118e8 63%,#0c1118fa 100%); }
 body.home-page .hero-location { top:18px; left:22px; padding:7px 10px; font-size:9px; }
 body.home-page .hero-eyebrow { font-size:9px; letter-spacing:.1em; margin:0 0 14px; }
 body.home-page .hero-copy h1 { font-size:clamp(30px,8.9vw,44px); line-height:1.08; margin:0 0 16px; font-weight:500; }
 body.home-page .hero-intro { font-size:12px; line-height:1.7; margin:0 0 18px; }
 body.home-page .hero-primary { min-height:48px; font-size:13px; padding:12px 15px; }
 body.home-page .hero-secondary { font-size:12px; min-height:44px; margin-top:2px; }
 body.home-page .hero-signature { padding-top:14px; font-size:8px; letter-spacing:.08em; gap:8px; }
 body.home-page .hero-route .route-card { border-radius:16px; padding:22px; }
 body.home-page .hero-route .route-head { margin-bottom:20px; }
 body.home-page .hero-route .route-head h2 { font-size:29px; }
 body.home-page .route-eyebrow { font-size:9px; }
 body.home-page .hero-route .route-field { min-height:66px; }
 body.home-page .route-stats .stat-box span { font-size:10px; }
 body.home-page .route-stats .stat-box small { font-size:11px; }
 body.home-page .route-stats .stat-box strong { font-size:26px; }
 body.home-page .route-submit { font-size:13px; min-height:52px; }
 body.home-page .service-reassurance { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:28px 0; }
 .service-reassurance > div { flex-direction:column; align-items:flex-start; gap:12px; }
 .service-reassurance > div > span { width:30px; height:30px; font-size:18px; }
 .service-reassurance p { gap:6px; }
 .service-reassurance strong { font-size:11px; line-height:1.5; }
 .service-reassurance small { font-size:11px; line-height:1.55; }
 body.home-page .journey-heading { display:block; margin-bottom:22px; }
 body.home-page .journey-heading h2 { font-size:32px; }
 body.home-page .journey-heading > p { font-size:13px; max-width:100%; margin:14px 0 0; }
 body.home-page .journey-grid { grid-template-columns:1fr; gap:12px; }
 body.home-page .journey-card { position:relative; padding:20px; display:grid; grid-template-columns:1fr auto; gap:0 14px; }
 body.home-page .journey-card-top { grid-column:1/-1; font-size:9px; }
 body.home-page .journey-symbol { width:30px; height:30px; font-size:18px; }
 body.home-page .journey-card .journey-origin { grid-column:1/-1; font-size:11px; margin:18px 0 8px; }
 body.home-page .journey-card h3 { grid-column:1; font-size:30px; margin-bottom:8px; }
 body.home-page .journey-card > p:not(.journey-origin) { grid-column:1/-1; font-size:12px; min-height:0; }
 body.home-page .journey-cta { grid-column:1; margin-top:16px; min-height:46px; font-size:13px; }
 body.home-page .journey-detail { grid-column:2; align-self:end; min-height:46px; font-size:11px; }
 body.home-page .transfer-confidence { padding:22px; }
 body.home-page .confidence-heading h2 { font-size:25px; }
 body.home-page .confidence-grid { gap:20px; }
 body.home-page .confidence-grid article { padding-inline:14px 0; }
 body.home-page .fleet .narrow { text-align:left; padding:0; }
 body.home-page .fleet .narrow h2 { font-size:32px; margin:14px 0; }
 body.home-page .fleet .narrow p { font-size:12px; }
 body.home-page .fleet-grid { display:flex; width:100%; overflow-x:auto; gap:14px; padding:4px 18px 16px; margin-top:12px; scroll-snap-type:x mandatory; scroll-padding-inline:18px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#596677 transparent; }
 body.home-page .fleet-card { flex:0 0 min(82vw,350px); min-width:0; padding:20px; scroll-snap-align:start; display:flex; flex-direction:column; }
 body.home-page .fleet-head h3 { font-size:22px; }
 body.home-page .fleet-head { margin-bottom:18px; }
 body.home-page .fleet-head span { font-size:9px; }
 body.home-page .fleet-head b { font-size:10px; }
 body.home-page .fleet-features { gap:10px; margin-bottom:18px; }
 body.home-page .fleet-features li { font-size:12px; }
 body.home-page .fleet-select { font-size:13px; min-height:48px; }
 body.home-page .fleet-swipe-hint { display:flex; align-items:center; justify-content:space-between; color:#a1abb8; font-size:11px; margin-top:22px; }
 body.home-page .fleet-swipe-hint span { font-size:22px; }
 body.home-page .booking-grid { display:block; }
 body.home-page .booking-copy { display:block; margin-bottom:24px; }
 body.home-page .booking-copy h2 { font-size:32px; margin-top:14px; }
 body.home-page .booking-copy > p { font-size:13px; line-height:1.75; }
 body.home-page .booking-assurance { display:none; }
 body.home-page .booking-form { padding:20px; gap:14px; }
 body.home-page .booking-form-head { flex-wrap:wrap; }
 body.home-page .booking-form-head > span { font-size:15px; }
 body.home-page .booking-form label > span { font-size:12px; }
 body.home-page .booking-form input,body.home-page .booking-form select { font-size:16px; min-height:52px; padding:12px 10px; }
 body.home-page .booking-step legend { font-size:23px; }
 body.home-page .booking-step .booking-vehicle-note { font-size:12px; }
 body.home-page .booking-summary dt { font-size:12px; }
 body.home-page .booking-summary dd { font-size:14px; }
 body.home-page .booking-progress { gap:6px; }
 body.home-page .booking-progress li { font-size:11px; }
 body.home-page .booking-quick-routes { padding:12px; }
 body.home-page .booking-summary { padding:14px; }
 body.home-page .booking-summary-actions button { flex:1; min-width:0; font-size:12px; }
 body.home-page .booking-save-actions button { flex:1; min-width:0; font-size:12px; }
 body.home-page .reservation-support { display:block; }
 body.home-page .reservation-support > div { margin-bottom:24px; }
 body.home-page .reservation-support .booking-form { margin-top:24px; }
 body.home-page .faq .narrow { text-align:left; }
 body.home-page .faq-list summary { font-size:14px; padding:18px 4px; }
 body.home-page .faq-list p { padding:0 4px 18px; }
 body.home-page .mobile-fold-section:not(.booking-priority):not(.fleet):not(.faq) { padding:8px 0; }
 body.home-page .mobile-disclosure:not([data-mobile-open]) { background:#111923; border:1px solid #ffffff16; border-radius:12px; }
 body.home-page .mobile-disclosure:not([data-mobile-open]) > summary { padding:16px; }
 body.home-page .mobile-disclosure:not([data-mobile-open]) > summary strong { font-size:14px; font-weight:500; }
 body.home-page .mobile-disclosure:not([data-mobile-open]) > summary small { font-size:12px; color:#9ca6b4; }
 body.home-page .floating-contact { display:grid; grid-template-columns:1fr 1.35fr 1fr; gap:8px; inset:auto 0 0; width:100%; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:#0e131bf5; border-top:1px solid #ffffff1f; backdrop-filter:blur(16px); z-index:900; }
 body.home-page .floating-contact a { display:flex; align-items:center; justify-content:center; gap:6px; min-height:48px; height:48px; border-radius:9px; font-size:12px; font-weight:500; box-shadow:none; }
 body.home-page .floating-contact .float-call { background:transparent; border:1px solid #ffffff26; color:#d0d5dc; }
 body.home-page .floating-contact .float-booking { background:#efc76c; color:#161f2c; border:0; font-weight:700; }
 body.home-page .float-booking > span:first-child { font-size:20px; }
 body.home-page .floating-contact .float-whatsapp { background:#1f2c3e; color:#c9ced6; border:1px solid #6a788c3b; }
 body.home-page .floating-contact svg,body.home-page .floating-contact .wa-icon { width:17px; height:17px; }
 body.home-page.keyboard-open .floating-contact { display:none; }
 body.home-page .site-footer { margin-top:32px; padding-bottom:32px; }
}
@media(max-width:359px) {
 body.home-page .hero-editorial { padding-inline:20px; }
 body.home-page .hero-copy h1 { font-size:29px; }
 body.home-page .hero-eyebrow { font-size:8px; }
 body.home-page .hero-route .route-card { padding:18px; }
 body.home-page .journey-detail { font-size:10px; }
 body.home-page .booking-form { padding:15px; }
 body.home-page .booking-progress li { font-size:10px; }
 body.home-page .floating-contact { padding-inline:10px; gap:6px; }
 body.home-page .floating-contact a { font-size:11px; }
 body.home-page .service-reassurance { gap:8px; }
 .service-reassurance strong { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 body.home-page *,body.home-page *::before,body.home-page *::after { animation:none!important; transition:none!important; }
}

/* Finish legacy specificity overrides without changing shared service pages. */
body.home-page .route-stats #priceOutput { color:#1f2c3f; }
body.home-page .route-stats .stat-box:last-child { border:0; background:#dde1e6; }
body.home-page .fleet::before { display:none; }
body.home-page .fleet .narrow p { font-weight:400; }
@media(max-width:880px) {
 body.home-page .floating-contact .float-call { color:#d0d5dc !important; }
 body.home-page .hero-copy,body.home-page .hero-editorial { min-height:370px; }
 body.home-page .hero-editorial { padding-top:84px; }
 body.home-page .hero-signature { display:none; }
}

@media(max-width:880px) {
 body.home-page .booking-copy { text-align:left; margin-bottom:22px; }
 body.home-page .booking-copy > p { font-weight:400; margin:12px 0 0; max-width:none; font-size:13px; }
 body.home-page .booking-copy h2 { font-size:29px; line-height:1.15; font-weight:500; }
 body.home-page .booking-form .booking-step-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); margin:-1px; white-space:nowrap; }
 body.home-page .booking-quick-routes > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 body.home-page .booking-quick-routes button { padding:10px 8px; font-size:11px; line-height:1.5; min-height:48px; }
 body.home-page .booking-form .booking-progress { margin-top:4px; }
}

.review-invitation{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:center}.review-invitation p{max-width:580px;color:#adb5c1;line-height:1.8}.review-invitation h2 span{color:#bdc4cd}.review-actions{display:flex;gap:12px;flex-wrap:wrap}.review-actions a,.conditions-contact{display:inline-flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid #c7bc8055;border-radius:10px;color:#efc76c;font-size:14px}.review-qr{display:flex;flex-direction:column;gap:12px;align-items:center;padding:18px;background:#f6f5ed;border-radius:16px;color:#212f43;font-size:12px;text-align:center}.review-qr img{width:180px;max-width:100%;height:auto}.conditions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.conditions-grid article{padding:24px;background:#131c28;border:1px solid #ffffff17;border-radius:14px}.conditions-grid h3{font-size:19px;color:#efc76c}.conditions-grid p{font-size:14px;line-height:1.8;color:#adb5c1}@media(max-width:700px){.review-invitation,.conditions-grid{grid-template-columns:1fr}.review-qr{justify-self:start;width:216px}.review-invitation{gap:24px}.conditions-grid{gap:12px}.conditions-grid article{padding:20px}.review-actions a{font-size:13px}}

/* Verified benefits, linked to the full conditions. */
.hero-assurances { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:8px; }
.hero-assurances a { display:inline-flex; align-items:center; min-height:44px; color:#e6dcc4; font-size:11px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:880px) { .hero-assurances { gap:0 12px; } .hero-assurances a { font-size:10px; } body.home-page .hero-signature { padding-top:10px; } }

/* Keep the quote action visible on shorter desktop screens. */
@media (min-width: 881px) {
  body.home-page .hero-editorial { justify-content:flex-start; padding-top:125px; }
}

/* Complete wall decor with a live Turkey-time clock, shown only on mobile. */
.mobile-clock-decor { display:none; }
@media(max-width:880px) {
 body.home-page .hero-copy { background:#19283d; min-height:0; }
 body.home-page .hero-copy > .hero-scene { display:none; }
 body.home-page .mobile-clock-decor { display:block; position:relative; width:100%; }
 body.home-page .mobile-clock-decor > img { display:block; width:100%; height:auto; mask-image:linear-gradient(to bottom,#000 78%,transparent 100%); }
 .live-turkey-clock { position:absolute; left:33%; top:19.2%; width:33.3%; height:50.5%; }
 body.home-page .hero-editorial { min-height:0; height:auto; padding:0 12px 24px; background:transparent; text-align:left; align-items:stretch; }
 body.home-page .hero-eyebrow { color:#d7dfeb; font-size:10px; font-weight:700; line-height:1.7; letter-spacing:.09em; }
 body.home-page .hero-copy h1 { width:100%; max-width:none; font-size:clamp(30px,8.5vw,44px); line-height:1.16; font-weight:750; text-wrap:wrap; }
 body.home-page .hero-copy h1 em { color:#f2cf83; font-weight:600; }
 body.home-page .hero-intro { width:100%; max-width:none; font-size:14px; line-height:1.8; color:#e0e6ef; text-wrap:wrap; }
 body.home-page .hero-primary { width:100%; justify-content:space-between; gap:14px; min-height:54px; font-size:16px; font-weight:750; }
 body.home-page .hero-secondary { justify-content:flex-start; width:100%; margin-top:8px; font-size:13px; font-weight:600; }
 body.home-page .hero-assurances { justify-content:space-between; gap:0 14px; }
 body.home-page .hero-assurances a { color:#dce3ed; font-size:11px; }
 body.home-page .hero-signature { width:100%; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#d6dfec; font-size:9px; }
 body.home-page .hero-signature > span:last-child { margin-left:0; }
 body.home-page .signature-line { display:none; }
 body.home-page .hero-location { position:static; align-self:flex-start; margin-bottom:18px; background:#ffffff08; border-color:#ffffff24; color:#e6ebf3; }
}

/* Symmetric city wordmark, stretching across the mobile hero. */
@media(max-width:880px) {
 body.home-page .hero-location-ornament {
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  width:100%; align-self:stretch; align-items:center; gap:14px;
  padding:10px 0 18px; margin:0 0 16px;
  border:0; border-radius:0; background:none; backdrop-filter:none;
 }
 body.home-page .hero-location-ornament .city-name {
  font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,9vw,44px);
  font-weight:700; line-height:1.2; letter-spacing:.18em; padding-left:.18em;
  color:#eed8a5; text-align:center; text-shadow:0 2px 12px #eed8a51a;
 }
 body.home-page .hero-location-ornament .city-ornament {
  display:flex; align-items:center; gap:5px; color:#c6b58d;
  font-size:16px; line-height:1; letter-spacing:0;
 }
 body.home-page .hero-location-ornament .city-ornament::before,
 body.home-page .hero-location-ornament .city-ornament::after {
  content:''; flex:1; height:5px; border-top:1px solid #c6b58d99;
  border-bottom:1px solid #c6b58d40;
 }
}

.hero-contact-note { color:#d6dce5; font-size:12px; line-height:1.7; margin:0 0 20px; }
@media(max-width:880px) {
 body.home-page .hero-eyebrow { text-align:center; font-size:9px; letter-spacing:.13em; color:#c3ccda; margin-bottom:16px; }
 body.home-page .hero-copy h1 { text-align:center; font-size:clamp(30px,8.8vw,46px); line-height:1.2; letter-spacing:-.035em; margin-bottom:20px; }
 body.home-page .hero-copy h1 em { display:inline-block; padding-top:4px; }
 body.home-page .hero-intro { text-align:center; font-size:13px; line-height:1.9; margin-bottom:8px; color:#cbd5e3; }
 body.home-page .hero-intro strong { display:inline-block; margin-top:6px; font-size:17px; font-weight:700; color:#fff3d8; }
 body.home-page .hero-contact-note { text-align:center; margin:0 0 22px; font-size:12px; line-height:1.75; color:#cbd5e3; }
}

/* Unified navy / silver palette, with gold reserved for primary actions. */
body.home-page { --bg:#142136; --panel:#1e2e44; --line:#35465d; --text:#f5f3ed; --muted:#bac6d6; --green:#9de0b7; background:#142136; color:var(--text); }
body.home-page .header { background:#142136f5; }
body.home-page :is(.journey-card,.journey-card:nth-child(2),.journey-card:nth-child(3),.fleet-card,.transfer-confidence,.conditions-grid article) { background:#1e2e44; }
body.home-page :is(.booking-priority,.booking-form,.site-footer) { background:#17263b; }
body.home-page .section-kicker { color:#c8d2df; }
body.home-page :is(.confidence-number,.fleet-head span,.conditions-grid h3,.booking-summary h3) { color:#e6e9ef; }
body.home-page .hero-route .route-card { background:#1e2e44; color:#f5f3ed; }
body.home-page .hero-route .route-head h2 { color:#f5f3ed; }
body.home-page .hero-route :is(.route-head p,.route-eyebrow,.mobile-field-caption,.price-disclaimer) { color:#bac6d6; }
body.home-page .hero-route .route-field { background:#142136; border-color:#40516a; }
body.home-page .hero-route .route-field input { color:#f5f3ed; }
body.home-page .hero-route .route-field input::placeholder { color:#bac6d6; opacity:1; }
body.home-page .hero-route .route-icon { color:#dce4ef; border-color:#52637a; }
body.home-page .route-stats .stat-box { background:#26394f; }
body.home-page .route-stats .stat-box :is(span,small) { color:#c5cfdd; }
body.home-page .route-stats .stat-box strong { color:#f5f3ed; }
body.home-page .route-submit { background:#d8bd82; color:#142136; }
body.home-page .booking-shortcut { color:#eed8a5; }
body.home-page .route-card .toll-panel { background:#26394f; color:#f5f3ed; border-color:#40516a; }
body.home-page .route-card .toll-panel :is(p,small) { color:#c5cfdd; }
body.home-page .floating-contact { background:#142136f5; }
body.home-page .floating-contact .float-whatsapp { background:#223b2b; color:#b8e7c7; border-color:#6393713b; }
body.home-page .hero-primary { background:#d8bd82; color:#142136; }

/* Match the city ornament while keeping the WhatsApp action clear. */
body.home-page .hero-primary {
 display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
 align-items:center; gap:14px; padding:14px 18px;
}
body.home-page .hero-primary .whatsapp-label {
 font-family:Georgia,'Times New Roman',serif; font-size:23px;
 font-weight:700; line-height:1.25; letter-spacing:.025em; text-align:center;
}
body.home-page .hero-primary .whatsapp-ornament {
 display:flex; align-items:center; gap:5px; font-size:15px; line-height:1;
 color:#142136; font-weight:400;
}
body.home-page .hero-primary .whatsapp-ornament::before,
body.home-page .hero-primary .whatsapp-ornament::after {
 content:''; flex:1; height:5px; border-top:1px solid #14213699;
 border-bottom:1px solid #14213640;
}

/* A slow glow draws attention without hiding the label or moving the button. */
body.home-page .hero-primary { animation:whatsapp-attention 1.4s ease-in-out infinite; }
@keyframes whatsapp-attention {
 0%,100% { background-color:#bc9954; box-shadow:0 0 0 0 #ffd87700,0 0 0 #ffd87700; }
 50% { background-color:#ffe5a3; box-shadow:0 0 0 5px #ffd87755,0 0 30px #ffd87799; }
}
@media(prefers-reduced-motion:reduce) {
 body.home-page .hero-primary { animation:none; }
}

/* Distance estimate follows the same navy and muted-gold palette. */
body.home-page .fare-estimate { background:#142136; }
body.home-page .fare-copy h2 { color:#f5f3ed; }
body.home-page .fare-copy h2 span { color:#c8d2df; }
body.home-page .fare-copy p { color:#bac6d6; font-weight:400; }
body.home-page .fare-calculator { background:#1e2e44; border-color:#35465d; box-shadow:0 16px 40px #09121f30; }
body.home-page :is(.fare-meter span,.fare-result span,.fare-scale) { color:#bac6d6; }
body.home-page .fare-meter strong { color:#f5f3ed; }
body.home-page .fare-meter b { color:#eed8a5; }
body.home-page .fare-bubble { background:#d8bd82; color:#142136; box-shadow:none; }
body.home-page .fare-bubble::after { background:#d8bd82; }
body.home-page .fare-range-wrap input { background:linear-gradient(90deg,#d8bd82 0 var(--fare-progress),#40516a var(--fare-progress) 100%); box-shadow:none; }
body.home-page .fare-range-wrap input:focus-visible { outline:3px solid #eed8a5; }
body.home-page .fare-range-wrap input::-webkit-slider-thumb { background:#eed8a5; border-color:#1e2e44; box-shadow:0 0 0 3px #d8bd8240; }
body.home-page .fare-range-wrap input::-moz-range-thumb { background:#eed8a5; border-color:#1e2e44; box-shadow:0 0 0 3px #d8bd8240; }
body.home-page .fare-road-choice button { background:#142136; color:#dce4ef; border-color:#40516a; box-shadow:none; }
body.home-page .fare-road-choice button:is(:hover,.is-active) { background:#d8bd82; color:#142136; border-color:#d8bd82; box-shadow:none; }
body.home-page .fare-result { background:#142136; border-color:#35465d; }
body.home-page .fare-result strong { color:#eed8a5; }
body.home-page .fare-result p { color:#bac6d6; font-weight:400; }
body.home-page .fare-toll-field { background:#26394f; border-color:#40516a; }
body.home-page .fare-toll-field span { color:#f5f3ed; }
body.home-page .fare-toll-field small { color:#c5cfdd; }

/* A calm, readable contact area and footer. */
body.home-page .site-footer { padding-top:44px; border-top:1px solid #35465d; }
body.home-page .footer-brand p { color:#bac6d6; font-size:14px; }
body.home-page .footer-logo { color:#f5f3ed; }
body.home-page .footer-logo b { color:#d8bd82; }
body.home-page .footer-links h2 { color:#f5f3ed; font-size:15px; letter-spacing:.025em; text-transform:none; }
body.home-page .footer-links a { color:#c5cfdd; font-size:14px; min-height:44px; }
body.home-page .footer-contact { padding:22px; background:#1e2e44; border:1px solid #40516a; border-radius:16px; justify-items:center; text-align:center; }
body.home-page .footer-contact h2 { color:#f5f3ed; font-size:22px; line-height:1.3; letter-spacing:-.025em; text-transform:none; margin:0 0 10px; }
body.home-page .footer-contact-intro { margin:0 0 12px; color:#bac6d6; font-size:13px; line-height:1.75; }
body.home-page .footer-contact > a { min-height:44px; justify-content:center; color:#c5cfdd; font-size:13px; }
body.home-page .footer-contact > .footer-phone { font-size:clamp(21px,5.8vw,30px); font-weight:700; color:#eed8a5; white-space:nowrap; letter-spacing:0; }
body.home-page .footer-contact > .footer-whatsapp { display:flex; width:100%; min-height:50px; gap:14px; margin:10px 0; border:1px solid #63937160; border-radius:10px; background:#223b2b; color:#c4eed1; font-size:16px; font-weight:700; }
body.home-page .footer-contact > span { color:#bac6d6; font-size:12px; justify-content:center; }
body.home-page .footer-contact > span::before { background:#b8e7c7; }
body.home-page .footer-service-dropdown summary { color:#dce4ef; }
body.home-page .footer-service-panel { background:#1e2e44; border-color:#40516a; border-radius:10px; padding:10px; }
body.home-page .footer-bottom { justify-content:center; align-items:center; gap:8px 24px; text-align:center; }
body.home-page .footer-bottom :is(p,a) { color:#bac6d6; font-size:12px; }
body.home-page .visitor-counter { justify-content:center; align-items:center; padding-top:20px; }
body.home-page .visitor-counter > div { justify-content:center; }
body.home-page .visitor-counter :is(p,small) { color:#bac6d6; }
body.home-page .visitor-counter strong { color:#f5f3ed; font-size:22px; }
body.home-page .visitor-counter-icon { display:none; }
@media(max-width:880px) {
 body.home-page .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; }
 body.home-page .footer-brand { text-align:center; }
 body.home-page .footer-logo { justify-content:center; font-size:23px; }
 body.home-page .footer-brand p { max-width:440px; margin:14px auto 0; line-height:1.85; }
 body.home-page .footer-links { justify-items:center; text-align:center; }
 body.home-page .footer-links h2 { font-size:16px; }
 body.home-page .footer-service-dropdown,body.home-page .footer-service-panel { justify-items:center; }
 body.home-page .footer-contact { grid-column:1/-1; padding:26px 16px; }
 body.home-page .footer-contact h2 { font-size:26px; text-wrap:balance; }
 body.home-page .footer-bottom { flex-direction:column; text-align:center; align-items:center; }
 body.home-page .visitor-counter > div { text-align:center; }
 body.home-page .visitor-counter small { flex-basis:100%; line-height:1.6; }
}

@media(max-width:880px) {
 body.home-page .floating-contact { grid-template-columns:1fr 1fr; }
 body.home-page .floating-contact .float-booking { display:none; }
 body.home-page .floating-contact a { min-height:52px; height:52px; font-size:15px; font-weight:700; }
 body.home-page .floating-contact .float-call { background:#d8bd82; border-color:#d8bd82; color:#142136 !important; }
 body.home-page .floating-contact .float-whatsapp { background:#24583a; color:#f1fff5; border-color:#4a9664; }
}

/* Desktop composition; the existing phone layout stays below 881px. */
@media (min-width:881px) {
 body.home-page .wrap { width:min(1280px,calc(100% - 80px)); }
 body.home-page .nav { gap:20px; min-height:88px; }
 body.home-page .logo { flex-shrink:0; font-size:20px; }
 body.home-page .menu { gap:20px; margin-inline:auto; }
 body.home-page .menu a { font-size:13px; white-space:nowrap; }
 body.home-page .nav-actions { gap:12px; }
 body.home-page .hero { padding:32px 0 24px; }
 body.home-page .hero-inner { grid-template-columns:minmax(0,1fr); gap:40px; align-items:start; }
 body.home-page .hero-copy { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:32px; min-height:0; padding:36px; background:#19283d; border:1px solid #35465d; border-radius:24px; }
 body.home-page .hero-copy > .hero-scene { display:none; }
 body.home-page .mobile-clock-decor { display:block; position:relative; width:100%; margin:0; align-self:center; isolation:isolate; }
 body.home-page .mobile-clock-decor > img { display:block; width:100%; height:auto; mask-image:linear-gradient(to bottom,#000 78%,transparent 100%); }
 body.home-page .live-turkey-clock { position:absolute; left:33%; top:19.2%; width:33.3%; height:50.5%; }
 body.home-page .hero-editorial { height:auto; min-height:0; padding:16px 0; align-items:center; text-align:center; min-width:0; }
 body.home-page .hero-location-ornament { position:static; display:grid; grid-template-columns:1fr auto 1fr; width:100%; gap:18px; margin:0 0 20px; padding:0; border:0; border-radius:0; background:none; backdrop-filter:none; }
 body.home-page .hero-location-ornament .city-name { font-family:Georgia,'Times New Roman',serif; font-size:34px; letter-spacing:.2em; padding-left:.2em; color:#eed8a5; }
 body.home-page .city-ornament { display:flex; align-items:center; gap:8px; color:#c6b58d; }
 body.home-page .city-ornament::before,body.home-page .city-ornament::after { content:''; flex:1; height:5px; border-block:1px solid #c6b58d66; }
 body.home-page .hero-eyebrow { font-size:10px; letter-spacing:.15em; margin-bottom:16px; color:#bac6d6; }
 body.home-page .hero-copy h1 { width:100%; max-width:none; margin:0 0 18px; font-size:clamp(36px,3.45vw,52px); line-height:1.12; font-weight:600; letter-spacing:-.035em; }
 body.home-page .hero-copy h1 em { color:#eed8a5; }
 body.home-page .hero-intro { margin:0 0 8px; font-size:15px; line-height:1.8; color:#cbd5e3; }
 body.home-page .hero-intro strong { color:#f5f3ed; font-size:18px; }
 body.home-page .hero-contact-note { max-width:380px; margin:0 0 20px; color:#bac6d6; }
 body.home-page .hero-primary { width:100%; max-width:420px; min-height:56px; animation:whatsapp-attention 1.4s ease-in-out infinite; box-shadow:0 8px 24px #09121f30; }
 body.home-page .hero-primary:hover { background:#eed8a5; }
 body.home-page .hero-assurances { justify-content:center; gap:0 16px; margin-top:12px; }
 body.home-page .hero-assurances a { color:#cbd5e3; }
 body.home-page .hero-signature { width:100%; padding-top:16px; border-top:1px solid #ffffff14; margin-top:10px; }
 body.home-page .hero-route .route-card { padding:28px; border:1px solid #40516a; border-radius:24px; box-shadow:0 20px 60px #09121f25; }
 body.home-page .hero-route .route-head h2 { font-size:32px; }
 body.home-page .route-card :is(.mini-action,.reset-action,.route-status),body.home-page .route-map-disclosure > summary { color:#c5cfdd; }
 body.home-page .route-card :is(.mini-action,.reset-action) { border-color:#40516a; }
 body.home-page .route-card .road-choice { background:#142136; border:1px solid #40516a; }
 body.home-page .route-card .road-choice button { color:#bac6d6; }
 body.home-page .route-card .road-choice button.is-active { background:#d8bd82; color:#142136; }
 body.home-page .route-card .route-stats .stat-box:last-child { background:#26394f; border:1px solid #d8bd8240; }
 body.home-page .route-stats #priceOutput { color:#eed8a5; }
 body.home-page .route-map-disclosure,body.home-page .route-card .price-disclaimer { border-color:#40516a; }
 body.home-page .service-reassurance { padding:24px 32px; margin-top:8px; border:1px solid #35465d; border-radius:16px; background:#17263b; }
 body.home-page .service-reassurance > div { justify-content:center; }
 body.home-page .service-reassurance > div + div { border-left:1px solid #35465d; }
 body.home-page .section:not(.hero) { padding-block:80px; }
 body.home-page .journey-heading { display:flex; justify-content:space-between; gap:40px; }
 body.home-page .journey-card { padding:30px; }
 body.home-page .journey-card h3 { font-size:38px; }
 body.home-page .journey-cta { margin-top:auto; }
 body.home-page .booking-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:start; }
 body.home-page .booking-form { padding:32px; }
 body.home-page .footer-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.65fr) minmax(0,.8fr) minmax(280px,1fr); gap:28px; }
 body.home-page .footer-contact > .footer-phone { font-size:24px; }
 body.home-page .floating-contact { right:18px; bottom:20px; gap:10px; padding:8px; border:1px solid #40516a; border-radius:16px; box-shadow:0 8px 32px #09121f40; }
 body.home-page .floating-contact a { box-shadow:none; font-size:12px; min-height:44px; }
}
@media (min-width:881px) and (max-width:1150px) {
 body.home-page .wrap { width:calc(100% - 48px); }
 body.home-page .nav { flex-wrap:wrap; gap:4px 24px; padding-block:14px; }
 body.home-page .nav-actions { margin-left:auto; }
 body.home-page .menu { order:3; width:100%; justify-content:center; gap:32px; }
 body.home-page .hero-inner { grid-template-columns:minmax(0,1fr); gap:28px; }
 body.home-page .hero-copy { padding:24px; gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 body.home-page .hero-editorial { padding-inline:0; }
 body.home-page .hero-copy h1 { font-size:38px; }
 body.home-page .hero-route .route-card { padding:24px; }
 body.home-page .booking-grid { gap:32px; }
 body.home-page .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
}

/* Give the desktop artwork its own column and the planner a separate row. */
@media (min-width:881px) {
 body.home-page .hero-inner { width:min(1480px,calc(100% - 80px)); }
 body.home-page .hero-route { max-width:1080px; margin-inline:auto; }
 body.home-page .hero-route .route-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; padding:32px; }
 body.home-page .hero-route .route-card > * { grid-column:1/-1; min-width:0; }
 body.home-page .hero-route .route-card > .route-search { grid-column:auto; }
 body.home-page .hero-route .route-head { justify-content:space-between; }
 body.home-page .hero-route .route-search { margin:0; }
 body.home-page .hero-route .route-stats { gap:24px; }
 body.home-page .hero-route .route-tools { margin-top:14px; }
 body.home-page .hero-route .road-choice { max-width:480px; width:100%; justify-self:center; }
 body.home-page .hero-route .route-submit { max-width:520px; width:100%; justify-self:center; }
 body.home-page .hero-route .booking-shortcut { text-align:center; justify-content:center; }
 body.home-page .hero-route .price-disclaimer { text-align:center; }
 body.home-page .hero-copy h1 { font-size:clamp(36px,3.4vw,54px); }
 body.home-page .hero-assurances { gap:4px 16px; }
}

/* Blend the clock artwork into the desktop page instead of a separate panel. */
@media (min-width:881px) {
 body.home-page .hero,
 body.home-page .hero-copy { background:#142136; }
 body.home-page .hero-copy { border-color:transparent; box-shadow:none; }
 body.home-page .mobile-clock-decor > img {
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 76%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 76%,transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
 }
}

@media (min-width:881px) and (prefers-reduced-motion:reduce) {
 body.home-page .hero-primary { animation:none; }
}
