@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--color-primary:#059669;--color-primary-dark:#047857;--color-primary-light:#10b981;--color-primary-bg:#ecfdf5;--color-secondary:#0ea5e9;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#64748b;--color-text-light:#94a3b8;--color-border:#e2e8f0;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-blue:0 10px 25px -5px #0ea5e966;--shadow-green:0 10px 25px -5px #05966966;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}#root,.app{min-height:100vh}.app{flex-direction:column;display:flex}.app>main{flex:1 0 auto}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (width>=480px){.container{padding:0 1.25rem}}@media (width>=768px){.container{padding:0 2rem}}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-muted{color:var(--color-text-muted)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.mx-1{margin:0 .25rem}.btn{border-radius:var(--radius-pill);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:var(--transition);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary-light), var(--color-primary));color:#fff;box-shadow:var(--shadow-green)}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));transform:translateY(-2px);box-shadow:0 12px 30px -5px #05966980}.btn-secondary{color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{background:var(--color-bg);border-color:var(--color-text-light)}.btn-icon{border-radius:var(--radius-lg);color:var(--color-text-muted);border:1px solid var(--color-border);transition:var(--transition);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:.5rem;display:flex}.btn-icon:hover{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary-light)}.glass{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #ffffff4d}.custom-glass{-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border:1px solid #ffffff80;box-shadow:0 20px 40px -10px #0000000d,inset 0 1px #fff}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid #0000;padding:1.25rem}@media (width>=480px){.card{padding:1.5rem}}@media (width>=768px){.card{padding:1.75rem}}.header{z-index:80;border-bottom:1px solid #ffffff80;align-items:center;width:100%;height:72px;display:flex;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;text-decoration:none;display:flex}.logo-image{width:auto;height:46px;display:block}@media (width<=480px){.logo-image{height:38px}}.nav-link{border-radius:var(--radius-pill);color:var(--color-text);transition:var(--transition);background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary-light)}.nav-link svg{color:var(--color-primary)}.hero{padding:2.5rem 0;position:relative}.global-shapes-container{z-index:-1;pointer-events:none;background:var(--color-bg);position:fixed;inset:0;overflow:hidden}.g-shape{filter:blur(80px);opacity:.2;will-change:transform;border-radius:50%;animation:20s ease-in-out infinite alternate floatShape;position:absolute}.g-shape-1{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));width:50vw;min-width:400px;height:50vw;min-height:400px;animation-delay:0s;top:-10%;left:-10%}.g-shape-2{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary));width:60vw;min-width:500px;height:60vw;min-height:500px;animation-delay:-7s;bottom:-20%;right:-10%}.g-shape-3{background:linear-gradient(135deg, var(--color-primary-light), var(--color-secondary));opacity:.15;width:40vw;min-width:300px;height:40vw;min-height:300px;animation-delay:-14s;top:30%;left:50%}@keyframes floatShape{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(5%,-5%)scale(1.05)rotate(5deg)}66%{transform:translate(-3%,3%)scale(.95)rotate(-5deg)}to{transform:translate(0)scale(1)rotate(0)}}.animate-delay-1{animation-fill-mode:both;animation-delay:.1s!important}.animate-delay-2{animation-fill-mode:both;animation-delay:.2s!important}.animate-delay-3{animation-fill-mode:both;animation-delay:.3s!important}.animate-delay-4{animation-fill-mode:both;animation-delay:.4s!important}.animate-delay-5{animation-fill-mode:both;animation-delay:.5s!important}.hero-content{z-index:10;margin-bottom:2rem;position:relative}@media (width>=768px){.hero-content{margin-bottom:3.5rem}}.hero-text-block{max-width:800px;margin:0 auto}.hero-title{letter-spacing:-.025em;text-align:center;color:var(--color-text);margin-bottom:1.5rem;font-size:2rem;font-weight:800}@media (width>=480px){.hero-title{font-size:2.5rem}}.presentation-card{border-radius:var(--radius-xl);text-align:left;margin-bottom:2rem;padding:2rem}.presentation-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.icon-wrapper{background:var(--color-primary-bg);border-radius:var(--radius-lg);justify-content:center;align-items:center;padding:.5rem;display:flex}.presentation-header h3{color:var(--color-text);font-size:1.25rem;font-weight:700}.presentation-desc{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.6}.example-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff9;padding:1.25rem}.example-title{color:var(--color-text);align-items:center;margin-bottom:1rem;font-size:.95rem;font-weight:700;display:flex}.example-comparison{flex-direction:column;gap:1rem;display:flex}@media (width>=640px){.example-comparison{flex-direction:row;justify-content:space-between;align-items:center}}.example-bad,.example-good{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;flex:1;gap:.25rem;padding:1rem;display:flex}.example-bad{border-left:4px solid #ef4444}.example-good{border-left:4px solid var(--color-primary);box-shadow:var(--shadow-md);transform:scale(1.02)}.vs-divider{color:var(--color-border);text-align:center;padding:.5rem;font-size:1.25rem;font-weight:800}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);width:fit-content;padding:.2rem .5rem;font-size:.7rem;font-weight:800}.badge-bad{color:#ef4444;background:#fef2f2}.badge-good{background:var(--color-primary-bg);color:var(--color-primary)}.route{color:var(--color-text);font-weight:600}.price{font-size:1.5rem;font-weight:800}.example-conclusion{color:var(--color-primary);background:var(--color-primary-bg);border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem;font-weight:700;display:flex}@media (width>=768px){.hero{padding:3.5rem 0}.hero-title{font-size:2.7rem}}@media (width>=1024px){.hero{padding:4rem 0}.hero-title{font-size:3.1rem}}.search-container{z-index:20;max-width:1100px;margin:0 auto;position:relative}.search-box{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);transition:var(--transition);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.search-box:focus-within{border-color:var(--color-primary-light);box-shadow:0 20px 40px -10px #05966926}.search-group-locations{flex-direction:column;gap:.75rem;display:flex;position:relative}.search-group-datetime,.search-group-actions{flex-direction:row;gap:.75rem;display:flex}.search-field{border-radius:var(--radius-lg);background:var(--color-bg);transition:var(--transition);border:1px solid #0000;flex:1;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex;position:relative}.search-field:hover{border-color:var(--color-border)}.search-field-icon{color:var(--color-primary);opacity:.7;justify-content:center;align-items:center;display:flex}.search-field-content{flex:1;min-width:0}.search-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.125rem;font-size:.65rem;font-weight:800;display:block}.search-field-input{width:100%;color:var(--color-text);font-size:1rem;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;outline:none;padding:0}.search-field-input::placeholder{color:var(--color-text-light);font-weight:500}.search-divider{background:var(--color-border);align-self:stretch;width:1px;margin:.75rem 0;display:none}.desktop-only{display:none!important}.swap-btn-compact{z-index:5;background:var(--color-surface);border:1.5px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-primary);transition:var(--transition);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}.swap-btn-compact:hover{background:var(--color-primary-light);color:#fff;border-color:var(--color-primary-light);transform:translateY(-50%)rotate(180deg)}.search-settings-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);transition:var(--transition);height:auto;box-shadow:var(--shadow-sm);cursor:pointer;justify-content:center;align-items:center;padding:0 1.25rem;display:flex}.search-settings-btn:hover{border-color:var(--color-text-muted);color:var(--color-text);background:var(--color-bg)}.search-settings-btn.active{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary-light);box-shadow:inset 0 2px 4px #0000000d}.search-btn{border-radius:var(--radius-lg);color:#fff;cursor:pointer;width:100%;transition:var(--transition);box-shadow:var(--shadow-sm);border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;margin-top:0;padding:1.125rem;font-size:1.125rem;font-weight:700;display:flex}.search-btn.is-normal{background:linear-gradient(135deg, var(--color-primary-light), var(--color-primary));box-shadow:var(--shadow-green)}.search-btn.is-normal:hover{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));transform:translateY(-2px);box-shadow:0 12px 30px -5px #05966980}.search-btn:active{transform:translateY(0)}.search-btn.is-disabled,.search-btn:disabled{opacity:1;cursor:wait;box-shadow:var(--shadow-sm);background:#767676;transform:none}@media (width>=1024px){.search-box{border-radius:var(--radius-pill);z-index:10;flex-direction:row;align-items:center;gap:0;padding:.5rem .5rem .5rem 1rem;position:relative}.search-group-locations,.search-group-datetime,.search-group-actions{display:contents}.desktop-only{display:block!important}.search-field{background:0 0;border:none;border-radius:0;padding:.5rem 1.25rem}.search-field:hover{background:var(--color-bg);border-color:#0000}.search-divider{display:block}.search-btn{border-radius:var(--radius-pill);flex:none;width:auto;height:52px;margin-left:.5rem;padding:0 2rem}.search-field:first-child{border-top-left-radius:var(--radius-pill);border-bottom-left-radius:var(--radius-pill)}.swap-btn-compact{background:var(--color-primary-bg);border:1px solid var(--color-primary-light);width:32px;height:32px;box-shadow:none;color:var(--color-primary);margin:0;position:static;transform:none}.swap-btn-compact:hover{background:var(--color-primary);color:#fff;transform:rotate(180deg)}.search-settings-btn{background:var(--color-primary-bg);border:1px solid var(--color-primary-light);cursor:pointer;width:44px;height:44px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #16a34a1a}.search-settings-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-green);transform:rotate(45deg)}.search-settings-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:inset 0 2px 4px #0000001a}}.search-test-toggle-container{justify-content:center;align-items:center;margin-top:1rem;display:flex}.search-test-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-muted);transition:var(--transition);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.search-test-toggle-label:hover{color:var(--color-text)}.search-test-toggle-input{appearance:none;border:2px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;width:1.25rem;height:1.25rem;transition:var(--transition);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.search-test-toggle-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.search-test-toggle-input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.35rem;height:.6rem;transform:rotate(45deg)translate(-1px,-1px)}.search-test-toggle-input:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.low-carbon-toggle{cursor:pointer;justify-content:flex-start;align-items:center;gap:.4rem;margin:0 0 .4rem;display:flex}.low-carbon-toggle-label{color:var(--color-text);font-size:.75rem;font-weight:600;font-family:var(--font-sans);text-transform:none;line-height:1}.low-carbon-toggle input{opacity:0;width:1px;height:1px;position:absolute}.low-carbon-toggle-track{background:#cbd5e1;border-radius:999px;width:2rem;height:1.1rem;transition:background-color .2s;position:relative}.low-carbon-toggle-track:after{content:"";background:#fff;border-radius:50%;width:.8rem;height:.8rem;transition:transform .2s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 2px #0f172a40}.low-carbon-toggle input:checked+.low-carbon-toggle-track{background:var(--color-primary)}.low-carbon-toggle input:checked+.low-carbon-toggle-track:after{transform:translate(.9rem)}.low-carbon-toggle input:focus-visible+.low-carbon-toggle-track{outline:2px solid var(--color-primary-light);outline-offset:2px}.results-section{padding:1.5rem 0}.technical-error-message{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);text-align:center;box-shadow:var(--shadow-sm);padding:1rem 1.25rem;font-size:.95rem;line-height:1.6}@media (width>=768px){.results-section{padding:2.5rem 0}}.results-header{flex-direction:column;gap:.25rem;margin-bottom:1.25rem;display:flex}@media (width>=480px){.results-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1.5rem}}.results-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=768px){.results-grid{gap:1.25rem}}.empty-state{text-align:center;background:var(--color-surface);border-radius:var(--radius-xl);border:1px dashed var(--color-border);padding:2.5rem 1.5rem}@media (width>=768px){.empty-state{padding:4rem 2rem}}.empty-state-icon{background:var(--color-primary-bg);width:80px;height:80px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.5s ease-out forwards slideUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.visualizer-page{background:var(--color-bg);overflow:hidden}.visualizer-page iframe{background:#fff;border-radius:0}.range-slider-container{width:100%;height:40px;position:relative}.range-slider-track{z-index:1;pointer-events:none;background:#d1d9e0;border-radius:999px;height:6px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.range-slider-progress{background:var(--color-primary);z-index:2;pointer-events:none;border-radius:999px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.range-slider-input{pointer-events:none;appearance:none;z-index:10;background:0 0;outline:none;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0}.range-slider-input--min{z-index:11}.range-slider-input--max{z-index:10}.range-slider-input::-webkit-slider-runnable-track{cursor:pointer;background:0 0;border:none}.range-slider-input::-moz-range-track{cursor:pointer;background:0 0;border:none}.range-slider-input::-webkit-slider-thumb{appearance:none;background:var(--color-primary);pointer-events:auto;cursor:grab;border:2.5px solid #fff;border-radius:50%;width:22px;height:22px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #16a34a59}.range-slider-input::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 3px 12px #16a34a73}.range-slider-input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.22);box-shadow:0 4px 16px #16a34a8c}.range-slider-input::-moz-range-thumb{background:var(--color-primary);pointer-events:auto;cursor:grab;border:2.5px solid #fff;border-radius:50%;width:22px;height:22px;box-shadow:0 2px 8px #16a34a59}.search-advanced-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffe6;flex-direction:column;gap:1.5rem;margin-top:.75rem;padding:1.5rem;animation:.3s ease-out forwards slideDown;display:flex}@media (width>=1024px){.search-advanced-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:5;border-top:none;margin-top:-12px;padding-top:2rem}}.search-advanced-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.search-advanced-grid{grid-template-columns:repeat(2,1fr)}}.advanced-group-title{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-modal-overlay{z-index:500;background:#0f172a73;justify-content:center;align-items:center;padding:5rem 1rem 2rem;display:flex;position:fixed;inset:0}.price-warning-overlay{z-index:10000;background:#0f172a94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.price-warning-dialog{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:min(100%,500px);padding:2rem;animation:.22s modalIn;position:relative;box-shadow:0 24px 60px #0f172a47}.price-warning-dialog h2{margin-bottom:.85rem;font-size:1.35rem}.price-warning-dialog p{color:var(--color-text-muted)}.price-warning-dialog p a{color:var(--color-primary-dark);font-weight:700}.price-warning-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:.35rem;display:grid;position:absolute;top:.8rem;right:.8rem}.price-warning-close:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.price-warning-checkbox{color:var(--color-text);cursor:pointer;align-items:center;gap:.7rem;margin:1.35rem 0;font-size:1.05rem;font-weight:600;display:flex}.price-warning-checkbox input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary)}.price-warning-continue{width:100%}.unavailable-booking-details{grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:1.15rem 0 1.35rem;display:grid}.unavailable-booking-details dt{color:var(--color-text-muted);font-size:.9rem}.unavailable-booking-details dd{text-align:right;margin:0;font-weight:700}.unavailable-booking-company{justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}@media (width<=480px){.price-warning-dialog{padding:1.5rem}}.filter-modal{background:#fff;border-radius:20px;flex-direction:column;width:min(92vw,520px);max-height:88vh;animation:.22s modalIn;display:flex;overflow:hidden;box-shadow:0 30px 60px #00000040,0 0 0 1px #0000000d}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.filter-modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;display:flex}.filter-modal-body{flex-direction:column;flex:1;gap:1.1rem;padding:1.2rem 1.4rem;display:flex;overflow-y:auto}.filter-modal-footer{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-start;align-items:center;gap:.75rem;padding:.9rem 1.4rem;display:flex}.results-filter-close{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.results-filter-close:hover{background:#f8fafc}.results-filter-group{flex-direction:column;gap:.45rem;display:flex}.results-filter-group label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.78rem;font-weight:800}.results-filter-group input:not([type=checkbox]){border:1px solid var(--color-border);background:var(--color-bg-white,#fff);border-radius:10px;padding:.55rem .7rem;font-size:.9rem}.results-filter-inline{align-items:center;gap:.5rem;display:flex}.results-filter-inline input{width:100%}.results-filter-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.results-filter-modes label{text-transform:none;letter-spacing:normal;color:var(--color-text);align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;display:flex}.results-filter-reset{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;margin-top:auto;padding:.7rem .9rem;font-weight:700}.results-filter-company-list{border:1px solid var(--color-border);background:#fff;border-radius:10px;flex-direction:column;gap:.2rem;max-height:170px;padding:.35rem;display:flex;overflow-y:auto}.results-filter-option-btn{width:100%;color:var(--color-text);cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:.4rem .45rem .4rem .6rem;font-size:.86rem;font-weight:600;display:flex}.results-filter-option-btn:hover{background:#f0fdf4;border-color:#bbf7d0}.results-filter-dropdown{border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:.35rem}.results-filter-dropdown summary{cursor:pointer;color:var(--color-text-muted);padding:.3rem .4rem;font-size:.82rem;font-weight:700}.results-filter-dropdown input:not([type=checkbox]){margin-top:.4rem}.results-filter-company-item{color:var(--color-text);cursor:pointer;border-radius:8px;align-items:center;gap:.45rem;padding:.35rem .45rem;font-size:.86rem;font-weight:500;display:flex}.results-filter-company-item:hover{background:#f8fafc}.results-filter-company-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-primary)}.results-filter-collapsible{border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:.3rem}.results-filter-collapsible summary{cursor:pointer;color:var(--color-text-muted);padding:.35rem .45rem;font-size:.8rem;font-weight:800;list-style:none}.results-filter-collapsible summary::-webkit-details-marker{display:none}.results-filter-collapsible summary:before{content:"▸";color:var(--color-primary);margin-right:.35rem}.results-filter-collapsible[open] summary:before{content:"▾"}.range-slider-container--wide{height:40px;margin-top:2px}.results-filter-select-wrap{border:1px solid var(--color-border);background:#fff;border-radius:10px;flex-direction:column;gap:.45rem;padding:.45rem;display:flex}.results-filter-select-row{align-items:stretch;gap:.5rem;display:flex}.results-filter-select{border:1px solid var(--color-border);border-radius:8px;flex:1;padding:.25rem;font-size:.85rem}.results-filter-add-btn{color:#166534;cursor:pointer;background:#ecfdf5;border:1px solid #86efac;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.95rem;font-weight:800;display:flex}.results-filter-add-btn:disabled{opacity:.35;cursor:not-allowed}.results-filter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.results-filter-chip{color:#166534;cursor:pointer;background:#ecfdf5;border:1px solid #86efac;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.results-filter-chip--exclude{color:#9f1239;background:#fff1f2;border-color:#fecaca}@keyframes slideDownBanner{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.trips-layout-container{flex-direction:column;gap:1.5rem;width:100%;display:flex}.trips-sidebar{display:none}.trips-sidebar.trips-sidebar--similar{box-shadow:none;background:0 0;border:0;border-radius:0;align-self:flex-start;display:flex;position:static;overflow:visible}.mobile-filter-btn{display:flex}.similar-trips-back{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;border-radius:.65rem;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.55rem .8rem;font-weight:700;display:inline-flex}.results-sort-bar{--trip-duration-column:clamp(4.25rem, 10%, 5rem);--trip-price-column:clamp(6.5rem, 13%, 7.25rem);grid-template-columns:minmax(0, 1fr) var(--trip-duration-column) var(--trip-price-column);align-items:center;column-gap:clamp(.35rem,1%,.75rem);margin-bottom:.25rem;padding:0 clamp(.85rem,2vw,1.1rem);display:grid;position:relative}.balanced-comparison{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.results-sort-timeline-columns{grid-template-columns:90px minmax(0,1fr) 90px;align-items:center;min-width:0;display:grid}.results-sort-column{min-width:0;min-height:2rem;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:1px solid #0000;justify-content:center;align-items:center;gap:.25rem;padding:0 .25rem;font-size:.78rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.results-sort-column-label{align-self:stretch;align-items:center;min-width:0;display:inline-flex;position:relative}.results-sort-column-label-text{align-items:center;gap:.25rem;min-width:0;max-width:100%;display:inline-flex}.results-sort-column-label-content{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.results-sort-column:hover{color:var(--color-primary);border-bottom-color:#0000}.results-sort-column:hover:after{background:var(--color-primary);content:"";height:1px;position:absolute;bottom:7px;left:0;right:0}.results-sort-column--active{color:var(--color-primary);border-bottom-color:#0000}.results-sort-column--departure{grid-column:1;justify-content:flex-start}.results-sort-column--balanced{grid-column:2}.results-sort-column--arrival{grid-column:3;justify-content:flex-end}.results-sort-column--duration{grid-column:2}.results-sort-column--price{grid-column:3}.results-sort-column--active .results-sort-column-label-text{border-bottom:1px solid var(--color-primary);max-width:100%}.results-sort-column--active:hover .results-sort-column-label-text{border-bottom-color:#0000}.mobile-filter-btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:700;position:absolute;left:0;transform:translate(-100%)}.trip-results-with-detail{flex-direction:column;gap:.75rem;width:100%;display:flex}.trip-results-list{flex-direction:column;gap:.75rem;min-width:0;display:flex}.search-statistics-section{margin-top:.75rem}.search-statistics-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-primary);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .75rem;font-weight:700;transition:border-color .2s,background-color .2s;display:flex}.search-statistics-toggle:hover,.search-statistics-toggle:focus-visible{border-color:var(--color-primary);background:var(--color-primary-bg)}.search-statistics{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-top:.5rem;padding:.65rem}.search-statistics-header h3{color:var(--color-text);margin:0;font-size:.9rem}.search-statistics-header p{color:var(--color-text-muted);margin:.15rem 0 0;font-size:.8rem}.search-statistics-chart-wrap{width:100%;margin-top:.45rem;overflow-x:auto}.search-statistics-chart{width:min(100%,640px);min-width:480px;height:auto;margin:0 auto;display:block}.search-statistics-tick line{stroke:var(--color-border);stroke-width:1px;opacity:.7}.search-statistics-tick text{fill:var(--color-text-muted);font-size:11px}.search-statistics-axis{stroke:var(--color-text-muted);stroke-width:1.5px}.search-statistics-label{fill:var(--color-text);font-size:12px;font-weight:700}.search-statistics-point{fill:var(--point-color,var(--color-primary));stroke:var(--color-surface);stroke-width:2px;cursor:help;opacity:.85;transition:r .15s,opacity .15s}.search-statistics-point:hover{r:7;opacity:1}.trip-detail-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-md);padding:.85rem}.trip-detail-panel-header{color:var(--color-text);justify-content:center;align-items:center;margin:0;padding:.6rem .75rem;font-size:.9rem;font-weight:800;display:flex;position:relative}.trip-detail-panel-header button{border:1px solid var(--color-border);background:var(--color-surface);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:.15rem}.trip-detail-panel-header button:hover{border-color:var(--color-primary);color:var(--color-primary)}.trip-detail-total-price{color:var(--color-primary);font-size:1.3125rem;font-weight:700}.trip-detail-total-duration{color:var(--color-text-muted);font-size:1rem;font-weight:600}.search-page-layout{width:100%;padding-bottom:1rem}.search-page-content,.search-results-layout{min-width:0}.search-trip-detail-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-md);padding:0}@media (width<=1199px){.app:has(.search-page-layout--detail-open){--mobile-detail-header-height:72px;--mobile-detail-footer-height:72px}.search-trip-detail-panel{top:var(--mobile-detail-header-height,72px);right:0;bottom:calc(var(--mobile-detail-footer-height,72px) + env(safe-area-inset-bottom));z-index:100;box-sizing:border-box;padding-inline:max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));background:var(--color-bg,#f8fafc);box-shadow:none;border:0;border-radius:0;position:fixed;left:0;overflow-y:auto}.search-results-layout--detail-open .results-section{display:none}.app:has(.search-page-layout--detail-open) .app-footer{z-index:12000;box-sizing:border-box;min-height:var(--mobile-detail-footer-height);padding:.75rem 0;position:fixed;bottom:0;left:0;right:0}}.trip-card-comparison{z-index:4;white-space:nowrap;pointer-events:none;align-items:center;gap:5px;max-width:calc(100% - 180px);font-size:.72rem;line-height:1.2;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.balanced-comparison{min-height:28px;color:var(--color-text-muted);font-size:.8rem}.balanced-comparison span:not(:last-child):after{content:"·";color:var(--color-border);margin-left:6px}.comparison-delta--better{color:#15803d}.comparison-delta--worse{color:#dc2626}.comparison-delta--neutral{color:var(--color-text-muted)}@media (width<=767px){.trip-card-comparison{max-width:calc(100% - 32px);font-size:.68rem}.mobile-filter-btn{grid-column:1/-1;justify-self:start;margin-bottom:.25rem;position:static;transform:none}}@media (width<=1023px){.results-sort-bar{--trip-duration-column:3.25rem;--trip-price-column:5rem;column-gap:.25rem;padding-left:.7rem;padding-right:.7rem}.results-sort-timeline-columns{grid-template-columns:76px minmax(0,1fr) 56px}.results-sort-column{font-size:.75rem}.results-sort-column--arrival .results-sort-column-label-text{transform:translate(.25rem)}.results-sort-column--arrival:hover:after{left:.4rem;right:.4rem}}@media (width>=1024px){.results-section.container{max-width:100%!important;padding-left:1rem!important;padding-right:2rem!important}.trips-layout-container{grid-template-columns:320px 1fr;align-items:start;gap:2rem;padding:0;display:grid}.trips-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);z-index:10;flex-direction:column;padding:1.5rem;display:flex;position:sticky;top:90px}.trip-detail-panel{max-height:calc(100vh - 106px);position:sticky;top:90px;overflow-y:auto}.trips-layout-container--detail-open .trip-detail-panel{grid-column:2}.trips-sidebar-header{color:var(--color-text);border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.125rem;font-weight:800}.trips-sidebar-body{flex-direction:column;gap:1.25rem;display:flex}.trips-sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.mobile-filter-btn{display:none!important}}@media (width>=1200px){.trips-layout-container--detail-open{grid-template-columns:280px minmax(0,2fr) minmax(360px,1fr);gap:1rem}.trips-layout-container--detail-open .trip-detail-panel{grid-column:3}.search-results-layout--detail-open{grid-template-columns:minmax(0,2fr) minmax(360px,1fr);align-items:start;display:grid}.search-results-layout--detail-open .search-trip-detail-panel{box-sizing:border-box;height:calc(100vh - 72px);box-shadow:none;border-top:0;border-bottom:0;border-right:0;border-radius:0;align-self:start;padding:0;position:sticky;top:72px;overflow-y:auto}}.connections-selector{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;gap:3px;width:fit-content;margin-top:.2rem;padding:3px;display:flex}.connection-opt-btn{color:var(--color-text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:7px;padding:.45rem 1rem;font-size:.9rem;font-weight:700}.connection-opt-btn:hover{color:var(--color-text);background:#ffffff80}.connection-opt-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.modes-selector{grid-template-columns:repeat(4,1fr);gap:4px;width:100%;margin-top:.2rem;display:grid}.mode-opt-btn{color:var(--color-text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.6rem .25rem;font-size:.75rem;font-weight:600;display:flex}.mode-opt-btn:not(.active){background:var(--color-bg-white,#fff);border:1px solid var(--color-border);color:var(--color-text)}.mode-opt-btn:hover{color:var(--color-text);background:#ffffff80}.mode-opt-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.mode-opt-btn svg{transition:transform .2s}.mode-opt-btn:hover svg{transform:scale(1.1)}.company-logo-img,.home-logo-cell img{border-radius:50%}.custom-datepicker{width:100%;position:relative}.datepicker-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font-family:var(--font-sans);cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:1.125rem;font-weight:600;display:flex}.datepicker-input:hover{border-color:var(--color-primary-light)}.datepicker-input.active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.datepicker-input.minimal{box-shadow:none;background:0 0;border:none;border-radius:0;height:auto;padding:0;font-size:1rem;font-weight:700}.datepicker-input.minimal:hover{border-color:#0000}.datepicker-input.minimal.active{box-shadow:none}.datepicker-popover{z-index:1000;background:var(--color-surface);border-radius:var(--radius-lg);width:300px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:1.5rem;animation:.2s ease-out slideUp;position:absolute;top:calc(100% + 10px);left:0}.datepicker-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.datepicker-header button{cursor:pointer;color:var(--color-text-muted);transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:flex}.datepicker-header button:hover{background:var(--color-bg);color:var(--color-text)}.datepicker-title{color:var(--color-text);text-transform:capitalize;font-size:1.1rem;font-weight:700}.datepicker-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.datepicker-day-name{text-align:center;color:var(--color-text-light);text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.datepicker-day{aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text);justify-content:center;align-items:center;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.datepicker-day:hover:not(.empty){background:var(--color-primary-bg);color:var(--color-primary)}.datepicker-day.empty{cursor:default}.datepicker-day.selected{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.datepicker-day.today{border:1px solid var(--color-primary);color:var(--color-primary)}.datepicker-day.selected.today{color:#fff;border-color:#0000}.datepicker-day.disabled{color:var(--color-text-muted);opacity:.35;cursor:not-allowed;pointer-events:none}.trip-card{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.trip-card--list-item:hover{border-color:var(--color-primary)!important}.trip-card--list-item{--trip-duration-column:clamp(4.25rem, 10%, 5rem);--trip-price-column:clamp(6.5rem, 13%, 7.25rem);--trip-list-inline-padding:clamp(.85rem, 2vw, 1.1rem);--trip-right-panel-divider-inset:3px;grid-template-columns:minmax(0, 1fr) var(--trip-duration-column) var(--trip-price-column);padding:.85rem var(--trip-list-inline-padding);gap:0 clamp(.35rem,1%,.75rem);display:grid}.trip-card--list-item>.trip-timeline{--timeline-line-height:6px;--timeline-label-gap:.5rem;grid-area:1/1;align-self:stretch;padding:.25rem 0;margin:0!important}.trip-card--list-item .time-block,.trip-card--list-item .duration-line{height:3.75rem!important}.trip-card--list-item .time-block{grid-template-rows:1fr var(--timeline-line-height) 1fr;display:grid}.trip-card--list-item .duration-line{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr var(--timeline-line-height) 1fr;justify-items:stretch;min-width:0;justify-content:stretch!important;display:grid!important}.trip-card--list-item .duration-line>.line{grid-area:2/1;place-self:center stretch;width:100%!important;top:auto!important}.trip-card--list-item .trip-price{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;box-sizing:border-box;place-self:center;width:100%;padding-left:.5rem;padding-right:.5rem;font-size:1.4rem;align-items:center!important}.trip-card--list-item>.trip-price{grid-area:1/3}.trip-list-total-duration{border-left:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;box-sizing:border-box;width:100%;transform:translateX(var(--trip-right-panel-divider-inset));flex-direction:column;justify-content:center;place-self:stretch center;align-items:center;gap:.2rem;padding:0 .5rem;font-size:1.02rem;font-weight:600;display:flex}.trip-list-difference{font-size:.9rem;font-weight:700;line-height:1}.trip-list-difference--better{color:#15803d}.trip-list-difference--worse,.trip-list-difference--neutral{color:var(--color-text-muted)}.trip-card--list-item>.trip-list-total-duration{grid-area:1/2}.trip-list-highlight,.trip-list-similar{z-index:3;color:var(--color-primary);text-align:center;grid-area:1/2/auto/4;justify-self:stretch;font-size:.7rem;font-weight:700;line-height:1}.trip-list-highlight{min-height:1.05rem;margin-left:var(--trip-right-panel-divider-inset);margin-top:-.85rem;margin-right:calc(-1 * var(--trip-list-inline-padding));color:#fff;box-sizing:border-box;background:#767676;border-radius:0 11px 0 0;align-self:start;padding:.2rem .45rem .16rem;font-size:.75rem}.trip-list-highlight--low-carbon,.trip-list-highlight--less-polluting{background:#767676}.trip-list-similar{margin-left:var(--trip-right-panel-divider-inset);margin-right:calc(-1 * var(--trip-list-inline-padding));color:var(--color-text);cursor:pointer;background:0 0;border:0;align-self:end;padding:0;font-family:inherit;font-weight:600}.trip-list-similar:hover{text-decoration:underline}@media (width<=1023px){.trip-card--list-item{--trip-duration-column:3.25rem;--trip-price-column:5rem;--trip-list-inline-padding:.7rem;padding-right:var(--trip-list-inline-padding);padding-left:var(--trip-list-inline-padding);column-gap:.25rem}.trip-card--list-item .time-block{width:auto;min-width:0}.trip-card--list-item>.trip-timeline{grid-template-columns:76px minmax(0,1fr) 56px;gap:0;display:grid}.trip-card--list-item>.trip-timeline>.time-block:first-child{grid-column:1}.trip-card--list-item>.trip-timeline>.duration-line{grid-column:2;width:auto;padding:0}.trip-card--list-item>.trip-timeline>.time-block:last-child{grid-column:3;transform:translate(.25rem)}.trip-list-total-duration{padding-left:.25rem;padding-right:.25rem;font-size:.88rem}.trip-card--list-item .trip-price{padding-left:.25rem;padding-right:.25rem;font-size:1.15rem}.trip-list-similar{font-size:.58rem}.trip-list-difference{font-size:.8rem}.trip-list-highlight{min-height:.95rem;padding-top:.16rem;padding-bottom:.12rem;font-size:.64rem}}@media (width>=480px){.trip-card--list-item .trip-price,.trip-list-total-duration{padding-left:.5rem;padding-right:.5rem}.trip-card{gap:1rem}}.trip-card-header{justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0 0;display:flex}.trip-card .trip-price{font-size:1.3125rem;font-weight:700}.trip-company{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.trip-timeline{justify-content:space-between;align-items:stretch;gap:.25rem;margin-top:.25rem;display:flex}@media (width>=480px){.trip-timeline{gap:.5rem;margin-top:.5rem}}.time-block{flex-direction:column;flex-shrink:0;min-width:60px;display:flex}@media (width>=480px){.time-block{width:90px}}.time-block.align-right{text-align:right;align-items:flex-end}.duration-line{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:0 .5rem;display:flex;position:relative}@media (width>=480px){.duration-line{padding:0}}.line{background:var(--color-border);width:100%;height:2px;margin:.5rem 0;position:relative}.dot{background:var(--color-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px}.dot:first-child{left:-4px}.dot:last-child{right:-4px}.inline-icon{vertical-align:text-bottom;margin-right:4px}.segmented-line{position:relative;overflow:visible!important}.timeline-company-label-area{bottom:var(--timeline-label-gap,.5rem);z-index:3;height:26px;position:absolute;top:auto}.timeline-company-label{white-space:nowrap;justify-content:center;align-items:center;gap:4px;height:100%;display:flex;position:relative}.timeline-company-logo{flex:none;display:inline-flex}.timeline-company-label .trip-company-name-text{letter-spacing:.01em;color:var(--color-text);font-size:.75rem;font-weight:500}.timeline-company-name-hidden{visibility:hidden;pointer-events:none;position:absolute}.timeline-transfer-segment{z-index:3;background-image:radial-gradient(circle,#64748b 1.4px,#0000 1.6px);background-position:50%;background-repeat:repeat-x;background-size:5px 4px;height:4px;position:absolute;top:1px}.timeline-segment{z-index:1;transition:all .3s}.city-label-wrap{-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;max-width:120px;display:-webkit-box;overflow:hidden}.timeline-city-label{color:var(--color-text);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding:0;font-size:.75rem;font-weight:400;line-height:1.25;overflow:hidden}.timeline-connection-city,.timeline-connection-duration{white-space:nowrap;position:absolute}.timeline-connection-city{text-align:center;text-overflow:clip;width:100%;max-width:100%;bottom:auto;left:0;top:var(--timeline-label-gap,.5rem);font-weight:400}.timeline-label-measure{visibility:hidden;white-space:nowrap;position:absolute}.timeline-connection-duration{top:calc(var(--timeline-label-gap,.5rem) + 1.25rem);font-size:.65rem;font-weight:700}.trip-card--list-item .timeline-endpoint-time{grid-row:1;align-self:end;transform:none!important}.trip-card--list-item .timeline-city-label--start,.trip-card--list-item .timeline-city-label--end{margin-top:calc(var(--timeline-label-gap) - var(--timeline-line-height));grid-row:3;align-self:start;position:static!important;bottom:auto!important}.trip-card--list-item .timeline-city-label--start{justify-self:start}.trip-card--list-item .timeline-city-label--end{justify-self:end}.eco-badge{color:var(--color-primary);background:var(--color-primary-bg);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:flex}.select-btn{padding:.5rem 1rem;font-size:.875rem}.legs-details{box-sizing:border-box;border-radius:12px;width:100%;max-width:none;padding:.75rem!important}.trip-details-wrapper{box-sizing:border-box;flex:0 0 100%;align-self:stretch;width:100%;max-width:none}.trip-card--details-only{box-shadow:none;background:0 0;gap:0;padding:0;border:0!important}.trip-card--details-only>.trip-card-header,.trip-card--details-only>.trip-timeline,.trip-card--details-only>.trip-card-comparison{display:none}.trip-card--details-only .legs-details{background:0 0!important;border:0!important;border-radius:0!important;margin-top:0!important;padding:0!important}.similar-trips-link{background:var(--color-primary-bg);width:100%;color:var(--color-primary);cursor:pointer;font:inherit;text-align:left;border:0;border-radius:.6rem;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-top:.65rem;padding:.55rem .7rem;display:flex}.similar-trips-link:hover{filter:brightness(.98)}.similar-trips-comparisons{color:var(--color-text-muted);flex-wrap:wrap;gap:.35rem .75rem;font-size:.8rem;display:flex}@media (width>=480px){.legs-details{padding:1rem!important}}.leg-item{padding:.75rem 0!important}.journey-timeline{--journey-time-width:4.5rem;--journey-rail-width:1.5rem;--journey-action-width:4.4rem;--journey-event-height:2.25rem;--journey-segment-center-offset:-.575rem;--journey-departure-rail-offset:-1.125rem;box-sizing:border-box;width:100%;padding:0 .5rem 0 0;position:relative}.journey-timeline:before{top:calc(var(--journey-event-height) - .55rem);bottom:calc(var(--journey-event-height) - .55rem);left:calc(var(--journey-time-width) + ((var(--journey-rail-width) - 2px) / 2));z-index:0;content:"";pointer-events:none;background:#e2e8f0;width:2px;position:absolute}.journey-timeline-event,.journey-timeline-segment,.journey-timeline-connection{box-sizing:border-box;width:100%}.journey-timeline-event{grid-template-columns:var(--journey-time-width) var(--journey-rail-width) minmax(0, 1fr);min-height:var(--journey-event-height);z-index:1;align-items:start;display:grid;position:relative}.journey-timeline-segment,.journey-timeline-connection{z-index:1}.journey-timeline-time{color:var(--color-text);text-align:right;white-space:nowrap;padding-top:.05rem;font-size:1rem;font-weight:800}.journey-timeline-rail{justify-content:center;align-self:stretch;display:flex;position:relative}.journey-timeline-rail:before{content:"";background:#cbd5e1;width:2px;position:absolute;top:0;bottom:0}.journey-timeline-rail span{z-index:1;border:2px solid var(--timeline-color,var(--color-primary));background:#fff;border-radius:50%;width:.72rem;height:.72rem;margin-top:.18rem;position:relative}.journey-timeline-rail--start:before{background:var(--timeline-color,var(--color-primary));top:.55rem}.journey-timeline-rail--start span{border-color:var(--timeline-color,var(--color-primary));background:var(--timeline-color,var(--color-primary))}.journey-timeline-rail--segment:before{background:var(--timeline-color,var(--color-primary))}.journey-timeline-rail--segment span{display:none}.journey-timeline-rail--arrival:before{background:var(--timeline-color,var(--color-primary));height:.55rem;top:0;bottom:auto}.journey-timeline-rail--arrival span,.journey-timeline-rail--departure span{display:none}.journey-timeline-event--final .journey-timeline-rail--arrival span{border-color:var(--timeline-color,var(--color-primary));background:var(--timeline-color,var(--color-primary));display:block}.journey-timeline-rail--departure:before{background:var(--timeline-color,var(--color-primary));top:50%}.journey-timeline-city{min-width:0;color:var(--color-text);align-items:baseline;gap:.35rem;padding-bottom:.4rem;display:flex}.journey-timeline-city strong{flex:none;font-size:.98rem;line-height:1.25}.journey-timeline-city span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:400;line-height:1.25;overflow:hidden}.journey-timeline-segment,.journey-timeline-connection{padding-left:calc(var(--journey-time-width) + var(--journey-rail-width));display:block;position:relative}.journey-timeline-segment>.journey-timeline-rail,.journey-timeline-connection>.journey-timeline-rail{top:0;bottom:0;left:var(--journey-time-width);width:var(--journey-rail-width);position:absolute}.journey-timeline-segment>.journey-timeline-rail{top:calc(-1 * (var(--journey-event-height) - .55rem))}.journey-timeline-segment--after-departure>.journey-timeline-rail{top:var(--journey-departure-rail-offset)}.journey-timeline-connection>.journey-timeline-rail{z-index:2}.journey-timeline-segment{align-items:center;min-height:3.45rem;padding-right:.25rem;display:flex}.journey-timeline-segment-duration{width:var(--journey-time-width);color:var(--color-text-muted);transform:translateY(calc(-50% + var(--journey-segment-center-offset)));white-space:nowrap;justify-content:flex-end;align-items:center;gap:.2rem;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:50%;left:0}.journey-timeline-segment-card{box-sizing:border-box;width:100%;min-width:0;transform:translateY(var(--journey-segment-center-offset));grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;margin:0;padding:0;display:grid}.journey-timeline-ticket-bracket{right:calc((var(--journey-action-width) - 2px) / 2);border-right:2px dashed var(--color-primary);opacity:.7;pointer-events:none;z-index:2;width:1rem;position:absolute}.journey-timeline-ticket-bracket:before,.journey-timeline-ticket-bracket:after{content:"";width:1rem;position:absolute;right:0}.journey-timeline-ticket-bracket:before{border-top:2px dashed var(--color-primary);top:0}.journey-timeline-ticket-bracket:after{border-bottom:2px dashed var(--color-primary);bottom:0}.journey-timeline-ticket-bracket--top:after,.journey-timeline-ticket-bracket--bottom:before{display:none}.journey-timeline-segment--ticket-group .journey-timeline-segment-card{padding-right:var(--journey-action-width)}.journey-timeline-company{grid-column:1/-1;align-items:center;gap:.45rem;min-width:0;display:flex}.journey-timeline-company strong{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:.91rem;font-weight:400;line-height:1.2;overflow:hidden}.journey-timeline-freshness{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:400;overflow:hidden}.journey-timeline-meta{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;display:flex}.journey-timeline-leg-connection{color:var(--color-secondary);grid-column:1/-1;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;display:flex}.journey-timeline-booking-summary{min-width:0;color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.3rem;font-size:.68rem;font-weight:400;display:flex}.journey-timeline-booking-price{color:var(--color-text);font-size:.84rem;font-weight:700}.journey-timeline-booking-summary small{font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.journey-timeline-booking-divider{color:var(--color-text-muted);font-size:.85em}.journey-timeline-booking-cta{flex:0 0 var(--journey-action-width);width:var(--journey-action-width);text-align:center;margin-left:auto;text-decoration:none;padding:.32rem .35rem!important;font-size:.76rem!important}.journey-timeline-connection{min-height:3.5rem;display:block}.journey-timeline-connection-duration{width:var(--journey-time-width);color:var(--color-text-muted);transform:translateY(calc(-50% + var(--journey-segment-center-offset)));white-space:nowrap;justify-content:flex-end;align-items:center;gap:.2rem;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:50%;left:0}.journey-timeline-rail--connection:before{top:calc(-1 * (var(--journey-event-height) - .55rem));height:calc(var(--journey-event-height) - .55rem + 50%);background:repeating-linear-gradient(var(--connection-color,#94a3b8) 0 4px, transparent 4px 7px);bottom:auto}.journey-timeline-rail--connection span{display:none}.journey-timeline-rail--connection span,.journey-timeline-rail--connection-simple span{border-color:var(--connection-color,#64748b);background:var(--connection-color,#64748b);width:.5rem;height:.5rem;margin-top:0;position:absolute;top:50%;transform:translateY(-50%)}.journey-timeline-rail--connection-simple:before,.journey-timeline-rail--connection-simple span{display:none}.journey-timeline-connection-card{height:100%;color:var(--color-text);background:0 0;border:0;border-radius:0;align-items:center;margin:0;padding:0;font-size:.74rem;font-weight:600;display:flex}.journey-timeline-connection-card--transfer{grid-template-rows:minmax(0,1fr) 1em minmax(0,1fr);display:grid}.journey-timeline-connection-card strong{font-weight:600}.journey-timeline-connection-card--transfer>strong{grid-row:1;align-self:end}.journey-timeline-connection-card.journey-timeline-connection-card--margin{justify-content:flex-start;align-items:center}.journey-timeline-connection-card.journey-timeline-connection-card--margin small{color:var(--color-text-muted);align-self:center;font-size:.68rem}.journey-timeline-connection-card.journey-timeline-connection-card--guaranteed{color:#15803d;align-items:center}.journey-timeline-connection-card.journey-timeline-connection-card--guaranteed strong{align-self:center}.journey-timeline-connection-card--margin,.journey-timeline-connection-card--guaranteed{top:50%;bottom:auto;right:0;left:calc(var(--journey-time-width) + var(--journey-rail-width));height:auto;transform:translateY(calc(-50% + var(--journey-segment-center-offset)));position:absolute}.journey-timeline-connection-price{color:var(--color-text);font-weight:700}.journey-timeline-connection-card small{color:var(--color-text-muted);grid-row:3;align-self:start;margin:0;font-size:.68rem;display:block}.journey-timeline-ticket-booking{z-index:2;background:var(--color-surface);align-items:center;gap:.4rem;min-height:2rem;padding:.15rem 0;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.journey-timeline-ticket-booking-info{white-space:nowrap;align-items:baseline;gap:.28rem;min-width:0;display:flex}.journey-timeline-ticket-booking-info strong{color:var(--color-text);font-size:.84rem;font-weight:700}.journey-timeline-ticket-booking-info small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-weight:400;overflow:hidden}.journey-timeline-ticket-booking .journey-timeline-booking-cta{margin-left:0}.journey-timeline-transfer-main{grid-row:1;align-self:end;align-items:center;gap:.5rem;padding-right:.25rem;display:flex}.journey-timeline-transfer-frequency{color:var(--color-text-muted);font-size:.68rem;font-weight:400}.journey-timeline-transfer-price{border:1px solid var(--color-primary)!important;background:var(--color-primary-bg,#ecfdf5)!important;color:var(--color-primary)!important;cursor:not-allowed!important;opacity:1!important}.journey-timeline-connection--hidden{min-height:2.25rem}.journey-timeline-connection--hidden .journey-timeline-connection-card{color:#15803d;padding-left:0}@media (width>=480px){.leg-item{padding:1rem 0!important}}@media (width<=479px){.journey-timeline{--journey-time-width:2.8rem;--journey-rail-width:1.1rem;--journey-action-width:3.85rem;--journey-event-height:2.1rem;--journey-segment-center-offset:-.5rem;--journey-departure-rail-offset:-1.05rem}.journey-timeline-time{font-size:1rem}.journey-timeline-city strong,.journey-timeline-city span{font-size:.88rem}.journey-timeline-segment{min-height:3.15rem}.journey-timeline-segment-card{gap:.25rem .4rem;padding:0}.journey-timeline-segment--ticket-group .journey-timeline-segment-card{padding-right:var(--journey-action-width)}.journey-timeline-company{gap:.3rem}.journey-timeline-company .company-logo-img{max-width:48px!important}.journey-timeline-company strong{font-size:.84rem}.journey-timeline-meta{font-size:.7rem}.journey-timeline-booking-summary{gap:.22rem;font-size:.6rem}.journey-timeline-booking-price{font-size:.78rem}.journey-timeline-booking-cta{padding:.3rem .2rem!important;font-size:.72rem!important}.journey-timeline-ticket-booking{gap:.28rem;right:0}.journey-timeline-ticket-booking-info{gap:.2rem}.journey-timeline-ticket-booking-info strong{font-size:.76rem}.journey-timeline-ticket-booking-info small{font-size:.56rem}.journey-timeline-connection{min-height:3.2rem}.journey-timeline-connection-card{padding:.2rem 0;font-size:.68rem}.trip-card .trip-price{font-size:1.05rem!important}.trip-card .time{font-size:1rem!important}.trip-card .duration-text{font-size:.75rem!important}.legs-details .flex.justify-between{flex-direction:column;gap:.5rem}}.location-sheet-overlay{z-index:99999;-webkit-backdrop-filter:blur(3px);padding-bottom:env(safe-area-inset-bottom,0px);background:#00000073;justify-content:center;align-items:flex-end;animation:.18s lsheet-fade-in;display:flex;position:fixed;inset:0}.location-sheet{-webkit-backdrop-filter:blur(24px);width:100%;max-width:480px;padding:12px 12px calc(16px + env(safe-area-inset-bottom,0px));background:#f2f2f7fa;border-radius:20px 20px 0 0;flex-direction:column;gap:8px;animation:.22s cubic-bezier(.34,1.3,.64,1) lsheet-slide-up;display:flex}.location-sheet-address{color:#6b7280;text-align:center;justify-content:center;align-items:flex-start;gap:6px;padding:4px 16px 8px;font-size:.82rem;line-height:1.4;display:flex}.location-sheet-btn{color:#1c1c1e;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:14px;width:100%;padding:15px 16px;font-family:inherit;font-size:1rem;font-weight:400;transition:background .12s,transform .1s}.location-sheet-btn:active{background:#e5e5ea;transform:scale(.98)}.location-sheet-btn--cancel{margin-top:4px;font-weight:600}@keyframes lsheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lsheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.trip-company-name-text{font-size:13px!important;line-height:13px!important}.company-logo-img{max-width:85px!important;height:18px!important}.company-logo-fallback-wrapper svg.company-logo-fallback-icon{width:13px!important;height:13px!important}.company-logo-fallback-text{font-size:11px!important}@media (width<=767px){.trip-timeline .trip-company-name-text,.trip-timeline .timeline-connection-details{display:none!important}.company-logo-img{max-width:70px!important;height:15px!important}.company-logo-fallback-wrapper svg.company-logo-fallback-icon{width:11px!important;height:11px!important}.company-logo-fallback-text{font-size:9px!important}}.route-page{max-width:920px;padding-top:3rem;padding-bottom:4rem}.route-page__hero{border-radius:var(--radius-xl);background:linear-gradient(135deg,#ecfdf5,#eff6ff);margin-bottom:2rem;padding:2rem}.route-page h1{margin-bottom:1rem;font-size:clamp(2rem,5vw,3rem);line-height:1.15}.route-page h2{margin:2rem 0 1rem;font-size:1.5rem}.route-page p{color:var(--color-text-muted);margin:1rem 0;font-size:1.04rem}.route-page__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--color-primary)!important;font-size:.78rem!important}.route-page__eyebrow a{color:inherit;letter-spacing:normal;text-transform:none;text-underline-offset:3px;text-decoration:underline}.route-page__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.route-page table{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:680px}.route-page th,.route-page td{text-align:left;border-bottom:1px solid var(--color-border);padding:.9rem 1rem}.route-page thead{background:#f8fafc}.route-page tbody tr:last-child th,.route-page tbody tr:last-child td{border-bottom:0}.route-page__notice{border-left:4px solid var(--color-secondary);padding-left:1rem}.route-page__cta{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:2.5rem;padding:2rem}.route-page__cta .search-container{max-width:720px;margin:1.5rem 0 0}.route-index{padding-top:2rem;padding-bottom:2rem}.route-index__section{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1.5rem}.route-index__section h1,.route-index__section h2,.route-index__heading h1{margin:0 0 1rem;font-size:1.4rem}.route-index__heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.route-index__all-link{color:var(--color-text-muted);text-underline-offset:3px;font-weight:600;text-decoration:underline}.route-index__all-link:hover{color:var(--color-primary)}.route-index__table{border-collapse:collapse;table-layout:fixed;width:100%}.route-index__table td{vertical-align:top;width:25%;padding:.45rem 1rem .45rem 0}.route-index__table ul{margin:0;padding-left:1.1rem}.route-index__table a{color:var(--color-text);text-underline-offset:2px;text-decoration:underline}.route-index__table a:hover{color:var(--color-primary)}@media (width<=700px){.route-index__table,.route-index__table tbody,.route-index__table tr,.route-index__table td{width:100%;display:block}.route-index__table td{padding:.35rem 0}}
