:root{--navy:#172b4d;--navy-700:#0f1f38;--brand:#172b4d;--brand-600:#0f1f38;--brand-050:#eef2f8;--accent:#fbbf24;--accent-050:#fef7e0;--accent-700:#b45309;--bg:#f6f8fb;--surface:#fff;--border:#e5e9f0;--text:#0f172a;--muted:#64748b;--danger:#dc2626;--radius:14px;--shadow:0 6px 24px #0f172a14;--shadow-lg:0 20px 50px #0f172a29}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .4em;line-height:1.15}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.site-header{z-index:40;-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;height:68px;display:flex}.logo{color:var(--navy);align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.logo .mark{background:var(--accent);width:36px;height:36px;color:var(--navy);border-radius:11px;place-items:center;font-weight:900;display:grid;box-shadow:0 8px 18px #fbbf2438}.nav{align-items:center;gap:8px;display:flex}.nav a{color:var(--muted);border-radius:9px;padding:8px 12px;font-size:14px;font-weight:600}.nav a:hover{color:var(--brand);background:var(--accent)}.nav .nav-cta{color:#fff;padding:9px 16px}.nav .nav-cta:hover{color:var(--navy)}.nav-button{padding:8px 14px}.mobile-menu-button{border:1px solid var(--border);width:42px;height:42px;color:var(--navy);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;display:none}.mobile-menu-button svg{width:24px;height:24px}.mobile-nav{border-top:1px solid var(--border);background:#fffffffa;display:none;box-shadow:0 18px 35px #0f172a1f}.mobile-nav-inner{gap:6px;padding-top:12px;padding-bottom:18px;display:grid}.mobile-nav a,.mobile-nav button{width:100%;min-height:48px;color:var(--navy);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;padding:11px 14px;font-weight:750;display:flex}.mobile-nav a:hover,.mobile-nav button:hover{background:var(--brand-050)}.mobile-nav svg{width:21px;height:21px;color:var(--brand)}.mobile-nav .mobile-nav-primary{background:var(--navy);color:#fff}.mobile-nav .mobile-nav-primary svg{color:var(--accent)}.btn{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:700;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary,.btn-dark{background:var(--brand);border-color:var(--brand);color:#fff}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--navy)}.btn-accent:hover:not(:disabled){background:#f59e0b;border-color:#f59e0b}.btn-hero-secondary{color:#fff;background:#ffffff14;border-color:#fff6}.btn-hero-secondary:hover:not(:disabled){color:var(--navy);background:#fff;border-color:#fff}.btn-primary:hover:not(:disabled),.btn-dark:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--brand)}.btn-ghost{border-color:var(--brand);color:var(--brand);background:#fff}.btn-ghost:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--brand)}.btn-full{width:100%}.btn-lg{padding:15px 26px;font-size:16px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--navy);font-size:13px;font-weight:600}.input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:11px;outline:none;padding:12px 14px;font-size:15px}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-050)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-wrap{place-items:center;min-height:calc(100vh - 64px);padding:40px 20px;display:grid}.auth-card{width:100%;max-width:430px;padding:36px 32px}.muted{color:var(--muted)}.error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:14px}.notice{background:var(--brand-050);color:var(--brand-600);border:1px solid #bbf7d0;border-radius:10px;padding:10px 12px;font-size:14px}.link{color:var(--brand-600);cursor:pointer;font-weight:700;font:inherit;background:0 0;border:none;padding:0}.link:disabled{color:var(--muted);cursor:default}.hero{background:radial-gradient(circle at 82% 10%, #fbbf2426, transparent 28%), linear-gradient(135deg, #0b172a 0%, var(--navy) 58%, #203d68 100%);color:#fff;padding:78px 0 70px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:center;gap:48px;display:grid}.hero-copy{max-width:560px}.city-row{color:var(--navy);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;font-size:14px;font-weight:800;display:flex}.city-row a{color:var(--brand);text-underline-offset:3px;font-weight:750;text-decoration:underline}.eyebrow{background:var(--accent-050);color:var(--accent-700);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-bottom:18px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-block}.hero h1{color:#fff;letter-spacing:-.045em;max-width:620px;font-size:clamp(2.8rem,5vw,4.75rem)}.hero p.lead{color:#dbe5f3;max-width:540px;margin:0 0 28px;font-size:18px;line-height:1.7}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.trust-points{color:#e8eef7;flex-wrap:wrap;gap:10px 18px;margin-top:24px;font-size:13px;font-weight:700;display:flex}.trust-points span{align-items:center;gap:7px;display:inline-flex}.trust-points svg{width:18px;height:18px;color:var(--accent)}.hero-visual{background:linear-gradient(160deg, var(--navy), #0b1a33);min-height:340px;box-shadow:var(--shadow-lg);color:#fff;border-radius:22px;padding:28px;position:relative;overflow:hidden}.hero-visual .pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:12px;padding:12px 14px;position:absolute}.booking-panel{background:var(--surface);color:var(--text);border:1px solid #ffffff8c;border-radius:22px;gap:14px;padding:26px;display:grid;box-shadow:0 30px 70px #040c1c57}.booking-time{background:var(--brand-050);color:var(--navy);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.booking-time span{font-weight:800}.booking-time strong{font-size:13px}.booking-field{gap:7px;display:grid}.booking-field span{color:var(--navy);font-size:13px;font-weight:800}.booking-field input{border:1px solid var(--border);color:var(--text);font:inherit;background:#f8fafc;border-radius:8px;outline:none;width:100%;padding:14px}.booking-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-050)}.recent-link{color:var(--brand);text-underline-offset:3px;justify-content:center;font-size:14px;font-weight:750;text-decoration:underline;display:inline-flex}.schedule-box{background:var(--accent-050);border:1px solid #fde68a;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.schedule-box div{gap:2px;display:grid}.schedule-box strong{color:var(--navy)}.schedule-box span{color:var(--muted);font-size:13px}.section{padding:72px 0}.surface-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.section-tight{padding:48px 0}.section h2{color:var(--navy);text-align:center;font-size:32px}.section .sub{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 40px}.features{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature{box-shadow:none;padding:28px;transition:transform .18s,box-shadow .18s}.feature:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.feature .ic{background:var(--accent-050);width:46px;height:46px;color:var(--accent-700);border-radius:12px;place-items:center;margin-bottom:14px;display:grid}.feature .ic svg{width:24px;height:24px}.feature h3{color:var(--navy);font-size:18px}.feature p{color:var(--muted);margin:0;font-size:15px}.cta-panel{background:linear-gradient(130deg, var(--navy), #234572);color:#fff;box-shadow:var(--shadow-lg);border-radius:24px;justify-content:space-between;align-items:center;gap:32px;padding:36px 40px;display:flex}.cta-panel .eyebrow{margin-bottom:12px}.cta-panel h2{color:#fff;text-align:left;margin-bottom:8px}.cta-panel p{color:#dbe5f3;margin:0}.footer{border-top:1px solid var(--border);color:var(--muted);padding:28px 0;font-size:14px}.footer .inner{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.page{padding:44px 24px 72px}.page h1{color:var(--navy);font-size:clamp(30px,4vw,42px)}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:28px;display:flex}.page-heading h1{margin:3px 0 7px}.page-heading p{color:var(--muted);margin:0}.page-kicker{color:var(--accent-700);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.stack{flex-direction:column;gap:16px;display:flex}.two-col{grid-template-columns:1.4fr 1fr;align-items:start;gap:24px;display:grid}.booking-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.booking-form-card{padding:26px}.booking-mode-tabs{margin-bottom:20px}.fare-card{padding:26px;position:sticky;top:92px}.list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.list-item:last-child{border-bottom:none}.badge{color:var(--muted);text-transform:capitalize;background:#eef2f7;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.badge.green{background:var(--brand-050);color:var(--brand-600)}.vt-option{border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.vt-option:hover{border-color:#aab6c8}.vt-option.active{border-color:var(--brand);background:var(--brand-050);box-shadow:inset 3px 0 0 var(--accent)}.vt-icon{width:46px;height:46px;color:var(--navy);background:var(--brand-050);border:1px solid var(--border);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.vt-option.active .vt-icon{color:var(--brand);border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:#fff}.suggest{border:1px solid var(--border);border-radius:11px;margin-top:4px;overflow:hidden}.suggest button{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:#fff;width:100%;padding:10px 14px;font-size:14px;display:block}.suggest button:hover{background:#f1f5f9}.estimate{align-items:baseline;gap:8px;display:flex}.estimate .amt{color:var(--navy);font-size:30px;font-weight:800}.btn-compact{padding:7px 12px;font-size:13px}.page-alert{align-items:center;gap:10px;margin:20px 0;display:flex}.page-alert svg{flex:none;width:20px;height:20px}.page-alert span{flex:1}.loading-state{border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;margin-top:20px;padding:28px}.empty-state{text-align:center;margin-top:20px;padding:46px 24px}.empty-state h3{color:var(--navy)}.empty-state .btn{margin-top:8px}.ride-list{margin-top:20px;overflow:hidden}.ride-row{border-bottom:1px solid var(--border)}.ride-row:last-child{border-bottom:0}.ride-summary{border:0;gap:18px}.ride-main{flex:1;min-width:0}.ride-route{text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-weight:800;overflow:hidden}.ride-meta{color:var(--muted);margin-top:5px;font-size:13px}.ride-actions{flex:none;align-items:center;gap:10px;display:flex}.ride-stops{padding:0 16px 16px}.pw-wrap{position:relative}.pw-toggle{cursor:pointer;width:34px;height:34px;color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--brand);background:var(--brand-050)}.pw-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.loc-field{margin-bottom:16px;position:relative}.loc-label-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.loc-label-row label{color:var(--navy);font-size:13px;font-weight:600}.loc-current{color:var(--brand);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:4px;padding:2px 4px;font-size:12.5px;font-weight:700;display:inline-flex}.loc-current:hover:not(:disabled){background:var(--brand-050)}.loc-current:disabled{color:var(--muted);cursor:default}.loc-input-wrap{position:relative}.loc-check{color:#16a34a;font-weight:800;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.loc-check svg{width:20px;height:20px;display:block}.loc-current svg{width:16px;height:16px}.pw-toggle svg{width:20px;height:20px}.success-icon,.empty-icon{background:var(--accent-050);width:52px;height:52px;color:var(--brand);border-radius:16px;place-items:center;margin:0 auto 10px;display:grid}.success-icon svg,.empty-icon svg{width:30px;height:30px}.payment-label{color:var(--navy);align-items:center;gap:10px;font-weight:700;display:inline-flex}.payment-label svg{width:21px;height:21px;color:var(--brand)}.inline-route-icon{vertical-align:-3px;width:16px;height:16px;display:inline-block}.loc-error{color:var(--danger);margin-top:6px;font-size:12.5px}.stops-field{margin-bottom:16px}.stops-field>label{color:var(--navy);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.stop-row{border:1px solid var(--border);background:#fff;border-radius:11px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.stop-row-next{border-color:var(--brand);background:var(--brand-050)}.stop-badge{background:var(--accent-700);color:#fff;border-radius:11px;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.stop-badge svg{width:14px;height:14px}.stop-badge-done{background:#16a34a}.stop-badge-here{background:var(--accent-700)}.stop-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.stop-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.stop-name-done{color:var(--muted);text-decoration:line-through}.stop-meta{color:var(--muted);font-size:11.5px}.stop-actions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.stop-actions button{width:28px;height:28px;color:var(--brand);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;display:inline-grid}.stop-actions button:hover:not(:disabled){background:var(--brand-050)}.stop-actions button:disabled{color:#cbd5e1;cursor:default}.stop-actions svg{width:16px;height:16px}.stop-remove{color:var(--danger)!important}.stop-remove:hover:not(:disabled){background:#fef2f2!important}.stop-add{border:1px dashed var(--border);width:100%;color:var(--brand);cursor:pointer;background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:14px;font-weight:700;display:flex}.stop-add:hover:not(:disabled){border-color:var(--brand);background:var(--brand-050)}.stop-add:disabled{color:var(--muted);cursor:default}.stop-add svg{width:16px;height:16px}.stop-add-wrap{border:1px solid var(--border);border-radius:11px;padding:12px}.stop-add-actions{gap:8px;display:flex}.stop-add-actions .btn{flex:1;padding:9px 14px;font-size:14px}.fab{z-index:45;background:var(--brand);color:#fff;box-shadow:var(--shadow-lg);border:1px solid var(--brand);border-radius:999px;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:800;transition:all .15s;display:inline-flex;position:fixed;bottom:22px;right:22px}.fab:hover{background:var(--accent);border-color:var(--accent);color:var(--brand)}.fab svg{width:20px;height:20px}@media (max-width:560px){.fab span{display:none}.fab{padding:15px}}.suggest-empty{color:var(--muted);padding:12px 14px;font-size:13px}.suggest button{flex-direction:column;gap:2px;display:flex}.suggest button strong{color:var(--navy);font-size:14px;font-weight:650}.suggest button span{color:var(--muted);font-size:12.5px}.suggest{z-index:30;box-shadow:var(--shadow);background:#fff;max-height:280px;position:absolute;left:0;right:0;overflow-y:auto}.mode-tabs{background:var(--brand-050);border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.mode-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 10px;font-size:14px;font-weight:700}.mode-tab.active{color:var(--navy);box-shadow:var(--shadow);background:#fff}.booking-field input[type=datetime-local]{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:#f8fafc;border-radius:8px;padding:12px 14px}.app-badges{flex-wrap:wrap;gap:10px;display:flex}.app-badge{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:11px;align-items:center;gap:9px;min-width:148px;padding:8px 14px;display:inline-flex}.app-badge:hover{background:var(--navy-700)}.app-badge-text{flex-direction:column;line-height:1.15;display:flex}.app-badge-text small{opacity:.8;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.app-badge-text strong{font-size:15px;font-weight:700}.app-badge-disabled{opacity:.55;cursor:default;position:relative}.app-badge-soon{background:var(--accent);color:var(--navy);border-radius:999px;padding:1px 6px;font-size:9px;font-style:normal;font-weight:800;position:absolute;top:-8px;right:8px}.hero-download{flex-direction:column;gap:10px;margin-top:26px;display:flex}.hero-download>span{color:#dbe5f3;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.hero .app-badge{color:var(--navy);background:#fff;border-color:#fff}.hero .app-badge:hover{background:var(--accent);border-color:var(--accent)}.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:32px;padding:40px 0 24px;display:grid}.footer-brand{flex-direction:column;gap:14px;max-width:360px;display:flex}.footer-brand p{margin:0;font-size:14px}.footer-links{flex-direction:column;gap:10px;display:flex}.footer-links h4{text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin:0 0 4px;font-size:13px}.footer-links a{color:var(--muted);font-size:14px}.footer-links a:hover{color:var(--brand)}.footer-bottom{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:18px 0;font-size:13px;display:flex}@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero{padding:54px 0 48px}.features,.two-col{grid-template-columns:1fr}.desktop-nav{display:none}.mobile-menu-button{display:inline-flex}.mobile-nav.open{display:block}.booking-panel{padding:18px}.fare-card{position:static}.schedule-box{flex-direction:column;align-items:stretch}.schedule-box .btn{width:100%}.footer-grid{grid-template-columns:1fr;gap:24px}.app-badge{flex:auto}.cta-panel{flex-direction:column;align-items:flex-start;padding:30px 26px}.cta-panel .btn{width:100%}.ride-summary{flex-direction:column;align-items:flex-start}.ride-actions{justify-content:space-between;width:100%}}@media (max-width:560px){.container{padding-left:16px;padding-right:16px}.page{padding-top:30px;padding-bottom:56px}.logo{gap:8px;font-size:16px}.logo .mark{width:34px;height:34px}.hero h1{font-size:2.65rem}.hero-cta .btn{width:100%}.trust-points{display:grid}.booking-form-card,.fare-card{padding:18px}.vt-option{align-items:flex-start;padding:13px}.rides-heading .btn{width:100%}.ride-route{white-space:normal}.page-alert{flex-wrap:wrap;align-items:flex-start}.footer-bottom{flex-direction:column}}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;margin-top:20px;padding:40px 28px}.empty-state h2{margin:12px 0 4px;font-size:1.05rem}.notification-list{flex-direction:column;gap:10px;margin-top:20px;display:flex}.notification-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.notification-row:hover{border-color:var(--brand)}.notification-row.unread{border-left:3px solid var(--brand)}.notification-row-head{align-items:center;gap:8px;display:flex}.notification-dot{background:var(--brand);border-radius:50%;flex:none;width:8px;height:8px}.notification-body{color:var(--muted);font-size:.9rem;line-height:1.5}.notification-time{color:var(--muted);font-size:.78rem}
