:root{--brand-50: #eef5ff;--brand-100: #d9e8ff;--brand-200: #b4d1ff;--brand-300: #8ab8ff;--brand-500: #1f6feb;--brand-600: #1850b9;--brand-700: #143a87;--brand-900: #0c2356;--accent-300: #ffd166;--accent-500: #ffb020;--accent-600: #e89400;--success: #16a34a;--warning: #f59e0b;--danger: #dc2626;--bg: #ffffff;--bg-soft: #f6f8fc;--bg-stripe: #eaf1fa;--surface: #ffffff;--surface-2: #f6f8fc;--text: #0f1729;--text-mid: #3a4763;--text-mute: #6b7588;--text-soft: #94a0b8;--border: #e4e9f2;--border-strong: #c7d0e1;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 4px 14px rgba(15, 23, 42, .07);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .1);--shadow-cta: 0 6px 20px rgba(31, 111, 235, .3);--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-xl: 22px;--r-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--maxw: 1080px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PT Sans", "Inter", sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand-500);text-decoration:none}a:hover{color:var(--brand-700)}main{max-width:var(--maxw);margin:0 auto;padding:var(--space-4)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.2rem);line-height:1.2;margin:var(--space-4) 0 var(--space-3)}h2{font-size:1.35rem;line-height:1.3;margin:var(--space-8) 0 var(--space-3)}h3{font-size:1.1rem;margin:var(--space-5) 0 var(--space-2)}p{margin:var(--space-3) 0}ul,ol{padding-left:1.4em}li{margin:.3em 0}hr{border:0;border-top:1px solid var(--border);margin:var(--space-8) 0}header.site{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:30;backdrop-filter:saturate(150%) blur(8px);-webkit-backdrop-filter:saturate(150%) blur(8px)}header.site>.wrap{max-width:var(--maxw);margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}header.site .brand{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:1.05rem;color:var(--text)}header.site .brand:hover{color:var(--brand-500);text-decoration:none}header.site .brand .logo{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;border-radius:var(--r);box-shadow:var(--shadow-sm)}header.site nav.primary{display:flex;gap:var(--space-5);margin-left:auto}header.site nav.primary a{color:var(--text-mid);font-weight:500;font-size:.95rem}header.site nav.primary a:hover{color:var(--brand-500);text-decoration:none}header.site .lang{color:var(--text-mute);font-size:.85rem;display:inline-flex;align-items:center;gap:4px;cursor:default}.hero{background:linear-gradient(135deg,var(--brand-50) 0%,var(--bg) 60%,var(--accent-300, #ffd166) 200%);border-bottom:1px solid var(--border);padding:var(--space-10) var(--space-4) var(--space-12)}.hero .wrap{max-width:var(--maxw);margin:0 auto}.hero h1{margin:0 0 var(--space-3);font-size:clamp(1.7rem,1.1rem + 2.8vw,2.7rem);line-height:1.15}.hero p.lead{color:var(--text-mid);font-size:1.05rem;margin:0 0 var(--space-6);max-width:640px}.search-stripe{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--space-2);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--space-2);align-items:stretch}.search-stripe .field{position:relative;background:var(--bg-soft);border-radius:var(--r);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px;min-width:0}.search-stripe .field label{color:var(--text-mute);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.search-stripe .field input,.search-stripe .field select{border:0;background:transparent;padding:0;font-size:1rem;font-weight:600;color:var(--text);outline:none;width:100%;appearance:none;-webkit-appearance:none}.search-stripe button.go{border:0;background:var(--brand-500);color:#fff;border-radius:var(--r);padding:0 var(--space-6);font-weight:700;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;box-shadow:var(--shadow-cta);transition:background .15s ease,transform .15s ease}.search-stripe button.go:hover{background:var(--brand-600);transform:translateY(-1px)}@media(max-width:720px){.search-stripe{grid-template-columns:1fr 1fr}.search-stripe button.go{grid-column:1 / -1;padding:var(--space-3)}.search-stripe .field:nth-child(3){grid-column:1 / -1}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card.elev{box-shadow:var(--shadow)}.card .card-title{font-size:1.05rem;font-weight:700;margin:0 0 var(--space-3)}.price-hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-6);background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;border-radius:var(--r-xl);padding:var(--space-6) var(--space-6);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.price-hero:after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,176,32,.35),transparent 70%);pointer-events:none}.price-hero .label{color:#ffffffb3;font-size:.9rem;margin-bottom:4px}.price-hero .price{font-size:2.6rem;line-height:1;font-weight:800}.price-hero .price small{font-size:1rem;font-weight:500;color:#ffffffd9;margin-left:6px}.price-hero .meta{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin-top:var(--space-3);font-size:.95rem;color:#ffffffeb}.price-hero .meta-item{display:inline-flex;align-items:center;gap:6px}.price-hero a.primary-cta{background:var(--accent-500);color:var(--brand-900);padding:var(--space-3) var(--space-5);border-radius:var(--r);font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px #0003;transition:background .15s ease,transform .15s ease}.price-hero a.primary-cta:hover{background:var(--accent-600);transform:translateY(-1px);text-decoration:none}@media(max-width:720px){.price-hero{grid-template-columns:1fr}.price-hero a.primary-cta{width:100%;justify-content:center}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin:var(--space-3) 0}.stat-grid .stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:var(--space-3);text-align:left;display:flex;flex-direction:column;gap:4px}.stat .v{font-weight:700;font-size:1.15rem;line-height:1.1}.stat .l{color:var(--text-mute);font-size:.8rem}.stat .ico{color:var(--brand-500);margin-bottom:4px}.route-diagram{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4) var(--space-5);margin:var(--space-3) 0}.route-diagram .city{flex:1;display:flex;flex-direction:column;gap:2px}.route-diagram .city.to{text-align:right;align-items:flex-end}.route-diagram .city .label{color:var(--text-mute);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.route-diagram .city .name{font-weight:700;font-size:1.1rem;color:var(--text)}.route-diagram .axis{flex:2;display:flex;align-items:center;gap:6px;position:relative}.route-diagram .dot{width:12px;height:12px;border-radius:50%;background:var(--brand-500);border:2px solid #fff;box-shadow:0 0 0 2px var(--brand-500);flex-shrink:0}.route-diagram .line{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--brand-500) 0 6px,transparent 6px 10px);position:relative}.route-diagram .line:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-soft);padding:0 var(--space-2);font-size:.78rem;color:var(--text-mute);white-space:nowrap}.route-diagram .line[data-time]:after{content:attr(data-time)}.route-diagram .arrow{color:var(--brand-500)}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;background:var(--brand-50);color:var(--brand-700)}.pill.warm{background:#fff4d6;color:#8a5a00}.pill.green{background:#dcfce7;color:#166534}.pill.muted{background:var(--surface-2);color:var(--text-mute)}.cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-3) var(--space-5);background:var(--brand-500);color:#fff!important;border-radius:var(--r);font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background .15s ease,transform .15s ease;box-shadow:var(--shadow-cta)}.cta:hover{background:var(--brand-600);transform:translateY(-1px);text-decoration:none}.cta.secondary{background:transparent;color:var(--brand-500)!important;border:1.5px solid var(--brand-500);box-shadow:none}.cta.secondary:hover{background:var(--brand-50)}.cta.full{width:100%}.cta.lg{padding:var(--space-4) var(--space-6);font-size:1.05rem}.sticky-cta{position:sticky;bottom:0;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);margin:var(--space-6) 0 var(--space-4);padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}.sticky-cta .info{display:flex;flex-direction:column;line-height:1.2}.sticky-cta .info .head{font-weight:700;font-size:.95rem}.sticky-cta .info .sub{color:var(--text-mute);font-size:.85rem}.disclosure{font-size:.82rem;color:var(--text-mute);background:var(--bg-soft);border-left:3px solid var(--brand-200);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:var(--space-2) var(--space-3);margin:var(--space-4) 0}.routes-list{list-style:none;padding:0;margin:var(--space-2) 0}.routes-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.routes-list li:last-child{border-bottom:none}.routes-list a{color:var(--text);font-weight:500}.routes-list a:hover{color:var(--brand-500);text-decoration:none}.routes-list .price{color:var(--brand-500);font-weight:700;font-size:.95rem;white-space:nowrap}.routes-list .price small{color:var(--text-mute);font-weight:500;font-size:.78rem}.carriers{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.carrier{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);font-size:.85rem;color:var(--text-mid);font-weight:500}.carrier .marker{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--brand-300),var(--brand-500));color:#fff;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase}.iframe-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.iframe-frame iframe{display:block;width:100%;border:0}.iframe-frame.map{aspect-ratio:16 / 9;min-height:320px}.leaflet-map{width:100%;aspect-ratio:16 / 9;min-height:360px;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden}.sparkline{width:100%;height:110px;display:block}.sparkline-wrap{background:var(--surface-2);border-radius:var(--r);padding:var(--space-3) var(--space-4);border:1px solid var(--border)}.review-card{border:1px solid var(--border);border-radius:var(--r);padding:var(--space-3) var(--space-4);background:var(--surface);display:flex;flex-direction:column;gap:4px}.review-stars{display:inline-flex;gap:2px;color:var(--accent-500)}.review-stars.muted{color:var(--text-soft)}.review-meta{color:var(--text-mute);font-size:.85rem}footer.site{margin-top:var(--space-12);padding:var(--space-6) var(--space-4);border-top:1px solid var(--border);color:var(--text-mute);font-size:.85rem;background:var(--bg-soft)}footer.site .wrap{max-width:var(--maxw);margin:0 auto;display:grid;gap:var(--space-3);grid-template-columns:1fr auto;align-items:center}footer.site a{color:var(--text-mid)}footer.site a:hover{color:var(--brand-500);text-decoration:none}footer.site .links{display:flex;gap:var(--space-4);flex-wrap:wrap}section{margin:var(--space-6) 0}section.tight{margin:var(--space-3) 0}section h2+p:first-of-type{color:var(--text-mid)}.flex{display:flex}.flex.gap-2{gap:var(--space-2)}.flex.gap-3{gap:var(--space-3)}.flex.center{align-items:center}.flex.between{justify-content:space-between}.muted{color:var(--text-mute)}.small{font-size:.85rem}.route-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);margin:var(--space-4) 0}.route-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;text-decoration:none;color:var(--text)}.route-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand-200);text-decoration:none;color:var(--text)}.route-card .arc{display:flex;align-items:center;gap:6px;font-weight:700}.route-card .arc .arrow{color:var(--brand-500)}.route-card .meta{display:flex;justify-content:space-between;align-items:end;margin-top:auto}.route-card .price-tag{font-size:1.1rem;font-weight:800;color:var(--brand-500)}.route-card .price-tag small{font-weight:500;color:var(--text-mute);font-size:.78rem;margin-right:4px}.route-card .badge{color:var(--accent-600);font-size:.78rem;font-weight:600}
