@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/barlow-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/barlow-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/barlow-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/barlow-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/barlow-semi-condensed-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/barlow-semi-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/barlow-semi-condensed-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/barlow-semi-condensed-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f6f7f9;--ink: #15233f;--muted: #566074;--rule: #d7dce4;--rail: #2f6b4f;--road: #2d5da8;--signal: #f2b705;--white: #ffffff;--display: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 Barlow,system-ui,sans-serif}.wrap{max-width:48rem;margin:0 auto;padding:0 1.25rem}a{color:var(--road);text-underline-offset:.18em}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--white);padding:.5rem}h1,h2,h3{font-family:var(--display);line-height:1.15;letter-spacing:-.005em}h1{font-weight:700;font-size:clamp(1.9rem,5vw,2.75rem);margin:0 0 .5rem}h2{font-weight:600;font-size:1.55rem;margin:2.75rem 0 .75rem}h3{font-weight:600;font-size:1.2rem;margin:1.75rem 0 .5rem}p{margin:0 0 1rem;max-width:68ch}.num{font-variant-numeric:tabular-nums}.masthead{background:var(--white);border-bottom:1px solid var(--rule)}.masthead .wrap{padding-top:.8rem;padding-bottom:.8rem}.wordmark{display:inline-block;line-height:0}.wordmark img{display:block;height:40px;width:auto}.table-scroll{overflow-x:auto;margin:0 0 1rem}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-weight:600;color:var(--muted);font-size:.9rem;border-bottom:2px solid var(--ink);padding:.4rem .9rem .4rem 0;white-space:nowrap}td{border-bottom:1px solid var(--rule);padding:.55rem .9rem .55rem 0;vertical-align:top}.book{display:inline-block;background:var(--ink);color:var(--white);text-decoration:none;font-weight:600;padding:.3rem .7rem;border-radius:4px;white-space:nowrap}.book:hover{background:var(--road)}.muted{color:var(--muted)}.small{font-size:.9rem}.foot{margin-top:4rem;border-top:1px solid var(--rule);padding:1.75rem 0 3rem;color:var(--muted);font-size:.9rem}.foot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:1.25rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.city-title{margin-top:2rem}.board{background:var(--ink);color:var(--white);padding:1.25rem 0 2rem}.crumbs{margin-bottom:1.25rem;color:#b8c2d6}.crumbs a{color:#d9e0ec}.line{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1.5rem;font:600 1.05rem/1 var(--display)}.line .track{flex:1;height:4px;background:var(--signal);position:relative}.line .track:before,.line .track:after{content:"";position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--ink);border:3px solid var(--signal);transform:translateY(-50%)}.line .track:before{left:-2px}.line .track:after{right:-2px}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0;margin:0;border-top:1px solid #33456a}.mode{padding:.9rem 1rem .2rem 0;border-bottom:1px solid #33456a}.mode dt{font-weight:600;color:#b8c2d6;display:flex;align-items:center;gap:.45rem}.mode dt:before{content:"";width:10px;height:10px;border-radius:2px}.rail dt:before{background:#5fb58c}.road dt:before{background:#7fa8e8}.pool dt:before{background:var(--signal)}.mode dd{margin:0 0 .6rem;color:#d9e0ec}.mode .big{font:700 2.1rem/1.1 var(--display);color:var(--white);margin:.2rem 0 .15rem}.lead{font-size:1.15rem;margin-top:1.75rem}.compare th[scope=row]{color:var(--ink);font-size:1rem;border-bottom:1px solid var(--rule);padding-left:.7rem}.compare tr[data-mode=rail] th[scope=row]{border-left:4px solid var(--rail)}.compare tr[data-mode=road] th[scope=row]{border-left:4px solid var(--road)}.compare tr[data-mode=pool] th[scope=row]{border-left:4px solid var(--signal)}.compare td a+a,.compare td a+span,.compare td span+a{margin-left:.6rem}.num{white-space:nowrap}.trains .time{font:700 1.2rem/1.2 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}.next{font:600 .75rem/1 Barlow,sans-serif;vertical-align:super;margin-left:.15rem;color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.faq details{border-bottom:1px solid var(--rule);padding:.7rem 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:.5rem 0 .2rem}.links{padding-left:1.1rem;columns:2 16rem}.links li{margin-bottom:.35rem}.updated{margin-top:2.5rem}.bus dt:before{background:#e58b5a}.compare tr[data-mode=bus] th[scope=row]{border-left:4px solid #b4532a}.via{color:#b8c2d6;margin:-.9rem 0 1.25rem}.steps{list-style:none;counter-reset:step;padding:0;margin:1.25rem 0 1rem .9rem}.steps li{counter-increment:step;position:relative;padding:0 0 1.25rem 1.9rem;border-left:3px solid var(--rule)}.steps li:before{content:counter(step);position:absolute;left:-1rem;top:-.1rem;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--paper);border:3px solid var(--ink);font:700 .9rem/1 var(--display);display:grid;place-items:center}.steps li[data-kind=train]{border-left-color:var(--rail)}.steps li[data-kind=train]:before{border-color:var(--rail)}.steps li[data-kind=road]{border-left-color:var(--road)}.steps li[data-kind=road]:before{border-color:var(--road)}.steps li[data-kind=change]{border-left:3px dashed var(--signal)}.steps li[data-kind=change]:before{border-color:var(--signal)}.steps li:last-child{border-left-color:transparent}.step-title{display:block;font-weight:600}.step-meta{display:block;color:var(--muted);white-space:normal;overflow-wrap:break-word}.steps .book{margin-top:.4rem}.note{border-left:4px solid var(--signal);padding:.2rem 0 .2rem .9rem}.steps li[data-kind=bus]{border-left-color:#b4532a}.steps li[data-kind=bus]:before{border-color:#b4532a}.warning{background:#fff4d6;border-left:4px solid var(--signal);padding:.8rem 1rem;margin:0 0 1.5rem;max-width:68ch}.warning strong{display:block;margin-bottom:.2rem}.report-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-top:2.5rem}.report{display:inline-block;border:2px solid var(--ink);color:var(--ink);padding:.25rem .75rem;border-radius:4px;font-weight:600;text-decoration:none}.report:hover{background:var(--ink);color:var(--white)}.table-scroll{background:linear-gradient(to right,var(--paper) 30%,rgba(246,247,249,0)) left center / 2.5rem 100% no-repeat local,linear-gradient(to left,var(--paper) 30%,rgba(246,247,249,0)) right center / 2.5rem 100% no-repeat local,radial-gradient(farthest-side at 0 50%,#15233f38,#15233f00) left center / .9rem 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,#15233f38,#15233f00) right center / .9rem 100% no-repeat scroll}.table-scroll table.trains{min-width:36rem}.table-scroll table.buses{min-width:42rem}.bus-cards{list-style:none;margin:0 0 1rem;padding:0}.bus-cards li{border:1px solid var(--rule);border-radius:6px;background:var(--white);padding:.75rem .9rem;margin:0 0 .6rem}.bus-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.bus-clock{font:700 1.25rem/1.2 var(--display);font-variant-numeric:tabular-nums}.bus-price{font:600 1rem/1.2 Barlow,sans-serif;white-space:nowrap}.bus-meta{color:var(--muted);font-size:.95rem}.bus-stations{color:var(--muted);font-size:.85rem;margin:.15rem 0 .6rem}.bus-book{display:block;text-align:center;padding:.5rem .7rem}@media(min-width:48rem){.bus-cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.bus-cards li{margin:0}}.table-scroll table.compare{min-width:34rem}.distance-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem 1.5rem;margin:0 0 .5rem}.distance-list div{border-top:3px solid var(--rule);padding-top:.5rem}.distance-list .road{border-top-color:var(--road)}.distance-list .crow{border-top-color:var(--signal)}.distance-list .rail{border-top-color:var(--rail)}.distance-list dt{color:var(--muted);font-size:.9rem;font-weight:600}.distance-list dd{margin:.15rem 0 0;font:700 1.4rem/1.2 var(--display);font-variant-numeric:tabular-nums}.distance-list .sub{display:block;font:400 .9rem/1.4 Barlow,system-ui,sans-serif;color:var(--muted)}.compare-cards{list-style:none;margin:0 0 1.5rem;padding:0}.compare-cards li{border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:6px;background:var(--white);padding:.7rem .9rem;margin:0 0 .6rem}.compare-cards li[data-mode=rail]{border-left-color:var(--rail)}.compare-cards li[data-mode=bus]{border-left-color:#b4532a}.compare-cards li[data-mode=road]{border-left-color:var(--road)}.compare-cards li[data-mode=pool]{border-left-color:var(--signal)}.compare-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.2rem}.compare-mode{font:600 1.05rem/1.2 var(--display);letter-spacing:.01em}.compare-time{font:700 1.1rem/1.2 var(--display);text-align:right}.compare-line{font-size:.92rem;color:var(--muted)}.compare-line span:first-child{display:inline-block;min-width:6.5rem;color:var(--ink);font-weight:600}.train-cards{list-style:none;margin:0 0 1rem;padding:0}.train-cards li{border:1px solid var(--rule);border-radius:6px;background:var(--white);padding:.75rem .9rem;margin:0 0 .6rem}.train-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.train-clock{font:700 1.25rem/1.2 var(--display);font-variant-numeric:tabular-nums}.train-number{font:600 1rem/1.2 Barlow,sans-serif;white-space:nowrap}.train-meta{color:var(--muted);font-size:.95rem}.train-stations{color:var(--muted);font-size:.85rem;margin:.15rem 0 .6rem}.train-only{font-size:.85rem}.train-book{display:block;text-align:center;padding:.5rem .7rem}.run-days,.bus-days{font-weight:600;padding:.05rem .4rem;border-radius:3px;white-space:nowrap}.run-days.is-daily,.bus-days.is-daily{background:#d6efdf;color:#1b5a3a}.run-days.is-most,.bus-days.is-most{background:#fbeac7;color:#7a5200}.run-days.is-few,.bus-days.is-few{background:#fadcd6;color:#8c2e20}@media(min-width:48rem){.train-cards,.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.train-cards li,.compare-cards li{margin:0}}.lead-list{list-style:none;margin:0 0 1.5rem;padding:0;max-width:44rem}.lead-list li{position:relative;padding:.35rem 0 .35rem 1.4rem;border-bottom:1px solid var(--rule)}.lead-list li:last-child{border-bottom:0}.lead-list li:before{content:"";position:absolute;left:0;top:.85em;width:.6rem;height:.6rem;border-radius:2px;background:var(--rule)}.lead-list li[data-mode=rail]:before{background:#5fb58c}.lead-list li[data-mode=bus]:before{background:#e58b5a}.lead-list li[data-mode=road]:before{background:#7fa8e8}.lead-list li[data-mode=pool]:before{background:var(--signal)}.page{padding-top:2rem}.page h1{margin-top:.5rem}.page ul{padding-left:1.2rem;max-width:68ch}.page li{margin-bottom:.45rem}.page .updated-note{margin-top:2.5rem}.contact{display:grid;gap:1rem;max-width:34rem;margin-top:1.5rem}.contact label{display:grid;gap:.35rem;font-weight:600}.contact input,.contact select,.contact textarea{font:inherit;padding:.6rem .7rem;border:1px solid #b9c1ce;border-radius:4px;background:var(--white);color:var(--ink)}.contact input:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline:3px solid var(--signal);outline-offset:1px}.contact .consent{display:flex;gap:.55rem;align-items:flex-start;font-weight:400}.contact .consent input{margin-top:.35rem}.contact button{justify-self:start;font:inherit;font-weight:600;background:var(--ink);color:var(--white);border:0;border-radius:4px;padding:.65rem 1.2rem;cursor:pointer}.contact button:hover{background:var(--road)}.honey{position:absolute;left:-9999px}.route-note{background:#eef1f6;border-left:4px solid var(--signal);padding:.6rem .8rem;max-width:34rem}
