.page{padding-block:28px 56px;padding-inline:20px}.masthead{gap:10px;max-width:74ch;margin-bottom:26px;display:grid}.eyebrow{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin:0;font-size:.95rem;font-weight:600;display:flex}.eyebrow svg{flex:none}h1{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;text-wrap:balance;margin:0;font-size:clamp(2.3rem,6vw,3.6rem);font-weight:700;line-height:.95}.lede{color:var(--ink);max-width:72ch;margin:4px 0 0;font-size:1.08rem}.facts{flex-wrap:wrap;gap:6px 22px;margin:10px 0 0;padding:0;display:flex}.facts div{align-items:baseline;gap:7px;display:flex}.facts dt{font-family:var(--font-display);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.82rem}.facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.layout{grid-template-columns:minmax(0,1fr) clamp(500px,38vw,720px);align-items:start;gap:32px;display:grid}.map-panel{top:calc(env(safe-area-inset-top,0px) + 14px);gap:12px;min-width:0;display:grid;position:sticky}.ledger{min-width:0}@media (width<=920px){.layout{grid-template-columns:minmax(0,1fr);gap:28px}.map-panel{position:relative;top:auto}}.map-wrap{background:var(--sea);box-shadow:0 0 0 1px var(--rule);aspect-ratio:3/2;border-radius:6px;max-width:100%;position:relative;overflow:hidden}@media (width<=560px){.map-wrap{aspect-ratio:1/.92}}.map-wrap[data-shape=wide]{aspect-ratio:2}@media (width<=560px){.map-wrap[data-shape=wide]{aspect-ratio:4/3}}@media (width>=921px){.map-panel{flex-direction:column;max-height:calc(100vh - 28px);display:flex}.map-panel>*{flex-shrink:0}.map-panel>.map-wrap{flex-shrink:1;min-height:300px}.map-wrap #map{position:absolute;inset:0}}#map{--route-line:var(--way-yellow);--route-casing:var(--way-casing);--start-text:var(--shell-yellow)}#map[data-waymark=gr]{--route-line:var(--gr-red);--route-casing:var(--gr-white);--start-text:var(--on-gr-red)}#map{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}#map.dragging{cursor:grabbing}#map .sea{fill:var(--sea)}#map .land{fill:var(--land);stroke:var(--coast);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}#map .neigh{fill:var(--land-2);stroke:var(--coast);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}#map .dept{fill:var(--land);stroke:var(--dept);stroke-width:.9px;vector-effect:non-scaling-stroke;stroke-linejoin:round}#map .border{fill:none;stroke:var(--border);stroke-width:1.2px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}#map .river{fill:none;stroke:var(--river);stroke-width:1.3px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}#map .route-casing{fill:none;stroke:var(--route-casing);stroke-width:6px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}#map .route-line{fill:none;stroke:var(--route-line);stroke-width:2.8px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;transition:opacity .2s}#map .variant-line{fill:none;stroke:var(--variant);stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;transition:opacity .2s}#map.has-selection .route-line,#map.has-selection .variant-line{opacity:.45}#map .seg-casing{fill:none;stroke:var(--route-casing);stroke-width:10px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}#map .seg-line{fill:none;stroke:var(--route-line);stroke-width:5px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}#map .seg-line.variant{stroke:var(--variant);stroke-dasharray:8 5}#map text{font-family:var(--font-display);paint-order:stroke;stroke:var(--halo);stroke-width:3.5px;stroke-linejoin:round;fill:var(--ink)}#map .lbl{letter-spacing:.02em;font-size:14px;font-weight:600}#map .lbl-minor{fill:var(--muted);font-size:12.5px;font-weight:500}#map .lbl-dept{letter-spacing:.16em;text-transform:uppercase;fill:var(--muted);stroke:var(--land);stroke-width:3px;opacity:.8;font-size:11.5px;font-weight:600}#map .lbl-river{letter-spacing:.06em;fill:var(--river-label);stroke:var(--land);stroke-width:3px;font-size:12px;font-style:italic;font-weight:500}#map .lbl-geo{letter-spacing:.16em;text-transform:uppercase;fill:var(--muted);stroke:none;font-size:13px;font-style:italic;font-weight:500}#map .stop-labels,#map .minor-labels,#map .full,#map .river-labels{display:none}#map.z1 .stop-labels,#map.z1 .full,#map.z1 .river-labels{display:inline}#map.z1 .dot,#map.z1 .end-labels{display:none}#map.z2 .minor-labels{display:inline}#map.tiny .geo-labels{display:none}#map[data-rivers=faint]:not(.z1) .river{opacity:.45}#map .wp{fill:var(--panel);stroke:var(--muted);stroke-width:1.5px}#map .mk{cursor:pointer}#map .mk .num{stroke:none;fill:var(--ink);font-size:14px;font-weight:700}#map .mk .pill-txt{letter-spacing:.08em;stroke:none;fill:var(--start-text);font-size:10.5px;font-weight:700}#map .mk .face{fill:var(--panel)}#map .mk .sel-ring{fill:none;stroke:var(--map-select);stroke-width:2.5px;opacity:0}#map .mk.selected .sel-ring{opacity:1}#map .mk:focus{outline:none}#map .mk:focus-visible .sel-ring{opacity:1;stroke-dasharray:3 3}#map .badge-txt{stroke:none;fill:var(--on-lvl);letter-spacing:.02em;font-size:10.5px;font-weight:700}.map-ui{gap:6px;display:flex;position:absolute;top:10px;right:10px}.map-ui button{border:1px solid var(--rule-strong);background:var(--panel);cursor:pointer;border-radius:5px;min-width:34px;height:34px;padding:0 10px;font-size:1.05rem;font-weight:700;line-height:1}.map-ui button.text{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.9rem}.map-ui button:hover{border-color:var(--ink)}.scalebar{font-family:var(--font-display);color:var(--ink);text-shadow:0 0 3px var(--halo), 0 0 3px var(--halo);pointer-events:none;gap:2px;font-size:.8rem;font-weight:600;display:grid;position:absolute;top:10px;left:10px}.scalebar .bar{border:2px solid var(--ink);border-top:none;height:6px}.caption{background:var(--panel);border:1px solid var(--rule-strong);border-radius:6px;gap:2px;max-width:min(360px,100% - 20px);margin-left:auto;padding:9px 12px;display:grid;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 6px 18px -10px #00000059}.caption .c-kicker{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.caption .c-name{font-size:1.02rem;font-weight:700;line-height:1.25}.caption .c-walk{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.caption .c-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.caption button{color:var(--link);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 0;font-weight:600;text-decoration:underline}.caption .c-stage{color:var(--link);white-space:nowrap;font-size:.85rem;font-weight:700}.caption .lvl{margin:2px 0}@media (width>=921px){.caption .c-details{display:none}}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.legend li{align-items:center;gap:7px;display:flex}.legend svg{flex:none;overflow:visible}.legend .lvl{padding:1px 7px 1px 6px;font-size:.74rem}.legend .scale{flex-wrap:wrap;align-items:center;gap:5px 6px;display:flex}.map-note{color:var(--muted);margin:0;font-size:.86rem}.lvl{--c:var(--lvl3);width:fit-content;color:var(--c);background:color-mix(in srgb, var(--c) 12%, var(--panel));border:1px solid color-mix(in srgb, var(--c) 50%, transparent);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:.8rem;font-weight:700;line-height:1.25;display:inline-flex}.lvl:before{content:"";background:var(--c);border-radius:50%;flex:none;width:7px;height:7px}.lvl.l1{--c:var(--lvl1);background:var(--lvl1);color:var(--on-lvl);border-color:var(--lvl1)}.lvl.l1:before{background:var(--on-lvl)}.lvl.l2{--c:var(--lvl2)}.lvl.l3{--c:var(--lvl3)}.lvl.l4{--c:var(--lvl4)}.ledger h2{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:1.9rem;font-weight:700}.ledger .sub{color:var(--muted);margin:4px 0 16px;font-size:.95rem}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.glance-wrap{border-bottom:1px solid var(--rule);margin-top:12px;overflow-x:auto}.glance{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.glance th{background:var(--bg);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:2px solid var(--ink);padding:6px 10px 6px 0;font-size:.82rem;font-weight:600;position:sticky;top:0}.glance td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:6px 10px 6px 0;font-size:.93rem}.glance td.num,.glance th.num{text-align:right;padding-right:10px}.glance td.num{font-weight:700}.glance td.km{color:var(--muted);font-weight:400}.glance .lvl{padding:1px 8px 1px 6px;font-size:.76rem}.glance button{cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.glance button:hover{text-underline-offset:2px;text-decoration:underline}.glance tr.group td{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--variant);border-bottom:1px solid var(--rule-strong);padding-top:16px;font-size:.82rem}.glance tr.stage-row{cursor:pointer;scroll-margin-top:16px}.glance tr.stage-row:hover td{background:color-mix(in srgb, var(--select) 50%, transparent)}.glance tr.stage-row.selected td{background:var(--select);border-bottom-color:#0000}.glance td.mark{width:28px;padding-right:6px}.glance td.mark svg{width:28px;height:28px;display:block}.glance td.route{min-width:118px;padding-top:9px;padding-bottom:9px}.glance td.diff{padding-right:8px}.glance td.beds{padding-right:6px}.glance .stage-name{font-family:var(--font-display);letter-spacing:.01em;font-size:1.1rem;font-weight:700;line-height:1.15}.glance .flags{flex-wrap:wrap;gap:3px 5px;margin-top:4px;display:flex}.glance .flag{border:1px solid var(--rule-strong);color:var(--muted);border-radius:999px;padding:0 6px;font-size:.72rem;font-weight:600;line-height:1.3}.glance td.go{text-align:right;white-space:nowrap;padding-right:4px}.glance .details-link{color:var(--link);align-items:center;gap:3px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.glance .details-link:hover{text-underline-offset:2px;text-decoration:underline}.glance .mob,.glance tr.stage-more{display:none}.glance tr.stage-row.selected+tr.stage-more{display:table-row}.glance tr.stage-more td{background:var(--select);padding:0 12px 16px 34px}.more-box{gap:8px;max-width:70ch;font-size:.93rem;display:grid}.more-box p{margin:0}.more-box .m-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.more-box .m-walk{color:var(--muted);font-size:.9rem}.more-box .m-walk a{margin-left:4px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--rule-strong);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600}.stage-link{background:var(--accent);width:fit-content;color:var(--on-accent);border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 13px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.stage-link:hover{color:var(--on-accent);filter:brightness(1.12)}@media (width<=600px){.glance thead{display:none}.glance,.glance tbody{display:block}.glance tr.stage-row{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:10px 4px 10px 46px;display:flex;position:relative}.glance tr.stage-row td{border:0;padding:0;background:0 0!important}.glance tr.stage-row.selected{background:var(--select);border-bottom-color:#0000}.glance td.mark{width:auto;position:absolute;top:10px;left:6px}.glance td.route{flex:60%;order:1;min-width:0}.glance td.go{order:2}.glance td.km{order:3}.glance td.up{order:4}.glance td.diff{order:5}.glance td.beds{order:6}.glance td.km:not(:empty):after{content:" miles"}.glance td.up:not(:empty):after{content:" ft up";font-weight:400}.glance .mob{display:inline}.glance tr.stage-row.selected+tr.stage-more{display:block}.glance tr.stage-more td{border:0;padding:0 8px 14px 46px;display:block}.glance tr.group,.glance tr.group td{display:block}}
