/* Journey Canvas: shared presentation layer for every public website route.
   Existing layout/interaction hooks remain in site.css and the page modules. */
:root {
  --paper: #f7f3e9;
  --ink: #131b2e;
  --on-background: #131b2e;
  --muted: #655f55;
  --amber: #ffb800;
  --primary: #805800;
  --primary-container: #ffb800;
  --on-primary-container: #241d0e;
  --primary-fixed: #ffedbf;
  --primary-fixed-dim: #ffe1a0;
  --line: #ded6c8;
  --outline: #857b6a;
  --outline-variant: #ded6c8;
  --secondary: #655f55;
  --secondary-container: #eee7db;
  --on-secondary-container: #494236;
  --surface-container-low: #f2ece1;
  --surface-container: #eee7db;
  --surface-container-high: #e8dfd0;
  --surface-container-highest: #e0d5c3;
  --surface-container-lowest: #fffdf8;
  --inverse-surface: #131b2e;
  --inverse-on-surface: #f9f5ed;
  --journey-serif: Georgia, 'Times New Roman', serif;
  --content-width: 1320px;
  --radius: 12px;
  --radius-lg: 18px;
  --text-display-xl: 400 64px/1.04 Georgia, 'Times New Roman', serif;
  --text-display-xl-mobile: 400 42px/1.06 Georgia, 'Times New Roman', serif;
  --text-headline-lg: 400 44px/1.12 Georgia, 'Times New Roman', serif;
  --text-headline-lg-mobile: 400 34px/1.12 Georgia, 'Times New Roman', serif;
  --text-headline-md: 400 30px/1.2 Georgia, 'Times New Roman', serif;
  --text-headline-sm: 600 20px/1.4 'Plus Jakarta Sans', sans-serif;
}
html { scroll-padding-top: 110px; }
body.journey-canvas { background: var(--paper); color: var(--ink); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; }
.journey-canvas *, .journey-canvas *::before, .journey-canvas *::after { box-sizing: border-box; }
.journey-canvas [hidden] { display: none !important; }
.journey-canvas img { max-width: 100%; }
.journey-canvas .container { width: min(var(--content-width), calc(100% - 80px)); padding-inline: 0; margin-inline: auto; }
.journey-canvas .journey-home > section.container { margin-inline: auto; }
.journey-canvas :is(h1,h2) { font-family: var(--journey-serif); font-weight: 400; letter-spacing: -.045em; color: var(--ink); text-wrap: balance; }
.journey-canvas h1 { line-height: 1.07; }
.journey-canvas h3 { letter-spacing: -.025em; }
.journey-canvas p { line-height: 1.8; }
.journey-canvas :is(input,select,textarea) { font-family: inherit; border-color: var(--line); background-color: #fffdf9; color: var(--ink); border-radius: 9px; min-width: 0; }
.journey-canvas :is(input,select,textarea):focus { outline: 2px solid #ad7900; outline-offset: 2px; border-color: #ad7900; }
.journey-canvas :is(a,button,summary):focus-visible { outline: 3px solid #886000; outline-offset: 5px; }
.journey-canvas :where(button,.button):not(:where(.secondary,.account-danger,.faq-cat-pill,.faq-chip,.faq-search-clear,.swap-btn,.city-option,.suggestion-item,.auth-resend,.service-tab,.route-retry,.account-nav-item)) { background-color: var(--amber); color: var(--ink); border-color: transparent; box-shadow: none; }
.journey-canvas :is(button,.button) { border-radius: 9px; font-weight: 700; transition: background-color .18s, border-color .18s, transform .18s; }
.journey-canvas :is(button,.button):not(:disabled):hover { filter: none; transform: translateY(-1px); }
.journey-canvas :is(button,.button):disabled { cursor: not-allowed; opacity: .5; }
.journey-canvas :is(.secondary,.button.secondary) { color: var(--ink); border: 1px solid var(--line); background: transparent; box-shadow: none; }
.journey-canvas :is(.card,.auth-card,.legal-nav,.account-sidebar,.account-stat-card) { border: 1px solid var(--line); background: #fffdf8; border-radius: 16px; box-shadow: 0 8px 32px #362b1605; }
.journey-canvas :is(.eyebrow,.booking-eyebrow,.account-kicker,.tag-eyebrow,.route-eyebrow,.driver-kicker) { color: #7b5b20; font-size: 10px; letter-spacing: .19em; font-weight: 700; text-transform: uppercase; }
.journey-canvas .breadcrumb { color: var(--muted); font-size: 11px; padding-block: 22px; }
.journey-canvas .breadcrumb a { color: var(--muted); }
.journey-canvas .site-header { background: #f7f3e9f7; border-bottom: 1px solid #ded6c88c; backdrop-filter: blur(16px); box-shadow: none; position: sticky; top: 0; z-index: 80; }
.journey-canvas .nav-wrap { width: min(1440px,calc(100% - 80px)); max-width: none; padding: 18px 0; min-height: 88px; gap: 32px; }
.journey-canvas .brand-logo { width: 145px; height: auto; max-height: 58px; object-fit: contain; }
.journey-canvas .desktop-nav { gap: 30px; }
.journey-canvas .desktop-nav a { padding: 10px 0; font-size: 12px; font-weight: 600; color: var(--ink); border-radius: 0; }
.journey-canvas .desktop-nav a:hover, .journey-canvas .desktop-nav a[aria-current] { background: none; color: #805800; box-shadow: inset 0 -2px var(--amber); }
.journey-canvas .header-actions { display: flex; gap: 22px; }
.header-driver { display: inline-flex; gap: 12px; align-items: center; font-size: 11px; color: var(--ink); text-decoration: none; white-space: nowrap; }
.journey-canvas .header-actions .account-link { display: inline-flex; width: auto; height: 42px; padding: 0 16px; gap: 10px; border: 1px solid var(--ink); border-radius: 9px; background: transparent; color: var(--ink); font-size: 11px; white-space: nowrap; }
.journey-canvas .mobile-menu > summary { border: 1px solid var(--line); background: transparent; border-radius: 8px; min-height: 42px; }
.journey-canvas .mobile-menu nav { background: #fffdf8; border-color: var(--line); box-shadow: 0 16px 40px #131b2e14; }
.journey-canvas .mobile-menu a { color: var(--ink); }
.journey-canvas .mobile-menu a[aria-current] { background: #ffedbf; }
.journey-canvas .site-footer { background: #eee7db; color: var(--ink); border-top: 1px solid var(--line); padding: 64px 0 0; }
.journey-canvas .footer-grid { grid-template-columns: 1.5fr repeat(3,1fr); gap: 48px; }
.journey-canvas .site-footer :is(h2,p,a) { color: var(--ink); }
.journey-canvas .site-footer h2 { font-family: inherit; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 24px; }
.journey-canvas .site-footer a:not(.brand) { font-size: 12px; line-height: 2; }
.journey-canvas .site-footer p { font-size: 12px; color: var(--muted); }
.journey-canvas .site-footer .footer-manifesto { font-family: var(--journey-serif); font-size: 35px; line-height: 1.1; color: var(--ink); letter-spacing: -.04em; margin: 24px 0 16px; }
.journey-canvas .footer-bottom { border-top: 1px solid #d6cbbb; padding: 24px 0; margin-top: 48px; font-size: 10px; color: var(--muted); }
.journey-canvas .site-footer .footer-bottom { background: transparent; border-radius: 0; border-top: 1px solid #d6cbbb; padding-inline: 0; }
.journey-eyebrow { display: flex; align-items: center; gap: 18px; font-size: 10px; line-height: 1.5; letter-spacing: .21em; text-transform: uppercase; font-weight: 700; color: var(--ink); }
.journey-eyebrow i { width: 48px; height: 1px; background: var(--amber); }
.journey-hero { position: relative; display: grid; grid-template-columns: minmax(380px,.85fr) minmax(0,1.15fr); padding-block: 48px 36px !important; gap: 0; }
.journey-hero-copy { position: relative; z-index: 2; }
.journey-canvas .journey-hero h1 { font-size: clamp(58px,6.3vw,92px); line-height: .98; letter-spacing: -.065em; margin: 24px 0 20px; font-weight: 400; }
.journey-lead { font-size: 16px; color: var(--muted); margin: 0 0 28px; }
.journey-hero-art { position: relative; align-self: stretch; margin: -22px -40px 0 -70px; min-height: 630px; }
.journey-hero-art > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 52% 50%; mask-image: linear-gradient(90deg,transparent,#000 12%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 95%,transparent); mask-composite: intersect; }
.journey-art-note { position: absolute; top: 24%; right: 8%; font: italic 22px/1.4 var(--journey-serif); transform: rotate(-6deg); color: #332610; background: #ffdf7dcf; padding: 5px 16px; }
.journey-ticket { position: absolute; bottom: 48px; right: 7%; width: 78%; max-width: 460px; background: #fffbf1f5; padding: 24px 30px; box-shadow: 0 14px 35px #352c1826; border-left: 4px solid var(--amber); border-radius: 3px; }
.journey-ticket::before,.journey-ticket::after { content: ''; width: 18px; height: 18px; border-radius: 50%; background: var(--paper); position: absolute; top: 50%; margin-top: -9px; }
.journey-ticket::before { left: -12px; }.journey-ticket::after { right: -9px; }
.journey-ticket-label { display: block; font-size: 8px; text-transform: uppercase; letter-spacing: .25em; text-align: center; margin-bottom: 14px; }
.journey-ticket > div { display: flex; align-items: center; justify-content: center; gap: 18px; }
.journey-ticket strong { font: 400 clamp(18px,2vw,30px)/1.2 var(--journey-serif); letter-spacing: -.025em; overflow-wrap: anywhere; }
.journey-ticket > div > span { font-size: 28px; color: #b37a00; }
.journey-ticket p { text-align: center; font-size: 11px; margin: 12px 0 0; color: var(--muted); }
.journey-art-caption { position: absolute; bottom: 14px; right: 9%; color: #70634b; font-size: 9px; }
.journey-home .booking-widget { width: 100%; max-width: 510px; background: #fffdf4e8; color: var(--ink); padding: 18px; border: 1px solid #fffdf8; border-radius: 15px; box-shadow: 0 16px 38px #6c512115; backdrop-filter: blur(10px); margin: 0; }
.journey-home .booking-widget { overflow: visible; }
.journey-home .booking-widget > .service-tabs { padding: 0 0 12px; background: transparent; border-bottom: 1px solid var(--line); }
.journey-canvas .service-tabs { display: flex; gap: 4px; padding: 0 0 14px; margin: 0 0 16px; border-bottom: 1px solid var(--line); background: none; border-radius: 0; }
.journey-canvas .service-tab { flex: 1; justify-content: center; padding: 10px 8px; font-size: 11px; border-radius: 8px; border: none; color: var(--ink); background: transparent; white-space: nowrap; }
.journey-canvas .service-tab:has(input:checked) { background: var(--amber); color: var(--ink); box-shadow: 0 4px 12px #ffb80020; }
.journey-home .widget-bar { display: none; }
.journey-home .widget-grid { display: grid; grid-template-columns: minmax(0,1fr) 40px; gap: 10px; align-items: end; padding: 0; }
.journey-home .widget-field { min-width: 0; gap: 4px; background: transparent; border: 0; padding: 0; }
.journey-home .widget-field:nth-child(1),.journey-home .widget-field:nth-child(3) { grid-column: 1; }
.journey-home .widget-field:nth-child(4),.journey-home .widget-cta { grid-column: 1/-1; }
.journey-home .swap-btn { grid-column: 2; grid-row: 1/3; align-self: center; position: static; transform: rotate(90deg); border: 1px solid var(--line); background: #fffdf9; color: var(--ink); width: 36px; height: 36px; border-radius: 50%; box-shadow: none; }
.journey-home .widget-label { font-size: 8px; font-weight: 600; letter-spacing: .08em; color: var(--muted); min-height: 12px; }
.journey-home .widget-label svg { width: 12px; height: 12px; }
.journey-home .widget-input { display: flex; align-items: center; gap: 9px; width: 100%; border: 1px solid #d8cebd; border-radius: 7px; padding: 8px 11px; min-height: 42px; background: #fbf6eb; color: var(--ink); }
.journey-home .widget-input > span { display: flex; }
.journey-home .widget-input svg { width: 16px; height: 16px; }
.journey-home .widget-input input { padding: 0; height: auto; min-height: 26px; background: transparent; border: 0; width: 100%; font-size: 12px; box-shadow: none; color: var(--ink); }
.journey-home .widget-input input:focus { outline-offset: 5px; }
.journey-home .widget-cta { display: flex; justify-content: center; gap: 30px; align-items: center; min-height: 44px; padding: 12px 16px; border-radius: 8px; font-size: 12px; margin: 4px 0 0; }
.journey-home .widget-return-row { margin-top: 12px; }
.journey-home .quick-tags { margin-top: 16px; gap: 8px; padding: 0; border: 0; }
.journey-home .quick-tags-label { width: 100%; font-size: 9px; color: var(--muted); }
.journey-home .quick-tags button { padding: 5px 8px; min-height: 30px; font-size: 9px; border: 1px solid var(--line) !important; background: transparent !important; border-radius: 5px; }
.journey-home .quick-tags button:nth-of-type(n+3) { display: none; }
.journey-home .estimate-pill { background: transparent; border: 0; padding: 12px 0 0; margin: 12px 0 0; gap: 12px; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; display: flex; }
.journey-home .estimate-facts { display: flex; align-items: flex-start; flex-direction: column; gap: 4px; font-size: 9px; color: var(--muted); }
.journey-home .estimate-sep,.journey-home .estimate-facts > .estimate-fact:last-child { display: none; }
.journey-home .estimate-price { margin-left: auto; text-align: right; flex-shrink: 0; border: 0; padding: 0; }
.journey-home .estimate-price span { font-size: 8px; color: var(--muted); }
.journey-home .estimate-price strong { display: block; color: var(--ink); font-size: 24px; font-family: var(--journey-serif); font-weight: 400; }
.journey-home .widget-trust { display: none; }
.journey-promise { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr; gap: 28px; padding-block: 36px 44px !important; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.journey-promise h2 { font-size: 36px; line-height: 1.04; margin: 0; }
.journey-promise > div { position: relative; padding-left: 50px; border-left: 1px solid var(--line); }
.journey-promise h3 { font-size: 12px; margin: 3px 0 6px; }
.journey-promise p { font-size: 11px; color: var(--muted); margin: 0; }
.journey-small-icon { position: absolute; left: 15px; top: 3px; display: grid; place-items: center; width: 26px; height: 30px; color: #805800; }
.journey-small-icon svg { width: 23px; height: 23px; }
.journey-home :is(.fleet-section,.corridors-section,.home-faq-section) { background: transparent; padding: 90px 0; border: none; }
.journey-home .section-intro { text-align: left; max-width: 700px; margin: 0 0 38px; }
.journey-home .section-intro h2,.journey-home .section-heading h2 { font-size: 48px; margin: 14px 0; }
.journey-home :is(.section-intro p,.section-heading p) { font-size: 13px; color: var(--muted); }
.journey-home .tag-pill { border: 0; padding: 0; background: none; color: #805800; text-transform: uppercase; letter-spacing: .16em; font-size: 9px; }
.journey-home .tag-pill svg { width: 14px; height: 14px; }
.journey-home .fleet-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.journey-home .fleet-card { padding: 0 0 18px; border: none; border-bottom: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.journey-home .fleet-card.popular { border-color: #a27c26; }
.journey-home .fleet-popular-badge { display: none; }
.journey-home .fleet-top { padding: 0; margin-bottom: 12px; display: block; }
.journey-home .fleet-badge { background: none; padding: 0; font-size: 9px; color: var(--muted); }
.journey-home .fleet-fill { display: none; }
.journey-home .fleet-photo { height: 160px; margin: 0; border-radius: 9px; background: #eee7da; }
.journey-home .fleet-photo img { width: 100%; height: 100%; object-fit: cover; }
.journey-home .fleet-photo-label { display: none; }
.journey-home .fleet-heading { padding: 18px 0 0; }
.journey-home .fleet-heading h3 { font-family: var(--journey-serif); font-size: 28px; font-weight: 400; margin: 0; }
.journey-home .fleet-card > p { padding: 0; margin: 8px 0 16px; font-size: 11px; line-height: 1.8; min-height: 56px; color: var(--muted); }
.journey-home .fleet-specs { margin: 0; padding: 10px 0 0; border-top: 1px solid var(--line); gap: 7px; font-size: 9px; color: var(--muted); }
.journey-how { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 40px 80px !important; }
.journey-how h2 { font-size: 66px; line-height: 1.04; margin: 24px 0; }
.journey-text-link { color: var(--ink); font-size: 12px; text-decoration: none; padding-bottom: 8px; border-bottom: 1px solid var(--ink); }
.journey-how ol { list-style: none; padding: 0; margin: 0; }
.journey-how li { display: flex; gap: 26px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.journey-how li > span { font: 400 36px/1.2 var(--journey-serif); color: #a98742; }
.journey-how h3 { font-size: 17px; margin: 0 0 8px; }.journey-how li p { font-size: 12px; color: var(--muted); margin: 0; }
.journey-home .corridors-section { background: #efe8dc; }
.journey-home .section-heading { align-items: end; }
.journey-home .section-heading > a { color: var(--ink); font-size: 12px; }
.journey-home .corridors-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.journey-home .corridor-card { background: #f8f4ec; border: 1px solid #ded4c2; border-radius: 12px; box-shadow: none; padding: 24px; min-height: 140px; }
.journey-home .corridor-route { gap: 12px; }
.journey-home .corridor-route strong { font-family: var(--journey-serif); font-size: 23px; font-weight: 400; }
.journey-home .corridor-route > span { color: #a47300; }
.journey-home :is(.corridor-note,.corridor-book) { font-size: 10px; }
.journey-home .corridor-book { color: #805800; margin-top: 16px; }
.journey-assistance { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 100px !important; }
.journey-assistance h2 { font-size: 58px; line-height: 1.05; margin: 20px 0; }
.journey-assistance > div > p { color: var(--muted); max-width: 430px; font-size: 13px; }
.journey-assistance .button { margin-top: 12px; padding: 14px 28px; font-size: 12px; display: inline-flex; gap: 36px; }
.journey-assistance aside { position: relative; background: var(--ink); color: var(--paper); border-radius: 3px; padding: 44px; overflow: hidden; }
.journey-assistance aside::after { content: ''; position: absolute; right: -60px; top: 70px; width: 220px; height: 300px; border: 2px solid #ffb80060; border-radius: 50%; transform: rotate(30deg); pointer-events: none; }
.journey-assistance aside > span { font-size: 9px; letter-spacing: .2em; }
.journey-assistance aside p { font: 400 44px/1.15 var(--journey-serif); letter-spacing: -.04em; margin: 30px 0; }
.journey-assistance aside em { color: #ffd265; }
.journey-assistance aside a { color: #f9ebc8; font-size: 12px; position: relative; z-index: 1; }
.journey-home .home-faq-section { padding-top: 0; }
.journey-home .faq-accordion { max-width: none; }
.journey-home .faq-item { background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; margin: 0; box-shadow: none; }
.journey-home .faq-toggle { padding: 25px 0; color: var(--ink); font-size: 15px; }
.journey-home .faq-answer { padding: 0 50px 24px 0; font-size: 13px; max-width: 900px; color: var(--muted); }
.journey-final { text-align: center; padding-block: 56px 90px !important; border-top: 1px solid var(--line); }
.journey-final .journey-eyebrow { justify-content: center; }
.journey-final h2 { font-size: 88px; margin: 22px 0 32px; }.journey-final .button { padding: 16px 28px; display: inline-flex; gap: 42px; font-size: 13px; }
/* Editorial and support pages share a readable, spacious page rhythm. */
.journey-canvas :is(.page-heading,.legal-hero,.faq-hero,.route-master-hero) { background: transparent; color: var(--ink); border: 0; box-shadow: none; }
.journey-canvas :is(.page-heading h1,.legal-hero h1,.faq-hero h1,.route-master-hero h1,.driver-hero h1,.about-hero h1) { font-size: clamp(42px,5.3vw,76px); line-height: 1.04; font-weight: 400; color: var(--ink); }
.journey-canvas :is(.page-heading,.legal-hero) { padding-block: 32px 50px; }
.journey-canvas :is(.about-hero,.route-master-hero,.faq-hero) { padding-block: 36px 64px; }
.journey-canvas :is(.about-hero .highlight-amber,.faq-hero .highlight-amber) { color: #846000; background: none; }
.journey-canvas :is(.about-hero-copy p,.route-lead,.page-heading > p,.faq-hero-copy > p) { color: var(--muted); max-width: 660px; line-height: 1.9; }
.journey-canvas :is(.about-hero-frame,.about-hero-frame img) { border-radius: 8px; }
.journey-canvas .about-hero-frame { border: 0; box-shadow: none; }
.journey-canvas .about-hero-badge { border-color: var(--line); background: #fffdf7; border-radius: 8px; box-shadow: 0 12px 32px #382c1112; }
.journey-canvas .about-hero-caption .tag-pill { background: transparent; color: #ffdf84; border: 0; }
.journey-canvas :is(.capabilities-strip,.compare-section,.about-corridors-section,.verification-section,.team-section,.pillars-section,.route-section,.route-fleet-section,.route-faq-section) { background: transparent; }
.journey-canvas .capabilities-strip { border-block: 1px solid var(--line); }
.journey-canvas :is(.compare-card,.pillar-card,.route-city-line,.city-directory-card,.route-fleet-card,.faq-search-card,.faq-hub-item,.contact-quick-card,.contact-channel,.contact-email-card) { background: #fffdf8; border-color: var(--line); box-shadow: none; border-radius: 12px; }
.journey-canvas :is(.section-intro h2,.route-section h2,.driver-section-heading h2) { font-family: var(--journey-serif); font-size: 42px; font-weight: 400; }
.journey-canvas :is(.about-cta-banner,.cta-banner,.route-cta-banner,.driver-final,.route-help-card) { background: var(--ink); border-radius: 12px; box-shadow: none; color: var(--paper); }
.journey-canvas :is(.about-cta-banner,.cta-banner,.route-cta-banner,.driver-final,.route-help-card) :is(h2,h3) { color: var(--paper); }
.journey-canvas :is(.about-cta-banner,.cta-banner,.route-cta-banner,.driver-final,.route-help-card) p { color: #e6ddcd; }
.journey-canvas :is(.route-starting,.route-metrics,.route-connectivity,.route-guidance,.route-charges) { background: #eee7db; color: var(--ink); border-color: var(--line); box-shadow: none; }
.journey-canvas .route-starting strong { font-family: var(--journey-serif); font-weight: 400; }
.journey-canvas :is(.route-city-line,.city-directory-card,.route-fleet-card):hover { border-color: #b18b39; box-shadow: 0 8px 25px #6551270c; }
.journey-canvas .city-directory-top { background: #efe7d8; border-color: var(--line); }
.journey-canvas .city-directory-chips a { background: #fffcf5; border: 1px solid var(--line); color: var(--ink); border-radius: 6px; }
.journey-page-title { padding: 18px 0 48px; max-width: 900px; }.journey-page-title h1 { font-size: clamp(42px,5vw,70px); margin: 16px 0; }
.journey-canvas :is(.contact-quick-grid,.contact-page .split) { gap: 22px; }
.journey-canvas .contact-quick-card { padding: 24px; }
.journey-canvas .contact-quick-card h2 { font-size: 23px; }.journey-canvas .contact-quick-card p { font-size: 12px; color: var(--muted); }
.journey-canvas :is(.contact-quick-icon,.contact-channel-icon,.contact-faq-prompt) { background: #eee4ce; color: #805800; }
.journey-canvas .contact-quick-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; margin-bottom: 18px; }
.journey-canvas .contact-aside > h2 { font-size: 39px; }.journey-canvas .contact-request-form { padding: 30px; }
.journey-canvas .faq-main-wrap { background: var(--paper); }
.journey-canvas :is(.faq-cat-pill,.faq-chip) { background: #fffdf8; color: var(--muted); border-color: var(--line); }
.journey-canvas .faq-cat-pill.active { background: var(--ink); color: #fff9e9; border-color: var(--ink); }
.journey-canvas :is(.faq-pill-count,.faq-search-icon) { background: #eee4ce; color: #6a4c17; }
.journey-canvas .faq-hub-toggle { background: transparent !important; color: var(--ink); font-size: 14px; }
.journey-canvas .faq-hub-body { color: var(--muted); }
.journey-canvas .legal-layout { gap: 40px; }.journey-canvas .legal-hero { max-width: 1000px; }
.journey-canvas .legal-fact { background: #eee7db; border-color: var(--line); border-radius: 10px; }
.journey-canvas .legal-section { padding: 32px; margin-bottom: 20px; }.journey-canvas .legal-section h2 { font-size: 30px; }.journey-canvas .legal-section p { font-size: 14px; line-height: 1.95; color: var(--muted); }
.journey-canvas .legal-nav a { color: var(--muted); }.journey-canvas .legal-nav a:hover { color: var(--ink); background: #ffedbf; }
/* One-way journeys: a practical, searchable route directory. */
.journey-canvas .one-way-page .breadcrumb { padding-block: 30px 20px; font-size: 12px; line-height: 1.7; }
.journey-canvas .one-way-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; padding-block: 24px 38px; }
.journey-canvas .one-way-hero h1 { font-size: clamp(44px,5.2vw,74px); line-height: 1.04; font-weight: 400; letter-spacing: -1.5px; margin: 22px 0; }
.journey-canvas .one-way-hero h1 span { color: #846000; }
.journey-canvas .one-way-hero p { font-size: 16px; line-height: 1.8; color: var(--muted); max-width: 560px; }
.journey-canvas .one-way-browse { display: inline-flex; gap: 16px; align-items: center; min-height: 44px; font-size: 14px; text-underline-offset: 5px; color: #73511d; }
.journey-canvas .one-way-hero figure { margin: 0; min-width: 0; }
.journey-canvas .one-way-hero img { width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; border-radius: 12px; display: block; }
.journey-canvas .one-way-hero figcaption { padding-top: 12px; font-size: 12px; color: var(--muted); }
.journey-canvas .one-way-page .search-panel { margin: 0; background: #fffdf8; border: 1px solid var(--line); box-shadow: 0 12px 30px #382c1108; overflow: visible; scroll-margin-top: 120px; }
.journey-canvas .one-way-page .search-top { background: #eee7db; border-bottom: 1px solid var(--line); padding: 16px 24px; border-radius: 14px 14px 0 0; }
.journey-canvas .one-way-page .search-top strong { color: #73511d; }
.journey-canvas .one-way-page .search-top span { color: var(--muted); font-size: 12px; }
.journey-canvas .one-way-page .search-fields { grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr) minmax(0,1.15fr) auto; align-items: end; padding: 24px 24px 0; gap: 16px; }
.journey-canvas .one-way-page .search-fields label { display: block; min-width: 0; font-size: 13px; line-height: 1.5; margin: 0; }
.journey-canvas .one-way-page .search-fields input { min-width: 0; width: 100%; min-height: 50px; background: #fbf8f1; border: 1px solid #d5cbb9; color: var(--ink); font-size: 16px; padding: 12px; margin-top: 8px; border-radius: 8px; }
.journey-canvas .one-way-page .search-fields input:focus-visible { outline: 2px solid #886000; outline-offset: 2px; }
.journey-canvas .one-way-page .search-fields button { min-height: 50px; font-size: 14px; margin: 0; }
.journey-canvas .one-way-page .journey-arrow { align-self: end; padding-bottom: 12px; color: #73511d; }
.journey-canvas .one-way-page .search-panel .fine { font-size: 12px; line-height: 1.7; padding: 16px 24px 20px; margin: 0; color: var(--muted); }
.journey-canvas .one-way-page .search-panel-error { padding-inline: 24px; font-size: 14px; }
.journey-canvas .one-way-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding-block: 36px 44px; margin: 0; border-bottom: 1px solid var(--line); }
.journey-canvas .one-way-steps article { display: flex; align-items: start; gap: 16px; }
.journey-canvas .one-way-steps article > span { color: #73511d; font-size: 12px; padding-top: 5px; }
.journey-canvas .one-way-steps h2 { font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.5; margin: 0 0 8px; }
.journey-canvas .one-way-steps p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0; }
.journey-canvas .one-way-directory { padding-block: 48px; scroll-margin-top: 110px; }
.journey-canvas .one-way-section-heading h2 { font-size: clamp(32px,3.7vw,48px); line-height: 1.1; font-weight: 400; margin-block: 14px 18px; }
.journey-canvas .one-way-section-heading p { max-width: 740px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.journey-canvas .one-way-page .directory-controls { padding: 22px; margin-top: 28px; border: 1px solid var(--line); background: #fffdf8; border-radius: 12px; }
.journey-canvas .one-way-page .directory-controls label { font-size: 13px; font-weight: 600; }
.journey-canvas .one-way-page .directory-search-row { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.journey-canvas .one-way-page #directorySearch { flex: 1; min-width: 0; min-height: 50px; border: 1px solid #d5cbb9; border-radius: 8px; background: #fbf8f1; padding: 12px 16px; font-size: 16px; color: var(--ink); }
.journey-canvas .one-way-page #directorySearch:focus-visible { outline: 2px solid #886000; outline-offset: 2px; }
.journey-canvas .one-way-page #directoryResults { font-size: 13px; line-height: 1.6; color: var(--muted); margin: 12px 0 0; }
.journey-canvas .one-way-page #directoryReset { min-height: 48px; font-size: 13px; background: #eee7db; color: var(--ink); border: 1px solid var(--line); }
.journey-canvas .one-way-page .city-directory-jump { position: static; padding-block: 18px; gap: 8px; margin: 0; }
.journey-canvas .one-way-page .city-directory-jump a { min-width: 40px; height: 40px; background: #fffdf8; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.journey-canvas .one-way-page .city-directory-jump a:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.journey-canvas .one-way-page .city-directory-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 0; align-items: start; }
.journey-canvas .one-way-page .city-directory-card { min-width: 0; border: 1px solid var(--line); padding: 0; box-shadow: none; overflow: hidden; }
.journey-canvas .one-way-page .city-directory-top { padding: 20px; background: #eee7db; border-bottom: 1px solid var(--line); }
.journey-canvas .one-way-page .directory-from { display: block; color: #73511d; font-size: 10px; letter-spacing: .12em; margin-bottom: 8px; }
.journey-canvas .one-way-page .city-directory-top h3 { font-family: var(--journey-serif); font-size: 28px; font-weight: 400; line-height: 1.15; overflow-wrap: anywhere; margin: 0 0 10px; }
.journey-canvas .one-way-page .city-directory-meta { color: var(--muted); font-size: 12px; line-height: 1.7; }
.journey-canvas .one-way-page .city-directory-chips { display: flex; flex-direction: column; margin: 0; gap: 0; padding: 8px 20px; }
.journey-canvas .one-way-page .city-directory-chips:has(> a):not(:has(> a:not([hidden]))) { display: none; }
.journey-canvas .one-way-page .city-directory-chips a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 0; border: 0; border-bottom: 1px solid #e9e2d6; border-radius: 0; background: transparent; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.journey-canvas .one-way-page .city-directory-chips a:last-child { border-bottom: 0; }
.journey-canvas .one-way-page .city-directory-chips a span { color: #73511d; flex-shrink: 0; }
.journey-canvas .one-way-page .city-directory-chips a:hover { color: #73511d; text-decoration: underline; text-underline-offset: 4px; }
.journey-canvas .one-way-page .city-directory-more { border-top: 1px solid var(--line); }
.journey-canvas .one-way-page .city-directory-more summary { padding: 16px 20px; font-size: 12px; font-weight: 600; line-height: 1.7; color: #73511d; cursor: pointer; }
.journey-canvas .one-way-page .directory-unavailable { border: 1px dashed #bba77c; border-radius: 12px; background: #fffdf8; padding: 32px; margin-top: 20px; }
.journey-canvas .one-way-page .directory-unavailable h3 { font-size: 28px; margin: 0 0 12px; }
.journey-canvas .one-way-page .directory-unavailable p { font-size: 15px; line-height: 1.8; color: var(--muted); }
.journey-canvas .one-way-page .directory-unavailable a { display: inline-block; padding: 12px; color: #73511d; font-size: 14px; }
.journey-canvas .one-way-planning { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 40px; border-radius: 12px; background: #eee7db; margin-block: 20px 48px; }
.journey-canvas .one-way-planning h2 { font-size: clamp(32px,3.5vw,44px); line-height: 1.12; margin: 16px 0; }
.journey-canvas .one-way-planning :is(p,a) { font-size: 14px; line-height: 1.9; color: var(--muted); }
.journey-canvas .one-way-planning a { display: inline-block; padding-block: 10px; color: #73511d; }
.journey-canvas .one-way-notes article { border-bottom: 1px solid #cfc5b3; padding-block: 0 16px; margin-bottom: 22px; }
.journey-canvas .one-way-notes article:last-child { border: 0; padding: 0; margin: 0; }
.journey-canvas .one-way-notes h3 { font-size: 17px; margin: 0 0 12px; }
.journey-canvas .one-way-faq { padding-block: 12px 48px; }
.journey-canvas .one-way-faq h2 { font-size: clamp(32px,3.5vw,44px); margin-block: 14px 24px; }
.journey-canvas .one-way-faq .faq-accordion { max-width: none; }
.journey-canvas .one-way-faq .faq-item { border: 1px solid var(--line); background: #fffdf8; border-radius: 10px; box-shadow: none; margin-bottom: 12px; }
.journey-canvas .one-way-faq .faq-toggle { font-size: 16px; line-height: 1.6; padding: 20px; color: var(--ink); }
.journey-canvas .one-way-faq .faq-chevron { color: #73511d; }
.journey-canvas .one-way-faq .faq-answer { padding: 0 20px 22px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.journey-canvas .one-way-faq-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 20px; }
.journey-canvas .one-way-faq-links a { display: inline-block; padding-block: 10px; color: #73511d; font-size: 14px; }
.journey-canvas .one-way-final { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 40px; background: var(--ink); border-radius: 12px; margin: 0 0 56px; }
.journey-canvas .one-way-final h2 { font-size: clamp(32px,3.5vw,46px); line-height: 1.1; color: var(--paper); margin: 0 0 16px; }
.journey-canvas .one-way-final p { font-size: 14px; line-height: 1.8; color: #e6ddcd; margin: 0; }
.journey-canvas .one-way-final .button { flex-shrink: 0; min-height: 48px; font-size: 14px; }
@media (max-width: 1199px) {
  .journey-canvas .one-way-page .city-directory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .journey-canvas .one-way-page .search-fields { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .journey-canvas .one-way-page .journey-arrow { display: none; }
}
@media (max-width: 767px) {
  .journey-canvas .one-way-hero { grid-template-columns: minmax(0,1fr); gap: 24px; padding-block: 16px 28px; }
  .journey-canvas .one-way-hero h1 { font-size: clamp(42px,11vw,64px); }
  .journey-canvas .one-way-hero img { aspect-ratio: 1.8; }
  .journey-canvas .one-way-steps { grid-template-columns: minmax(0,1fr); gap: 22px; padding-block: 28px; }
  .journey-canvas .one-way-page .city-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .journey-canvas .one-way-planning { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 24px; }
  .journey-canvas .one-way-final { align-items: start; flex-direction: column; padding: 28px; }
}
@media (max-width: 479px) {
  .journey-canvas .one-way-page .breadcrumb { padding-block: 20px 12px; }
  .journey-canvas .one-way-hero p { font-size: 15px; }
  .journey-canvas .one-way-page .search-top { padding: 16px; flex-direction: column; gap: 6px; }
  .journey-canvas .one-way-page .search-fields { grid-template-columns: minmax(0,1fr); padding: 20px 16px 0; }
  .journey-canvas .one-way-page .search-panel .fine { padding: 14px 16px 18px; }
  .journey-canvas .one-way-directory { padding-block: 32px; }
  .journey-canvas .one-way-page .directory-controls { padding: 16px; }
  .journey-canvas .one-way-page .directory-search-row { flex-wrap: wrap; }
  .journey-canvas .one-way-page .city-directory-grid { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .one-way-page .city-directory-jump { gap: 6px; }
  .journey-canvas .one-way-page .city-directory-jump a { min-width: 38px; height: 40px; }
  .journey-canvas .one-way-faq .faq-toggle { padding: 16px; font-size: 15px; }
}
/* FAQ: one search, visible topics and readable answers. */
.journey-canvas .faq-page .faq-hero { padding-block: 24px 36px; }
.journey-canvas .faq-page :is(.faq-hero,.faq-conversion-cta)::before,
.journey-canvas .faq-page .faq-hero::after { display: none; }
.journey-canvas .faq-page .faq-hero-top { margin-bottom: 24px; }
.journey-canvas .faq-page .breadcrumb { padding-block: 12px; font-size: 12px; }
.journey-canvas .faq-page .faq-hero-copy { max-width: 820px; margin-bottom: 28px; }
.journey-canvas .faq-page .faq-hero-copy h1 { font-size: clamp(42px,5.1vw,72px); line-height: 1.06; letter-spacing: -1.5px; margin-block: 18px; }
.journey-canvas .faq-page .faq-hero-copy p { font-size: 16px; line-height: 1.8; max-width: 650px; }
.journey-canvas .faq-page .faq-search-card { max-width: 850px; border: 1px solid var(--line); padding: 18px; margin: 0; }
.journey-canvas .faq-page .faq-search-input { min-width: 0; min-height: 58px; background: #f7f3e9; border: 1px solid #d5cbb9; font-size: 16px; border-radius: 8px; padding-right: 52px; }
.journey-canvas .faq-page .faq-search-input::placeholder { color: #6c675f; opacity: 1; }
.journey-canvas .faq-page .faq-search-input:focus-visible { outline: 2px solid #886000; outline-offset: 2px; box-shadow: none; }
.journey-canvas .faq-page .faq-search-icon { background: transparent; color: #73511d; }
.journey-canvas .faq-page .faq-search-clear { right: 8px; width: 44px; height: 44px; justify-content: center; }
.journey-canvas .faq-page .faq-search-help { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 10px 0 0; }
.journey-canvas .faq-page .faq-hub-grid { grid-template-columns: minmax(0,1fr) 320px; gap: 44px; }
.journey-canvas .faq-page .faq-main-wrap { padding-block: 24px 64px; }
.journey-canvas .faq-page .faq-main-column { min-width: 0; }
.journey-canvas .faq-page .faq-section-intro h2 { font-size: clamp(28px,3vw,38px); line-height: 1.2; margin: 12px 0 24px; }
.journey-canvas .faq-page .faq-pills-bar { flex-wrap: wrap; overflow: visible; gap: 10px; padding: 0; margin-bottom: 20px; }
.journey-canvas .faq-page .faq-cat-pill { min-height: 44px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; color: var(--ink); box-shadow: none; }
.journey-canvas .faq-page .faq-cat-pill:hover { border-color: #a2844d; background: #eee7db; }
.journey-canvas .faq-page .faq-cat-pill.active { color: #fff9e9; background: var(--ink); border-color: var(--ink); }
.journey-canvas .faq-page .faq-pill-count { font-size: 12px; background: #eee7db; color: #654c22; }
.journey-canvas .faq-page .faq-cat-pill.active .faq-pill-count { background: #fff9e924; color: #fff9e9; }
.journey-canvas .faq-page .faq-results-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.journey-canvas .faq-page #faqResultCount { font-size: 13px; color: var(--muted); margin: 0; overflow-wrap: anywhere; }
.journey-canvas .faq-page #faqReset { background: transparent; color: #73511d; border: 0; padding: 10px 0; min-height: 44px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.journey-canvas .faq-page .faq-hub-group-header { padding-top: 24px; margin-bottom: 14px; font-size: 17px; gap: 12px; }
.journey-canvas .faq-page .faq-hub-group-icon { background: #eee7db; color: #73511d; }
.journey-canvas .faq-page .faq-hub-item { border: 1px solid var(--line); margin-bottom: 10px; box-shadow: none; }
.journey-canvas .faq-page .faq-hub-item:has([aria-expanded="true"]) { border-color: #ac8b48; background: #fffaf0; }
.journey-canvas .faq-page .faq-hub-toggle { align-items: center; min-height: 68px; padding: 20px; gap: 14px; }
.journey-canvas .faq-page .faq-hub-toggle:focus-visible { outline: 2px solid #886000; outline-offset: -4px; }
.journey-canvas .faq-page .faq-hub-num { font-size: 12px; color: #776747; margin: 0; min-width: 20px; font-weight: 500; }
.journey-canvas .faq-page .faq-hub-q-text { font-size: 16px; line-height: 1.6; font-weight: 600; }
.journey-canvas .faq-page .faq-hub-chevron { color: #73511d; margin: 0; }
.journey-canvas .faq-page .faq-hub-body { padding: 0 54px 24px; font-size: 15px; line-height: 1.9; color: #56564f; }
.journey-canvas .faq-page .faq-sidebar { position: sticky; top: 110px; gap: 18px; }
.journey-canvas .faq-page .faq-sidebar-card { padding: 26px; background: #fffdf8; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.journey-canvas .faq-page .faq-sidebar-card h2 { font-size: 28px; line-height: 1.15; margin: 0 0 16px; }
.journey-canvas .faq-page .faq-sidebar-card p { font-size: 14px; line-height: 1.8; }
.journey-canvas .faq-page .faq-sidebar-card:first-child { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.journey-canvas .faq-page .faq-sidebar-card:first-child h2 { color: var(--paper); font-size: 34px; }
.journey-canvas .faq-page .faq-sidebar-card:first-child :is(p,.faq-contact-details a) { color: #e6ddcd; }
.journey-canvas .faq-page .faq-card-eyebrow { color: #ffda7f; font-size: 12px; margin-bottom: 18px; }
.journey-canvas .faq-page .faq-contact-details:empty { display: none; }
.journey-canvas .faq-page .faq-contact-details { margin-block: 12px 18px; overflow-wrap: anywhere; }
.journey-canvas .faq-page .faq-contact-details p { margin: 0; }
.journey-canvas .faq-page .faq-contact-details a { font-size: 14px; padding-block: 8px; text-decoration: underline; text-underline-offset: 4px; }
.journey-canvas .faq-page :is(.button,.button-secondary,.button-outline) { min-height: 48px; text-align: center; font-size: 14px; }
.journey-canvas .faq-page .faq-sidebar-actions .button-secondary { background: #fff9e912; color: var(--paper); border: 1px solid #fff9e94d; }
.journey-canvas .faq-page .faq-link-arrow { font-size: 14px; line-height: 1.6; min-height: 44px; color: #73511d; gap: 12px; }
.journey-canvas .faq-page .faq-empty-state { background: #fffdf8; border: 1px dashed #bba77c; padding: 36px 24px; box-shadow: none; }
.journey-canvas .faq-page .faq-empty-state h2 { font-size: 30px; line-height: 1.2; }
.journey-canvas .faq-page .faq-empty-state p { font-size: 15px; line-height: 1.8; }
.journey-canvas .faq-page .faq-empty-state .button-secondary { margin: 0 8px 12px 0; background: #eee7db; }
.journey-canvas .faq-page .faq-conversion-cta { background: #eee7db; color: var(--ink); margin: 0; padding-block: 48px; }
.journey-canvas .faq-page .faq-cta-content h2 { color: var(--ink); font-size: clamp(32px,4vw,48px); font-weight: 400; }
.journey-canvas .faq-page .faq-cta-content p { color: var(--muted); }
.journey-canvas .faq-page .faq-cta-buttons .button-outline { color: var(--ink); border-color: #a89c86; }
@media (max-width: 1023px) {
  .journey-canvas .faq-page .faq-hub-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .journey-canvas .faq-page .faq-sidebar { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .journey-canvas .faq-page .faq-sidebar-card:first-child { grid-column: 1 / -1; }
}
@media (max-width: 639px) {
  .journey-canvas .faq-page .faq-hero { padding-block: 12px 28px; }
  .journey-canvas .faq-page .faq-hero-top { margin-bottom: 14px; }
  .journey-canvas .faq-page .faq-hero-copy h1 { font-size: clamp(38px,10.5vw,52px); letter-spacing: -1px; }
  .journey-canvas .faq-page .faq-hero-copy p { font-size: 15px; }
  .journey-canvas .faq-page .faq-search-card { padding: 12px; }
  .journey-canvas .faq-page .faq-search-input { padding-left: 42px; }
  .journey-canvas .faq-page .faq-search-icon { left: 12px; }
  .journey-canvas .faq-page .faq-section-intro h2 { font-size: 30px; }
  .journey-canvas .faq-page .faq-pills-bar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .journey-canvas .faq-page .faq-cat-pill { min-width: 0; justify-content: space-between; font-size: 12px; padding: 10px; gap: 5px; }
  .journey-canvas .faq-page .faq-cat-pill > svg { display: none; }
  .journey-canvas .faq-page .faq-hub-toggle { padding: 16px; gap: 10px; }
  .journey-canvas .faq-page .faq-hub-num { display: none; }
  .journey-canvas .faq-page .faq-hub-q-text { font-size: 15px; }
  .journey-canvas .faq-page .faq-hub-body { padding: 0 16px 20px; font-size: 14px; }
  .journey-canvas .faq-page .faq-sidebar { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .faq-page .faq-sidebar-card { padding: 24px; }
  .journey-canvas .faq-page .faq-cta-buttons { flex-direction: column; align-items: stretch; }
}
/* Route guides: readable details and a consistent journey hierarchy. */
.journey-canvas .dynamic-route-page .breadcrumb { font-size: 12px; line-height: 1.7; padding-block: 12px 26px; }
.journey-canvas .dynamic-route-page .route-master-hero { padding-block: 24px 48px; }
.journey-canvas .dynamic-route-page .route-master-hero-grid { align-items: start; gap: 36px; }
.journey-canvas .dynamic-route-page h1 { font-size: clamp(38px,4.4vw,64px); line-height: 1.08; letter-spacing: -1.4px; text-wrap: balance; }
.journey-canvas .dynamic-route-page h1 span { color: #876000; margin-top: 8px; }
.journey-canvas .dynamic-route-page .route-lead { font-size: 16px; line-height: 1.8; }
.journey-canvas .dynamic-route-page .route-eyebrow { background: #eee7d8; color: #73511d; font-size: 11px; letter-spacing: .12em; }
.journey-canvas .dynamic-route-page .route-starting { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; padding: 16px 0; margin-bottom: 0; background: transparent; border-block: 1px solid var(--line); font-size: 14px; }
.journey-canvas .dynamic-route-page .route-starting strong { margin: 0; font-size: 28px; }
.journey-canvas .dynamic-route-page .route-metrics { background: transparent; gap: 10px; margin-top: 16px; }
.journey-canvas .dynamic-route-page .route-metrics > span { background: #fffdf8; border: 1px solid var(--line); padding: 12px 14px; font-size: 12px; align-content: center; }
.journey-canvas .dynamic-route-page .route-reservation { background: #fffdf8; border: 1px solid var(--line); padding: 28px; box-shadow: 0 12px 36px #382c1108; }
.journey-canvas .dynamic-route-page .route-reservation h2 { font-size: 27px; line-height: 1.2; }
.journey-canvas .dynamic-route-page .route-live-label { background: #eee7d8; color: #654c22; font-size: 12px; padding: 6px 10px; margin-block: 4px 20px; }
.journey-canvas .dynamic-route-page .route-reservation label { display: block; font-size: 13px; line-height: 1.5; margin-bottom: 16px; }
.journey-canvas .dynamic-route-page .route-reservation :is(input,select) { min-height: 48px; background: #fbf8f1; color: var(--ink); border: 1px solid #d5cbb9; font-size: 16px; padding: 12px; }
.journey-canvas .dynamic-route-page .route-reservation :is(input,select):focus-visible { outline: 2px solid #886000; outline-offset: 2px; border-color: #886000; }
.journey-canvas .dynamic-route-page :is(button,.button) { min-height: 48px; font-size: 14px; }
.journey-canvas .dynamic-route-page .route-reservation .fine { font-size: 12px; line-height: 1.7; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-section { padding-block: 48px; }
.journey-canvas .dynamic-route-page .route-section h2 { font-size: clamp(30px,3.1vw,42px); line-height: 1.16; text-wrap: balance; margin-block: 12px 18px; }
.journey-canvas .dynamic-route-page .route-section > p { max-width: 850px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-overview-grid { gap: 16px; }
.journey-canvas .dynamic-route-page .route-overview-grid article { background: #fffdf8; border: 1px solid var(--line); padding: 22px; border-radius: 12px; box-shadow: none; }
.journey-canvas .dynamic-route-page .route-overview-grid span { font-size: 12px; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-overview-grid strong { font-family: inherit; color: var(--ink); font-weight: 600; font-size: 21px; line-height: 1.4; margin-block: 12px; }
.journey-canvas .dynamic-route-page .route-overview-grid p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-connectivity { background: transparent; gap: 32px; align-items: center; }
.journey-canvas .dynamic-route-page .route-connectivity h3 { font-size: 18px; line-height: 1.4; }
.journey-canvas .dynamic-route-page .route-connectivity p { font-size: 14px; line-height: 1.8; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-city-line span { min-width: 0; overflow-wrap: anywhere; font-size: 17px; }
.journey-canvas .dynamic-route-page .route-fleet-grid { gap: 20px; }
.journey-canvas .dynamic-route-page #route-pricing-status { font-size: 13px; padding: 12px 16px; border-left: 3px solid #b18b39; background: #eee7db; border-radius: 0 6px 6px 0; }
.journey-canvas .dynamic-route-page .route-fleet-card { padding: 20px; border-width: 1px; }
.journey-canvas .dynamic-route-page .route-fleet-card:first-child { border-color: #b18b39; }
.journey-canvas .dynamic-route-page .route-fleet-card img { height: auto; aspect-ratio: 1.6; object-fit: cover; margin-block: 18px; }
.journey-canvas .dynamic-route-page .route-fleet-card h3 { font-size: 16px; line-height: 1.6; margin-block: 0 16px; min-height: 4.8em; }
.journey-canvas .dynamic-route-page .route-fleet-price { font-size: clamp(24px,2.1vw,30px); line-height: 1.3; margin: 0 0 18px; font-variant-numeric: tabular-nums; }
.journey-canvas .dynamic-route-page .route-fleet-price small { font-size: 12px; line-height: 1.7; margin-top: 8px; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-fleet-card ul { font-size: 13px; line-height: 1.9; margin-top: 0; }
.journey-canvas .dynamic-route-page .route-fleet-card details { background: #f4efe4; border: 1px solid var(--line); padding: 0; }
.journey-canvas .dynamic-route-page .route-fleet-card summary { font-size: 12px; padding: 14px 12px; cursor: pointer; }
.journey-canvas .dynamic-route-page .route-fleet-card .fare { font-size: 12px; padding: 0 12px 12px; overflow-wrap: anywhere; }
.journey-canvas .dynamic-route-page .route-comparison-scroll { border: 1px solid var(--line); border-radius: 12px; background: #fffdf8; box-shadow: none; }
.journey-canvas .dynamic-route-page caption { font-size: 16px; line-height: 1.5; }
.journey-canvas .dynamic-route-page thead { background: #eee7db; color: var(--ink); font-size: 12px; }
.journey-canvas .dynamic-route-page .route-table-hint { display: none; font-size: 12px; color: var(--muted); margin-bottom: 0; }
.journey-canvas .dynamic-route-page .route-guidance { background: #eee7db; padding: 24px; border-radius: 12px; gap: 28px; }
.journey-canvas .dynamic-route-page .route-guidance > img { height: 100%; min-height: 300px; max-height: 460px; }
.journey-canvas .dynamic-route-page .route-guidance-grid p { line-height: 1.8; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-charges { background: transparent; gap: 20px; }
.journey-canvas .dynamic-route-page .route-charges article { border: 1px solid var(--line); background: #fffdf8; }
.journey-canvas .dynamic-route-page .route-charges p { line-height: 1.8; color: var(--muted); }
.journey-canvas .dynamic-route-page .route-faq-list { max-width: none; }
.journey-canvas .dynamic-route-page .route-faq-list details { background: #fffdf8; border: 1px solid var(--line); padding: 0; }
.journey-canvas .dynamic-route-page .route-faq-list summary { padding: 20px; font-size: 16px; line-height: 1.6; }
.journey-canvas .dynamic-route-page .route-faq-list details[open] { border-color: #b18b39; }
.journey-canvas .dynamic-route-page .route-faq-list p { padding: 0 20px 20px; margin: 0; line-height: 1.8; color: var(--muted); }
.journey-canvas .dynamic-route-page section:has(> .route-related-grid:empty) { display: none; }
.journey-canvas .dynamic-route-page .route-related-grid a { border: 1px solid var(--line); background: #fffdf8; display: flex; flex-direction: column; }
.journey-canvas .dynamic-route-page .route-related-grid h3 { line-height: 1.5; }
.journey-canvas .dynamic-route-page .route-related-grid strong { margin-top: auto; padding-top: 12px; color: #73511d; }
.journey-canvas .dynamic-route-page .route-master-cta { background: var(--ink); color: var(--paper); padding-block: 40px; margin-bottom: 0; }
.journey-canvas .dynamic-route-page .route-master-cta h2 { color: var(--paper); font-size: clamp(28px,3vw,38px); line-height: 1.2; margin: 0 0 14px; }
.journey-canvas .dynamic-route-page .route-master-cta p { color: #e6ddcd; line-height: 1.8; }
.journey-canvas .dynamic-route-page .route-master-cta a:not(.button) { color: var(--paper); padding-block: 12px; text-underline-offset: 4px; }
@media (max-width: 1023px) {
  .journey-canvas .dynamic-route-page .route-fleet-card h3 { min-height: 3.2em; }
  .journey-canvas .dynamic-route-page .route-guidance > img { height: 300px; min-height: 0; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .journey-canvas .dynamic-route-page .route-fleet-card h3 { min-height: 6.4em; }
}
@media (max-width: 639px) {
  .journey-canvas .dynamic-route-page .route-table-hint { display: block; }
  .journey-canvas .dynamic-route-page .route-master-hero { padding-block: 12px 28px; }
  .journey-canvas .dynamic-route-page .route-master-hero-grid { gap: 28px; }
  .journey-canvas .dynamic-route-page .route-reservation { padding: 20px; }
  .journey-canvas .dynamic-route-page .route-reservation h2 { font-size: 25px; }
  .journey-canvas .dynamic-route-page .route-section { padding-block: 32px; }
  .journey-canvas .dynamic-route-page .route-section h2 { font-size: 30px; }
  .journey-canvas .dynamic-route-page .route-city-line { padding: 24px 16px; gap: 12px; }
  .journey-canvas .dynamic-route-page .route-city-line span { font-size: 15px; }
  .journey-canvas .dynamic-route-page .route-fleet-card h3 { min-height: 0; }
  .journey-canvas .dynamic-route-page .route-guidance { padding: 16px; }
  .journey-canvas .dynamic-route-page .route-guidance > img { height: 220px; }
  .journey-canvas .dynamic-route-page .route-form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .journey-canvas .dynamic-route-page .route-faq-list summary { font-size: 15px; padding: 16px; }
}
/* Booking cards and the persistent journey receipt. */
.journey-canvas :is(.cab-search-page,.checkout-page,.cab-search-content) { background: var(--paper); }
.journey-canvas .cab-trip-strip { background: #eee7db; color: var(--ink); border-bottom: 1px solid var(--line); }
.journey-canvas .cab-assurance-strip { background: transparent; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.journey-canvas .booking-intro { padding-block: 32px; }.journey-canvas .booking-intro h1 { font-size: clamp(38px,4.6vw,66px); max-width: 850px; margin-block: 12px; }
.journey-canvas .booking-secure { border: 1px solid var(--line); background: #eee7db; color: var(--muted); font-size: 10px; border-radius: 30px; }
.journey-canvas .booking-progress { background: transparent; border: 0; border-bottom: 1px solid var(--line); box-shadow: none; border-radius: 0; }
.journey-canvas .booking-progress li { color: var(--muted); }.journey-canvas .booking-progress li[aria-current] { color: var(--ink); }
.journey-canvas .booking-step-number { background: #eee7db; border-color: var(--line); color: var(--muted); }.journey-canvas [aria-current="step"] .booking-step-number { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.journey-canvas .cab-search-fields { background: #fffdf7; border: 1px solid var(--line); box-shadow: none; border-radius: 12px; padding: 24px; }
.journey-canvas .cab-search-inputs { gap: 16px; }.journey-canvas .cab-search-inputs label { font-size: 10px; color: var(--muted); }
.journey-canvas :is(.cab-result-card,.checkout-passenger,.checkout-review,.booking-auth-card,.checkout-address) { border: 1px solid var(--line); border-radius: 13px; box-shadow: none; background: #fffdf8; }
.journey-canvas .cab-result-card { padding: 22px; }.journey-canvas .cab-result-card.is-selected { border: 1px solid #d09609; background: #fff8e7; box-shadow: inset 3px 0 var(--amber); }
.journey-canvas .cab-result-top { padding: 0; gap: 20px; }.journey-canvas .cab-result-vehicle { gap: 24px; min-width: 0; }
.journey-canvas .cab-result-vehicle img { width: 140px; height: 100px; object-fit: cover; mix-blend-mode: multiply; border-radius: 5px; }
.journey-canvas .cab-result-vehicle h2 { font-size: 30px; }.journey-canvas .cab-result-vehicle p { color: var(--muted); font-size: 11px; }
.journey-canvas .cab-tag { background: #eee7db; color: var(--muted); font-family: 'Plus Jakarta Sans',sans-serif; font-weight: 400; font-size: 9px; letter-spacing: 0; }
.journey-canvas .cab-selected-badge { background: var(--ink); color: #fff6e0; font-size: 8px; letter-spacing: .07em; border-radius: 0 0 0 6px; }
.journey-canvas .cab-result-price strong { font-family: var(--journey-serif); font-size: 32px; font-weight: 400; }.journey-canvas .cab-result-price :is(span,small) { color: var(--muted); font-size: 10px; }
.journey-canvas :is(.cab-inclusions,.cab-specs) { font-size: 10px; color: var(--muted); }.journey-canvas .cab-inclusions { background: transparent; border-top: 1px solid var(--line); padding: 14px 0 0; margin-top: 20px; }
.journey-canvas .cab-select-button { font-size: 11px; min-height: 38px; border-radius: 7px; }
.journey-canvas .cab-selection-card { position: relative; background: var(--ink); color: var(--paper); border: 0; border-radius: 13px; padding: 30px; box-shadow: none; overflow: hidden; }
.journey-canvas .cab-selection-card::after { content: ''; position: absolute; width: 18px; height: 18px; border-radius: 50%; background: var(--paper); left: -9px; top: 56%; box-shadow: 360px 0 var(--paper); }
.journey-canvas .cab-selection-card h2 { font-size: 35px; color: var(--paper); margin: 18px 0 24px; }
.journey-canvas .cab-selection-card :is(p,small,.fine,.booking-eyebrow) { color: #d5ccba; }.journey-canvas .cab-selection-card .booking-eyebrow { letter-spacing: .19em; font-size: 8px; }
.journey-canvas .cab-selection-card :is(h3,strong,dt,dd) { color: var(--paper); }.journey-canvas .cab-selection-card .selected-cab-price { color: var(--amber); }
.journey-canvas #selected-cab-summary .fare { background: transparent; color: #efe4d0; border-color: #ffffff26; }
.journey-canvas #selected-cab-summary .fare :is(dt,dd) { color: #efe4d0; }
.journey-canvas .cab-selection-card button { width: 100%; margin-top: 20px; min-height: 46px; font-size: 12px; }
.journey-canvas #selected-cab-summary { background: transparent; border-block: 1px dashed #fffcf235; padding-block: 20px; }
.journey-canvas #selected-cab-summary > p { background: transparent; color: #e4d9c3; padding-inline: 0; }
.journey-canvas #selected-cab-summary .fare-list { color: #efe4d0; }
.journey-canvas .cab-selection-note { font-size: 11px; line-height: 1.8; color: var(--muted); background: #eee7db; }
.journey-canvas :is(.checkout-review,.review-summary) { background: #fffdf8; border-color: var(--line); }
.journey-canvas .checkout-review h2 { font-size: 37px; }.journey-canvas .checkout-address legend { color: var(--muted); }
.journey-canvas :is(.checkout-location-note,.booking-help-note,.booking-payment-note) { background: #f2ead8; border-color: var(--line); color: var(--muted); }
.journey-canvas .confirmation-banner { background: #e8eee4; color: #204c37; border-color: #cbd9c5; border-radius: 14px; }.journey-canvas .confirmation-banner h1 { font-size: 46px; color: var(--ink); }
.journey-canvas .confirmation-check { background: #d1e4c9; color: #204c37; }.journey-canvas .fare-estimate-page { background: var(--paper); }.journey-canvas .fare-estimate-form { padding: 30px; }
/* Booking workspace: consistent surfaces from cab choice through payment. */
.journey-canvas .checkout-page .cab-search-content { max-width: 1320px; padding-block: 28px 48px; }
.journey-canvas .checkout-page section { margin-bottom: 0; }
.journey-canvas .checkout-page .cab-trip-strip { background: #eee7db; border-bottom: 1px solid var(--line); }
.journey-canvas .checkout-page .cab-trip-strip > .container { gap: 20px; padding-block: 18px; }
.journey-canvas .checkout-page #cab-trip-summary { min-width: 0; overflow-wrap: anywhere; }
.journey-canvas .checkout-page #cab-trip-summary strong { font-size: 17px; line-height: 1.6; color: var(--ink); }
.journey-canvas .checkout-page #cab-trip-summary span { font-size: 13px; line-height: 1.8; color: var(--muted); }
.journey-canvas .checkout-page #modify-cab-search { min-height: 44px; font-size: 13px; flex-shrink: 0; border-color: #bfb39d; }
.journey-canvas .checkout-page .booking-intro { padding-block: 4px 24px; margin: 0; }
.journey-canvas .checkout-page .booking-intro h1 { font-size: clamp(34px,3.8vw,50px); line-height: 1.1; margin-bottom: 14px; }
.journey-canvas .checkout-page .booking-intro p { font-size: 15px; line-height: 1.8; color: var(--muted); }
.journey-canvas .checkout-page .booking-secure { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 8px; background: #fffdf8; color: #65512c; }
.journey-canvas .checkout-page .booking-eyebrow { font-size: 11px; font-weight: 600; color: #73511d; line-height: 1.6; letter-spacing: .12em; }
.journey-canvas .checkout-page .booking-progress { position: sticky; top: 90px; z-index: 8; padding: 18px 24px; background: #fffdf8; border: 1px solid var(--line); border-radius: 12px; margin: 0 0 28px; }
.journey-canvas .checkout-page .booking-progress li { font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--muted); }
.journey-canvas .checkout-page .booking-progress li::after { background: var(--line); }
.journey-canvas .checkout-page .booking-step-number { width: 34px; height: 34px; font-size: 13px; background: #eee7db; color: var(--muted); }
.journey-canvas .checkout-page .booking-progress [aria-current] { color: var(--ink); font-weight: 600; }
.journey-canvas .checkout-page .booking-progress [aria-current] .booking-step-number { background: var(--amber); color: var(--ink); box-shadow: none; }
.journey-canvas .checkout-page .booking-progress .is-complete .booking-step-number { background: #e7ecdf; color: #345039; }
.journey-canvas .checkout-page :is(#booking-details,#checkout-review,#checkout-payment-recovery) { scroll-margin-top: 190px; }
.journey-canvas .checkout-page .cab-results-layout { grid-template-columns: minmax(0,1fr) 350px; gap: 28px; align-items: start; }
.journey-canvas .checkout-page .cab-selection-panel { top: 180px; }
.journey-canvas .checkout-page .booking-section-heading { align-items: center; gap: 16px; margin-bottom: 22px; }
.journey-canvas .checkout-page .booking-section-heading h2 { font-size: clamp(28px,3vw,38px); line-height: 1.15; font-weight: 400; }
.journey-canvas .checkout-page #checkout-change-cab { min-height: 44px; font-size: 13px; border: 1px solid #bfb39d; background: #fffdf8; color: #73511d; }
.journey-canvas .checkout-page :is(.checkout-details-card,.checkout-auth .card,.cab-search-fields) { background: #fffdf8; border: 1px solid var(--line); border-radius: 12px; padding: 28px; box-shadow: 0 8px 28px #382c1105; }
.journey-canvas .checkout-page .checkout-auth { margin: 0 0 22px; }
.journey-canvas .checkout-page .checkout-card-kicker { display: block; font-size: 11px; font-weight: 600; letter-spacing: .12em; color: #73511d; line-height: 1.7; margin-bottom: 14px; }
.journey-canvas .checkout-page .checkout-auth h2 { font-family: var(--journey-serif); font-size: 30px; font-weight: 400; line-height: 1.15; margin: 0 0 14px; }
.journey-canvas .checkout-page .checkout-auth p { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0 0 22px; }
.journey-canvas .checkout-page :is(label,legend) { font-size: 13px; line-height: 1.6; font-weight: 600; color: var(--ink); }
.journey-canvas .checkout-page #otp-request label { margin-bottom: 8px; }
.journey-canvas .checkout-page :is(input,select,textarea) { border: 1px solid #cfc3af; background: #fbf8f1; color: var(--ink); font-size: 16px; padding: 12px 14px; min-height: 50px; border-radius: 8px; }
.journey-canvas .checkout-page :is(input,select,textarea):focus-visible { outline: 2px solid #886000; outline-offset: 2px; }
.journey-canvas .checkout-page :is(input,textarea)::placeholder { color: #716b61; opacity: 1; }
.journey-canvas .checkout-page input:is([type=checkbox],[type=radio]) { min-height: 0; padding: 0; width: 18px; height: 18px; }
.journey-canvas .checkout-page :is(button,.button) { min-height: 48px; font-size: 14px; }
.journey-canvas .checkout-page #otp-request input { margin: 0; }
.journey-canvas .checkout-page #otp-request button { width: 100%; margin: 0; }
.journey-canvas .checkout-page #booking-phone-hint { font-size: 12px; margin-block: 10px 18px; }
.journey-canvas .checkout-page .checkout-auth .checkout-auth-note { font-size: 12px; border-top: 1px solid var(--line); margin: 22px 0 0; padding-top: 16px; }
.journey-canvas .checkout-page .checkout-auth a { color: #73511d; text-underline-offset: 4px; }
.journey-canvas .checkout-page #otp-verify { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 22px; }
.journey-canvas .checkout-page #otp-verify .checkout-code-label { font-size: 14px; color: var(--ink); margin-bottom: 14px; }
.journey-canvas .checkout-page .otp-boxes { gap: 10px; margin-bottom: 18px; }
.journey-canvas .checkout-page .otp-boxes .otp-digit { min-width: 0; width: 100%; min-height: 54px; padding: 8px; font-size: 22px; text-align: center; }
.journey-canvas .checkout-page #otp-verify button { width: 100%; }
.journey-canvas .checkout-page #session { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 22px; border: 1px solid #ccd5bd; background: #eef1e8; border-radius: 12px; }
.journey-canvas .checkout-page .checkout-signed-in { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 14px; color: #345039; overflow-wrap: anywhere; }
.journey-canvas .checkout-page .checkout-verified-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #d9e4cf; flex-shrink: 0; }
.journey-canvas .checkout-page #logout { font-size: 12px; min-height: 40px; }
.journey-canvas .checkout-page .checkout-details-card > h3 { font-family: var(--journey-serif); font-size: 30px; line-height: 1.15; font-weight: 400; margin-bottom: 14px; }
.journey-canvas .checkout-page .checkout-details-card > .fine { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0 0 22px; }
.journey-canvas .checkout-page .checkout-hint { background: #f2ecdf; border: 1px dashed #cabb9e; padding: 18px; font-size: 14px; line-height: 1.8; color: #65512c; margin: 0; }
.journey-canvas .checkout-page .checkout-hint span { margin-right: 8px; }
.journey-canvas .checkout-page fieldset { margin: 24px 0; min-width: 0; }
.journey-canvas .checkout-page .checkout-address { padding: 0 0 24px; background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.journey-canvas .checkout-page .checkout-address legend { font-size: 15px; color: var(--ink); padding: 0; margin-bottom: 14px; }
.journey-canvas .checkout-page .checkout-address-search { align-items: center; gap: 12px; }
.journey-canvas .checkout-page .checkout-address-search button { min-height: 50px; background: #eee7db; border: 1px solid var(--line); color: #73511d; font-size: 13px; padding: 12px 14px; margin: 0; }
.journey-canvas .checkout-page .place-results button { background: #f2ecdf; color: var(--ink); border: 1px solid var(--line); margin-top: 10px; font-size: 14px; padding: 14px; }
.journey-canvas .checkout-page .checkout-address .fine { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 10px 0 0; }
.journey-canvas .checkout-page .checkout-traveler-grid { gap: 18px; }
.journey-canvas .checkout-page .checkout-traveler legend { font-size: 15px; }
.journey-canvas .checkout-page .checkout-traveler textarea { resize: vertical; min-height: 90px; }
.journey-canvas .checkout-page .checkout-deposit-note { padding: 16px; background: #f2ecdf; border-radius: 8px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.journey-canvas .checkout-page #checkout-submit-area { padding-top: 20px; border-top: 1px solid var(--line); }
.journey-canvas .checkout-page #checkout-submit-area .check { display: flex; flex-wrap: nowrap; align-items: start; gap: 12px; font-size: 13px; line-height: 1.8; }
.journey-canvas .checkout-page #checkout-submit-area .check span { min-width: 0; flex: 1; }
.journey-canvas .checkout-page #checkout-submit-area .check input { margin-top: 4px; }
.journey-canvas .checkout-page #checkout-proceed { min-height: 52px; }
.journey-canvas .checkout-page .cab-selection-card { padding: 26px; border-radius: 12px; }
.journey-canvas .checkout-page .cab-selection-card::after { display: none; }
.journey-canvas .checkout-page .cab-selection-card > .booking-eyebrow { color: #e8d49e; font-size: 10px; }
.journey-canvas .checkout-page .cab-selection-card > h2 { font-size: 34px; line-height: 1.1; margin: 12px 0 24px; }
.journey-canvas .checkout-page #selected-cab-summary { border: 0; padding: 0; }
.journey-canvas .checkout-page .selected-cab-heading { display: flex; align-items: center; gap: 16px; padding-bottom: 22px; border-bottom: 1px solid #ffffff30; }
.journey-canvas .checkout-page .selected-cab-heading img { width: 88px; height: 64px; object-fit: cover; border-radius: 6px; }
.journey-canvas .checkout-page #selected-cab-summary h3 { font-family: inherit; font-size: 19px; line-height: 1.4; margin: 5px 0; }
.journey-canvas .checkout-page .summary-label { display: block; font-size: 10px; letter-spacing: .1em; color: #d8cba9; line-height: 1.7; }
.journey-canvas .checkout-page .summary-capacity { font-size: 12px; color: #e6ddcd; }
.journey-canvas .checkout-page .summary-journey { display: grid; grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr); align-items: start; gap: 10px; padding-block: 22px; }
.journey-canvas .checkout-page .summary-journey:has(.summary-rental) { grid-template-columns: minmax(0,1fr); }
.journey-canvas .checkout-page .summary-journey strong { display: block; margin-top: 5px; font-size: 15px; line-height: 1.6; font-weight: 500; overflow-wrap: anywhere; }
.journey-canvas .checkout-page .summary-route-arrow { display: block; color: #e0c779; margin-top: 26px; transform: rotate(-90deg); }
.journey-canvas .checkout-page .summary-rental { font-size: 14px; line-height: 1.8; margin: 8px 0 0; }
.journey-canvas .checkout-page .summary-schedule { padding: 16px; border: 1px solid #ffffff30; border-radius: 8px; }
.journey-canvas .checkout-page .summary-schedule time { display: block; color: var(--paper); font-size: 14px; line-height: 1.6; margin-top: 6px; }
.journey-canvas .checkout-page .summary-return { margin-top: 14px; }
.journey-canvas .checkout-page .summary-estimate { display: flex; flex-direction: column; gap: 7px; margin-block: 22px; }
.journey-canvas .checkout-page .summary-estimate > span { font-size: 13px; color: #e6ddcd; }
.journey-canvas .checkout-page .summary-estimate strong { font-family: var(--journey-serif); font-size: 38px; font-weight: 400; line-height: 1.1; }
.journey-canvas .checkout-page .summary-estimate small { font-size: 12px; color: #e6ddcd; }
.journey-canvas .checkout-page .summary-fare-details { border-block: 1px solid #ffffff30; padding: 0; }
.journey-canvas .checkout-page .summary-fare-details summary { font-size: 13px; padding-block: 15px; cursor: pointer; color: #ffdf84; line-height: 1.7; }
.journey-canvas .checkout-page #selected-cab-summary .fare { margin: 0 0 18px; padding: 0; font-size: 12px; }
.journey-canvas .checkout-page .fare dt { text-transform: capitalize; }
.journey-canvas .checkout-page .cab-selection-panel:has(details[open]) { position: static; }
.journey-canvas .checkout-page #selected-cab-summary .summary-price-note { color: #e6ddcd; font-size: 12px; line-height: 1.8; padding: 16px 0 0; margin: 0; }
.journey-canvas .checkout-page #checkout-continue { min-height: 50px; font-size: 14px; }
.journey-canvas .checkout-page #checkout-continue-hint { color: #e6ddcd; font-size: 12px; line-height: 1.8; }
.journey-canvas .checkout-page .cab-selection-note { border: 1px solid var(--line); border-radius: 10px; padding: 20px; font-size: 14px; margin-top: 18px; }
.journey-canvas .checkout-page .cab-selection-note strong { color: var(--ink); font-weight: 500; }
.journey-canvas .checkout-page .cab-selection-note p { font-size: 13px; line-height: 1.8; margin: 8px 0 0; }
.journey-canvas .checkout-page .cab-selection-note a { color: #73511d; }
.journey-canvas .checkout-page .cab-trust-ribbon { border: 1px solid var(--line); border-radius: 10px; background: #eee7db; padding: 18px; }
.journey-canvas .checkout-page .cab-trust-ribbon p { font-size: 13px; line-height: 1.7; margin-top: 6px; color: var(--muted); }
.journey-canvas .checkout-page .cab-trust-icon { color: #73511d; background: #fff9e9; }
.journey-canvas .checkout-page .cab-results-heading h2 { font-family: var(--journey-serif); font-size: 34px; font-weight: 400; }
.journey-canvas .checkout-page :is(.cab-category-note,#cab-results-status) { font-size: 13px; line-height: 1.8; color: var(--muted); }
.journey-canvas .checkout-page .cab-result-card { background: #fffdf8; border: 1px solid var(--line); border-radius: 12px; padding: 24px; box-shadow: none; }
.journey-canvas .checkout-page .cab-result-card.is-selected { border-color: #a27c26; background: #fff8e8; box-shadow: inset 3px 0 #c19a3d; }
.journey-canvas .checkout-page .cab-result-top { display: grid; grid-template-columns: minmax(0,1fr) 142px; gap: 20px; align-items: center; }
.journey-canvas .checkout-page .cab-result-vehicle { gap: 20px; min-width: 0; }
.journey-canvas .checkout-page .cab-result-vehicle img { width: 130px; height: 100px; object-fit: cover; mix-blend-mode: normal; border-radius: 8px; }
.journey-canvas .checkout-page .cab-result-vehicle h2 { font-family: var(--journey-serif); font-size: 29px; font-weight: 400; line-height: 1.2; }
.journey-canvas .checkout-page .cab-result-vehicle p { font-size: 12px; line-height: 1.8; margin-block: 8px; }
.journey-canvas .checkout-page .cab-tag { font-size: 10px; color: #65512c; }
.journey-canvas .checkout-page .cab-specs { font-size: 12px; gap: 10px; flex-wrap: wrap; }
.journey-canvas .checkout-page .cab-result-price strong { font-size: 30px; line-height: 1.2; }
.journey-canvas .checkout-page .cab-result-price :is(span,small) { font-size: 12px; line-height: 1.7; }
.journey-canvas .checkout-page .cab-select-button { min-height: 44px; font-size: 13px; margin-top: 14px; }
.journey-canvas .checkout-page .cab-selected-badge { position: static; display: inline-block; font-size: 11px; border-radius: 4px; padding: 6px 10px; margin: 0 0 18px; }
.journey-canvas .checkout-page .cab-inclusions { font-size: 12px; line-height: 1.8; background: transparent; border-top: 1px solid var(--line); gap: 10px; padding: 16px 0 0; }
.journey-canvas .checkout-page .cab-search-fields { margin-bottom: 24px; }
.journey-canvas .checkout-page .service-tabs { margin-bottom: 22px; }
.journey-canvas .checkout-page .service-tab { min-height: 44px; font-size: 13px; padding: 10px 14px; }
.journey-canvas .checkout-page .cab-search-inputs { align-items: end; gap: 16px; }
.journey-canvas .checkout-page .cab-search-inputs label { margin: 0; }
.journey-canvas .checkout-page .cab-search-inputs button { min-height: 50px; margin: 0; }
.journey-canvas .checkout-page .checkout-review { max-width: none; padding: 32px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf8; margin: 0; box-shadow: none; }
.journey-canvas .checkout-page .checkout-review > h2 { font-size: 46px; line-height: 1.1; margin: 12px 0 18px; }
.journey-canvas .checkout-page .checkout-review > p { font-size: 15px; line-height: 1.8; color: var(--muted); max-width: 850px; }
.journey-canvas .checkout-page .checkout-review-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,360px); gap: 32px; margin-top: 28px; }
.journey-canvas .checkout-page .checkout-review-grid h3 { font-family: var(--journey-serif); font-size: 28px; font-weight: 400; line-height: 1.2; margin: 0 0 20px; }
.journey-canvas .checkout-page .review-summary { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 14px 20px; border: 0; background: transparent; padding: 0; margin: 0 0 24px; font-size: 14px; line-height: 1.8; }
.journey-canvas .checkout-page .review-summary dt { color: var(--muted); font-weight: 400; }
.journey-canvas .checkout-page .review-summary dd { color: var(--ink); margin: 0; overflow-wrap: anywhere; }
.journey-canvas .checkout-page .checkout-review-fare { background: #f2ecdf; border: 1px solid var(--line); border-radius: 10px; padding: 24px; }
.journey-canvas .checkout-page .checkout-review-fare .fare { font-size: 13px; margin: 0; }
.journey-canvas .checkout-page .checkout-payment-panel { background: #fffdf8; border: 1px solid var(--line); border-radius: 8px; padding: 18px; margin-top: 22px; }
.journey-canvas .checkout-page .checkout-payment-panel > div { padding-block: 10px; }
.journey-canvas .checkout-page .checkout-payment-panel span { font-size: 13px; line-height: 1.7; color: var(--muted); }
.journey-canvas .checkout-page .checkout-payment-panel strong { font-size: 23px; }
.journey-canvas .checkout-page .checkout-payment-panel > div:first-child strong { color: #73511d; }
.journey-canvas .checkout-page .checkout-payment-panel .fine { font-size: 12px; line-height: 1.8; }
.journey-canvas .checkout-page .checkout-inclusions { background: transparent; padding: 18px 18px 18px 30px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; line-height: 1.9; color: var(--muted); }
.journey-canvas .checkout-page .checkout-review-note { font-size: 13px; line-height: 1.8; color: var(--muted); margin-top: 24px; }
.journey-canvas .checkout-page #checkout-confirm { display: flex; flex-wrap: wrap; gap: 14px; border-top: 1px solid var(--line); padding-top: 24px; margin-top: 24px; }
.journey-canvas .checkout-page #checkout-confirm button { margin: 0; }
.journey-canvas .checkout-page .booking-payment-recovery { max-width: 800px; margin-inline: auto; border: 1px solid var(--line); background: #fffdf8; padding: 36px; }
.journey-canvas .checkout-page .booking-payment-recovery h2 { font-size: 44px; font-weight: 400; line-height: 1.1; }
.journey-canvas .checkout-page .booking-payment-recovery p { font-size: 15px; line-height: 1.8; color: var(--muted); }
.journey-canvas .checkout-page .checkout-saved-icon { display: grid; place-items: center; width: 48px; height: 48px; color: #345039; background: #e7ecdf; border-radius: 50%; font-size: 24px; margin-block: 20px; }
.journey-canvas:has(.checkout-page) .feedback.error { background: #fff1eb; border-color: #d7b4a9; color: #8f3023; }
@media (max-height: 850px) {
  .journey-canvas .checkout-page .cab-selection-panel { position: static; }
}
@media (max-width: 1100px) {
  .journey-canvas .checkout-page .cab-results-layout { grid-template-columns: minmax(0,1fr) 320px; gap: 22px; }
  .journey-canvas .checkout-page .cab-result-top { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .checkout-page .cab-result-price { text-align: left; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
  .journey-canvas .checkout-page .cab-result-price > span { width: 100%; }
  .journey-canvas .checkout-page .cab-result-price strong { margin: 0; }
  .journey-canvas .checkout-page .cab-result-price .cab-select-button { width: 100%; margin-top: 6px; }
  .journey-canvas .checkout-page .cab-result-vehicle { flex-wrap: wrap; }
  .journey-canvas .checkout-page .checkout-review-grid { grid-template-columns: minmax(0,1fr) minmax(0,320px); gap: 24px; }
}
@media (max-width: 900px) {
  .journey-canvas .checkout-page .cab-results-layout { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .checkout-page .cab-selection-panel { position: static; }
  .journey-canvas .checkout-page .checkout-review-grid { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .checkout-page .cab-result-vehicle { flex-wrap: nowrap; }
}
@media (max-width: 639px) {
  .journey-canvas .checkout-page .cab-search-content { padding-block: 22px 32px; }
  .journey-canvas .checkout-page .cab-trip-strip > .container { flex-wrap: wrap; gap: 14px; padding-block: 16px; }
  .journey-canvas .checkout-page .booking-intro { display: block; padding-bottom: 22px; }
  .journey-canvas .checkout-page:is([data-checkout-step=details],[data-checkout-step=review],[data-checkout-step=payment]) .booking-intro { padding-bottom: 18px; }
  .journey-canvas .checkout-page:is([data-checkout-step=details],[data-checkout-step=review],[data-checkout-step=payment]) .booking-intro h1 { font-size: 28px; margin-bottom: 0; }
  .journey-canvas .checkout-page:is([data-checkout-step=details],[data-checkout-step=review],[data-checkout-step=payment]) .booking-intro :is(p,.booking-eyebrow,.booking-secure) { display: none; }
  .journey-canvas .checkout-page .booking-secure { margin-top: 16px; }
  .journey-canvas .checkout-page .booking-progress { top: 74px; padding: 14px 10px; margin-bottom: 22px; }
  .journey-canvas .checkout-page .booking-progress ol { gap: 8px; }
  .journey-canvas .checkout-page .booking-progress li { flex-direction: column; gap: 7px; text-align: center; font-size: 12px; align-items: center; }
  .journey-canvas .checkout-page .booking-progress li::after { display: none; }
  .journey-canvas .checkout-page .booking-step-number { width: 30px; height: 30px; }
  .journey-canvas .checkout-page .booking-section-heading { flex-wrap: wrap; }
  .journey-canvas .checkout-page .booking-section-heading h2 { font-size: 30px; }
  .journey-canvas .checkout-page :is(.checkout-details-card,.checkout-auth .card,.cab-search-fields) { padding: 22px 18px; }
  .journey-canvas .checkout-page .checkout-auth h2,.journey-canvas .checkout-page .checkout-details-card > h3 { font-size: 28px; }
  .journey-canvas .checkout-page .checkout-address-search { flex-direction: column; align-items: stretch; }
  .journey-canvas .checkout-page .checkout-address-search button { width: 100%; }
  .journey-canvas .checkout-page .checkout-traveler-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .journey-canvas .checkout-page .otp-boxes { gap: 6px; }
  .journey-canvas .checkout-page .otp-boxes .otp-digit { padding: 6px 2px; font-size: 20px; min-height: 48px; }
  .journey-canvas .checkout-page .cab-selection-card { padding: 24px; }
  .journey-canvas .checkout-page .cab-selection-card > h2 { font-size: 32px; }
  .journey-canvas .checkout-page .cab-result-card { padding: 20px; }
  .journey-canvas .checkout-page .cab-result-vehicle { flex-direction: column; align-items: start; gap: 16px; }
  .journey-canvas .checkout-page .cab-result-vehicle img { width: 100%; height: auto; aspect-ratio: 1.65; }
  .journey-canvas .checkout-page .cab-result-vehicle h2 { font-size: 30px; }
  .journey-canvas .checkout-page .cab-result-price strong { font-size: 32px; }
  .journey-canvas .checkout-page .cab-search-inputs { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .checkout-page .service-tabs { flex-wrap: wrap; gap: 8px; }
  .journey-canvas .checkout-page .service-tab { font-size: 12px; padding: 10px; margin: 0; }
  .journey-canvas .checkout-page .checkout-review { padding: 24px 18px; }
  .journey-canvas .checkout-page .checkout-review > h2 { font-size: 38px; }
  .journey-canvas .checkout-page .review-summary { grid-template-columns: minmax(0,1fr); gap: 4px; }
  .journey-canvas .checkout-page .review-summary dd { margin-bottom: 16px; }
  .journey-canvas .checkout-page .checkout-review-fare { padding: 20px 16px; }
  .journey-canvas .checkout-page #checkout-confirm { flex-direction: column; }
  .journey-canvas .checkout-page #checkout-confirm button { width: 100%; }
  .journey-canvas .checkout-page .booking-payment-recovery { padding: 26px 20px; }
  .journey-canvas .checkout-page .booking-payment-recovery h2 { font-size: 36px; }
}
/* Account, authentication and app landing pages. */
.journey-canvas .account-page { padding-bottom: 72px; }.journey-canvas .account-page-heading { padding-block: 32px; }.journey-canvas .account-page-heading h1 { font-size: clamp(36px,4vw,55px); }
.journey-canvas .account-layout { gap: 30px; }.journey-canvas .account-sidebar { padding: 24px; background: #efe8db; border-color: #e1d6c3; }
.journey-canvas .account-avatar { background: var(--ink); color: #ffdf84; border: 0; font-family: var(--journey-serif); }
.journey-canvas .account-nav-item { border-radius: 8px; font-size: 12px; color: var(--muted); }.journey-canvas .account-nav-item[aria-current] { background: #ffdf86; color: var(--ink); }
.journey-canvas .account-stat-card { border-radius: 12px; border-top: 2px solid #c79f3f; background: #fffbf3; }.journey-canvas .account-stat-card strong { font-family: var(--journey-serif); font-weight: 400; color: var(--ink); }
.journey-canvas .account-stat-label { font-size: 9px; letter-spacing: .1em; color: var(--muted); }
.journey-canvas .account-main > .card { padding: 26px; }.journey-canvas .account-main h2 { font-size: 30px; }
.journey-canvas .account-table th { background: #f0e9dc; color: var(--muted); font-size: 10px; }.journey-canvas .account-table :is(td,th) { border-color: var(--line); }.journey-canvas .account-table td { font-size: 12px; }
.journey-canvas :is(.account-notice,.account-security-fact) { background: #f0eadc; border-color: var(--line); color: var(--muted); }.journey-canvas .account-profile-row { border-color: var(--line); }
.journey-canvas .dark-card { background: var(--ink); color: var(--paper); border: 0; }.journey-canvas .dark-card :is(h1,h2,h3) { color: var(--paper); }.journey-canvas .dark-card p { color: #e1d8c7; }
.journey-canvas .auth-page { padding-top: 30px; padding-bottom: 90px; }.journey-canvas .auth-split { gap: 56px; align-items: stretch; }
.journey-canvas .auth-story { border-radius: 16px; background: linear-gradient(0deg,#131b2ef5,#131b2e9c),url('/website-assets/assets/images/journey/pan-india-journey.webp') center/cover; padding: 44px; }
.journey-canvas .auth-story h1 { font-size: 58px; line-height: 1.06; }.journey-canvas .auth-story .glow { display: none; }
.journey-canvas .auth-card { padding: 36px; }.journey-canvas .auth-card-head h1,.journey-canvas .auth-card-head h2 { font-size: 38px; }
.journey-canvas .auth-trust { background: #f1eadb; color: var(--muted); border-color: var(--line); }
/* Standalone sign-in: keep the task clear and close to the phone field. */
.journey-canvas .login-page { padding-block: 28px 56px; }
.journey-canvas .login-page .auth-crumb { font-size: 12px; line-height: 1.7; margin-bottom: 24px; }
.journey-canvas .login-page .auth-crumb a { min-height: 40px; gap: 8px; }
.journey-canvas .login-page .auth-split { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 48px; align-items: center; }
.journey-canvas .login-page .auth-story { background: var(--ink); padding: 36px; min-height: 0; gap: 28px; box-shadow: none; border: 0; }
.journey-canvas .login-page .auth-story-top { max-width: none; gap: 18px; }
.journey-canvas .login-page .auth-story .eyebrow { color: #ffda7f; font-size: 11px; letter-spacing: .16em; }
.journey-canvas .login-page .auth-story h1 { color: var(--paper); font-size: clamp(42px,4.1vw,58px); line-height: 1.06; letter-spacing: -1.2px; font-weight: 400; }
.journey-canvas .login-page .auth-story-top p { color: #e6ddcd; font-size: 15px; line-height: 1.8; }
.journey-canvas .login-page .auth-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.journey-canvas .login-page .auth-benefit { background: transparent; border-radius: 0; border-top: 1px solid #fff9e930; padding: 18px 0 0; }
.journey-canvas .login-page .auth-benefit h2 { font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--paper); margin: 0 0 6px; }
.journey-canvas .login-page .auth-benefit p { color: #d6d0c5; font-size: 13px; line-height: 1.8; }
.journey-canvas .login-page .login-journey-art { margin: 0; }
.journey-canvas .login-page .login-journey-art img { display: block; width: 100%; height: 180px; object-fit: cover; object-position: center 70%; border-radius: 8px; }
.journey-canvas .login-page .login-journey-art figcaption { font-size: 12px; line-height: 1.6; color: #e6ddcd; margin-top: 10px; }
.journey-canvas .login-page .auth-card-col { min-width: 0; }
.journey-canvas .login-page .auth-card { padding: 34px; gap: 24px; border: 1px solid var(--line); box-shadow: 0 12px 36px #382c1108; }
.journey-canvas .login-page .login-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; color: var(--muted); }
.journey-canvas .login-page .login-progress .current { font-weight: 600; color: #73511d; }
.journey-canvas .login-page .auth-card-head { gap: 14px; }
.journey-canvas .login-page .auth-card-head h2 { font-size: clamp(32px,3.2vw,44px); font-weight: 400; line-height: 1.1; color: var(--ink); }
.journey-canvas .login-page .auth-card-head p { font-size: 15px; line-height: 1.8; color: var(--muted); }
.journey-canvas .login-page #login-request { margin: 0; }
.journey-canvas .login-page #login-request .field { display: block; margin: 0 0 10px; font-size: 13px; font-weight: 600; line-height: 1.5; }
.journey-canvas .login-page .login-phone-field { display: flex; align-items: center; gap: 12px; padding-inline: 14px; min-height: 56px; background: #fbf8f1; border: 1px solid #bfb39d; border-radius: 8px; }
.journey-canvas .login-page .login-phone-field svg { flex-shrink: 0; color: #73511d; }
.journey-canvas .login-page .login-phone-field:focus-within { outline: 2px solid #886000; outline-offset: 2px; }
.journey-canvas .login-page .login-phone-field:has([aria-invalid="true"]) { border-color: #a13a2a; }
.journey-canvas .login-page #login-phone { width: 100%; min-width: 0; min-height: 54px; border: 0; border-radius: 0; background: transparent; padding: 12px 0; font-size: 17px; color: var(--ink); outline: none; box-shadow: none; }
.journey-canvas .login-page #login-phone::placeholder { color: #6c675f; opacity: 1; }
.journey-canvas .login-page .login-phone-hint { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 10px 0 20px; }
.journey-canvas .login-page #login-submit { width: 100%; min-height: 52px; font-size: 14px; margin: 0; }
.journey-canvas .login-page .login-error { font-size: 14px; line-height: 1.7; color: #8f3023; padding: 12px 14px; background: #fff1eb; border: 1px solid #d7b4a9; border-radius: 8px; margin: 0 0 16px; }
.journey-canvas .login-page .login-code-note { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0; }
.journey-canvas .login-page .login-legal { font-size: 12px; line-height: 1.9; color: var(--muted); padding-top: 20px; border-top: 1px solid var(--line); margin: 0; }
.journey-canvas .login-page .login-legal a { color: #73511d; text-underline-offset: 3px; }
.journey-canvas .login-page .login-assistance { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 20px; margin-top: 18px; }
.journey-canvas .login-page .login-assistance p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--muted); }
.journey-canvas .login-page .login-assistance a { display: inline-block; padding-block: 10px; color: #73511d; font-size: 13px; }
@media (max-width: 1023px) {
  .journey-canvas .login-page .auth-split { gap: 28px; }
  .journey-canvas .login-page .auth-story { padding: 28px; }
  .journey-canvas .login-page .auth-card { padding: 28px; }
}
@media (max-width: 900px) {
  .journey-canvas .login-page .auth-split { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .login-page .auth-story { order: 2; }
  .journey-canvas .login-page .auth-card-col { order: 1; }
}
@media (max-width: 479px) {
  .journey-canvas .login-page { padding-block: 14px 36px; }
  .journey-canvas .login-page .auth-crumb { margin-bottom: 14px; }
  .journey-canvas .login-page .auth-card { padding: 24px 20px; gap: 22px; }
  .journey-canvas .login-page .auth-card-head h2 { font-size: 34px; }
  .journey-canvas .login-page .auth-story { padding: 26px 22px; gap: 24px; }
  .journey-canvas .login-page .auth-story h1 { font-size: 36px; }
  .journey-canvas .login-page .auth-benefits { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .journey-canvas .login-page .login-journey-art img { height: 160px; }
  .journey-canvas .login-page .login-assistance { align-items: start; flex-direction: column; gap: 0; padding-inline: 4px; }
}
.journey-canvas .otp-digit { background: #fbf7ee; border-color: #cfc1a8; border-radius: 9px; color: var(--ink); }
.journey-canvas .driver-join { padding-top: 24px; }.journey-canvas .driver-hero { border-bottom: 1px solid var(--line); padding-bottom: 64px; }
.journey-canvas .driver-download-panel { border-radius: 16px; background: #eee5d3; border-color: var(--line); box-shadow: none; }
.journey-canvas .driver-download-panel :is(p,strong,a) { color: #514733; }
.journey-canvas .driver-download-panel .driver-kicker { color: #805800; }
.journey-canvas .driver-benefit-grid article { background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding-top: 22px; }
.journey-canvas .driver-feature-mark { background: #ffe3a1; color: #805800; }.journey-canvas .driver-requirements { background: #eee7db; border-color: var(--line); border-radius: 13px; }
.journey-canvas .driver-checklists article { background: #fffdf8; border-color: var(--line); }.journey-canvas .refer-code-box { background: #fff6dc; border-style: dashed; border-color: #b79753; }
.journey-canvas .driver-mobile-cta { background: #f7f3e9f5; border-top: 1px solid var(--line); box-shadow: none; }
.journey-canvas .feedback { background: var(--ink); color: var(--paper); border: 1px solid #847452; border-radius: 12px; }
.journey-canvas .feedback.is-error { background: #fff3ee; color: #8a2c20; border-color: #d7b4a9; }
.journey-error { text-align: center; padding-block: 100px 120px; }.journey-error h1 { font-size: 78px; }.journey-error p { color: var(--muted); max-width: 480px; margin-inline: auto; }.journey-error .button { display: inline-flex; margin-top: 24px; padding: 16px 30px; }
@media (min-width: 1440px) { .journey-hero-art { margin-right: -20px; }.journey-hero { padding-top: 48px !important; } }
@media (max-width: 1199px) {
  .journey-canvas .nav-wrap { gap: 20px; }.journey-canvas .header-actions { margin-left: auto; }.journey-canvas .desktop-nav { display: none; }
  .journey-canvas .mobile-menu { display: block; }.journey-canvas .header-driver { display: none; }
  .journey-hero { grid-template-columns: minmax(330px,1fr) minmax(0,1fr); }.journey-hero-art { margin-left: -50px; margin-right: -20px; min-height: 640px; }
  .journey-canvas .journey-hero h1 { font-size: 65px; }.journey-ticket { width: 85%; right: 0; padding: 20px; }.journey-ticket strong { font-size: 22px; }
  .journey-promise { gap: 18px; grid-template-columns: 1fr 1fr; }.journey-promise h2 { font-size: 34px; }.journey-promise > div { min-height: 70px; }
  .journey-home .fleet-grid { gap: 18px; }.journey-home .fleet-photo { height: 125px; }.journey-home .fleet-heading h3 { font-size: 25px; }
  .journey-how,.journey-assistance { gap: 44px; }.journey-home .corridors-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .journey-canvas .footer-grid { gap: 28px; }.journey-canvas .cab-result-top { gap: 12px; }.journey-canvas .cab-result-vehicle { gap: 12px; }.journey-canvas .cab-result-vehicle img { width: 95px; height: 78px; }.journey-canvas .cab-result-vehicle h2 { font-size: 26px; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 86px; }.journey-canvas .container { width: calc(100% - 36px); }.journey-canvas .nav-wrap { width: calc(100% - 36px); padding: 14px 0; min-height: 74px; gap: 12px; }
  .journey-canvas .brand-logo { width: 112px; }.journey-canvas .header-actions .account-link { height: 38px; font-size: 10px; padding: 0 11px; gap: 7px; }.journey-canvas .account-link svg { display: none; }
  .journey-canvas .mobile-menu > summary { min-height: 38px; padding: 8px 10px; }.journey-canvas .mobile-menu > summary span { display: none; }
  .journey-canvas .mobile-menu nav { position: absolute; right: 0; width: min(300px,calc(100vw - 36px)); }
  .journey-eyebrow { font-size: 8px; letter-spacing: .16em; }.journey-eyebrow i { width: 30px; }
  .journey-hero { display: flex; flex-direction: column; padding-top: 34px !important; padding-bottom: 24px !important; }
  .journey-hero-copy { display: contents; }.journey-hero-copy > .journey-eyebrow { order: 0; }.journey-canvas .journey-hero h1 { order: 1; font-size: clamp(50px,12.5vw,76px); margin: 20px 0 14px; }.journey-lead { order: 2; font-size: 12px; margin-bottom: 0; }
  .journey-hero-art { order: 3; margin: 0 -18px -6px; min-height: 290px; height: 290px; flex: none; width: calc(100% + 36px); }
  .journey-hero-art > img { mask-image: linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent); object-position: center 65%; }
  .journey-art-note { top: 16%; right: 5%; font-size: 16px; }.journey-ticket { bottom: 24px; right: 8%; width: 74%; padding: 16px 22px; }.journey-ticket strong { font-size: 23px; }.journey-ticket-label { font-size: 7px; margin-bottom: 8px; }.journey-ticket p { font-size: 9px; margin-top: 6px; }.journey-art-caption { bottom: 4px; right: 7%; font-size: 7px; }
  .journey-home .booking-widget { order: 4; position: relative; max-width: none; border-radius: 18px; padding: 20px 16px; background: #fffdf8; box-shadow: 0 9px 30px #69552e0b; margin-top: -2px; }
  .journey-home .widget-grid { grid-template-columns: minmax(0,1fr) 32px; gap: 12px 8px; }.journey-home .widget-label { font-size: 8px; }.journey-home .widget-input { min-height: 48px; padding: 10px; }.journey-home .widget-input input { font-size: 12px; }
  .journey-canvas .service-tab { font-size: 10px; padding: 11px 5px; }.journey-home .widget-cta { min-height: 50px; font-size: 13px; }.journey-home .quick-tags { margin-top: 14px; }.journey-home .quick-tags button { font-size: 9px; }
  .journey-promise { grid-template-columns: 1fr; padding-block: 30px !important; gap: 24px; }.journey-promise h2 { font-size: 36px; }.journey-promise h2 br { display: none; }.journey-promise > div { padding-left: 45px; min-height: 0; border: 0; }.journey-small-icon { left: 0; }.journey-promise h3 { font-size: 13px; }.journey-promise p { font-size: 11px; }
  .journey-home :is(.fleet-section,.corridors-section,.home-faq-section) { padding-block: 54px; }.journey-home .section-intro h2,.journey-home .section-heading h2 { font-size: 38px; }.journey-home .section-intro p { font-size: 12px; }
  .journey-home .fleet-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; }.journey-home .fleet-photo { height: 115px; }.journey-home .fleet-heading h3 { font-size: 25px; }.journey-home .fleet-card > p { font-size: 10px; min-height: 72px; }.journey-home .fleet-badge { font-size: 8px; }.journey-home .fleet-specs { font-size: 8px; flex-wrap: wrap; }
  .journey-how { grid-template-columns: 1fr; padding-block: 10px 54px !important; gap: 24px; }.journey-how h2 { font-size: 50px; }.journey-how li { padding-block: 22px; gap: 20px; }.journey-how h3 { font-size: 15px; }
  .journey-home .section-heading { align-items: start; gap: 18px; flex-direction: column; }.journey-home .corridors-grid { grid-template-columns: 1fr; }.journey-home .corridor-card { min-height: 124px; padding: 22px; }.journey-home .corridor-route strong { font-size: 26px; }
  .journey-assistance { grid-template-columns: 1fr; padding-block: 60px !important; gap: 30px; }.journey-assistance h2 { font-size: 46px; }.journey-assistance aside { padding: 30px; }.journey-assistance aside p { font-size: 41px; }
  .journey-home .faq-toggle { padding: 22px 0; font-size: 13px; line-height: 1.7; }.journey-home .faq-answer { font-size: 12px; padding-right: 20px; }.journey-final { padding-block: 36px 60px !important; }.journey-final h2 { font-size: 58px; }
  .journey-canvas :is(.page-heading h1,.legal-hero h1,.faq-hero h1,.route-master-hero h1,.driver-hero h1,.about-hero h1) { font-size: clamp(36px,10vw,50px); }
  .journey-canvas :is(.about-hero,.route-master-hero,.faq-hero) { padding-block: 20px 40px; }.journey-canvas :is(.section-intro h2,.route-section h2,.driver-section-heading h2) { font-size: 34px; }
  .journey-canvas .compare-grid { grid-template-columns: minmax(0,1fr); }
  .journey-canvas .compare-card { min-width: 0; padding: 24px; }
  .journey-canvas .journey-page-title { padding-block: 8px 26px; }.journey-page-title h1 { font-size: 42px; }.journey-canvas .contact-quick-grid { gap: 12px; }.journey-canvas .contact-quick-card { padding: 18px; }.journey-canvas .contact-quick-card h2 { font-size: 22px; }
  .journey-canvas .contact-request-form { padding: 22px; }.journey-canvas .legal-section { padding: 24px; }.journey-canvas .legal-section h2 { font-size: 27px; }.journey-canvas .legal-section p { font-size: 12px; }
  .journey-canvas .booking-intro { padding-block: 24px; }.journey-canvas .booking-intro h1 { font-size: 38px; }.journey-canvas .booking-intro p { font-size: 12px; }
  .journey-canvas .booking-progress ol { gap: 10px; }.journey-canvas .booking-progress li { font-size: 9px; gap: 6px; }.journey-canvas .booking-step-number { width: 25px; height: 25px; font-size: 10px; }
  .journey-canvas .cab-search-fields { padding: 18px; }.journey-canvas .cab-result-card { padding: 20px 16px; }.journey-canvas .cab-result-top { flex-wrap: wrap; }
  .journey-canvas .cab-result-vehicle { width: 100%; }.journey-canvas .cab-result-vehicle img { width: 105px; height: 80px; }.journey-canvas .cab-result-vehicle h2 { font-size: 27px; }.journey-canvas .cab-result-price { width: 100%; text-align: left; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }.journey-canvas .cab-result-price strong { font-size: 30px; }.journey-canvas .cab-result-price button { margin-left: auto; }
  .journey-canvas .cab-inclusions { flex-wrap: wrap; gap: 8px; }.journey-canvas .cab-selection-card { padding: 26px; }.journey-canvas .cab-selection-card h2 { font-size: 34px; }
  .journey-canvas .checkout-review h2 { font-size: 32px; }.journey-canvas .confirmation-banner h1 { font-size: 36px; }.journey-canvas .fare-estimate-form { padding: 22px; }
  .journey-canvas .account-page-heading { padding-block: 24px; }.journey-canvas .account-layout { gap: 20px; }.journey-canvas .account-sidebar { padding: 18px; }.journey-canvas .account-main > .card { padding: 20px; }.journey-canvas .account-main h2 { font-size: 28px; }
  .journey-canvas .account-table-scroll { max-width: 100%; }.journey-canvas .auth-page { padding-top: 18px; padding-bottom: 50px; }.journey-canvas .auth-card { padding: 25px 20px; }.journey-canvas .auth-story { padding: 30px; }.journey-canvas .auth-story h1 { font-size: 43px; }
  .journey-canvas .driver-hero { padding-bottom: 40px; }.journey-canvas .driver-section { padding-block: 38px; }.journey-canvas .driver-final { padding: 26px; }
  .journey-canvas .site-footer { padding-top: 42px; }.journey-canvas .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 22px; }.journey-canvas .footer-story { grid-column: 1/-1; }.journey-canvas .site-footer .footer-manifesto { font-size: 40px; }.journey-canvas .footer-bottom { margin-top: 36px; gap: 12px; align-items: start; flex-direction: column; font-size: 9px; }
  .journey-error h1 { font-size: 54px; }
}
@media (max-width: 359px) {
  .journey-canvas .container,.journey-canvas .nav-wrap { width: calc(100% - 28px); }.journey-canvas .brand-logo { width: 96px; }.journey-canvas .header-actions .account-link { padding: 0 8px; font-size: 9px; }.journey-canvas .nav-wrap { gap: 9px; }
  .journey-canvas .journey-hero h1 { font-size: 48px; }.journey-lead { font-size: 11px; }.journey-hero-art { margin-inline: -14px; width: calc(100% + 28px); height: 250px; min-height: 250px; }.journey-ticket strong { font-size: 20px; }
  .journey-home .booking-widget { padding: 16px 12px; }.journey-home .fleet-grid { gap: 24px 12px; }.journey-home .fleet-photo { height: 96px; }.journey-home .fleet-badge { font-size: 7px; }.journey-home .corridor-route strong { font-size: 23px; }
  .journey-canvas .booking-progress li { font-size: 8px; }.journey-canvas .booking-progress ol { gap: 6px; }.journey-canvas .cab-result-vehicle img { width: 82px; }.journey-canvas .cab-result-vehicle h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-canvas *, .journey-canvas *::before, .journey-canvas *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
/* Published route content. */
.journey-canvas .dynamic-route-page.managed-route-page h1 { font-size:clamp(36px,4vw,58px); }
.journey-canvas .managed-route-page .content-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.journey-canvas .managed-route-page .content-route-copy { max-width:950px; margin-top:24px; }
.journey-canvas .managed-route-page .content-route-copy p { font-size:15px; line-height:1.9; color:var(--muted); }
.journey-canvas .content-route-image { margin:24px 0 0; }
.journey-canvas .content-route-image img { width:100%; height:450px; object-fit:cover; border-radius:12px; display:block; }
.journey-canvas .content-route-image .crop-top { object-position:top; }.journey-canvas .content-route-image .crop-bottom { object-position:bottom; }
.journey-canvas .content-route-image figcaption { font-size:12px; line-height:1.8; color:var(--muted); margin-top:12px; }
.journey-canvas .content-benefits,.journey-canvas .content-reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.journey-canvas .content-benefits article,.journey-canvas .content-reviews article { padding:24px; border:1px solid var(--line); border-radius:12px; background:#fffdf8; min-width:0; }
.journey-canvas .content-benefit-number { font-size:12px; color:#73511d; }
.journey-canvas .content-benefits h3 { font-size:19px; line-height:1.5; margin-block:18px 12px; }
.journey-canvas .content-benefits p,.journey-canvas .content-reviews p { font-size:14px; line-height:1.8; color:var(--muted); }
.journey-canvas .content-reviews blockquote { font-size:15px; line-height:1.9; margin:16px 0; overflow-wrap:anywhere; }
.journey-canvas .content-reviews small { font-size:12px; color:var(--muted); }.journey-canvas .content-review-stars{color:#886000;font-size:21px;letter-spacing:3px}
.journey-canvas .content-destination-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:28px; }
.journey-canvas .content-destination-columns>div { background:#fffdf8; border:1px solid var(--line); border-radius:12px; padding:26px; }
.journey-canvas .content-destination-columns h3 { font-family:var(--journey-serif); font-size:28px; font-weight:400; line-height:1.2; margin-bottom:22px; }
.journey-canvas .content-destination-columns nav { display:flex; flex-direction:column; }
.journey-canvas .content-destination-columns a { display:flex; justify-content:space-between; gap:14px; padding-block:14px; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink); text-decoration:none; }
.journey-canvas .content-destination-columns a:hover { color:#73511d; text-decoration:underline; }.journey-canvas .content-destination-columns a:last-child{border-bottom:0}
.journey-canvas .content-fare-note { font-size:12px; color:var(--muted); line-height:1.8; }
.content-preview-banner { background:#ffdf84; color:#241d0e; padding:14px 24px; text-align:center; font-size:14px; }
@media(max-width:900px){.journey-canvas .content-benefits,.journey-canvas .content-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.journey-canvas .managed-route-page .content-overview-grid,.journey-canvas .content-benefits,.journey-canvas .content-reviews,.journey-canvas .content-destination-columns{grid-template-columns:minmax(0,1fr)}.journey-canvas .content-route-image img{height:250px}.journey-canvas .content-destination-columns>div{padding:22px}}
