.routes-section{width:85.5%;margin:0 auto;padding:5cqw 0 7cqw;container-type:inline-size;color:#333}.routes-layout{display:grid;grid-template-columns:23% minmax(0,1fr);gap:4%;align-items:start}.routes-intro h2{font:900 3.1cqw/1 MonaCondensed,sans-serif;color:#ff1f6e;margin:0 0 2cqw;letter-spacing:-.025em}.routes-intro p{font:300 1.2cqw/1.45 Figtree,sans-serif;letter-spacing:-.045em;margin:0 0 1.3cqw}.routes-intro .routes-note{color:#888}.route-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4cqw}.route-card{overflow:hidden;background:white;border:1px solid #e8e6ed;border-radius:.85cqw;transition:transform .25s,box-shadow .25s}.route-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #3023340c}.route-visual{aspect-ratio:4/3;overflow:hidden;background:#eee5da;position:relative}.route-visual img,.route-visual video{width:100%;height:100%;object-fit:cover;display:block}.route-card-copy{padding:1.25cqw}.route-card h3{font:900 1.65cqw/1.1 MonaCondensed,sans-serif;margin:0 0 .5cqw;color:#333;letter-spacing:-.02em}.route-card h3 span{color:#ff1f6e}.route-card p{font:300 1.05cqw/1.35 Figtree,sans-serif;color:#888;letter-spacing:-.04em;margin:0;min-height:3cqw}.route-open{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;padding:1.3cqw 0 0;color:#333;font:900 1.05cqw MonaCondensed,sans-serif;cursor:pointer}.route-open span{color:#ff1f6e;font:300 1.6cqw Figtree}.route-open:hover{color:#ff1f6e}.route-open:focus-visible,.route-dialog button:focus-visible{outline:2px solid #ff1f6e;outline-offset:4px}.route-dialog{width:min(960px,92vw);padding:0;border:1px solid #e8e6ed;border-radius:18px;background:#f6f5fb;color:#333;max-height:90dvh;overflow:auto}.route-dialog::backdrop{background:#20172180;backdrop-filter:blur(6px)}.route-dialog-close{position:absolute;right:16px;top:12px;z-index:2;border:0;border-radius:50%;width:36px;height:36px;background:white;color:#333;font:300 28px Figtree;cursor:pointer}.route-dialog-media{height:300px;background:#eee5da}.route-dialog-media img,.route-dialog-media video{width:100%;height:100%;object-fit:cover}.route-dialog-body{padding:32px}.route-dialog h2{font:900 36px/1 MonaCondensed;color:#ff1f6e;margin:0 0 12px}.route-dialog p{font:300 16px/1.5 Figtree;letter-spacing:-.04em}.route-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.route-detail-columns h3{font:300 22px/1.2 Aspekta;letter-spacing:-.06em}.route-area-map{width:100%;height:180px;object-fit:cover;border-radius:8px;background:#f0edf4}.route-calendar-box{background:#fff;padding:22px;border:1px solid #e8e6ed;border-radius:10px}.route-calendar-box h3{margin:0 0 12px}.route-calendar-box p{margin:0;color:#777}.route-dialog-caption{font:300 12px Figtree;color:#888;margin-top:8px}@media(max-width:800px){.routes-layout{grid-template-columns:1fr;gap:24px}.routes-intro{max-width:560px}.routes-intro h2{font-size:32px;margin-bottom:16px}.routes-intro p{font-size:15px}.route-list{gap:12px}.route-card-copy{padding:14px}.route-card h3{font-size:23px}.route-card p{font-size:14px;min-height:58px}.route-open{font-size:15px;padding-top:18px}.route-open span{font-size:22px}.routes-section{padding:48px 0 60px}.route-card{border-radius:10px}}@media(max-width:600px){.route-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}.route-card{flex:0 0 82%;scroll-snap-align:start}.route-card p{min-height:38px}.route-detail-columns{grid-template-columns:1fr}.route-dialog-body{padding:24px}.route-dialog-media{height:220px}}@media(prefers-reduced-motion:reduce){.route-card{transition:none}}

.route-open span{display:inline-block;transition:transform .25s ease;transform-origin:center}.route-open:hover span,.route-open:focus-visible span{transform:rotate(45deg)}
.route-dialog{width:min(920px,92vw);box-sizing:border-box}.route-dialog-body{padding:28px 32px}.route-dialog h2{font-size:36px!important}.route-dialog p{font:300 15px/1.5 Figtree,sans-serif!important;letter-spacing:-.035em!important;margin:0 0 24px}.route-detail-columns{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:stretch}.route-detail-columns h3{font:300 23px/1.2 Aspekta,sans-serif!important;letter-spacing:-.05em;margin:0 0 16px}.route-area-map{display:block;height:240px;border:1px solid #e8e6ed;width:100%;box-sizing:border-box}.route-calendar-box{padding:24px}.route-calendar-box p{font-size:14px!important;margin:0;max-width:32ch}.route-dialog-caption{font-size:12px!important;letter-spacing:-.025em}.route-dialog-media{height:300px}.route-dialog-close{display:grid;place-items:center;line-height:1}
@media(max-width:600px){.route-detail-columns{grid-template-columns:1fr}.route-dialog-body{padding:24px}.route-dialog h2{font-size:30px!important}.route-dialog-media{height:220px}.route-area-map{height:220px}.route-calendar-box{padding:20px}}
@media(prefers-reduced-motion:reduce){.route-open span{transition:none}}

.route-dialog{max-width:920px}.route-dialog-close{padding:0}

.route-dialog h2 .route-postcode{color:#111}.oxford-route-map{height:auto;aspect-ratio:900/460;object-fit:contain;background:#f4f2f8}

@font-face{font-family:Aspekta;src:url("Aspekta-550.woff2") format("woff2");font-weight:550;font-style:normal;font-display:swap}.route-detail-columns h3.route-view-title{font:550 16.1px/1.2 Aspekta,sans-serif!important;letter-spacing:-.025em;text-transform:uppercase}.oxford-route-map{border-radius:18px;border:0}.route-dialog-caption{font-family:Figtree,sans-serif;line-height:1.5}

.route-detail-columns h3.route-view-title{font:300 16.1px/1.2 Aspekta,sans-serif!important;letter-spacing:-.05em;text-transform:none}

@media(min-width:801px){.route-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}.route-card{flex:0 0 calc((100% - 2.8cqw)/3);scroll-snap-align:start}.route-list::-webkit-scrollbar{height:4px}.route-list::-webkit-scrollbar-thumb{background:#ff1f6e;border-radius:20px}.route-list::-webkit-scrollbar-track{background:#e8e6ed;border-radius:20px}}

.route-navigation{display:flex;justify-content:flex-end;gap:10px;grid-column:2;margin-top:8px}.route-navigation button{width:34px;height:34px;border:1px solid #e8e6ed;border-radius:50%;background:white;color:#ff1f6e;font-size:22px;cursor:pointer}.route-navigation button:hover{background:#ff1f6e;color:white}@media(max-width:800px){.route-navigation{grid-column:auto}}

.route-navigation button{border:0;border-radius:0;background:transparent;color:#ff1f6e}.route-navigation button:hover{background:transparent;color:#c91454}.route-navigation button:focus-visible{outline:2px solid #ff1f6e;outline-offset:3px}

.route-detail-columns .route-upcoming-title{font:900 24px/1.1 MonaCondensed,sans-serif!important;letter-spacing:-.02em;margin:0 0 14px}.route-upcoming-dates{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0}.route-upcoming-dates li{font:400 14px/1.3 Figtree,sans-serif;background:#fff0f5;color:#d9165b;border-radius:9px;padding:9px 12px}
