:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#172326;background:#f5f6f6;font-synthesis:none;--ink:#172326;--muted:#596366;--line:#dce1e1;--yellow:#f5cf43;--white:#fff;--radius:16px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit;text-underline-offset:4px}button,select,label.tariff-option,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b6b00;outline-offset:5px}input:focus-visible,select:focus-visible{outline:3px solid #b68b00;outline-offset:2px}[hidden]{display:none!important}
.topbar{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1160px)/2));background:var(--white);gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:15px;font-weight:800;letter-spacing:.1em}.brandmark{display:flex;align-items:center;justify-content:center;background:var(--yellow);width:43px;height:43px;border-radius:10px;color:var(--ink);font-size:29px;font-weight:900;letter-spacing:0}.brand-sub{display:block;font-size:13px;letter-spacing:0;font-weight:500;color:var(--muted);margin-top:4px}.source-link{font-size:14px;font-weight:600;text-decoration:none}.source-link span{padding-left:8px;font-size:18px}
main{max-width:1216px;margin:0 auto;padding:42px 28px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.17em;margin:0 0 10px;color:var(--muted)}h1{font-size:clamp(29px,3.3vw,42px);font-weight:730;letter-spacing:-.04em;line-height:1.15;margin:0}.intro{font-size:16px;color:var(--muted);line-height:1.5;margin:12px 0 0}.version{display:inline-flex;flex-shrink:0;font-size:13px;border:1px solid #d5dcdc;border-radius:6px;background:#eef1f1;padding:9px 12px;color:#435053;font-weight:550}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}.input-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 0;min-width:0}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:25px}.step{font-size:12px;background:#f0f2f2;border-radius:5px;color:#667174;display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-weight:700}h2{margin:0;font-size:18px;letter-spacing:-.015em}.distance-row{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.field{min-width:0}label,legend{font-size:14px;font-weight:600;display:block}.input-with-unit{border:1px solid #ccd4d4;border-radius:8px;display:flex;align-items:center;background:var(--white);position:relative;min-width:0}.input-with-unit input{background:transparent;border:0;width:100%;min-width:0;padding:14px;border-radius:7px;color:var(--ink);font-size:20px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.25}.input-with-unit span{pointer-events:none;padding-right:14px;color:var(--muted);font-size:14px;flex-shrink:0}.field>.input-with-unit,.field>select{margin-top:9px}.distance-input input{font-size:26px;padding:11px 14px}select{width:100%;max-width:100%;border:1px solid #ccd4d4;border-radius:8px;background:#fff;padding:14px 30px 14px 12px;color:var(--ink);min-height:56px;font-size:15px}.hint{font-size:13px;line-height:1.55;color:var(--muted);margin:8px 0 0}.tariff-field{border:0;padding:0;margin:27px 0 0;min-width:0}.tariff-options{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:9px;margin-top:11px}.tariff-option{position:relative;min-width:0}.tariff-option input{position:absolute;opacity:0;width:1px;height:1px}.tariff-option>span{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:13px 10px 12px;min-height:113px;transition:border-color .15s,background .15s}.tariff-option input:checked+span{background:#fff9df;border-color:#b28b09;box-shadow:inset 0 0 0 1px #b28b09}.tariff-option input:focus-visible+span{outline:3px solid #8b6b00;outline-offset:3px}.tariff-option strong{font-size:14px;line-height:1.3;font-weight:650}.tariff-option small{font-size:12px;color:#536063;line-height:1.4;margin-top:5px}.option-icon{font-size:24px;line-height:1;margin-bottom:12px;font-family:Arial,sans-serif}.moon{font-size:26px}.calendar-icon{font-size:23px}.additional-heading{border-top:1px solid #e4e8e8;padding-top:25px;margin-top:26px;margin-bottom:22px}.waiting-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:22px;align-items:start}.waiting-row .hint{max-width:330px}.approach-block{margin-top:25px}.approach-block>select{margin-top:10px;min-height:50px;font-size:14px}.approach-fields{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px;padding:14px;border-radius:8px;background:#f4f6f6}.approach-fields .input-with-unit{width:126px;flex-shrink:0}.approach-fields label{line-height:1.4;font-size:14px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:26px;padding:18px 0;color:var(--muted);font-size:12px}.form-footer button{background:none;border:none;text-decoration:underline;text-underline-offset:3px;color:#435053;font-size:13px;padding:8px 0}
.result-column{min-width:0}.result-card{border-radius:var(--radius);overflow:hidden;border:1px solid #cfd7d7;background:var(--white);box-shadow:0 5px 20px #17232606}.fare-display{background:var(--ink);color:white;padding:25px 27px 27px;border-top:5px solid var(--yellow)}.fare-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.fare-meta>span:first-child{font-size:11px;letter-spacing:.085em;font-weight:650;color:#e0e5e4}.tariff-badge{font-size:11px;font-weight:650;letter-spacing:.035em;border:1px solid #606967;border-radius:4px;padding:5px 7px;white-space:nowrap;color:#f5df8e}.total{font-size:clamp(48px,4.7vw,66px);font-weight:650;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--yellow);line-height:1.15;margin-top:24px;overflow-wrap:anywhere}.trip-summary{font-size:14px;color:#c9d1d0;margin:10px 0 0;line-height:1.5}.receipt{padding:25px 27px}.receipt h2{font-size:15px;font-weight:650;margin-bottom:24px}.receipt dl{margin:0}.line-item{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;align-items:flex-start}.line-item dt{font-size:14px;line-height:1.4}.line-item dt small{font-size:12px;color:var(--muted);display:block;line-height:1.5;margin-top:3px}.line-item dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:550;line-height:1.4}.line-item.inactive{color:#627073}.line-item.rounding{border-top:1px dashed var(--line);padding-top:13px}.receipt-total{border-top:1px solid #bfcaca;display:flex;justify-content:space-between;align-items:center;padding-top:19px;margin-top:6px;font-weight:650;font-size:15px;gap:12px}.receipt-total strong{font-size:23px;font-variant-numeric:tabular-nums}.receipt-note{font-size:12px;color:var(--muted);line-height:1.65;margin:17px 0 0}.scope-note{font-size:13px;line-height:1.65;margin:21px 10px 0;color:#5b6668}.scope-note strong{display:block;font-size:13px;color:#374346;margin-bottom:4px}.error{background:#fff0ed;color:#9c2916;border:1px solid #eac0b7;border-radius:8px;padding:14px;font-size:14px;line-height:1.55;margin-bottom:20px}
.tariff-details{border:1px solid var(--line);background:white;border-radius:12px;margin-top:27px}.tariff-details summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 25px;font-size:15px;font-weight:600;list-style:none}.tariff-details summary::-webkit-details-marker{display:none}.details-label{display:flex;align-items:center;gap:28px;font-size:12px;color:var(--muted);font-weight:400}.plus{font-size:24px;line-height:1;font-weight:400;color:var(--ink)}.tariff-details[open] .plus{transform:rotate(45deg)}.tariff-content{padding:0 25px 22px}.table-scroll{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th,td{padding:13px 12px;border-bottom:1px solid var(--line);line-height:1.4}thead{background:#f5f7f7}th{font-weight:550}tbody td{font-variant-numeric:tabular-nums;white-space:nowrap}.tariff-content p{font-size:13px;line-height:1.7;color:var(--muted);margin:18px 0 0}.page-footer{display:flex;justify-content:space-between;gap:20px;color:#667174;font-size:11px;margin-top:29px;line-height:1.5}.page-footer span:first-child{letter-spacing:.07em}.page-footer span span{padding:0 7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1100px){.result-column{position:sticky;top:24px}}@media(max-width:900px){.workspace{gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.input-panel{padding:23px 20px 0}.fare-display,.receipt{padding-left:22px;padding-right:22px}.tariff-options{grid-template-columns:1fr}.tariff-option>span{min-height:0;display:grid;grid-template-columns:23px 1fr;column-gap:10px;padding:12px}.option-icon{grid-row:span 2;margin:0;align-self:center}.tariff-option small{margin-top:3px}.page-heading{align-items:flex-start}.version{margin-top:29px}.distance-row{grid-template-columns:1fr}.waiting-row{gap:12px;grid-template-columns:1fr 98px}.fare-meta{gap:8px}.fare-meta>span:first-child{font-size:11px}}
@media(max-width:680px){.topbar{height:78px;padding:0 20px}.brand{font-size:13px}.brand-sub{font-size:12px}.brandmark{width:38px;height:38px;font-size:26px}.source-link{font-size:12px}.source-link span{padding-left:2px}main{padding:28px 16px 22px}.page-heading{display:block;margin-bottom:24px}.version{margin-top:17px}.intro{font-size:14px;max-width:300px}.workspace{grid-template-columns:1fr;gap:22px}.distance-row{grid-template-columns:1.3fr 1fr;gap:13px}.tariff-options{grid-template-columns:1fr 1fr 1.15fr;gap:7px}.tariff-option>span{display:flex;padding:12px 9px;min-height:119px;gap:0}.option-icon{align-self:flex-start;margin-bottom:12px}.tariff-option strong{font-size:13px}.tariff-option small{font-size:12px;margin-top:5px}.total{font-size:64px}.fare-meta>span:first-child{font-size:11px}.input-panel{padding:23px 18px 0}.scope-note{margin:17px 6px 0}.tariff-details{margin-top:24px}.tariff-details summary{padding:18px;font-size:14px}.details-label{gap:13px}.details-label{font-size:0}.plus{font-size:25px}.tariff-content{padding:0 15px 20px}.page-footer{flex-direction:column;gap:8px;margin-top:23px}.approach-block>select{font-size:13px}.fare-display,.receipt{padding-left:24px;padding-right:24px}.form-footer{font-size:12px}.waiting-row{grid-template-columns:1fr 105px}.table-scroll th,.table-scroll td{padding:12px 9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.topbar,.input-panel,.tariff-details,.page-footer{display:none}.workspace{display:block}.result-column{max-width:520px}.fare-display{background:white;color:#172326;border:1px solid #172326}.total,.fare-meta>span:first-child,.trip-summary,.tariff-badge{color:#172326}.page-heading{margin-top:0}.result-card{box-shadow:none}}
.route-block{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid var(--line)}.address-field+.address-field{margin-top:15px}.address-field label{display:flex;align-items:center;gap:8px;margin-bottom:8px}.address-letter{width:23px;height:23px;border-radius:5px;background:#e9eeee;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.destination-letter{background:#fff1b6}.address-field input{width:100%;border:1px solid #ccd4d4;border-radius:8px;padding:14px 12px;font-size:16px;min-height:50px;color:var(--ink);background:white}.address-field input::placeholder{color:#717b7d;font-size:14px}.route-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border:1px solid #d3ac25;background:var(--yellow);color:var(--ink);border-radius:8px;font-size:15px;font-weight:650;min-height:49px;padding:12px 15px;margin-top:16px}.route-button:hover{background:#f0c72f}.route-button:disabled{opacity:.65;cursor:wait}.route-privacy{font-size:12px;line-height:1.6;margin-top:10px}.connection-note{padding:12px 14px;background:#fff9df;border:1px solid #e7d48b;border-radius:8px;font-size:13px;line-height:1.6;margin:14px 0 0}.route-status{font-size:14px;line-height:1.55;margin-top:13px;color:#4c5c5f}.route-status[data-state=error]{color:#9c2916}.route-result{border:1px solid #d6dfdf;background:#f6f8f8;border-radius:9px;padding:16px;margin-top:15px}.route-result-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.route-result-heading strong{font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.google-attribution{font:400 13px Arial,sans-serif;color:#5e5e5e;white-space:nowrap;letter-spacing:normal}.route-result p{font-size:13px;line-height:1.6;margin:10px 0;color:var(--muted)}.route-result a{font-size:13px;font-weight:600}.route-result .route-link-note{font-size:12px;margin:8px 0 0}.route-result #route-warnings{color:#8f3c10}.input-with-unit input:read-only{background:#f4f6f6}.tariff-details:target{scroll-margin-top:20px}

.address-field{position:relative}.suggestions-panel{position:absolute;top:auto;left:0;right:0;margin-top:5px;z-index:25;background:white;border:1px solid #b6c3c5;border-radius:10px;box-shadow:0 10px 28px #17232624;overflow:hidden}.suggestions-panel [role=listbox]{max-height:320px;overflow-y:auto;overscroll-behavior:contain}.suggestion-option{display:flex;flex-direction:column;gap:4px;padding:13px 14px;cursor:pointer;border-bottom:1px solid #e6ebeb;color:#172326;line-height:1.45}.suggestion-option strong{font-size:14px;font-weight:600}.suggestion-option span{font-size:13px;color:#5b6668;overflow-wrap:anywhere}.suggestion-option[aria-selected=true],.suggestion-option:hover{background:#fff4cb}.suggestions-attribution{padding:10px 14px;text-align:right;background:#f9fafa}.suggestions-status{font-size:12px;line-height:1.55;color:#5b6668;margin:7px 0 0}.address-field:focus-within{z-index:26}

.route-choices{border:0;padding:0;margin:18px 0;min-width:0}.route-choices legend{line-height:1.5}.route-choices #route-choices-help{margin:6px 0 12px}.route-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #ccd4d4;border-radius:8px;background:white;cursor:pointer;margin-top:8px;line-height:1.5}.route-choice:has(input:checked){border-color:#b28b09;background:#fff9df;box-shadow:inset 0 0 0 1px #b28b09}.route-choice input{flex:0 0 auto;margin:4px 0 0;accent-color:#715600;width:17px;height:17px}.route-choice span{min-width:0;overflow-wrap:anywhere}.route-choice strong{display:block;font-size:14px;font-weight:650}.route-choice small{display:block;color:var(--muted);font-size:13px;font-weight:400;margin-top:3px}

.approach-origin{margin-top:15px;padding:15px;background:#f4f6f6;border-radius:9px}.approach-origin .address-field input{background:white;font-size:14px}.line-item dt small{overflow-wrap:anywhere}

.location-actions{margin:10px 0 18px}.location-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;border:1px solid #b9c7c7;border-radius:8px;background:#f3f7f7;color:var(--ink);padding:10px 14px;font-size:14px;font-weight:600;line-height:1.4;text-align:left}.location-button:hover{background:#e8eeee}.location-button:disabled{opacity:.65;cursor:wait}.location-status{font-size:14px;line-height:1.6;color:#405457;margin:8px 0 0}.location-status[data-state=error]{color:#9c2916}

.airport-pickup-note{margin:0 0 22px;padding:18px 20px;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:8px;background:#f5f7f7}.airport-pickup-note h3{margin:0 0 8px;font-size:18px;line-height:1.4;color:var(--ink)}.airport-pickup-note p{margin:0;font-size:16px;line-height:1.6;color:var(--ink)}

.booking-transfer{margin-bottom:24px}.booking-transfer .route-button{justify-content:center;margin-top:0;font-size:16px}.booking-transfer .route-button:disabled{cursor:default}.booking-transfer-status{margin:10px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}

.app-download{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;max-width:760px;margin:0 auto 28px;padding:22px;background:#fff9df;border:1px solid #e7d48b;border-radius:12px}.app-download>div{flex:1 1 300px;min-width:0}.app-download-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:9px}.app-download h3{font-size:18px;line-height:1.4;margin:0}.app-download-logo{display:block;width:120px;max-width:100%;height:auto;flex:0 0 auto}.app-download p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.app-download-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid #d3ac25;border-radius:8px;background:var(--yellow);color:var(--ink);font-size:16px;font-weight:650;line-height:1.4;text-decoration:none}.app-download-link:hover{background:#f0c72f}@media(max-width:680px){.app-download{padding:18px}.app-download-link{width:100%}}

.booking-button{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:16px 20px;border:1px solid #d3ac25;border-radius:9px;background:var(--yellow);color:var(--ink);font-size:16px;font-weight:650;text-decoration:none}.booking-button:hover{background:#f0c72f}.booking-section{margin-top:28px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:white;scroll-margin-top:24px;min-width:0}.booking-section .section-heading{margin-bottom:14px}.booking-intro{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 24px;max-width:760px}.booking-frame-wrap{max-width:760px;margin:0 auto}.booking-frame-wrap iframe{display:block;width:100%;max-width:760px;border:0;background:#fff}.booking-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:14px;line-height:1.5}.booking-privacy{font-size:14px;line-height:1.6;color:var(--muted);max-width:760px;margin:22px auto 0}@media(max-width:680px){.booking-section{padding:22px 16px}.booking-intro{font-size:16px}.booking-links{flex-direction:column}}@media print{.booking-button,.booking-section{display:none}}
