.rw{--closed:#b3131b;--lanes:#a86a00;--work:#0b2540;--detour:#0b4f86;--hl:#f6c61e;--feat:#f6c61e;padding-bottom:56px}
.rw-defs{position:absolute;width:0;height:0;overflow:hidden}
.rw h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,4.2vw,32px);line-height:1.12;margin:0 0 10px;color:var(--ink)}
.rw h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:16px;margin:28px 0 10px;color:var(--navy)}
.rw p,.rw li{font-family:var(--sans);font-size:17px;line-height:1.5;color:var(--ink-2)}
.rw-sec>p,.rw-notes p{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--ink);max-width:40em}
.rw-head{max-width:820px}
.rw-head h1{font-size:clamp(34px,7vw,54px)}
.rw-head .dek{font-family:var(--serif)}
.rw-byline{margin-bottom:18px}
.rw-lead{max-width:760px;margin:6px 0 18px}
.rw-lead figcaption{max-width:760px;line-height:1.45}
.rw-lead figcaption a{color:var(--ink-3)}
.rw-kicker{font-family:var(--cond)!important;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:14px!important;color:#7a5c00!important;margin:0}
.rw-small{font-size:14px!important;line-height:1.45!important;color:var(--ink-3)!important}
.rw-sec{border-top:1px solid var(--ink);margin-top:46px;padding-top:16px}
.rw input:focus-visible,.rw select:focus-visible,.rw button:focus-visible,.rw a:focus-visible,.rw [tabindex]:focus-visible,.rw .rw-hit:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.rw-linkbtn{font:inherit;color:var(--link,#0b4f86);background:none;border:0;padding:6px 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:left}

.rw-main{border-top:3px solid var(--navy);padding-top:14px}
.rw-controls{display:grid;grid-template-columns:1fr;gap:12px}
.rw-field{margin:0}
.rw-field label,.rw-label,.rw-when legend{display:block;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:16px;color:var(--navy);margin-bottom:6px}
.rw select#rw-town{width:100%;box-sizing:border-box;min-height:56px;padding:10px 14px;font:600 20px var(--sans);color:var(--ink);background:#fff;border:2px solid var(--navy);border-radius:4px}
.rw-days{display:flex;border:2px solid var(--navy);border-radius:4px;overflow:hidden}
.rw-day{flex:1 1 50%;min-height:52px;padding:8px 10px;border:0;background:#fff;color:var(--navy);font:700 19px var(--cond);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.rw-day+.rw-day{border-left:2px solid var(--navy)}
.rw-day[aria-pressed=true]{background:var(--navy);color:#fff}
.rw-key{list-style:none;padding:0;margin:14px 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.rw-key li{margin:0;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:0 8px;font-size:17px!important;line-height:1.3!important;color:var(--ink-2)!important}
.rw-key li>.rw-dot{grid-row:1;justify-self:center}
.rw-key b{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:18px}
.rw-key-d,.rw-key .rw-linkbtn{grid-column:2;font-size:15px;line-height:1.3;color:var(--ink-3)}
.rw-key .rw-linkbtn{min-height:24px;padding:0;color:var(--link,#0b4f86)}
.rw-dot{flex:0 0 auto;display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25);background:var(--work)}
.rw-dot.k-closed{background:var(--closed);position:relative}
.rw-dot.k-closed:after{content:"";position:absolute;left:3px;right:3px;top:7px;height:3px;background:#fff}
.rw-dot.k-lanes{background:var(--lanes)}
.rw-dot.k-work{border-radius:0;width:0;height:0;border:10px solid transparent;border-bottom:17px solid var(--work);border-top:0;box-shadow:none;background:none}
.rw-dot.k-feat{width:14px;height:14px;border-radius:0;background:var(--feat);border:2px solid var(--navy);transform:rotate(45deg);box-shadow:none;margin:0 2px}

.rw-grid{display:flex;flex-direction:column;gap:18px}
.rw-mapcol{position:relative;min-width:0}
.rw-map{margin:0;min-width:0}
.rw-mapbox{position:relative}
.rw-map-scroll{position:relative;overflow:hidden;border:1px solid var(--rule);background:#cfe2ef}
.rw-map-scroll.is-zoomed{overflow:auto;max-height:70vh;-webkit-overflow-scrolling:touch}
.rw-map-inner{position:relative;width:100%}
.rw-map-inner img{display:block;width:100%;height:auto}
.rw-map figcaption{margin-top:8px}
.rw-pins{position:absolute;inset:0;width:100%;height:100%}
.rw-maptools{position:absolute;left:8px;top:8px;display:flex;gap:6px;z-index:2}
.rw-tool{min-width:48px;min-height:48px;border:1px solid #6f7d8a;background:#fff;border-radius:4px;font:700 24px var(--sans);color:var(--navy);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.rw-tool-wide{font:700 15px var(--cond);letter-spacing:.06em;text-transform:uppercase;padding:0 12px}
.rw-pin{cursor:pointer;outline:none}
.rw-pin-hit{fill:transparent;stroke:none}
.rw-pin-ring{fill:none;stroke:none}
.rw-pin.is-on .rw-pin-ring,.rw-pin.is-hover .rw-pin-ring,.rw-pin:focus-visible .rw-pin-ring{fill:rgba(246,198,30,.55);stroke:#0b2540;stroke-width:2.2px;vector-effect:non-scaling-stroke}
.rw-pin.is-on .rw-pin-mark{stroke:#0b2540}
.rw-pin:hover .rw-pin-ring{fill:rgba(246,198,30,.4)}
.rw-zcase,.rw-zhl,.rw-zline{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.rw-zcase{stroke:#fff}
.rw-zhl{stroke:var(--hl)}
.rw-zhl.is-on,.rw-zhl.is-hover{stroke:#0b2540}
.rw-zhit{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke;cursor:pointer}
.rw-route{fill:none;stroke:#2f8fcf;stroke-linecap:round;stroke-linejoin:round;opacity:.5;pointer-events:none}
.rw-route-core{fill:none;stroke:#0b2540;stroke-linecap:round;stroke-linejoin:round;opacity:.85;pointer-events:none}
.rw-route-leg{fill:none;stroke:#0b2540;opacity:.75;pointer-events:none}
.rw-end circle.rw-end-head{fill:#0b2540;stroke:#fff}
.rw-end circle.rw-end-at{fill:#0b2540;stroke:#fff}
.rw-end line{stroke:#0b2540}
.rw-end text{fill:#fff;font-family:var(--cond);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.rw-tip{position:absolute;z-index:3;max-width:300px;background:#0b2540;color:#fff;padding:8px 12px;border-radius:4px;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.rw-tip b{display:block;font:700 16px/1.25 var(--sans)}
.rw-tip span{display:block;font:15px/1.35 var(--sans);opacity:.92}

.rw-listcol h2{margin-bottom:2px}
.rw-count{font-family:var(--sans)!important;font-size:16px!important;color:var(--ink-3)!important;margin:4px 0 8px!important}
.rw-town{margin:0}
.rw-town-h{display:flex;align-items:center;gap:8px;margin:18px 0 6px!important;font-size:18px!important;letter-spacing:.05em!important;color:var(--ink)!important;border-bottom:2px solid var(--ink);padding-bottom:4px}
.rw-town-h span{font:600 14px var(--sans);letter-spacing:0;color:var(--ink-3);background:var(--mist,#eef2f5);border-radius:10px;padding:1px 8px}
.rw-rows{list-style:none;padding:0;margin:0}
.rw-rows li{margin:0;border-bottom:1px solid var(--rule)}
.rw-row{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:56px;padding:12px 10px 12px 6px;border:0;border-left:5px solid transparent;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}
.rw-row:hover{background:#f4f7fa}
.rw-row.is-on{background:#fdf2c4;border-left-color:var(--gold-deep,#c99a00)}
.rw-row .rw-dot{margin-top:4px}
.rw-row-t{display:block;min-width:0}
.rw-row-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.rw-row-top b{font:700 18px/1.3 var(--sans);color:var(--ink)}
.rw-row-line{display:block;font:17px/1.4 var(--sans);color:var(--ink-2);margin-top:2px}
.rw-pill{display:inline-block;font:700 13px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:3px;background:var(--mist,#eef2f5);color:var(--navy);white-space:nowrap}
.rw-pill.is-today{background:var(--navy);color:#fff}
.rw-pill.rw-det-pill{background:#e3eef8;color:var(--detour)}
.rw-pill.k-closed{background:var(--closed);color:#fff}
.rw-pill.k-lanes{background:var(--lanes);color:#fff}
.rw-pill.k-work{background:var(--work);color:#fff}

.rw-card{background:#fff;border:2px solid var(--navy);border-radius:6px;box-shadow:0 8px 28px rgba(11,37,64,.3);z-index:20;display:flex;flex-direction:column}
.rw-card[hidden]{display:none}
.rw-card-top{display:flex;justify-content:flex-end;padding:6px 6px 0;flex:0 0 auto}
.rw-close{min-height:48px;min-width:96px;padding:6px 16px;border:2px solid var(--navy);border-radius:4px;background:var(--navy);color:#fff;font:700 18px var(--cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.rw-close span{font-size:22px;line-height:1;margin-left:4px}
.rw-card-body{overflow:auto;padding:0 16px 14px;-webkit-overflow-scrolling:touch;flex:1 1 auto}
.rw-c-many{font-size:22px!important;margin:0 0 4px!important}
.rw-c-item{padding:6px 0 10px}
.rw-c-item+.rw-c-item{border-top:2px solid var(--rule);margin-top:6px;padding-top:12px}
.rw-card h2.rw-c-h,.rw-card h3.rw-c-h{font:600 23px/1.2 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 8px}
.rw-card h3.rw-c-h{font-size:20px}
.rw-c-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px!important}
.rw-c-tags .rw-pill{font-size:14px;padding:5px 8px}
.rw-c-line{font:600 19px/1.4 var(--sans)!important;color:var(--ink)!important;margin:0 0 10px!important}
.rw-fact{margin:0 0 8px!important;font-size:17px!important;line-height:1.45!important;color:var(--ink)!important}
.rw-fact b{display:block;font:700 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.rw-c-days{margin:2px 0 0;padding-left:20px}
.rw-c-days li{font-size:17px;margin:0}
.rw-c-src{font-size:15px!important;margin:10px 0 4px!important}
.rw-c-src a{font-weight:600}
.rw-c-exact summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font:600 15px var(--sans);color:var(--ink-3)}
.rw-c-exact p{font-size:15px!important;color:var(--ink-3)!important;margin:0!important}
.rw-card.is-sheet{position:fixed;left:0;right:0;bottom:0;max-height:62vh;border-radius:12px 12px 0 0;border-width:2px 0 0}
html.rw-sheet-open .rw{padding-bottom:62vh}

.rw-check{max-width:1000px}
.rw-fields{display:grid;gap:12px 18px;grid-template-columns:1fr}
.rw input[type=text],.rw input[type=search]{width:100%;box-sizing:border-box;min-height:50px;padding:10px 12px;font:18px var(--sans);color:var(--ink);background:#fff;border:1px solid #6f7d8a;border-radius:2px}
.rw-when{border:0;padding:0;margin:14px 0 4px;display:flex;flex-wrap:wrap;gap:6px 22px}
.rw-when legend{width:100%}
.rw-when label{font:17px var(--sans);color:var(--ink);display:inline-flex;align-items:center;gap:7px;min-height:44px}
.rw-when input{width:22px;height:22px;accent-color:var(--navy)}
.rw-btn{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:18px;background:var(--navy);color:#fff;border:0;border-radius:2px;min-height:50px;padding:10px 22px;cursor:pointer}
.rw-btn:hover{background:var(--navy-2)}
.rw-btn[disabled]{opacity:.6;cursor:progress}
.rw-btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.rw-btn-ghost:hover{background:var(--mist)}
.rw-result:empty{display:none}
.rw-result{border-top:1px solid var(--rule);margin-top:16px;padding-top:14px}
.rw-result .rw-sum{font-family:var(--serif)!important;font-size:20px!important;line-height:1.45!important;color:var(--ink)!important}
.rw-links{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.rw-links a{display:inline-flex;align-items:center;min-height:46px;padding:8px 16px;border-radius:2px;font-family:var(--cond);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:16px;text-decoration:none;background:var(--gold);color:var(--navy)}
.rw-links a.rw-detour-a{background:#fff;border:1px solid var(--detour);color:var(--navy)}
.rw-meta{font-size:15px!important;margin:0 0 6px!important;color:var(--ink-3)!important}
.rw-src{font-size:14px!important;line-height:1.45!important;margin:4px 0 0!important}

.rw-status{font-family:var(--cond)!important;font-weight:700;letter-spacing:.03em;font-size:17px!important;color:var(--navy)!important}
.rw-toggle{display:inline-flex;border:1px solid var(--navy);border-radius:2px;overflow:hidden;margin:4px 0 14px}
.rw-seg{min-height:46px;padding:8px 18px;border:0;background:#fff;color:var(--navy);font:700 16px var(--cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.rw-seg[aria-pressed=true]{background:var(--navy);color:#fff}
.rw-ix-wrap{display:grid;gap:16px;grid-template-columns:1fr}
.rw-ix{margin:0}
.rw-ix svg{display:block;width:100%;height:auto;border:1px solid var(--rule);background:#f4f1ea}
.rw-ix .rw-hit{cursor:pointer}
.rw-ix .rw-hit:hover,.rw-ix .rw-hit.is-on{filter:drop-shadow(0 0 3px #0b4f86) drop-shadow(0 0 1px #0b4f86)}
.rw-ix[data-mode=finished] .rw-hit:not(.has-fin){opacity:.35}
.rw-ix-panel:empty{display:none}
.rw-ix-panel{border-top:3px solid var(--gold-deep);padding:10px 0 4px}
.rw-ix-panel h4{font:600 19px/1.25 var(--serif);margin:0 0 4px;color:var(--ink)}
.rw-ix-buttons{list-style:none;padding:0;margin:12px 0 0;border-bottom:1px solid var(--rule)}
.rw-ix-buttons li{margin:0}
.rw-ix-buttons button{display:block;width:100%;min-height:44px;padding:8px 10px 8px 12px;border:0;border-top:1px solid var(--rule);border-left:4px solid transparent;background:#fff;color:var(--navy);font:600 16px var(--sans);cursor:pointer;text-align:left}
.rw-ix-buttons button:hover{background:var(--mist)}
.rw-ix-buttons button[aria-pressed=true]{border-left-color:var(--gold-deep);background:#fdf6dc;color:var(--ink)}
.rw-ix-closures{padding-left:20px}
.rw-ix-closures .rw-linkbtn{min-height:36px;padding:0}
.rw-tl{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0}
.rw-tl-bar{display:none}
.rw-tl-bar span{display:block;height:100%;width:0;background:var(--gold-deep)}
.rw-tl-dots{list-style:none;padding:0;margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:0}
.rw-tl-dots li{margin:0 -1px 0 0}
.rw-tl-dots button{min-width:44px;min-height:44px;border-radius:0;border:1px solid #6f7d8a;background:#fff;color:var(--navy);font:700 16px var(--cond);cursor:pointer}
.rw-tl-dots button[aria-current=step]{background:var(--navy);border-color:var(--navy);color:#fff;position:relative}
.rw-tl-card h4{font:600 20px/1.25 var(--serif);margin:4px 0;color:var(--ink)}
.rw-tl-card p:not(.rw-tl-when):not(.rw-src){font-family:var(--serif);font-size:18px;color:var(--ink)}
.rw-tl-when{font:700 15px var(--cond)!important;letter-spacing:.06em;text-transform:uppercase;color:#7a5c00!important;margin:0!important}
.rw-tl-nav{display:flex;gap:10px}
.rw-proj-src{margin-top:16px}
.rw-proj-src summary{cursor:pointer;font:700 16px var(--cond);text-transform:uppercase;letter-spacing:.06em;color:var(--navy);min-height:44px;display:list-item;padding:10px 0;box-sizing:border-box}
.rw-proj-src li,.rw-notes li{font-size:15px}
.rw-notes{max-width:780px}

@media (min-width:720px){
 .rw-controls{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end}
 .rw-fields{grid-template-columns:1fr 1fr}
 .rw-ix-wrap{grid-template-columns:3fr 2fr;align-items:start}
}
@media (min-width:1000px){
 .rw-key{grid-template-columns:repeat(4,auto);justify-content:start;gap:8px 34px}
 .rw-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:0 28px;align-items:start}
 .rw-mapcol{position:sticky;top:12px}
 .rw-listbox{max-height:calc(100vh - 150px);overflow:auto;padding-right:6px;border-top:1px solid var(--rule)}
 .rw-card{position:absolute;top:10px;right:10px;width:390px;max-width:calc(100% - 20px);max-height:calc(100% - 60px)}
}
@media (prefers-reduced-motion:no-preference){
 .rw-card.is-sheet{animation:rw-up .18s ease-out}
 @keyframes rw-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
}
