
:root{--navy:#062654;--navy2:#0b376f;--blue:#03a9f4;--yellow:#f9dd00;--bg:#f4f7fb;--text:#152033;--muted:#67758a;--line:#e5ebf2;--green:#138a4b;--shadow:0 14px 35px rgba(16,39,75,.09);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,"Helvetica Neue",sans-serif;color:var(--text);background:var(--bg);line-height:1.55;padding-bottom:82px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--navy)}.brand-mark{width:42px;height:42px;border-radius:10px;background:transparent;display:grid;place-items:center;box-shadow:none;overflow:hidden;flex:0 0 42px}.brand-mark img{width:32px;height:32px;display:block;object-fit:contain}.brand b{display:block;font-size:17px;line-height:1.05}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.main-nav{display:flex;align-items:center;gap:6px}.nav-link{padding:10px 12px;border-radius:10px;font-size:14px;font-weight:700;color:#364258}.nav-link:hover,.nav-link.is-active{background:#eef5ff;color:var(--navy)}.menu-toggle{display:none;border:0;background:#eef5ff;width:42px;height:42px;border-radius:12px;font-size:22px;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:850;border:0;transition:.18s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-yellow{background:var(--yellow);color:#111;box-shadow:0 8px 18px rgba(249,221,0,.24)}.btn-outline{border:1px solid rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08)}.btn-small{min-height:38px;padding:0 15px;border-radius:10px;font-size:13px}.nav-buy{margin-left:7px;min-height:42px}.hero{background:#edf3f8;overflow:hidden;position:relative;padding:18px 0 22px}.hero:before{display:none}.hero:after{display:none}.hero-inner{position:relative;z-index:1;padding:2px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:20px;align-items:stretch}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;color:var(--blue);margin-bottom:10px}.hero .eyebrow{color:#087fc6;margin-bottom:14px}.hero h1{font-size:clamp(34px,4.2vw,52px);line-height:1.02;margin:0 0 14px;letter-spacing:-.03em;color:var(--navy)}.hero p{max-width:680px;font-size:16px;color:#58708d;margin:0 0 18px} .hero-main{background:#fff;border:1px solid #dbe6f1;border-radius:24px;padding:32px 32px 28px;box-shadow:0 14px 28px rgba(16,39,75,.07);min-width:0}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero .btn-outline{background:#eaf2fb;border:1px solid #d4e1f0;color:#0d6ca9}.hero .btn{min-height:42px;padding:0 18px;border-radius:12px;font-size:15px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.hero-side{display:flex;align-items:stretch;min-width:0;height:100%}.hero-photo{border-radius:24px;overflow:hidden;border:1px solid #d8e4f0;box-shadow:0 14px 28px rgba(16,39,75,.1);width:100%;max-width:560px;height:100%;min-height:100%;margin-left:auto;background:#dbe8f5;display:block}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.fact-card{background:#f3f7fb;border:1px solid #dfe9f3;border-radius:16px;padding:14px 16px;min-height:74px}.fact-card small{display:block;color:#8594a8;text-transform:none;font-size:13px;font-weight:700;margin-bottom:6px}.fact-card b{font-size:15px;color:var(--navy);line-height:1.3}.section{padding:58px 0}.section-white{background:#fff}.section-widget{padding-top:40px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px}.section-head h2{font-size:clamp(28px,3vw,40px);line-height:1.1;margin:0;color:var(--navy);letter-spacing:-.02em}.section-head p{max-width:520px;margin:0;color:var(--muted)}.widget-shell{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-height:120px}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.city-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #edf1f6;transition:.2s ease}.city-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,39,75,.14)}.city-photo{aspect-ratio:16/9;background:linear-gradient(135deg,#d8e8f7,#b5cee7);position:relative;overflow:hidden}.city-photo img{width:100%;height:100%;object-fit:cover}.city-arrow{position:absolute;right:14px;bottom:14px;width:38px;height:38px;background:var(--yellow);display:grid;place-items:center;border-radius:50%;font-weight:900}.city-card-body{padding:16px 18px}.city-card-body b{display:block;color:var(--navy);font-size:17px}.city-card-body span{font-size:13px;color:var(--muted)}.route-pills{display:flex;flex-wrap:wrap;gap:9px}.route-pills a{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:999px;font-size:14px;font-weight:700;color:#314158}.route-pills a:hover{border-color:#92c9ff;background:#eef7ff}.all-link{margin-top:24px}.station-grid,.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(16,39,75,.05)}.info-icon{width:45px;height:45px;border-radius:13px;background:#eaf6ff;color:#0877bd;display:grid;place-items:center;font-size:21px;margin-bottom:14px}.info-card h3{margin:0 0 8px;color:var(--navy)}.info-card p{margin:0;color:var(--muted)}.band{background:linear-gradient(120deg,#eaf6ff,#fff);border-top:1px solid #ddebf7;border-bottom:1px solid #ddebf7}.page-hero{background:linear-gradient(125deg,#061f45,#0a3771);color:#fff;padding:46px 0}.breadcrumbs{font-size:13px;color:#b9cce6;margin-bottom:13px}.breadcrumbs a{color:#dce8f8}.page-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.08;margin:0 0 13px;letter-spacing:-.025em}.page-hero p{margin:0;color:#dce7f8;max-width:800px}.route-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.route-photo{border-radius:20px;overflow:hidden;min-height:280px;background:#dbe8f5;box-shadow:var(--shadow)}.route-photo img{width:100%;height:100%;object-fit:cover}.route-summary{background:#fff;border-radius:20px;padding:26px;box-shadow:var(--shadow)}.route-summary h2{margin:0 0 16px;color:var(--navy)}.route-facts{display:grid;gap:13px}.route-fact{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.route-fact:last-child{border-bottom:0}.route-fact span{color:var(--muted)}.schedule-title{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.schedule-title h2{margin:0;color:var(--navy);font-size:clamp(27px,3vw,38px)}.fresh-badge{background:#e9f9ef;border:1px solid #95ddb2;color:#107541;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}.schedule-table{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.schedule-header,.schedule-row{display:grid;grid-template-columns:.85fr 1.1fr 1fr 1fr 1.15fr;align-items:center}.schedule-header{background:#f5f8fc;color:#6d7a8c;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.schedule-header span,.schedule-cell{padding:13px 16px}.schedule-row{border-top:1px solid var(--line)}.schedule-row:hover{background:#fbfdff}.schedule-cell.time strong{font-size:19px;color:var(--navy)}.schedule-cell.buy{display:flex;align-items:center;gap:9px;justify-content:space-between}.schedule-cell.buy small{font-size:11px;color:var(--muted);white-space:nowrap}.schedule-note{margin-top:14px;color:var(--muted);font-size:13px}.empty-schedule{background:#fff;border:1px dashed #b5c4d5;border-radius:18px;padding:24px}.empty-schedule p{color:var(--muted)}.content-card{background:#fff;border-radius:20px;padding:28px;box-shadow:var(--shadow)}.content-card h2,.content-card h3{color:var(--navy)}.content-card h2:first-child{margin-top:0}.content-card p,.content-card li{color:#4d5d72}.content-card li+li{margin-top:7px}.widget-section{background:#fff;border-radius:20px;padding:24px;box-shadow:var(--shadow);overflow:hidden}.widget-section h2{color:var(--navy);margin:0 0 15px}.directions-search{width:100%;border:1px solid #ccd7e4;border-radius:13px;padding:14px 16px;font-size:16px;outline:none;margin-bottom:18px}.directions-search:focus{border-color:#52b7ef;box-shadow:0 0 0 3px rgba(3,169,244,.12)}.directions-list{columns:4;column-gap:26px}.direction-item{break-inside:avoid;display:block;padding:7px 0;color:#26394f;font-size:14px}.direction-item:hover{color:#087fc6}.direction-item:before{content:"→";color:#08a0e3;margin-right:7px}.sticky-buy{position:fixed;z-index:200;left:50%;bottom:max(13px,env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--yellow);color:#111;min-width:min(430px,calc(100% - 26px));height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900;box-shadow:0 14px 30px rgba(0,0,0,.23);border:1px solid rgba(0,0,0,.08)}.footer{background:#061c3c;color:#c7d3e5;padding:50px 0 30px}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1.3fr;gap:42px}.footer-title{font-size:17px;color:#fff;font-weight:900;margin-bottom:10px}.footer p{font-size:13px;color:#aebed4}.footer a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:20px;font-size:12px;color:#8194ae}.photo-credit{padding:13px 0;border-bottom:1px solid var(--line)}.photo-credit:last-child{border:0}.photo-credit a{color:#087fc6}.notice{background:#fff7d2;border:1px solid #efd971;border-radius:16px;padding:18px 20px;color:#574900}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-hero{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-box{background:#fff;border-radius:18px;padding:24px;box-shadow:var(--shadow)}.contact-box b{display:block;color:var(--navy);font-size:20px;margin-bottom:4px}.contact-box span{color:var(--muted)}
@media(max-width:900px){.menu-toggle{display:grid;place-items:center}.main-nav{position:absolute;left:16px;right:16px;top:69px;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:12px;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line)}.main-nav.is-open{display:flex}.nav-buy{margin-left:0}.hero-inner{grid-template-columns:1fr;align-items:start}.hero-facts{grid-template-columns:repeat(3,1fr)}.hero-photo{max-width:none;height:auto;min-height:0;margin-left:0;aspect-ratio:16/9}.city-grid{grid-template-columns:repeat(2,1fr)}.directions-list{columns:3}.station-grid,.info-grid{grid-template-columns:1fr 1fr}.route-intro{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:650px){body{padding-bottom:76px}.container{width:min(100% - 24px,1180px)}.header-inner{height:66px}.brand-mark{width:38px;height:38px;flex-basis:38px}.brand-mark img{width:28px;height:28px}.brand b{font-size:15px}.brand small{display:none}.hero-inner{padding:0;gap:20px}.hero-main{padding:30px 22px}.hero p{font-size:16px}.hero-facts{grid-template-columns:1fr}.hero-side{display:flex;align-items:stretch;min-width:0;height:100%}.section{padding:42px 0}.section-head{display:block}.section-head p{margin-top:10px}.city-grid{grid-template-columns:1fr}.station-grid,.info-grid,.two-col,.contact-hero{grid-template-columns:1fr}.directions-list{columns:2}.schedule-header{display:none}.schedule-table{background:transparent;border:0;box-shadow:none;overflow:visible}.schedule-row{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:7px 14px;box-shadow:0 7px 20px rgba(16,39,75,.06)}.schedule-cell{padding:8px 0;display:grid;grid-template-columns:112px 1fr;gap:10px;align-items:center;border-bottom:1px solid #edf1f6}.schedule-cell:last-child{border:0}.schedule-cell:before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8592a4;font-weight:900}.schedule-cell.buy{display:grid;grid-template-columns:112px 1fr}.schedule-cell.buy .btn{grid-column:2}.schedule-cell.buy small{grid-column:2}.route-photo{min-height:210px}.widget-shell{padding:8px}.footer-grid{grid-template-columns:1fr;gap:22px}.footer-grid>div:last-child{grid-column:auto}.directions-list{columns:1}.sticky-buy{height:52px;border-radius:14px}.fresh-badge{white-space:normal}.page-hero{padding:36px 0}}

/* Mobile route schedule — compact card layout */
@media(max-width:650px){
  .schedule-table{background:transparent;border:0;box-shadow:none;overflow:visible}
  .schedule-header{display:none}
  .schedule-row{
    display:grid;
    grid-template-columns:1fr 1.08fr;
    background:#fff;
    border:1px solid #dfe7f0;
    border-radius:20px;
    margin-bottom:16px;
    padding:14px 16px 16px;
    box-shadow:0 8px 22px rgba(16,39,75,.06);
    overflow:hidden
  }
  .schedule-cell{
    display:block;
    padding:12px 0;
    border-bottom:1px solid #e8edf3;
    font-size:15px;
    color:#0b2142
  }
  .schedule-cell:before{
    content:attr(data-label);
    display:block;
    margin:0 0 5px;
    font-size:11px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.055em;
    color:#7f8da3;
    font-weight:900
  }
  .schedule-cell:nth-child(1){
    grid-column:1;
    padding-right:16px;
    border-right:1px solid #e8edf3
  }
  .schedule-cell:nth-child(2){
    grid-column:2;
    padding-left:16px;
    font-weight:700
  }
  .schedule-cell:nth-child(3),
  .schedule-cell:nth-child(4){
    grid-column:1/-1;
    font-weight:700;
    font-size:16px
  }
  .schedule-cell.time strong{
    display:block;
    font-size:23px;
    line-height:1.05;
    color:#061f45
  }
  .schedule-cell.buy{
    grid-column:1/-1;
    display:block;
    padding:14px 0 0;
    border-bottom:0
  }
  .schedule-cell.buy:before{display:none}
  .schedule-cell.buy .btn{
    width:100%;
    min-height:54px;
    padding:0 18px;
    border-radius:14px;
    font-size:18px;
    font-weight:900
  }
  .schedule-cell.buy small{display:none}
}
