
@font-face{font-family:RouteFigtree;src:url('/assets/Figtree-Regular.woff2')}@font-face{font-family:RouteMona;src:url('/assets/MonaCondensedBlack.ttf');font-weight:900}#routes, #routes *{box-sizing:border-box}#routes{margin:0;background:#eeecf2;color:#382e40;font:14px/1.5 RouteFigtree,Arial}#routes button{font:inherit;cursor:pointer}#routes button:focus-visible,#routes a:focus-visible,#routes input:focus-visible{outline:2px solid #ff086b;outline-offset:5px}#routes button:disabled{opacity:.3;cursor:default}#routes .review{max-width:1500px;padding:23px 30px;margin:auto}#routes .reviewbar{display:flex;justify-content:space-between;gap:20px;color:#9887a2;font-size:11px;margin-bottom:22px}#routes .reviewbar a{color:inherit;text-decoration:none}#routes .site{border-radius:24px;background:#f8f7fb;overflow:hidden}#routes .siteheader{height:82px;display:flex;align-items:center;justify-content:space-between;background:white;padding:0 40px}#routes .siteheader img{width:135px}#routes .siteheader span{font-size:12px;color:#8e7f99}#routes .siteheader a{padding:12px 23px;border-radius:11px;background:linear-gradient(115deg,#ff0068,#f22284);color:white;text-decoration:none;font-size:13px}#routes .section{padding:45px 45px 34px}#routes .heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:27px}#routes .eyebrow{font-size:10px;letter-spacing:.16em;color:#aa95b4;margin:0 0 13px}#routes h2{font:900 clamp(34px,3.8vw,55px)/1 RouteMona;color:#ff086b;margin:0}#routes .heading>p{font-size:14px;line-height:1.6;color:#94819f;max-width:330px;margin:0}#routes .location-shell{border:1px solid #e7dfec;border-radius:22px;background:white;overflow:hidden}#routes .location-index{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:0 24px;border-bottom:1px solid #eee6f3}#routes .location-index button{position:relative;padding:19px 6px 17px;background:none;border:0;color:#a08aad;text-align:left;min-width:0;display:flex;align-items:center;gap:8px;line-height:1.2;font-size:11px;transition:color .2s}#routes .location-index button span:first-child{font-size:9px;color:#b9a6c3}#routes .location-index button::after{content:"";height:3px;position:absolute;bottom:-1px;left:6px;right:12px;background:transparent;border-radius:3px}#routes .location-index button.active{color:#ff086b}#routes .location-index button.active span:first-child{color:#ff086b}#routes .location-index button.active::after{background:#ff086b}#routes .location-index button:hover{color:#ff086b}#routes .feature{display:grid;grid-template-columns:34% 66%;min-height:286px}#routes .world{position:relative;display:flex;align-items:center;justify-content:center;padding:12px 25px;background:radial-gradient(ellipse at 50% 50%,#fffaf6 0,white 65%)}#routes .world img{display:block;width:258px;height:auto;max-width:100%;aspect-ratio:1;object-fit:contain;transition:opacity .18s}#routes .world .area-label{position:absolute;bottom:18px;left:24px;color:#b0a0b8;letter-spacing:.12em;font-size:9px}#routes .location-copy{padding:33px 34px 29px 18px;align-self:center}#routes .identity{display:flex;align-items:center;gap:21px}#routes .number{font:900 69px/.9 RouteMona;color:#ff086b;letter-spacing:-.04em;min-width:65px}#routes .title h3{font:900 clamp(25px,2.6vw,38px)/1.05 RouteMona;color:#ff086b;margin:0 0 6px;text-transform:uppercase}#routes .title p{font-size:13px;color:#a28baa;margin:0}#routes .story{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;margin-top:24px}#routes .story>p{font-size:13px;line-height:1.7;color:#887291;margin:0}#routes .audience{padding-left:25px;border-left:1px solid #eadfec;font-size:12px;line-height:1.7;color:#94809f}#routes .audience label{display:block;letter-spacing:.13em;font-size:9px;color:#b49dc0;margin-bottom:7px}#routes .controls{border-top:1px solid #eee6f3;padding:17px 24px;display:flex;align-items:center;gap:17px;background:#fdfbfd}#routes .play{background:linear-gradient(110deg,#ff0067,#f22586);padding:12px 20px;border:0;border-radius:10px;color:white;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;min-width:150px;justify-content:center}#routes .arrow{width:36px;height:36px;flex-shrink:0;background:white;border:1px solid #e9dff0;border-radius:50%;color:#9b84a7}#routes .scrub{flex:1;min-width:0}#routes .scrub input{appearance:none;display:block;width:100%;height:3px;background:linear-gradient(to right,#ff086b var(--progress,0%),#eee5f3 var(--progress,0%));border:0;border-radius:3px;margin:7px 0;cursor:ew-resize}#routes .scrub input::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#ff086b;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #ff086b}#routes .range-labels{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.02em;color:#a58caf}#routes .position{white-space:nowrap;font-size:11px;color:#ad96b7}#routes .position b{font-weight:400;color:#ff086b}#routes .foot{margin-top:21px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#a08bab}#routes .foot a{color:#776080;text-decoration:none;white-space:nowrap}#routes .changed{animation:arrive .26s ease-out}@keyframes arrive{from{opacity:.4;transform:translateX(7px)}to{opacity:1;transform:translateX(0)}}@media(min-width:1550px){#routes .world img{width:280px}#routes .feature{min-height:305px}}@media(max-width:1000px){#routes .section{padding:35px 25px}#routes .location-index{padding:0 13px}#routes .location-index button{font-size:10px;gap:5px}#routes .story{grid-template-columns:1fr}#routes .audience{border:0;padding:0}#routes .audience label{display:inline;margin-right:9px}#routes .story{gap:12px;margin-top:18px}#routes .location-copy{padding:28px 22px 25px 10px}#routes .identity{gap:13px}#routes .number{font-size:58px;min-width:52px}#routes .world{padding:15px}#routes .world img{width:230px}}@media(max-width:600px){#routes .review{padding:14px 10px}#routes .reviewbar{font-size:9px;line-height:1.6}#routes .siteheader{height:72px;padding:0 20px}#routes .siteheader span{display:none}#routes .siteheader img{width:110px}#routes .siteheader a{font-size:11px;padding:11px 15px}#routes .section{padding:27px 15px 22px}#routes .heading{display:block;margin-bottom:23px}#routes .heading>p{font-size:12px;margin-top:16px;max-width:280px}#routes h2{font-size:38px}#routes .location-index{grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 10px}#routes .location-index button{padding:12px 3px;font-size:10px;gap:5px;min-height:45px}#routes .location-index button::after{right:5px}#routes .feature{display:block;min-height:0}#routes .world{padding:14px 20px 4px}#routes .world img{width:215px}#routes .world .area-label{display:none}#routes .location-copy{padding:15px 21px 24px}#routes .number{font-size:52px;min-width:47px}#routes .title h3{font-size:29px}#routes .title p{font-size:12px}#routes .story{margin-top:19px;gap:13px}#routes .story>p{font-size:12px}#routes .audience{font-size:11px}#routes .audience label{display:block;font-size:8px;margin-bottom:4px}#routes .controls{display:grid;grid-template-columns:minmax(0,1fr) 32px 36px 32px;padding:16px;gap:8px}#routes .play{min-width:0;padding:11px 10px;font-size:11px;gap:8px}#routes .arrow{width:32px;height:32px}#routes .scrub{grid-column:1/-1;grid-row:2;margin-top:10px}#routes .position{grid-column:3;grid-row:1;text-align:center;font-size:10px}#routes .next{grid-column:4;grid-row:1}#routes .range-labels span:nth-child(2){display:none}#routes .foot{display:block;font-size:10px;line-height:1.6}#routes .foot a{display:block;margin-top:11px}}@media(prefers-reduced-motion:reduce){#routes, #routes *{animation:none!important;transition:none!important}}
/* Ground each architectural model with soft contact and ambient shadows. */
#routes .world{isolation:isolate;background:radial-gradient(ellipse at 50% 74%,#f4efeb 0,#fdfbf9 22%,white 63%)}
#routes .world::before{content:"";position:absolute;z-index:-1;left:22%;right:22%;height:15px;bottom:26px;border-radius:50%;background:#48332613;filter:blur(10px);transform:scaleX(.95)}
#routes .world img{filter:none;mix-blend-mode:multiply;position:relative;z-index:1}
@media(max-width:600px){#routes .world::before{left:26%;right:26%;bottom:15px;height:12px;filter:blur(9px)}#routes .world img{filter:none;mix-blend-mode:multiply}}

#routes .number{color:#262229}
#routes .title h3{display:inline-block;background:linear-gradient(110deg,#ff0066 0%,#ff0875 45%,#ee3094 100%);background-size:220% 100%;animation:location-gradient 6s ease-in-out infinite alternate;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ff086b}
#routes .location-index button span:first-child,#routes .location-index button.active span:first-child{color:#262229}
@keyframes location-gradient{from{background-position:0% 50%}to{background-position:100% 50%}}

#routes{width:85.5%;max-width:1500px;margin:0 auto;padding:0;container-type:normal;background:transparent;font:14px/1.5 RouteFigtree,Arial,sans-serif;color:#382e40}#routes .section{padding:52px 0 56px}#routes .heading h2{font:900 clamp(34px,3.8vw,55px)/1 RouteMona;color:#ff086b;margin:0}#routes .heading .eyebrow{margin:0 0 13px}#routes .title h3{display:inline-block;background:linear-gradient(110deg,#ff0066 0%,#ff0875 45%,#ee3094 100%);background-size:220% 100%;animation:location-gradient 6s ease-in-out infinite alternate;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ff086b;font:900 clamp(25px,2.6vw,38px)/1.05 RouteMona;margin:0 0 6px;text-transform:uppercase}#routes .number{color:#262229}@media(max-width:600px){#routes{width:92%}#routes .section{padding:35px 0 40px}#routes .heading h2{font-size:38px}#routes .title h3{font-size:29px}}
/* Keep route names together and distribute each complete number/name pair evenly. */
#routes .location-index{display:flex;justify-content:space-between;align-items:stretch;gap:24px;padding:0 24px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#f7b5d0 transparent}
#routes .location-index button{flex:0 0 auto;justify-content:center;gap:8px;padding:21px 0 19px;min-height:58px;white-space:nowrap;font-size:12px;line-height:1.4}
#routes .location-index button span:first-child{font-size:10px;font-variant-numeric:tabular-nums;flex-shrink:0}
#routes .location-index button span:last-child{white-space:nowrap}
#routes .location-index button::after{left:0;right:0;bottom:0;height:3px}
@media(max-width:900px){#routes .location-index{gap:22px;padding:0 20px}}
@media(max-width:600px){#routes .location-index{gap:22px;padding:0 18px;scroll-padding-inline:18px}#routes .location-index button{min-height:54px;padding:18px 0 16px;font-size:12px;gap:7px}}

/* The route explorer replaces the old booking calendar in its pink section. */
.route-network-section{width:100%;margin:0;border-radius:32px 32px 0 0;padding:34px 0;background:linear-gradient(110deg,#ff1f6e 0%,#f52a75 35%,#ff4388 55%,#ff1f6e 80%);background-size:250% 250%;animation:calendar-pink-drift 22s ease-in-out infinite}
.route-network-section #routes .section{padding:0}
.route-network-section #routes .location-shell{box-shadow:0 12px 40px #a80c3c15;border-color:#ffffff70}
.route-network-section #routes .foot,.route-network-section #routes .foot a{color:#fff}
.route-network-section #routes .foot a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.route-network-section{padding:24px 0;border-radius:24px 24px 0 0}}
@media(prefers-reduced-motion:reduce){.route-network-section{animation:none}}
/* Fill the replacement section rather than nesting an inset card inside it. */
.route-network-section{margin-top:64px;padding:0;overflow:hidden}
.route-network-section #routes{width:100%;max-width:none;margin:0}
.route-network-section #routes .location-shell{border:0;border-radius:0;box-shadow:none;background:transparent}
.route-network-section #routes .location-index{padding-inline:7.25%;border-bottom:0}
.route-network-section #routes .location-index button{color:#fff}
.route-network-section #routes .location-index button.active::after{background:#fff}
.route-network-section #routes .feature{background:#fff;padding-inline:7.25%}
.route-network-section #routes .controls{padding-inline:7.25%;background:transparent;border-top:0}
.route-network-section #routes .range-labels,.route-network-section #routes .position,.route-network-section #routes .position b{color:#fff}
.route-network-section #routes .play{background:#fff;color:#ed1268}
.route-network-section #routes .foot{padding:0 7.25% 24px;margin-top:8px}
@media(max-width:600px){.route-network-section{margin-top:40px;padding:0}.route-network-section #routes .location-index{padding-inline:4%}.route-network-section #routes .feature{padding-inline:4%}.route-network-section #routes .controls{padding:16px 4%}.route-network-section #routes .foot{padding:0 4% 22px}}
/* White route section, retaining the existing layout and brand accents. */
.route-network-section{background:#fff;animation:none}
.route-network-section #routes .location-index button{color:#8b7c97}
.route-network-section #routes .location-index button.active,.route-network-section #routes .location-index button:hover{color:#ff086b}
.route-network-section #routes .location-index button.active::after{background:#ff086b}
.route-network-section #routes .location-index{border-bottom:1px solid #eee6f3}
.route-network-section #routes .controls{border-top:1px solid #eee6f3}
.route-network-section #routes .range-labels,.route-network-section #routes .position{color:#a58caf}
.route-network-section #routes .position b{color:#ff086b}
.route-network-section #routes .play{border:1px solid #eee6f3;background:#fff;color:#ed1268}
.route-network-section #routes .foot,.route-network-section #routes .foot a{color:#887291}

/* Approved compact route introduction and bottom location navigation. */
@font-face{font-family:RouteFigtreeLight;src:url('/assets/Figtree-Light.woff2');font-weight:300;font-style:normal}
.route-network-section #routes .route-intro{display:block;text-align:center;padding:27px 7.25% 25px;background:#fff}
.route-network-section #routes .route-intro h2{margin:0;color:#303030;font:500 25px/1.2 RouteFigtree,Arial,sans-serif;letter-spacing:-.055em}
.route-network-section #routes .route-intro h2 strong{font-weight:500;color:#ff1674}
.route-network-section #routes .route-intro p{font:300 17.6px/1.35 RouteFigtreeLight,Arial,sans-serif;letter-spacing:-.035em;color:#808080;max-width:620px;margin:17px auto 0}
.route-network-section #routes .controls,.route-network-section #routes .foot{display:none!important}
.route-network-section #routes .location-index{border-top:1px solid #eee6f3;border-bottom:0;padding-top:6px;padding-bottom:6px}
@media(max-width:600px){.route-network-section #routes .route-intro{padding:25px 6% 23px}.route-network-section #routes .route-intro h2{font-size:22px}.route-network-section #routes .route-intro p{font-size:14.4px;margin-top:15px}}
