/* CommHIT 2026: Mobile health routes page (page-routes.php) and its printable flyers
   (template-parts/route-flyer.php). Behaviour: assets/js/routes.js. */
.ch-rk-nw{--c:#6c7f64;--cd:#53664c;--ct:#e6ece2}
.ch-rk-ne{--c:#d39a1c;--cd:#a87510;--ct:#f8edd2}
.ch-rk-sw{--c:#2b8f97;--cd:#1d757d;--ct:#dcefef}
.ch-rk-se{--c:#1f6fa6;--cd:#175a88;--ct:#dce8f3}
.ch-rchip{display:inline-flex;align-items:center;gap:8px;font-style:normal;font-family:var(--ch-mono);font-size:11.5px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink-2);padding:7px 11px;border-radius:999px;border:1px solid var(--ch-rule);white-space:nowrap;background:#fff}
.ch-rchip i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
.ch-rchip--now{color:#1b1505;background:var(--ch-yellow);border-color:transparent}
.ch-rchip--now i{opacity:1;background:#1b1505;animation:chx-blink 1.8s ease-in-out infinite}
@keyframes chx-blink{50%{opacity:.25}}
@keyframes chx-ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}

.ch-rm{display:block;width:100%;height:100%}
.ch-rm-sea{fill:#eef5f8}
.ch-rm-ctx{fill:#e6eef2;stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke}
.ch-rm-c{fill:#f7fafb;stroke:#d5e1e7;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ch-rm-c.is-other{fill:#eef3f5}
.ch-rm-c.is-on{fill:var(--ct);stroke:#fff;stroke-width:1.4}
.ch-rm-lake{fill:#d4e6f0;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}
.ch-rm-edge{fill:none;stroke:var(--cd);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ch-rm-cas{fill:none;stroke:#fff;stroke-width:7;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.ch-rm-ln{fill:none;stroke:var(--ch-navy-2);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.ch-rm-dash{fill:none;stroke:var(--cd);stroke-width:2.6;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.ch-rm-cl{font-family:var(--ch-mono);fill:var(--cd);opacity:.55}
.ch-rm-pin circle{fill:var(--ch-navy-2);stroke:#fff}
.ch-rm-pin text{fill:#fff;font-family:var(--ch-body);font-weight:700}
.ch-rm-dot{fill:#fff;stroke:var(--cd)}

.ch-fly{position:relative;width:816px;height:1056px;background:#fff;color:var(--ch-ink);font-family:var(--ch-body);overflow:hidden;font-size:15px;line-height:1.5;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ch-fly *{box-sizing:border-box}
.ch-fly-top{position:relative;height:248px;padding:40px 48px 0;color:#fff;isolation:isolate;overflow:hidden;background:#1c2037}
.ch-fly-top::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--ch-img-gradient) center/cover}
.ch-fly-top::after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--ch-texture);mix-blend-mode:overlay;opacity:.28}
.ch-fly-logo{height:46px;width:auto;display:block}
.ch-fly-k{margin:30px 0 8px;font-family:var(--ch-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ch-ice)}
.ch-fly-t{margin:0;font:400 50px/1.02 var(--ch-display);letter-spacing:-.015em}
.ch-fly-chip{font-style:normal;position:absolute;right:48px;top:44px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;background:rgba(12,20,44,.34);border:1px solid rgba(255,255,255,.22);color:#fff}
.ch-fly-chip i{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.7}
.ch-fly-chip.is-now{background:var(--ch-yellow);color:#1b1505;border-color:transparent}
.ch-fly-chip.is-now i{background:#1b1505;opacity:1}
.ch-fly-orb{position:absolute;right:-70px;top:70px;width:300px;height:300px;z-index:-1;pointer-events:none}
.ch-fly-orb i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(188,217,242,.28);transform:rotate(-16deg) scaleY(.34)}
.ch-fly-orb b{position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,250,214,.95) 0%,rgba(242,231,92,.85) 14%,rgba(209,156,40,.75) 34%,rgba(48,140,148,.55) 62%,rgba(28,29,59,.85) 100%);opacity:.55}
.ch-fly-rib{position:absolute;left:-30px;right:-30px;top:214px;height:72px;background:var(--ch-img-ribbon) center/100% 100% no-repeat;z-index:2;pointer-events:none}
.ch-fly-body{display:grid;grid-template-columns:392px minmax(0,1fr);gap:30px;padding:46px 48px 0}
.ch-fly-map{position:relative;height:420px;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px #e1ebee}
.ch-fly-map__lbl{position:absolute;left:14px;bottom:12px;font-family:var(--ch-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-ink-2);background:rgba(255,255,255,.85);padding:5px 9px;border-radius:999px}
.ch-fly-h{margin:0 0 4px;font:400 23px/1.2 var(--ch-display)}
.ch-fly-sub{margin:0 0 14px;font-size:13.5px;color:var(--ch-ink-2)}
.ch-fly-towns{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ch-fly-towns li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--ch-rule)}
.ch-fly-towns li:last-child{border-bottom:1px solid var(--ch-rule)}
.ch-fly-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ch-navy-2);color:#fff;font-weight:700;font-size:12.5px}
.ch-fly-towns b{display:block;font-weight:600;font-size:15px;line-height:1.25}
.ch-fly-towns small{display:block;font-size:12.5px;line-height:1.3;color:var(--ch-ink-2)}
.ch-fly.is-long .ch-fly-top{height:220px}
.ch-fly.is-long .ch-fly-k{margin-top:24px}
.ch-fly.is-long .ch-fly-rib{top:186px}
.ch-fly.is-long .ch-fly-body{grid-template-columns:360px minmax(0,1fr);padding-top:36px}
.ch-fly.is-long .ch-fly-map{height:290px}
.ch-fly.is-long .ch-fly-foot{grid-template-columns:112px minmax(0,1fr) auto;bottom:32px;padding-top:18px}
.ch-fly.is-long .ch-fly-qr{width:112px;height:112px;padding:7px}
.ch-fly-side-rhythm{display:grid;gap:10px;margin-top:18px}
.ch-fly-side-rhythm div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:center;padding:10px 14px;border-radius:16px;background:var(--ct)}
.ch-fly-side-rhythm .ic{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--cd)}
.ch-fly-side-rhythm svg{width:19px;height:19px}
.ch-fly-side-rhythm b{display:block;font:400 17px/1.15 var(--ch-display)}
.ch-fly-side-rhythm small{display:block;font-size:12px;line-height:1.3;color:var(--ch-ink-2)}
.ch-fly-towns.is-3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;margin:12px 48px 0}
.ch-fly-towns.is-3 li{padding:5px 0;grid-template-columns:24px minmax(0,1fr);gap:10px}
.ch-fly-towns.is-3 li:last-child{border-bottom:0}
.ch-fly-towns.is-3 .ch-fly-n{width:24px;height:24px;font-size:11.5px}
.ch-fly-towns.is-3 b{font-size:14px}
.ch-fly-towns.is-3 small{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-fly-towns-h{margin:20px 48px 0;display:flex;justify-content:space-between;align-items:baseline}
.ch-fly-towns-h .ch-fly-h{margin:0}
.ch-fly-rhythm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:32px 48px 0}
.ch-fly-rhythm div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:16px 16px;border-radius:18px;background:var(--ct)}
.ch-fly-rhythm .ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--cd)}
.ch-fly-rhythm svg{width:21px;height:21px}
.ch-fly-rhythm b{display:block;font:400 18px/1.15 var(--ch-display)}
.ch-fly-rhythm small{display:block;font-size:12px;line-height:1.35;color:var(--ch-ink-2);margin-top:2px}
.ch-fly-foot{position:absolute;left:48px;right:48px;bottom:40px;display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:22px;align-items:center;padding-top:24px;border-top:1px solid var(--ch-rule)}
.ch-fly-qr{width:132px;height:132px;padding:8px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--ch-rule)}
.ch-fly-qr svg{display:block;width:100%;height:100%}
.ch-fly-scan b{display:block;font:400 22px/1.2 var(--ch-display)}
.ch-fly-scan p{margin:6px 0 0;font-size:13px;color:var(--ch-ink-2);max-width:25em}
.ch-fly-url{margin-top:10px !important;font-family:var(--ch-mono);font-size:13px !important;letter-spacing:.06em;color:var(--ch-petrol) !important}
.ch-fly-hq{text-align:right;font-size:12px;line-height:1.5;color:var(--ch-ink-2)}
.ch-fly-hq b{display:block;font-family:var(--ch-mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9a6c09}

.ch-band--navy{background:#161a30;color:#fff;overflow:hidden}
.ch-band--navy .ch-eyebrow{color:var(--ch-ice)}
.ch-band--mist{background:var(--ch-mist);color:var(--ch-ink);overflow:hidden}

/* ---------- route finder ---------- */
.ch-rf-band{padding-top:calc(var(--ch-band-pad) + 10px)}
.ch-rf-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:end}
.ch-rf-head .ch-body--lg{max-width:30em}
.ch-rf-tabs{display:flex;gap:6px;margin:44px 0 18px;padding:6px;border-radius:999px;background:var(--ch-mist);border:1px solid #e3ecef;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.ch-rf-tabs::-webkit-scrollbar{display:none}
.ch-rf-tab{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;border:0;background:none;font-size:14.5px;font-weight:600;color:var(--ch-ink-2);cursor:pointer;white-space:nowrap;transition:background-color .35s var(--ch-ease),color .35s,box-shadow .35s}
.ch-rf-tab svg{width:16px;height:16px}
.ch-rf-tab:hover{color:var(--ch-ink)}
.ch-rf-tab.is-on{background:#fff;color:var(--ch-ink);box-shadow:0 6px 16px -10px rgba(20,32,58,.5),0 0 0 1px rgba(20,32,58,.05)}
.ch-rf-tab em{font-style:normal;font-family:var(--ch-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#1b1505;background:var(--ch-yellow);padding:3px 7px;border-radius:999px}
.ch-rf-dot{width:9px;height:9px;border-radius:50%;background:var(--c)}
.ch-rf-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(22px,2.6vw,36px);align-items:start}
.ch-rf-map{position:relative;margin:0;border-radius:26px;padding:16px 16px 14px;background:linear-gradient(165deg,#f7fbfc 0%,#ecf4f7 100%);border:1px solid #e1ebee;box-shadow:0 40px 80px -56px rgba(20,32,58,.45),0 2px 0 rgba(255,255,255,.9) inset;isolation:isolate}
.ch-rf-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:0 6px;font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-ink-2)}
.ch-rf-bar b{font-weight:500;color:var(--ch-ink)}
.ch-rf-key{display:flex;gap:14px}.ch-rf-key span{display:inline-flex;align-items:center;gap:7px}.ch-rf-key i{width:8px;height:8px;border-radius:50%}
.ch-k-now{background:#d39a1c;box-shadow:0 0 0 3px rgba(211,154,28,.2)}.ch-k-plan{background:#fff;border:1.5px solid #8ea3b0}
.ch-rf-reset{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;border:1px solid var(--ch-rule);background:#fff;font:inherit;letter-spacing:.12em;color:var(--ch-ink);cursor:pointer;animation:chx-rf-in .5s var(--ch-ease)}
.ch-rf-reset svg{width:14px;height:14px}
.ch-rf-stage{position:relative;aspect-ratio:1000/960;margin-top:6px;border-radius:18px;overflow:hidden;container-type:inline-size;background:radial-gradient(120% 90% at 30% 20%,#f4f9fb 0%,#e9f2f6 100%)}
.ch-rf-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.ch-rf-world{transform-box:view-box;transform-origin:0 0;transition:transform 1.15s cubic-bezier(.65,.02,.2,1)}
.ch-rf-world path{vector-effect:non-scaling-stroke}
.ch-rf-ctx{fill:#e3ecf0;stroke:#fff;stroke-width:1.5}
.ch-rf-shadow{fill:#9cb7c6;opacity:.28;filter:blur(8px);transform:translate(3px,8px)}
.ch-rf-land{fill:#f8fbfc;stroke:#fff;stroke-width:2.4}
.ch-rf-c{fill:#f3f7f9;stroke:#d6e2e8;stroke-width:.8;stroke-linejoin:round;transition:fill .6s var(--ch-ease),opacity .6s}
.ch-rf-c[class*="rk-"]{fill:color-mix(in srgb,var(--c) 22%,#f3f7f9);stroke:#fff;stroke-width:1}
[data-reg] .ch-rf-c[class*="k-"]{fill:color-mix(in srgb,var(--c) 9%,#f3f7f9)}
[data-reg="nw"] .ch-rf-c.k-nw,[data-reg="ne"] .ch-rf-c.k-ne,[data-reg="sw"] .ch-rf-c.k-sw,[data-reg="se"] .ch-rf-c.k-se{fill:color-mix(in srgb,var(--c) 30%,#fff)}

.ch-rf-lake{fill:#d4e6f0;stroke:#fff;stroke-width:1}
.ch-rf-edge{fill:none;stroke:var(--cd);stroke-width:1.5;stroke-linejoin:round;transition:opacity .6s,stroke-width .6s}
[data-reg] .ch-rf-edge{opacity:.35}
[data-reg="nw"] .ch-rf-edge.k-nw,[data-reg="ne"] .ch-rf-edge.k-ne,[data-reg="sw"] .ch-rf-edge.k-sw,[data-reg="se"] .ch-rf-edge.k-se{stroke-width:2.2}

.ch-rf-routes path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ch-rf-routes .cas{stroke:#fff;stroke-width:6}
.ch-rf-routes .ln{stroke:var(--ch-navy-2);stroke-width:2.6}
.ch-rf-routes .flow{stroke:#f2c444;stroke-width:2.6;stroke-dasharray:3 16;opacity:0;transition:opacity .6s;animation:chx-rf-flow 1.2s linear infinite}
[data-reg="nw"] .ch-rf-routes .k-nw .flow,[data-reg="ne"] .ch-rf-routes .k-ne .flow,[data-reg="sw"] .ch-rf-routes .k-sw .flow,[data-reg="se"] .ch-rf-routes .k-se .flow{opacity:1}
.ch-rf-routes .dash{stroke:var(--cd);stroke-width:2.4;stroke-dasharray:6 5}
[data-reg="nw"] .ch-rf-routes .k-nw .dash,[data-reg="ne"] .ch-rf-routes .k-ne .dash,[data-reg="sw"] .ch-rf-routes .k-sw .dash,[data-reg="se"] .ch-rf-routes .k-se .dash{animation:chx-rf-flow 1.6s linear infinite}
[data-reg="nw"] .ch-rf-routes .k-nw .cas,[data-reg="ne"] .ch-rf-routes .k-ne .cas,[data-reg="sw"] .ch-rf-routes .k-sw .cas,[data-reg="se"] .ch-rf-routes .k-se .cas{stroke-width:8}
[data-reg] .ch-rf-routes>g{opacity:.45;transition:opacity .6s}[data-reg="nw"] .ch-rf-routes>g.k-nw,[data-reg="ne"] .ch-rf-routes>g.k-ne,[data-reg="sw"] .ch-rf-routes>g.k-sw,[data-reg="se"] .ch-rf-routes>g.k-se{opacity:1}
@keyframes chx-rf-flow{to{stroke-dashoffset:-19}}
.ch-rf-van .halo{fill:#f2c444;opacity:.35}.ch-rf-van .core{fill:#e9b53a;stroke:#fff;stroke-width:1.4;vector-effect:non-scaling-stroke}
.ch-rf-hq .ring{fill:none;stroke:#d19c28;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:chx-rf-ring 2.8s var(--ch-ease) infinite}
@keyframes chx-rf-ring{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.1);opacity:0}}
.ch-rf-hq .base{fill:var(--ch-navy-2);stroke:#fff;stroke-width:2}.ch-rf-hq .star{fill:#f2e75c}
/* overlays */
.ch-rf-ov{position:absolute;pointer-events:none;transition:left 1.15s cubic-bezier(.65,.02,.2,1),top 1.15s cubic-bezier(.65,.02,.2,1),opacity .5s var(--ch-ease)}
.ch-rf-city{transform:translate(-50%,-50%);font-size:clamp(10px,1.8cqw,12px);font-weight:600;color:#55657a;white-space:nowrap;text-shadow:0 0 3px #f2f7f9,0 0 3px #f2f7f9}
.ch-rf-city::before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#7a8a9c}
.ch-rf-city.r{transform:translate(9px,-50%)}.ch-rf-city.r::before{left:-9px;top:50%;margin-top:-2.5px}
.ch-rf-city.l{transform:translate(calc(-100% - 9px),-50%)}.ch-rf-city.l::before{right:-9px;top:50%;margin-top:-2.5px}
.ch-rf-city.b{transform:translate(-50%,6px)}.ch-rf-city.b::before{left:50%;top:-8px;margin-left:-2.5px}
.ch-rf-hqlbl{transform:translate(-50%,13px);text-align:center;font-family:var(--ch-mono);font-size:clamp(8.5px,1.4cqw,10px);letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink);line-height:1.35;white-space:nowrap;text-shadow:0 0 3px #f2f7f9,0 0 3px #f2f7f9}
.ch-rf-hqlbl b{display:block;font-weight:500;color:#9a6c09}
.ch-rf-hqlbl i{font-style:normal}
.ch-rf-cl{transform:translate(-50%,-50%);font-family:var(--ch-mono);font-size:clamp(9px,1.5cqw,10.5px);letter-spacing:.24em;text-transform:uppercase;color:var(--cd);opacity:.6;white-space:nowrap}
.ch-rf-stage .is-hide{opacity:0 !important;visibility:hidden}
.ch-rf-pill{position:absolute;display:inline-flex;align-items:center;gap:.6em;padding:.45em .9em .45em .7em;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 18px -10px rgba(20,32,58,.45);border:1px solid #fff;font-size:clamp(10px,1.8cqw,12.5px);font-weight:600;color:var(--ch-ink);white-space:nowrap;cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%);transition:left 1.15s cubic-bezier(.65,.02,.2,1),top 1.15s cubic-bezier(.65,.02,.2,1),opacity .4s,transform .4s var(--ch-ease),box-shadow .4s}
.ch-rf-pill.al-r{transform:translate(-100%,-50%)}
.ch-rf-pill:hover{box-shadow:0 10px 24px -10px rgba(20,32,58,.55);background:#fff}
.ch-rf-pill i{width:.62em;height:.62em;border-radius:50%;background:var(--c)}
.ch-rf-pill em{font-style:normal;font-family:var(--ch-mono);font-size:.8em;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink-2);font-weight:400;padding-left:.6em;border-left:1px solid rgba(20,32,58,.14)}
.ch-rf-pill.is-now em{color:#1b1505;background:var(--ch-yellow);border:0;border-radius:999px;padding:.25em .6em;margin:-.1em -.45em -.1em 0}
.ch-rf-pin{position:absolute;display:block;width:0;height:0;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;transition:left 1.15s cubic-bezier(.65,.02,.2,1),top 1.15s cubic-bezier(.65,.02,.2,1),opacity .45s var(--ch-ease)}
.ch-rf-pin__dot{position:absolute;left:0;top:0;width:9px;height:9px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:1.8px solid var(--cd);display:grid;place-items:center;color:#fff;transition:width .5s var(--ch-ease),height .5s var(--ch-ease),background-color .4s,border-color .4s,box-shadow .4s}
.ch-rf-pin.now .ch-rf-pin__dot{border-color:var(--ch-navy-2)}
.ch-rf-pin__dot svg{width:15px;height:15px;opacity:0;transition:opacity .3s}
.ch-rf-pin__lbl{position:absolute;left:20px;top:0;transform:translateY(-50%);font-size:clamp(10.5px,1.9cqw,13px);font-weight:600;color:var(--ch-ink);white-space:nowrap;opacity:0;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 6px #fff;transition:opacity .4s var(--ch-ease);pointer-events:none}
.ch-rf-pin.is-big .ch-rf-pin__dot{width:30px;height:30px;background:var(--cd);border:2.5px solid #fff;box-shadow:0 6px 14px -6px rgba(20,32,58,.6)}
.ch-rf-pin.is-big.now .ch-rf-pin__dot{background:var(--ch-navy-2)}
.ch-rf-pin.is-big .ch-rf-pin__dot svg{opacity:1}
.ch-rf-pin.is-big .ch-rf-pin__lbl{opacity:1;transition-delay:.7s}
.ch-rf-pin.is-big.sd-l .ch-rf-pin__lbl{left:auto;right:20px}
.ch-rf-pin.is-big.sd-t .ch-rf-pin__lbl{left:0;top:-19px;transform:translate(-50%,-100%)}
.ch-rf-pin.is-big.sd-b .ch-rf-pin__lbl{left:0;top:19px;transform:translate(-50%,0)}
.ch-rf-pin.is-pick .ch-rf-pin__dot{box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 30%,transparent),0 8px 18px -6px rgba(20,32,58,.6);width:36px;height:36px}
.ch-rf-pin.is-pick .ch-rf-pin__lbl{opacity:0}
.ch-rf-pin:hover .ch-rf-pin__dot{box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 25%,transparent)}
.ch-rf-pin.is-hide{pointer-events:none}
.ch-rf-pin::before{content:"";position:absolute;left:-11px;top:-11px;width:22px;height:22px;border-radius:50%}
.ch-rf-pin:focus{outline:none}
.ch-rf-pin:focus-visible .ch-rf-pin__dot{outline:2px solid var(--ch-gold);outline-offset:3px}
.ch-rf-pop:focus{outline:none}
.ch-rf-pop:focus-visible{outline:2px solid var(--ch-gold);outline-offset:3px}
/* town popup */
.ch-rf-pop{position:absolute;z-index:6;width:min(270px,62cqw);padding:16px 16px 14px;border-radius:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #fff;box-shadow:0 24px 50px -22px rgba(20,32,58,.55),0 0 0 1px rgba(20,32,58,.05);transform:translate(-50%,calc(-100% - 30px));animation:chx-rf-pop .45s var(--ch-ease) both;transition:left 1.15s cubic-bezier(.65,.02,.2,1),top 1.15s cubic-bezier(.65,.02,.2,1)}
.ch-rf-pop::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;background:#fff;transform:rotate(45deg);box-shadow:4px 4px 6px -3px rgba(20,32,58,.12)}
.ch-rf-pop.dn{transform:translate(-50%,30px)}.ch-rf-pop.dn::after{bottom:auto;top:-7px;box-shadow:-3px -3px 6px -3px rgba(20,32,58,.1)}
.ch-rf-pop.al-l{transform:translate(-30px,calc(-100% - 30px))}.ch-rf-pop.al-l::after{left:30px}
.ch-rf-pop.al-r{transform:translate(calc(-100% + 30px),calc(-100% - 30px))}.ch-rf-pop.al-r::after{left:auto;right:23px}
.ch-rf-pop.dn.al-l{transform:translate(-30px,30px)}.ch-rf-pop.dn.al-r{transform:translate(calc(-100% + 30px),30px)}
.ch-rf-pop.rt{transform:translate(32px,-50%)}.ch-rf-pop.rt::after{left:-7px;top:50%;bottom:auto;margin:-7px 0 0;box-shadow:-3px 3px 6px -3px rgba(20,32,58,.12)}
.ch-rf-pop.lt{transform:translate(calc(-100% - 32px),-50%)}.ch-rf-pop.lt::after{left:auto;right:-7px;top:50%;bottom:auto;margin:-7px 0 0}
@keyframes chx-rf-pop{from{opacity:0;margin-top:8px}}
.ch-rf-pop__x{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;border:0;background:var(--ch-mist);display:grid;place-items:center;cursor:pointer}
.ch-rf-pop__x svg{width:13px;height:13px}
.ch-rf-pop__k{margin:0;padding-right:34px;font-family:var(--ch-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cd)}
.ch-rf-pop__t{margin:4px 0 0;font:400 23px/1.15 var(--ch-display);letter-spacing:-.01em}
.ch-rf-pop__host{display:flex;align-items:center;gap:9px;margin:10px 0 0;font-size:13.5px;font-weight:600}
.ch-rf-pop__ic{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ct);color:var(--cd);flex:none}
.ch-rf-pop__ic svg{width:15px;height:15px}
.ch-rf-pop__facts{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:5px;font-size:12.5px;color:var(--ch-ink-2)}
.ch-rf-pop__facts li{display:flex;align-items:center;gap:8px}
.ch-rf-pop__facts svg{width:15px;height:15px;color:var(--cd);flex:none}
.ch-rf-pop__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--ch-rule)}
.ch-rf-pop__foot .ch-rchip{font-size:10px;padding:5px 8px}
.ch-rf-pop__foot a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none}
.ch-rf-pop__foot a svg{width:14px;height:14px}
.ch-rf-foot{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;margin:10px 6px 0;padding-top:12px;border-top:1px solid rgba(20,32,58,.07);font-size:12.5px;line-height:1.45;color:var(--ch-ink-2)}
.ch-rf-foot p{margin:0;max-width:34em}
.ch-rf-scale{display:inline-flex;align-items:center;gap:8px;font-family:var(--ch-mono);font-size:10.5px;letter-spacing:.12em;white-space:nowrap}
.ch-rf-scale i{width:44px;height:6px;border:1.5px solid #7d8d9e;border-top:0}
/* side panel */
.ch-rf-side{position:relative;min-height:100%}
.ch-rf-in{animation:chx-rf-in .6s var(--ch-ease) both}
@keyframes chx-rf-in{from{opacity:0;transform:translateY(10px)}}
.ch-rf-side__k{margin:4px 0 6px;font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-ink-2)}
.ch-rf-side__t{margin:0 0 16px;font:400 28px/1.15 var(--ch-display)}
.ch-rf-regs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ch-rf-reg{position:relative;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 16px 16px 18px;border-radius:18px;border:1px solid var(--ch-rule);background:#fff;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;transition:border-color .4s,box-shadow .4s var(--ch-ease),transform .4s var(--ch-ease)}
.ch-rf-reg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--ct),transparent 70%);opacity:0;transition:opacity .4s}
.ch-rf-reg:hover{border-color:color-mix(in srgb,var(--c) 45%,#fff);box-shadow:0 18px 36px -26px rgba(20,32,58,.5);transform:translateY(-2px)}
.ch-rf-reg:hover::before{opacity:1}
.ch-rf-reg .ch-rf-sw{width:14px;height:14px}
.ch-rf-reg__t b{display:block;font-weight:600;font-size:16.5px;line-height:1.3}
.ch-rf-reg__t small{display:block;font-size:13px;line-height:1.4;color:var(--ch-ink-2)}
.ch-rf-reg__t .ch-rf-reg__p{color:#7b8a9b;font-size:12.5px;margin-top:2px}
.ch-rf-reg__end{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ch-rf-reg__end .ch-rchip{font-size:10px;padding:5px 8px}
.ch-rf-reg__end svg{width:16px;height:16px;color:var(--ch-petrol);transition:transform .4s var(--ch-ease)}
.ch-rf-reg:hover .ch-rf-reg__end svg{transform:translateX(3px)}
.ch-rf-sw{position:relative;display:inline-block;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--c) 45%,#fff),var(--c));flex:none}
.ch-rf-sw.is-now::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid rgba(209,156,40,.55);animation:chx-ping 2.6s var(--ch-ease) infinite}
.ch-rf-note{display:flex;gap:10px;align-items:flex-start;margin:18px 2px 0;font-size:13px;line-height:1.5;color:var(--ch-ink-2)}
.ch-rf-note svg{width:18px;height:18px;flex:none;color:var(--ch-teal);margin-top:1px}
.ch-rf-back{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:4px 0;margin:0 0 12px;cursor:pointer;font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-ink-2)}
.ch-rf-back svg{width:15px;height:15px;transition:transform .4s var(--ch-ease)}
.ch-rf-back:hover{color:var(--ch-ink)}.ch-rf-back:hover svg{transform:translateX(-3px)}
.ch-rf-rhead{display:flex;align-items:center;gap:12px}
.ch-rf-rhead .ch-rf-sw{width:16px;height:16px}
.ch-rf-rhead__t{margin:0;font:400 30px/1.1 var(--ch-display);letter-spacing:-.01em}
.ch-rf-rhead .ch-rchip{margin-left:auto}
.ch-rf-meta{margin:6px 0 0 28px;font-size:14.5px;color:var(--ch-ink-2)}
.ch-rf-facts{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.ch-rf-facts li{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 9px;border-radius:999px;background:var(--ct);font-size:13px;line-height:1.2;white-space:nowrap}
.ch-rf-facts svg{width:17px;height:17px;color:var(--cd)}
.ch-rf-sub{display:flex;justify-content:space-between;margin:22px 0 6px;font-family:var(--ch-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-ink-2)}
.ch-rf-towns{list-style:none;margin:0;padding:0;max-height:392px;overflow:auto;scrollbar-width:thin;border-top:1px solid var(--ch-rule)}
.ch-rf-towns.is-long{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 40px),transparent);padding-bottom:24px}
.ch-rf-town{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;padding:10px 8px;border:0;border-bottom:1px solid var(--ch-rule);background:none;text-align:left;cursor:pointer;transition:background-color .3s}
.ch-rf-town:hover{background:var(--ch-mist)}
.ch-rf-town.is-pick{background:var(--ct)}
.ch-rf-num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ch-navy-2);color:#fff;font-size:12px;font-weight:700}
.ch-rf-panel.ch-rk-sw .ch-rf-num,.ch-rf-panel.ch-rk-nw .ch-rf-num,.ch-rf-panel.ch-rk-se .ch-rf-num{background:var(--cd)}
.ch-rf-town__t b{display:flex;align-items:center;gap:7px;font-weight:600;font-size:15px;line-height:1.3}
.ch-rf-town__t small{display:block;font-size:12.5px;line-height:1.35;color:var(--ch-ink-2)}
.ch-rf-n{font-style:normal;font-family:var(--ch-mono);font-size:10px;letter-spacing:.06em;font-weight:500;color:var(--cd);background:var(--ct);border-radius:999px;padding:2px 6px;line-height:1.2}
.ch-rf-actions{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.ch-rf-actions .ch-btn svg{width:17px;height:17px}

/* ---------- rhythm ---------- */
.ch-rh-grid{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ch-rh-card{display:grid;gap:16px;align-content:start;padding:22px 20px 20px;border-radius:22px;background:#fff;border:1px solid #e3ecef;box-shadow:0 30px 60px -50px rgba(20,32,58,.45);position:relative;overflow:hidden;isolation:isolate}
.ch-rh-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 30%,#fff))}
.ch-rh-top{display:flex;align-items:center;gap:11px}
.ch-rh-top b{display:block;font-weight:600;font-size:16.5px;line-height:1.25}
.ch-rh-st{display:flex;align-items:center;gap:6px;font-family:var(--ch-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink-2)}
.ch-rh-st.is-now{color:#8a6206}
.ch-rh-st.is-now::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ch-gold);box-shadow:0 0 0 3px rgba(209,156,40,.2)}
.ch-rh-mid{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center}
.ch-rr{width:86px;height:86px;overflow:visible}
.ch-rr-track{fill:none;stroke:#edf2f4;stroke-width:9}
.ch-rr-wk1{fill:none;stroke:color-mix(in srgb,var(--c) 55%,#fff);stroke-width:9}
.ch-rr-wk2{fill:none;stroke:color-mix(in srgb,var(--c) 25%,#fff);stroke-width:9}
.ch-rr-tick{stroke:#fff;stroke-width:3}
.ch-rr-dot{fill:var(--cd);stroke:#fff;stroke-width:2.5}
.ch-rr-ping{fill:none;stroke:var(--c);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:chx-rr-ping 2.4s var(--ch-ease) infinite}
@keyframes chx-rr-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.ch-rr-big{font:400 26px var(--ch-display);fill:var(--ch-ink)}
.ch-rr-sm{font:500 7px var(--ch-mono);letter-spacing:.18em;fill:var(--ch-ink-2)}
.ch-rh-v{margin:0;font:400 21px/1.15 var(--ch-display)}
.ch-rh-l{margin:4px 0 0;font-size:12.5px;line-height:1.4;color:var(--ch-ink-2)}
.ch-rh-row{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--ch-rule);font-size:13px;color:var(--ch-ink-2)}
.ch-rh-row b{color:var(--ch-ink);font-weight:600}
.ch-rh-row svg{width:18px;height:18px;color:var(--cd);flex:none}
.ch-rh-caps{display:flex;gap:3px;flex:none}
.ch-rh-caps i{width:7px;height:18px;border-radius:4px;background:#e6edf0}
.ch-rh-caps i.on{background:var(--cd)}
.ch-rh-caps i.half{background:repeating-linear-gradient(135deg,var(--c) 0 2px,color-mix(in srgb,var(--c) 30%,#fff) 2px 4px)}

/* ---------- how a visit works ---------- */
.ch-vs-head{max-width:40em}
.ch-vs-steps{position:relative;list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.ch-vs-line{position:absolute;left:44px;right:12%;top:33px;width:calc(100% - 44px - 12%);height:20px;overflow:visible}
.ch-vs-line path{fill:none;stroke:#cfdde3;stroke-width:1.6;stroke-dasharray:2 8;vector-effect:non-scaling-stroke;animation:chx-hr-flow 1.6s linear infinite}
@keyframes chx-hr-flow{to{stroke-dashoffset:-20}}
.ch-vs-step{position:relative;display:grid;gap:12px;align-content:start}
.ch-vs-n{position:absolute;right:6px;top:-12px;font:400 64px/1 var(--ch-display);color:transparent;-webkit-text-stroke:1px #dbe6ea;letter-spacing:-.02em}
.ch-vs-ic{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff 0%,#eef6f7 60%,#e2eef1 100%);box-shadow:0 18px 30px -20px rgba(20,32,58,.45),0 0 0 1px #e3ecef inset;color:var(--ch-petrol)}
.ch-vs-ic::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed rgba(48,140,148,.35)}
.ch-vs-step:first-child .ch-vs-ic{background:radial-gradient(circle at 35% 30%,#fff7d6 0%,#f6e3a8 55%,#e9c766 100%);color:#5e4307}
.ch-vs-ic svg{width:32px;height:32px}
.ch-vs-t{margin:10px 0 0;font:400 23px/1.2 var(--ch-display)}
.ch-vs-x{margin:0;color:var(--ch-ink-2);font-size:15.5px;line-height:1.6;max-width:22em}

/* ---------- marquee ---------- */
.ch-mq-band{padding-block:clamp(80px,9vw,130px)}
.ch-mq-band .ch-band__texture{opacity:.18}
.ch-mq-band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 120% at 85% 0%,rgba(69,181,185,.32),transparent 60%),radial-gradient(60% 100% at 0% 100%,rgba(209,156,40,.16),transparent 60%)}
.ch-mq-head .ch-h2{color:#fff;max-width:16em}
.ch-mq-num{background:linear-gradient(90deg,#fff3b0 0%,var(--ch-yellow) 30%,#e9b53a 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ch-mq{margin-top:44px;display:grid;gap:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.ch-mq-row{overflow:hidden}
.ch-mq-track{list-style:none;margin:0;padding:0;display:flex;gap:12px;width:max-content;animation:chx-mq 70s linear infinite}
.ch-mq-row--rev .ch-mq-track{animation-direction:reverse;animation-duration:80s}
.ch-mq:hover .ch-mq-track{animation-play-state:paused}
@keyframes chx-mq{to{transform:translateX(calc(-50% - 6px))}}
.ch-mq-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);white-space:nowrap}
.ch-mq-chip i{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}
.ch-mq-chip b{font-weight:600;font-size:15.5px;color:#fff}
.ch-mq-chip small{font-family:var(--ch-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(188,217,242,.7)}
.ch-band--navy .ch-rk-nw{--c:#b9e08f}.ch-band--navy .ch-rk-ne{--c:#ffd25e}.ch-band--navy .ch-rk-sw{--c:#46d8cf}.ch-band--navy .ch-rk-se{--c:#7ea4ff}

/* ---------- print band ---------- */
.ch-pr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center}
.ch-pr-copy .ch-body--lg{margin-top:20px}
.ch-pr-cards{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ch-pr-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px 12px 12px;border-radius:18px;border:1px solid var(--ch-rule);background:#fff;color:var(--ch-ink);text-decoration:none;transition:border-color .4s,box-shadow .4s var(--ch-ease),transform .4s var(--ch-ease)}
.ch-pr-card:hover{border-color:color-mix(in srgb,var(--c) 50%,#fff);box-shadow:0 18px 34px -24px rgba(20,32,58,.5);transform:translateY(-2px);color:var(--ch-ink)}
.ch-pr-qr{display:block;width:46px;height:46px;padding:4px;border-radius:10px;background:var(--ct)}
.ch-pr-qr svg{display:block;width:100%;height:100%}
.ch-pr-qr path{fill:var(--ch-ink)}
.ch-pr-t b{display:block;font-weight:600;font-size:15.5px;line-height:1.3}
.ch-pr-t small{display:block;font-size:12.5px;color:var(--ch-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-pr-go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ch-mist);color:var(--ch-petrol)}
.ch-pr-go svg{width:18px;height:18px}
.ch-pr-stack{position:relative;height:520px}
.ch-pr-sheet{position:absolute;left:50%;top:50%;width:343px;height:444px;margin:-222px 0 0 -171px;border-radius:10px;background:#fff;box-shadow:0 40px 70px -40px rgba(20,32,58,.55),0 0 0 1px rgba(20,32,58,.06);overflow:hidden}
.ch-pr-sheet>.ch-pr-top{position:absolute;inset:0 0 auto 0;height:104px;background:linear-gradient(120deg,#1c2037,var(--c))}
.ch-pr-sheet--3{transform:translate(70px,18px) rotate(9deg);opacity:.9}
.ch-pr-sheet--2{transform:translate(38px,6px) rotate(4.5deg)}
.ch-pr-sheet--1{transform:translate(-14px,-6px) rotate(-3deg)}
.ch-pr-scale{width:816px;height:1056px;transform:scale(.42);transform-origin:0 0}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ch-rh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .ch-rf-head{grid-template-columns:minmax(0,1fr);gap:18px}
  .ch-rf-grid{grid-template-columns:minmax(0,1fr)}
  .ch-rf-tabs{width:auto;margin-inline:calc(var(--ch-gutter) * -1);border-radius:0;border-inline:0;padding-inline:var(--ch-gutter)}
  .ch-vs-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .ch-vs-line{display:none}
  .ch-pr-grid{grid-template-columns:minmax(0,1fr)}
  .ch-pr-stack{height:440px}
}
@media (max-width:600px){
  .ch-rf-tabs{margin-top:30px;gap:4px}
  .ch-rf-tab{padding:10px 14px;font-size:14px}
  .ch-rf-map{border-radius:20px;padding:10px 8px 10px;margin-inline:-6px}
  .ch-rf-bar{font-size:10px;padding:0 4px;flex-wrap:wrap}
  .ch-rf-key{display:none}
  .ch-rf-stage{border-radius:14px}
  .ch-rf-pill{font-size:10px;padding:4px 8px 4px 7px;gap:5px}
  .ch-rf-pill em{display:none}
  .ch-rf-city.minor,.ch-rf-hqlbl i{display:none}
  .ch-rf-hqlbl{transform:translate(calc(-100% - 10px),-50%);text-align:right}
  .ch-rf-pin__lbl{font-size:10.5px;left:17px}
  .ch-rf-pin.is-big .ch-rf-pin__dot{width:24px;height:24px}
  .ch-rf-pin.is-big .ch-rf-pin__dot svg{width:12px;height:12px}
  .ch-rf-pop{position:absolute;left:8px !important;right:8px;top:auto !important;bottom:8px;width:auto;transform:none !important;padding:14px 14px 12px}
  .ch-rf-pop::after{display:none}
  .ch-rf-pop__t{font-size:20px}
  .ch-rf-foot{flex-direction:column;align-items:flex-start;font-size:12px}
  .ch-rf-side__t{font-size:24px}
  .ch-rf-reg{padding:14px 12px 14px 14px;gap:12px}
  .ch-rf-reg__t .ch-rf-reg__p{display:none}
  .ch-rf-rhead__t{font-size:26px}
  .ch-rf-towns{max-height:none}
  .ch-rh-grid{grid-template-columns:minmax(0,1fr);margin-top:34px}
  .ch-vs-steps{grid-template-columns:minmax(0,1fr);margin-top:40px;row-gap:30px}
  .ch-vs-step{grid-template-columns:64px minmax(0,1fr);column-gap:18px;align-items:start}
  .ch-vs-ic{width:64px;height:64px;grid-row:1/3}
  .ch-vs-ic svg{width:26px;height:26px}
  .ch-vs-t{margin:4px 0 0;font-size:21px}
  .ch-vs-n{font-size:46px;top:-6px}
  .ch-mq-chip{padding:10px 14px 10px 12px}
  .ch-mq-chip b{font-size:14px}
  .ch-pr-cards{grid-template-columns:minmax(0,1fr)}
  .ch-pr-stack{height:360px}
  .ch-pr-sheet{transform-origin:center;scale:.78}
}
@media (prefers-reduced-motion:reduce){
  .ch-rf-world,.ch-rf-ov,.ch-rf-pin,.ch-rf-pill,.ch-rf-pop{transition:none}
  .ch-mq-track,.ch-rr-ping,.ch-rf-hq .ring,.ch-orbit__sat,.ch-page-hero__core,.ch-vs-line path,.ch-rf-routes .flow,.ch-rf-routes .dash,.ch-rchip--now i,.ch-rf-sw.is-now::after,.ch-rf-in,.ch-rf-pop,.ch-rf-reset{animation:none}
  .ch-rf-van{display:none}
}

/* ---------- additions for the theme ---------- */
.ch-rt-page .ch-btn svg{width:16px;height:16px;flex:none;transition:transform .45s var(--ch-ease)}
.ch-rt-page .ch-btn:hover svg{transform:translateX(3px)}
.ch-rt-page .ch-rf-actions .ch-btn svg{width:17px;height:17px}
.ch-rf-reset[hidden],.ch-rf-key[hidden],.ch-rf-pop[hidden],.ch-rf-panel[hidden]{display:none}
.ch-rf.is-instant .ch-rf-world,.ch-rf.is-instant .ch-rf-ov,.ch-rf.is-instant .ch-rf-pin,.ch-rf.is-instant .ch-rf-pill,.ch-rf.is-instant .ch-rf-pop{transition:none!important}
.ch-rf-reg{text-decoration:none;color:var(--ch-ink)}
.ch-rf-reg:hover{color:var(--ch-ink)}
.ch-rf-tab svg{width:16px;height:16px}
.ch-rf-pin__dot svg{width:15px;height:15px}
.ch-rf-pop__foot a{color:var(--ch-petrol)}
.ch-rf-rhead__t:focus{outline:none}
.ch-rh-row>span:last-child b{color:var(--ch-ink);font-weight:600}
/* until routes.js runs, every region panel shows under the summary */
.ch-rf:not(.is-ready) .ch-rf-panel+.ch-rf-panel{margin-top:40px}
.ch-rf:not(.is-ready) .ch-rf-back{display:none}
/* printable flyer page (/routes/?flyer=<region>) */
.ch-fly-page{margin:0;background:#e9eef2;display:flex;justify-content:center;padding:84px 16px 48px}
.ch-fly-page .ch-fly{box-shadow:0 30px 70px -40px rgba(20,32,58,.55);flex:none}
.ch-fly-bar{position:fixed;inset:0 0 auto 0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,40px);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(20,32,58,.08);font-family:var(--ch-body)}
.ch-fly-bar a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ch-petrol);text-decoration:none}
.ch-fly-bar a svg{width:16px;height:16px}
.ch-fly-bar button{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border:0;border-radius:999px;background:var(--ch-petrol);color:#fff;font:600 14px/1 var(--ch-body);cursor:pointer}
.ch-fly-bar button svg{width:17px;height:17px}
@media (max-width:860px){.ch-fly-page{justify-content:flex-start;overflow-x:auto}}
@media print{.ch-fly-bar{display:none}.ch-fly-page{background:#fff;padding:0;display:block}.ch-fly-page .ch-fly{box-shadow:none}}
