.city-head{padding:22px 0 10px}
.city-frame{max-width:100%}
.crumbs ol{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;font:500 .84rem/1.4 var(--display);color:var(--mute-d)}
.crumbs li+li::before{content:"›";margin:0 9px;color:var(--ochre)}
.crumbs a{color:var(--mute-d)}
.crumbs [aria-current]{color:var(--text-d)}
.city-kicker{font:600 .78rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.09em;color:var(--ochre-hi);margin:0 0 12px}
.city-head h1{font-size:clamp(1.95rem,3.4vw,2.85rem);font-weight:800;line-height:1.06;margin:0 0 16px;max-width:22em;color:var(--text-d)}
.city-lede{font-size:1.06rem;line-height:1.5;max-width:var(--read);margin:0 0 16px}
.city-byline{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font:600 .86rem/1.3 var(--display);color:var(--mute-d);margin:0;padding-top:14px;background:repeating-linear-gradient(90deg,var(--line-d) 0 28px,transparent 28px 42px) top left/100% 4px no-repeat;max-width:var(--read)}
.city-body{padding-top:36px;padding-bottom:8px}
.city-body .body-section+.body-section{padding-top:40px;border-top:2px solid var(--line-d)}
.city-body .table-block{margin:6px 0 26px}
.city-list{margin:0 0 1em;padding-left:1.3em}
.city-list li{padding:3px 0}
.route-nav{display:none}
.route-nav ol::before,.route-nav ol::after{content:"";position:absolute;left:0;top:0;width:6px;border-radius:3px}
.route-nav ol::before{bottom:0;background:var(--line-d)}
.route-nav ol::after{bottom:0;background:var(--ochre);transform:scaleY(var(--p,0));transform-origin:top}
.route-nav li a{display:flex;align-items:center;gap:10px;padding:7px 0 7px 18px;font:600 .92rem/1.25 var(--display);text-decoration:none;color:var(--mute-d)}
.route-nav li a:hover,.route-nav li a.is-current{color:var(--text-d)}
.city-entry{padding:22px 0 0}
.city-onward{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:2px;font:700 1rem/1.3 var(--display)}
.city-onward li{border-bottom:1px solid var(--line-d)}
.city-onward a{display:block;padding:12px 0}
.city-body .rulings,.city-body .walk-steps,.city-body .figure-trail{margin:8px 0 30px}
.house-status{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;max-width:var(--read)}
.house-status li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;padding:10px 14px 10px 12px;border-left:6px solid var(--steel);background:var(--ink-2);font:600 1.02rem/1.35 var(--display);color:var(--text-d)}
.house-status li[data-tone="ja"]{border-left-color:var(--ochre)}
.house-status li[data-tone="zu"]{border-left-color:var(--text-d);background:repeating-linear-gradient(135deg,var(--ink-2) 0 14px,var(--ink) 14px 28px)}
.house-status li[data-tone="umzug"]{border-left-style:dashed;border-left-color:var(--ochre-hi)}
.house-status b{font-weight:800}
.house-status li[data-tone="ja"] b{color:var(--ochre-hi)}
.house-status li[data-tone="nein"] b{color:var(--steel-hi)}
.house-status-mark{width:16px;height:16px;margin-top:2px;border-radius:50%;border:3px solid var(--steel-hi)}
.house-status li[data-tone="ja"] .house-status-mark{border-color:var(--ochre-hi);background:var(--ochre-hi)}
.house-status li[data-tone="zu"] .house-status-mark{border-radius:2px;border-color:var(--text-d);background:linear-gradient(var(--text-d),var(--text-d)) center/100% 3px no-repeat}
.house-status li[data-tone="umzug"] .house-status-mark{border-style:dashed;border-color:var(--ochre-hi)}
.city-entry .city-frame{display:grid;gap:24px}
.house-card{min-width:0}
.house-facts{width:100%;border-collapse:collapse;font-size:.98rem;border-top:4px solid var(--ochre)}
.house-facts caption{text-align:left;font:700 .8rem/1.3 var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--mute-d);padding-bottom:10px}
.house-facts th{width:38%;padding:11px 14px 11px 0;text-align:left;vertical-align:top;font:600 .76rem/1.35 var(--display);text-transform:uppercase;letter-spacing:.07em;color:var(--mute-d);border-bottom:1px solid var(--line-d)}
.house-facts td{padding:10px 0;vertical-align:top;line-height:1.45;border-bottom:1px solid var(--line-d);overflow-wrap:anywhere}
.house-facts tr.is-open td{color:var(--mute-d);font-style:italic}
.house-note{margin:12px 0 0;font:italic .88rem/1.45 var(--text);color:var(--mute-d)}
.city-list{margin:0 0 1.2em;padding-left:1.3em}
.city-list li{padding:4px 0}
.city-route{display:grid;grid-template-columns:auto minmax(0,13rem) minmax(0,1fr) auto;align-items:center;gap:8px 18px;padding:13px 0 12px;border-top:3px solid var(--steel-deep);border-bottom:1px solid var(--line-d);font:500 .9rem/1.35 var(--display);color:var(--text-d)}
.city-route[data-online="ja"]{border-top-color:var(--ochre)}
.city-route p{margin:0}
.city-from{font:800 1.02rem/1.2 var(--display);white-space:nowrap}
.city-state{display:grid;grid-template-columns:15px minmax(0,1fr);gap:9px;align-items:start}
.city-state .route-dot{margin-top:2px}
.city-online{display:block;font-size:.82rem;color:var(--steel-hi);margin-top:2px}
.city-route[data-online="ja"] .city-online{color:var(--ochre-hi)}
.city-label{display:block;font:600 .66rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.09em;color:var(--mute-d);margin-bottom:3px}
.city-all{font:700 .88rem/1.2 var(--display);white-space:nowrap;padding:10px 0}
@media (max-width:760px){.city-route{grid-template-columns:minmax(0,1fr);gap:8px}.city-all{justify-self:start;padding:11px 0}}
@media (max-width:760px){.walk-stop{grid-template-columns:minmax(0,1fr);gap:2px}}
.trail-list{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0 22px}
.trail-list::before{content:"";position:absolute;left:0;right:0;top:7px;height:4px;background:repeating-linear-gradient(90deg,var(--ochre) 0 28px,transparent 28px 42px);transform-origin:left}
@media (max-width:760px){.trail-list{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.trail-list::before{display:none}.trail-stop::after{content:"";position:absolute;left:24px;right:0;top:7px;height:4px;background:repeating-linear-gradient(90deg,var(--ochre) 0 28px,transparent 28px 42px)}}
@media (min-width:761px){.city-head{padding-top:30px}.city-entry{padding-top:30px}.city-body{padding-top:56px}.city-body .body-section+.body-section{padding-top:56px}.rulings{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px}.house-facts th{width:30%}}
@media (min-width:1024px){.city-frame{max-width:calc(var(--read) + 16rem + 72px);margin:0 auto}.city-entry .city-frame{grid-template-columns:minmax(0,1fr)}.house-card{max-width:var(--read)}.city-body{display:grid;grid-template-columns:minmax(0,var(--read));justify-content:start}.city-body.has-rail{grid-template-columns:minmax(0,var(--read)) 16rem;gap:72px}.route-nav{display:block;position:sticky;top:96px;align-self:start;font-family:var(--display)}}
@media (prefers-reduced-motion:no-preference){.route-nav ol::after{transition:transform var(--t-quick) linear}}
