/* frozen copy of the prototype's CSS (verktyg/se/guide/guide_mall.html, 20 Oct 2026 16.24), the base of every street guide */
:root{
  --bg:#eceee9;--surface:#f8f9f6;--ink:#13202c;--ink2:#3f4c58;--mute:#5b6672;--line:#d4d9d3;--line2:#e3e6e0;
  --accent:#0f6b5c;--accent-ink:#ffffff;--accent-soft:#d9eae4;--brand:#3d7bd0;--star:#7a5c0c;
  --hero:#0c1720;--hero-ink:#eef2f5;--hero-mute:#9aa8b6;
  --c-gt:#0f6b5c;--c-st:#3f4c58;--c-se:#78828c;--sky:#94794a;
  --brick:#d04a2a;--amber:#e0a020;--blue:#2563a8;--teal:#169a8a;
  --m-land:#e6e8e3;--m-water1:#bcd2e2;--m-water2:#a7c2d8;--m-wave:#ffffff;--m-green:#cfdcc4;--m-road:#f7f8f6;--m-street:#fbfbf8;--m-pier:#8c7a62;--m-tram:#6a7f95;--m-tree:#6f9a6a;
  --b-r:#d8dad4;--b-w:#c3c6bf;--s-r:#ead9b6;--s-w:#cbb183;--s-s:#c7b086;--p-r:#f4f0e7;--p-w:#d9d1bf;--on-r:#9fd2c4;--on-w:#5fa392;--sel-r:#f2c66d;--sel-w:#c99a3b;
  --m-lw:#2f5068;--m-ld:#5f7c55;--m-ls:#4f5a63;--band-t:#f3f4f0;--band-tl:#dfe2dc;--band-b1:#a7c2d8;--band-b2:#9dbad1;--ldr:#1b2430;--halo:#f3f4f0;--halo-b:#a7c2d8;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0b131a;--surface:#111c25;--ink:#e6ecf0;--ink2:#b3bfc9;--mute:#8a95a2;--line:#24323e;--line2:#1a2631;
  --accent:#4fb9a5;--accent-ink:#06211c;--accent-soft:#15302a;--star:#f2c66d;--c-gt:#4fb9a5;--c-st:#b3bfc9;--c-se:#6f7c88;--sky:#8a7652;
  --m-land:#16212b;--m-water1:#10283b;--m-water2:#0d2233;--m-wave:#2a4a66;--m-green:#1c3326;--m-road:#22303c;--m-street:#2a3946;--m-pier:#6b5c48;--m-tram:#5c738a;--m-tree:#3f6b45;
  --b-r:#26323d;--b-w:#1d2731;--s-r:#8a7652;--s-w:#6b5a3d;--s-s:#a08a60;--p-r:#3a4651;--p-w:#2c3640;--on-r:#4fb9a5;--on-w:#2f7f70;--sel-r:#f2c66d;--sel-w:#b08a3a;
  --m-lw:#7fa6c4;--m-ld:#7fa279;--m-ls:#a3afba;--band-t:#121d27;--band-tl:#24323e;--band-b1:#10283b;--band-b2:#0d2233;--ldr:#c8d2dc;--halo:#121d27;--halo-b:#0f2638;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0b131a;--surface:#111c25;--ink:#e6ecf0;--ink2:#b3bfc9;--mute:#8a95a2;--line:#24323e;--line2:#1a2631;
  --accent:#4fb9a5;--accent-ink:#06211c;--accent-soft:#15302a;--star:#f2c66d;--c-gt:#4fb9a5;--c-st:#b3bfc9;--c-se:#6f7c88;--sky:#8a7652;
  --m-land:#16212b;--m-water1:#10283b;--m-water2:#0d2233;--m-wave:#2a4a66;--m-green:#1c3326;--m-road:#22303c;--m-street:#2a3946;--m-pier:#6b5c48;--m-tram:#5c738a;--m-tree:#3f6b45;
  --b-r:#26323d;--b-w:#1d2731;--s-r:#8a7652;--s-w:#6b5a3d;--s-s:#a08a60;--p-r:#3a4651;--p-w:#2c3640;--on-r:#4fb9a5;--on-w:#2f7f70;--sel-r:#f2c66d;--sel-w:#b08a3a;
  --m-lw:#7fa6c4;--m-ld:#7fa279;--m-ls:#a3afba;--band-t:#121d27;--band-tl:#24323e;--band-b1:#10283b;--band-b2:#0d2233;--ldr:#c8d2dc;--halo:#121d27;--halo-b:#0f2638;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.mock{background:var(--accent-soft);color:var(--ink);font-size:13px;text-align:center;padding:8px 16px}
.skip{position:absolute;left:-9999px;top:auto}.skip:focus{position:static;display:inline-block;margin:8px 0;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
header.top{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 32px;background:var(--surface);border-bottom:1px solid var(--line)}
.wm{font:700 19px/1 Inter;letter-spacing:.16em;text-decoration:none}.wm i{font-style:normal;color:var(--brand)}
.crumb{font-size:13.5px;color:var(--mute)}.crumb a{text-decoration:none}.crumb a:hover{color:var(--ink)}
/* hero */
.hero{position:relative;background:var(--hero);color:var(--hero-ink);overflow:hidden}
.hero img.night{position:absolute;right:-6%;top:-12%;width:62%;max-width:900px;opacity:.97;-webkit-mask-image:radial-gradient(closest-side at 55% 52%,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side at 55% 52%,#000 62%,transparent 100%)}
.hero .in{position:relative;max-width:1200px;margin:0 auto;padding:84px 32px 56px}
.hero h1{font:600 clamp(40px,5.3vw,76px)/1.02 Inter,system-ui,sans-serif;letter-spacing:-.038em;margin:0 0 22px}
.hero .lede{font:400 20px/1.55 Inter,system-ui,sans-serif;color:#c8d2dc;max-width:31em;margin:0}
.spec{display:flex;flex-wrap:wrap;gap:14px 34px;margin:40px 0 0;padding:22px 0 0;border-top:1px solid #22313f;max-width:640px}
.spec div{min-width:110px}.spec dt{font-size:13px;color:var(--hero-mute)}.spec dd{margin:2px 0 0;font:500 21px/1.2 Inter;font-variant-numeric:tabular-nums;color:#fff}
.acts{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 20px;font:600 15px Inter;border:1px solid transparent;cursor:pointer;text-decoration:none;background:none;color:inherit}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn.p{background:var(--accent);color:var(--accent-ink)}.hero .btn.p{background:#4fb9a5;color:#06211c}.hero .btn.o{border-color:#3a4b5a;color:#e6ecf0}
.btn.s{border-color:var(--line);background:var(--surface);color:var(--ink);padding:8px 14px;font-size:14px}
/* section nav */
nav.sec{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav.sec .wrap{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none}nav.sec .wrap::-webkit-scrollbar{display:none}
nav.sec a{flex:none;text-decoration:none;font-size:14px;color:var(--mute);padding:15px 0 13px;border-bottom:2px solid transparent}
nav.sec a.on,nav.sec a:hover{color:var(--ink)}nav.sec a.on{border-bottom-color:var(--accent)}
section{padding:80px 0 0}
h2{font:600 clamp(30px,4vw,44px)/1.08 Inter,system-ui,sans-serif;letter-spacing:-.038em;margin:0 0 14px}
h3{font:600 20px/1.25 Inter,system-ui,sans-serif;letter-spacing:-.02em;margin:0 0 6px}
.lead{font:400 18px/1.62 Inter,system-ui,sans-serif;color:var(--ink2);max-width:38em;margin:0}
.note{font-size:13.5px;color:var(--mute);line-height:1.55;max-width:60em}
.src{font-size:12.5px;color:var(--mute)}
.sm{font-size:14.5px;color:var(--ink2);margin:8px 0}.h4{font:600 15px Inter;margin:26px 0 2px}
/* chips */
.chips{display:flex;gap:8px;margin:28px 0 14px;overflow-x:auto;scrollbar-width:none;padding:0 40px 2px 0;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 14px Inter;cursor:pointer;text-decoration:none}
.chip em{font-style:normal;color:var(--mute);font-variant-numeric:tabular-nums}.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip[aria-pressed="true"] em{color:inherit;opacity:.75}
.chip .dot{width:22px;height:22px}a.chip,.chip.t{padding:0 14px}
.dot{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c);flex:none}
.dot svg{width:62%;height:62%;fill:none;stroke:var(--g,#fff);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dot .wc{font:700 9.5px Inter;color:var(--g,#fff);letter-spacing:-.02em}
.f-brick{--c:var(--brick)}.f-amber{--c:var(--amber);--g:#1b2430}.f-blue{--c:var(--blue)}.f-teal{--c:var(--teal)}.f-ink{--c:#fff;--g:#1b2430}
.f-ink.dot{box-shadow:inset 0 0 0 1.6px #1b2430}
.dot.all{--c:var(--ink);--g:var(--bg)}.dot.mmd{--c:#1b2430;--g:#f2c66d}.dot.hl{--c:var(--accent);--g:var(--accent-ink)}
/* the plate */
.plate{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--m-land)}
.scroller{overflow:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.scroller.x{overflow-x:auto}.scroller.z{overflow:auto}
.canvas{position:relative}
#karta{display:block;width:100%;height:auto}
#karta .bo .r{fill:var(--b-r);stroke:var(--b-w);stroke-width:.4}#karta .bo .w{fill:var(--b-w)}
#karta .bs .r{fill:var(--s-r);stroke:var(--s-s);stroke-width:.5}#karta .bs .w{fill:var(--s-w)}#karta .pub .r{fill:var(--p-r)}#karta .pub .w{fill:var(--p-w)}
#karta .bs{cursor:pointer}#karta .bs:hover .r{filter:brightness(1.06)}#karta .bs.on .r{fill:var(--on-r)}#karta .bs.on .w{fill:var(--on-w)}#karta .bs.sel .r{fill:var(--sel-r)}#karta .bs.sel .w{fill:var(--sel-w)}
#karta .lw{font:500 14px Inter,system-ui,sans-serif;fill:var(--m-lw);letter-spacing:.02em}#karta .ld{font:500 13px Inter,system-ui,sans-serif;fill:var(--m-ld)}
#karta .ls{font:600 14px Inter;fill:var(--m-ls)}
.band{position:absolute;left:0;right:0}.band.t{top:0;background:var(--band-t);border-bottom:1px solid var(--band-tl)}.band.b{bottom:0;background:linear-gradient(var(--band-b1),var(--band-b2))}
.mapw{position:absolute;left:0;right:0}
.lay{position:absolute;inset:0;pointer-events:none}
.lay svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ldr{stroke:var(--ldr);stroke-opacity:.4;stroke-width:1}.anc{fill:var(--ldr);fill-opacity:.6}
.pin{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border:0;padding:0;background:none;cursor:pointer;width:30px;height:30px;border-radius:50%}
.pin .dot{box-shadow:0 0 0 2px #fff,0 1px 4px rgba(10,20,30,.28)}.pin.f-ink .dot{box-shadow:inset 0 0 0 1.6px #1b2430,0 0 0 2px #fff,0 1px 4px rgba(10,20,30,.28)}
.pin.sm{width:22px;height:22px}.pin.sm .dot{width:22px;height:22px}
.pin .star{position:absolute;right:-5px;top:-5px;width:15px;height:15px;border-radius:50%;background:#1b2430;display:grid;place-items:center;box-shadow:0 0 0 1.5px #fff}
.pin .star svg{width:10px;height:10px;fill:#f2c66d;stroke:none}
.pin:hover,.pin.sel{z-index:3}.pin.sel .dot{transform:scale(1.22);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c),0 2px 8px rgba(10,20,30,.3)}
.rl{position:absolute;white-space:nowrap;font:600 12.5px/1 Inter;color:var(--ink);pointer-events:auto;cursor:pointer;text-shadow:0 0 3px var(--halo),0 0 3px var(--halo),0 0 2px var(--halo)}
.rl.b{color:#0d1a26;text-shadow:0 0 3px var(--halo-b),0 0 3px var(--halo-b)}
:root[data-theme="dark"] .rl.b{color:#e6ecf0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rl.b{color:#e6ecf0}}
.rl.g{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 7px;text-shadow:none;font-size:12px}
.plab{position:absolute;transform:translate(-50%,0);white-space:nowrap;background:#13202c;color:#fff;font:600 12.5px Inter;padding:5px 9px;border-radius:7px;pointer-events:none;z-index:4}
.walkline{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed var(--accent);pointer-events:none}
.walkline b{position:absolute;top:50%;left:-7px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--surface)}
.hint{position:absolute;left:12px;bottom:12px;background:rgba(19,32,44,.85);color:#fff;font-size:12.5px;padding:6px 10px;border-radius:8px;display:none;pointer-events:none}
.zoom{position:absolute;right:12px;display:flex;gap:6px;z-index:5}.zoom button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 20px/1 Inter;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.mleg{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12.5px;color:var(--mute);margin:12px 2px 0}.mleg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-2px}
/* detail panel */
.det{position:absolute;top:14px;right:14px;width:360px;max-height:calc(100% - 28px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(10,20,30,.22);padding:18px 18px 16px;z-index:10}
.det[hidden]{display:none}.det .grab{display:none}
.det .x{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:var(--line2);color:var(--ink);cursor:pointer;font-size:19px;line-height:1}
.det .ty{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mute);padding-right:44px}.det .ty .dot{width:24px;height:24px}
.det h3{font-size:26px;margin:10px 44px 2px 0}.det h3:focus{outline:none}.det .ad{font-size:14px;color:var(--ink2)}
.det .hrs{font-size:13.5px;margin-top:10px;color:var(--ink2)}.det .om{font:400 15.5px/1.6 Inter,system-ui,sans-serif;margin:12px 0 0}
.det .fk{font-size:13.5px;color:var(--ink2);margin:10px 0 0;padding-left:10px;border-left:2px solid var(--accent)}
.det .mm{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.det .mm small{display:block;font-size:12px;color:var(--mute);margin-bottom:4px}
.det .mm a{display:block;font-size:14px;padding:6px 0}.det .mm a i{font-style:normal;color:var(--mute);font-size:12.5px}
.det .da{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.oh.ss{color:var(--star)}.oh.ss:before{background:var(--amber)}.ohd{display:block;font-size:12px;color:var(--mute);margin-top:3px}
.wcard a.salu{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:6px}.wcard a.salu:hover{border-color:var(--accent)}
.wcard a.salu b{display:block;font-size:14.5px}.wcard a.salu span{display:block;font-size:13.5px;color:var(--ink2);margin-top:2px;font-variant-numeric:tabular-nums}.wcard a.salu small{display:block;font-size:12px;color:var(--mute);margin-top:4px}
.take{font:500 14.5px/1.5 Inter,system-ui,sans-serif;color:var(--ink);margin:12px 0 0;padding-left:11px;border-left:2px solid var(--accent);max-width:40em}
.chart:focus{outline:none}.chart:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}.chart .hit.on{fill:color-mix(in srgb,var(--ink) 10%,transparent);stroke:var(--ink);stroke-width:1.5}
#shm{position:fixed;z-index:70;display:grid;min-width:190px;padding:6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px rgba(10,20,30,.22)}#shm[hidden]{display:none}
#shm [role=menuitem]{all:unset;cursor:pointer;display:block;padding:9px 12px;border-radius:8px;font:500 14.5px Inter,system-ui,sans-serif}#shm [role=menuitem]:hover,#shm [role=menuitem]:focus-visible{background:var(--line2)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.oh{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.oh:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mute)}.oh.op{color:var(--accent)}.oh.op:before{background:var(--accent)}.oh.cl{color:var(--mute)}
/* walk */
.walk{display:grid;grid-template-columns:1fr 400px;gap:28px;margin-top:22px;align-items:start}
.wtrack label{font-size:14px;color:var(--ink2);display:flex;justify-content:space-between}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin:6px 0 0}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--line)}
input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--line)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-11px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:grab}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);cursor:grab}
.ticks{position:relative;height:22px;font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums}.ticks span{position:absolute;transform:translateX(-50%)}
.sky{display:block;width:100%;height:58px;margin-top:10px;cursor:pointer}.sky rect{fill:var(--sky)}.sky rect.on{fill:var(--accent)}.sky line{stroke:var(--line)}
.wcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.wcard .no{font:600 30px/1 Inter,system-ui,sans-serif;letter-spacing:-.038em}.wcard .hn{font:400 15.5px/1.6 Inter,system-ui,sans-serif;margin-top:10px}
.wcard dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0 0;font-size:14px}.wcard dt{color:var(--mute)}.wcard dd{margin:0}
.wcard h5{font:600 12.5px Inter;color:var(--mute);margin:14px 0 6px}
.wcard .here{display:flex;flex-wrap:wrap;gap:6px}.wcard .here button{height:32px;font-size:13px}
/* the hour */
.hour{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line)}
.hour li{border-left:1px solid var(--line2)}.hour li:first-child{border-left:0}
.hour button{all:unset;cursor:pointer;display:block;padding:16px 16px 14px;height:100%;box-sizing:border-box}.hour button:hover b{text-decoration:underline}.hour button:focus-visible{outline:2px solid var(--accent)}
.hour .hn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font:600 13px Inter;margin-bottom:10px}
.hour b{display:block;font:600 16px/1.3 Inter,system-ui,sans-serif}.hour em{display:block;font-style:normal;font-size:12.5px;color:var(--mute);margin:2px 0 6px}.hour span:last-child{display:block;font-size:13.5px;color:var(--ink2);line-height:1.45}
/* place list */
.plist{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 32px;margin-top:34px}
.pg h4{display:flex;align-items:center;gap:10px;font:600 15px Inter;margin:14px 0 4px}.pg h4 .dot{width:24px;height:24px}.pg h4 em{font-style:normal;color:var(--mute);font-weight:500}
.pg ul{list-style:none;margin:0;padding:0}.pg li button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:10px;width:100%;padding:8px 0;border-top:1px solid var(--line2);font-size:14.5px}
.pg li button:hover b{text-decoration:underline}.pg li button span{color:var(--mute);font-size:13px;text-align:right}.pg li .st{color:var(--star)}.pg li .oh{font-size:12px}
.pg li button:focus-visible{outline:2px solid var(--accent)}
.svc{font-size:14px;color:var(--ink2);padding:8px 0;border-top:1px solid var(--line2)}
.corner{margin-top:30px}.corner h4{font:600 15px Inter;margin:0 0 4px}.corner .note{margin:0 0 6px}
/* today */
.today{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:220px;gap:12px;margin-top:28px}
.today figure{margin:0;position:relative;overflow:hidden;border-radius:12px;background:#cfd3cc;grid-column:span 2}.today figure.pano{grid-column:span 6;grid-row:span 2}.today figure:nth-child(5),.today figure:nth-child(6){grid-column:span 3}
.today img{width:100%;height:100%;object-fit:cover;display:block}
.today figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;background:linear-gradient(transparent,rgba(8,14,20,.8));color:#fff}
.today figcaption b{display:block;font:600 15px Inter,system-ui,sans-serif}.today figcaption span{font-size:11.5px;opacity:.9}.today figcaption a{color:#fff}
/* numbers */
.keys{display:flex;gap:22px;font-size:13px;color:var(--ink2);margin:26px 0 8px;flex-wrap:wrap}.keys i{display:inline-block;vertical-align:-1px;margin-right:7px}
.k-gt{width:12px;height:12px;border-radius:50%;background:var(--c-gt)}.k-st{width:11px;height:11px;border-radius:50%;border:2px solid var(--c-st)}.k-se{width:9px;height:9px;background:var(--c-se)}
table.num{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
table.num thead th{font:500 12.5px Inter;color:var(--mute);text-align:right;padding:8px 10px;border-bottom:1px solid var(--line)}table.num thead th:first-child{text-align:left}
table.num tr.grp th{font:600 13px Inter;text-align:left;color:var(--accent);padding:22px 0 6px;border-bottom:1px solid var(--line)}
table.num tbody th{text-align:left;font-weight:400;padding:12px 10px 12px 0;border-bottom:1px solid var(--line2);vertical-align:top}
table.num tbody th b{display:block;font-weight:600;font-size:15px}table.num tbody th small{color:var(--mute);font-size:12.5px}
td.v{text-align:right;padding:12px 10px;border-bottom:1px solid var(--line2);font-size:16px;white-space:nowrap;color:var(--ink2);vertical-align:top}td.v.gt{font:600 19px Inter;color:var(--ink)}
td.v small.geo{display:block;font:500 11.5px Inter;color:var(--accent);margin-top:2px}
td.sc{width:28%;padding:12px 0 12px 18px;border-bottom:1px solid var(--line2)}
.cmp{display:none}.strip{position:relative;height:22px}.strip .ax{position:absolute;left:0;right:0;top:10px;height:1px;background:var(--line)}
.strip .mk{position:absolute;top:11px;transform:translate(-50%,-50%);cursor:default}
.mk.gt{width:13px;height:13px;border-radius:50%;background:var(--c-gt);z-index:2}.mk.st{width:12px;height:12px;border-radius:50%;border:2px solid var(--c-st);background:var(--bg)}.mk.se{width:9px;height:9px;background:var(--c-se)}
/* prices */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border-top:1px solid var(--line)}
.split>div{padding:26px 34px 6px 0;min-width:0}.split>div+div{padding:26px 0 6px 34px;border-left:1px solid var(--line)}
.fig{margin:14px 0 2px}.fig b{display:block;white-space:nowrap;font:600 36px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}.fig span{display:block;margin-top:8px;max-width:30em;color:var(--ink2);font-size:14.5px}
.facts{display:grid;gap:14px;margin-top:16px}.fact b{display:block;font:600 20px Inter;font-variant-numeric:tabular-nums}.fact span{display:block;font-size:14px;color:var(--ink2)}
.facts.f3{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.facts.f3 .fact b{font:600 40px/1 Inter,system-ui,sans-serif}.facts.f3 .fact span{margin-top:8px;font-size:14.5px}
.tb{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:center;margin:8px 0}.tb span{font-size:14px;color:var(--ink2)}
.tbar{display:flex;height:26px;border-radius:5px;overflow:hidden;gap:2px}.tbar i{display:flex;align-items:center;padding-left:8px;font:600 12px Inter;font-style:normal;color:#fff;white-space:nowrap;overflow:hidden}
.tbar .b{background:var(--accent);color:var(--accent-ink)}.tbar .h{background:#5a6875}.tbar .a{background:#b8c1c8;color:#1b2430}
.tlg{display:flex;gap:18px;font-size:12.5px;color:var(--mute);margin:10px 0 0 184px;flex-wrap:wrap}.tlg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.hb{display:grid;grid-template-columns:150px 1fr 96px;gap:12px;align-items:center;margin:7px 0;font-size:14px}.hb span{color:var(--ink2)}.hb em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.hb div{height:10px}.hb i{display:block;height:10px;border-radius:0 5px 5px 0;background:var(--c-se)}.hb.on i{background:var(--c-gt)}.hb.on span,.hb.on em{color:var(--ink);font-weight:600}
.chart{width:100%;height:auto;margin-top:12px;overflow:visible}.chart .gl{stroke:var(--line);stroke-width:1}.chart .yt{font:500 12px Inter;fill:var(--mute);text-anchor:end}.chart .xt{font:500 12px Inter;fill:var(--mute);text-anchor:middle}
.chart .ln{fill:none;stroke-width:2.2;stroke-linejoin:round}.chart .ln.c1{stroke:var(--c-gt)}.chart .ln.c2{stroke:var(--c-st)}.chart .ln.c3{stroke:var(--c-se)}.chart .ln.dash{stroke-dasharray:6 4}
.chart .dt{fill:var(--surface);stroke-width:2;pointer-events:none}.chart .dt.c1{stroke:var(--c-gt)}.chart .dt.c2{stroke:var(--c-st)}.chart .dt.c3{stroke:var(--c-se)}.chart .hit{fill:transparent;cursor:default}
.chart .dl{font:600 13px Inter;paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.chart .dl.c1{fill:var(--c-gt)}.chart .dl.c2{fill:var(--c-st)}.chart .dl.c3{fill:var(--mute)}
.gap{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-top:18px;font-size:14px;line-height:1.55;color:var(--ink2)}.gap b{color:var(--ink)}
.pend{border:1px dashed var(--line);border-radius:14px;padding:16px 18px;color:var(--mute);font-size:14px;margin-top:16px}
table.ann{width:100%;border-collapse:collapse;font-size:14px;margin-top:12px;font-variant-numeric:tabular-nums}table.ann th{font:500 12px Inter;color:var(--mute);text-align:left;border-bottom:1px solid var(--line);padding:6px}table.ann td{border-bottom:1px solid var(--line2);padding:7px 6px}.r{text-align:right}
table.ann td small{display:block;color:var(--mute);font-size:12px}table.ann a{font-weight:600}
/* people */
.two{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;margin-top:30px}.two>div{min-width:0}.two.s2{grid-template-columns:1fr 1fr;margin-top:40px}
table.num.tight tbody th{padding:8px 10px 8px 0}table.num.tight td.v,table.num.tight td.sc{padding-top:8px;padding-bottom:8px}table.num.tight td.v.gt{font-size:16px}
.ab{display:grid;grid-template-columns:54px 1fr 48px;gap:12px;align-items:center;margin:9px 0}.ab span{font-size:13.5px;color:var(--ink2);font-variant-numeric:tabular-nums}.ab em{font-style:normal;font-size:13.5px;text-align:right;font-variant-numeric:tabular-nums}
.bars{display:grid;gap:3px}.bars i{display:block;height:9px;border-radius:0 4px 4px 0}.bars .g{background:var(--c-gt)}.bars .s{background:var(--c-se)}
ul.ls{list-style:none;margin:8px 0 0;padding:0}ul.ls li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line2);font-size:14.5px}ul.ls li span{color:var(--mute);font-variant-numeric:tabular-nums}
/* history */
.hist{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:30px}
ol.tl{list-style:none;margin:0;padding:0}ol.tl li{display:grid;grid-template-columns:86px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--line2)}
ol.tl b{font:600 18px/1.25 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}ol.tl p{margin:0;color:var(--ink2);font-size:15px}
blockquote{margin:0;font:500 26px/1.38 Inter,system-ui,sans-serif;letter-spacing:-.022em}blockquote footer{font:400 14px Inter;color:var(--mute);margin-top:14px}
.hist .side p{color:var(--ink2);font-size:15.5px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:12px;margin-top:40px}
.gal figure{margin:0;position:relative;overflow:hidden;border-radius:10px;background:#cfd3cc}.gal figure.big{grid-column:span 2;grid-row:span 2}.gal figure.wide{grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.1) contrast(1.02)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 9px;background:linear-gradient(transparent,rgba(8,14,20,.78));color:#fff}
.gal figcaption b{display:block;font-size:13.5px;font-weight:600}.gal figcaption span{font-size:11px;opacity:.85}
.plan{margin-top:28px}.plan img{width:100%;display:block;border-radius:10px}.plan figcaption{font-size:13px;color:var(--ink2);margin-top:8px}.plan figcaption span{color:var(--mute);font-size:12px}
/* calendar */
.cal{list-style:none;margin:28px 0 0;padding:0}.cal li{display:grid;grid-template-columns:150px 1fr 300px;gap:28px;padding:20px 0;border-top:1px solid var(--line)}
.cal .d{font:600 19px/1.2 Inter,system-ui,sans-serif}.cal .d small{display:block;font:400 13px Inter;color:var(--mute);margin-top:4px}
.cal h3{font-size:21px}.cal p{margin:0;color:var(--ink2);font-size:15px}.cal .s{font-size:12.5px;color:var(--mute)}
/* getting around */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px;border-top:1px solid var(--line)}
.grid4>div{padding:20px 22px 18px 0}.grid4>div+div{padding-left:22px;border-left:1px solid var(--line2)}
.grid4 b{display:block;font:600 30px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}.grid4 span{display:block;font-size:14px;color:var(--ink2);margin-top:8px}
/* metro mode */
.mmg{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:20px}
.mmc{padding:20px 0;border-top:1px solid var(--line)}.mmh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px}
.mmh b{font:600 21px/1.2 Inter,system-ui,sans-serif}.mmh span{font-size:13px;color:var(--mute)}
.mmc p{font:400 15.5px/1.6 Inter,system-ui,sans-serif;color:var(--ink2);margin:8px 0}.mmc a{font-size:14px;font-weight:500}.mmc small{display:block;font-size:12.5px;color:var(--mute);margin-top:4px}
.mmbrand{font:700 13px Inter;letter-spacing:.06em}
/* share */
.share{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;margin-top:28px}.share img{width:100%;border-radius:14px;display:block;box-shadow:0 18px 50px rgba(10,20,30,.25)}
.share .acts{margin-top:18px}
/* sources */
.srcs{columns:2;column-gap:48px;font-size:13px;color:var(--ink2);line-height:1.65;margin-top:20px}.srcs p{margin:0 0 10px;break-inside:avoid}.srcs b{color:var(--ink)}
footer.ft{margin-top:96px;background:var(--hero);color:var(--hero-mute);padding:40px 0;font-size:13.5px}footer.ft .wm{color:#fff}
#tip{position:fixed;z-index:50;pointer-events:none;background:#13202c;color:#fff;font:500 12.5px Inter;padding:6px 9px;border-radius:7px;max-width:260px;display:none;box-shadow:0 4px 16px rgba(0,0,0,.25)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#13202c;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:60;display:none}
@media (max-width:900px){
  .wrap{padding:0 16px}header.top{padding:0 16px}.crumb{display:none}
  .hero img.night{position:relative;right:auto;top:auto;width:130%;max-width:none;margin:-8% -15% -26%;display:block}
  .hero .in{padding:24px 16px 40px}.spec{gap:14px 26px}.spec div{min-width:42%}
  section{padding-top:60px}
  .walk,.two,.two.s2,.hist,.share,.split,.facts.f3{grid-template-columns:1fr}.split>div{padding:22px 0 6px}.split>div+div{padding:22px 0 6px;border-left:0;border-top:1px solid var(--line)}
  .plist{grid-template-columns:1fr}.mmg{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.grid4>div{padding:18px 12px 16px 0!important;border-left:0!important;border-top:1px solid var(--line2)}
  .gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.cal li{grid-template-columns:1fr;gap:6px}.srcs{columns:1}
  .today{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.today figure,.today figure:nth-child(5),.today figure:nth-child(6){grid-column:span 1}.today figure.pano{grid-column:span 2;grid-row:span 1}
  .hour{grid-template-columns:1fr}.hour li{border-left:0;border-top:1px solid var(--line2)}.hour button{display:grid;grid-template-columns:36px 1fr;column-gap:10px}.hour .hn{grid-row:span 3;margin:0}
  .det{position:fixed;left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:35vh;border-radius:18px;padding-top:26px;transition:max-height .22s ease,transform .22s ease}.det.full{max-height:88vh}.det.drag{transition:none}
  .det .grab,.det .ty{touch-action:none}
  .det .grab{display:block;position:absolute;left:50%;top:6px;transform:translateX(-50%);width:96px;height:24px;border:0;background:none;cursor:grab}.det .grab:before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:var(--line);margin:7px auto 0}
  .hint{display:block}
  table.num thead{display:none}table.num tbody tr:not(.grp){display:grid;grid-template-columns:1fr auto;column-gap:12px}
  table.num tbody th{grid-column:1/-1;padding-bottom:2px;border:0}td.v{display:none}td.v.gt{display:block;grid-column:2;grid-row:2;text-align:right;padding:2px 0 12px;border-bottom:1px solid var(--line2)}
  td.sc{display:block;width:auto;grid-column:1;grid-row:2;padding:4px 0 12px}.cmp{display:block;font-size:12.5px;color:var(--mute);margin-top:4px}
  table.ann{font-size:12.5px}table.ann th,table.ann td{padding:6px 3px}table.ann td small{font-size:11px}
  .tb{grid-template-columns:1fr}.tlg{margin-left:0}.hb{grid-template-columns:118px 1fr 76px}
  .chart .yt,.chart .xt{font-size:19px}.chart .dl{font-size:20px;stroke-width:5px}
}
/* frozen copy of guide_v5.py CSS (opening, houses, collab, brf) */

.open{padding:clamp(56px,8vw,104px) 0 clamp(40px,6vw,72px);border-bottom:1px solid var(--line)}
.open-in{max-width:680px;margin:0 auto;padding:0 20px}
.open-k{font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.open h2{font:700 clamp(34px,5vw,56px)/1.02 Inter,system-ui,sans-serif;letter-spacing:-.045em;margin:0 0 22px}
.open-l{font:500 clamp(19px,2.1vw,23px)/1.45 Inter,system-ui,sans-serif;letter-spacing:-.012em;color:var(--ink);margin:0 0 28px}
.open-b p{font:400 17px/1.7 Inter,system-ui,sans-serif;color:var(--ink2);margin:0 0 18px}
.open-s{font:600 14px/1.4 Inter,system-ui,sans-serif;color:var(--mute);margin:26px 0 0}

.hush{margin:56px 0 4px}.hus-l{color:var(--ink2);margin:0 0 18px;max-width:640px}
.hus{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 14px}
.hus figure{margin:0}
.hus .ph{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#cfd3cc}
.hus figure.w{grid-column:span 2}.hus figure.w .ph{aspect-ratio:2.74}
.hus img{width:100%;height:100%;object-fit:cover;display:block}
.hus figcaption{padding:10px 2px 0}
.hus figcaption b{display:block;font:600 15px/1.3 Inter,system-ui,sans-serif;letter-spacing:-.01em;color:var(--ink)}
.hus figcaption span{display:block;margin-top:3px;font:400 12px/1.45 Inter,system-ui,sans-serif;color:var(--mute)}.hus figcaption a{color:inherit}
.wcard .wf{margin:12px 0 0}.wcard .wf img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;display:block;background:#cfd3cc}
.wcard .wf figcaption{font-size:11.5px;line-height:1.45;color:var(--mute);margin-top:6px}.wcard .wf figcaption a{color:inherit}
.wcard .src{font-size:12px;line-height:1.5;color:var(--mute);margin:6px 0 0}.wcard .src a{color:inherit}
@media (max-width:760px){.hus{grid-template-columns:1fr 1fr;gap:18px 10px}.hus figcaption b{font-size:14px}.hus figcaption span{font-size:11px}}

.collab{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 16px;border:1px solid #2c3b48;border-radius:999px;margin:0 0 22px;background:rgba(10,16,22,.55)}
.collab .cw{font:700 15px/1 Inter,system-ui,sans-serif;letter-spacing:-.01em;color:#eef1f3}.collab .cw i{font-style:normal;color:#9bc6e5}
.collab .cx{font:400 16px/1 Inter,system-ui,sans-serif;color:#8796a4}
.collab .mmlogo{width:104px;height:12px;display:block}.collab .mmlogo path{fill:#eef1f3}
.collab .ct{font:500 13px/1.3 Inter,system-ui,sans-serif;color:#c8d2dc}
@media (max-width:760px){.collab{border-radius:14px;padding:10px 14px}.collab .ct{flex-basis:100%}}
.wcard details.diff{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--mute)}.wcard details.diff summary{cursor:pointer;color:var(--ink2);font-weight:500}
.wcard details.diff p{margin:6px 0 0}

.brfs{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.brfs h3{margin-bottom:8px}
.brfs .tw{overflow-x:auto;margin-top:18px}.brfs table.num{min-width:620px}
.brfs details.hist{margin-top:18px}.brfs details.hist summary{cursor:pointer;color:var(--mute);font-size:14px}.brfs details.hist table.num{min-width:520px}
/* additions for the Östermalm street guides and building pages (20 Oct 2026) – same tokens as the prototype */
.mock a{color:inherit}
.hero .kick{font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--hero-mute);margin:0 0 18px}
.hero .kick a{text-decoration:none}.hero .kick a:hover{color:#fff}
.spec dd small{font-size:13px;color:var(--hero-mute);font-weight:500;margin-left:4px}
/* the score */
.scgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:48px;margin-top:26px;align-items:start}
.eyebrow{font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.scbig{display:flex;align-items:baseline;gap:12px;margin:14px 0 6px}.scbig b{font:700 clamp(84px,11vw,132px)/.9 Inter,system-ui,sans-serif;letter-spacing:-.05em;color:var(--accent);font-variant-numeric:tabular-nums}
.scbig small{font:500 16px Inter,system-ui,sans-serif;color:var(--mute)}
.scl p{color:var(--ink2);margin:10px 0 0;max-width:30em}.scl .rank{font:600 18px/1.4 Inter,system-ui,sans-serif;color:var(--ink);letter-spacing:-.01em}
.srows{border-top:1px solid var(--line)}
.srow{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line2)}
.srow b{display:block;font:600 15.5px/1.3 Inter,system-ui,sans-serif}.srow small{display:block;color:var(--mute);font-size:13px;margin-top:3px;line-height:1.45}
.srow .v{display:grid;grid-template-columns:1fr 32px;gap:10px;align-items:center}.srow .v i{display:block;height:7px;border-radius:4px;background:var(--line);overflow:hidden}
.srow .v i em{display:block;height:7px;border-radius:4px;background:var(--accent)}.srow .v b{text-align:right;font:600 16px Inter;font-variant-numeric:tabular-nums}
.srow.soon b{color:var(--mute);font-weight:500}.srow.soon .v{font-size:12.5px;color:var(--mute);display:block;text-align:right}
/* the plate */
.karta{display:block;width:100%;height:auto}
.karta .bo .r{fill:var(--b-r);stroke:var(--b-w);stroke-width:.4}.karta .bo .w{fill:var(--b-w)}
.karta .bs .r{fill:var(--s-r);stroke:var(--s-s);stroke-width:.5}.karta .bs .w{fill:var(--s-w)}.karta .pub .r{fill:var(--p-r)}.karta .pub .w{fill:var(--p-w)}
.karta .bs.on .r{fill:var(--on-r)}.karta .bs.on .w{fill:var(--on-w)}.karta .bs.sel .r{fill:var(--sel-r)}.karta .bs.sel .w{fill:var(--sel-w)}
.karta .lw{font-family:Inter,system-ui,sans-serif;font-weight:500;fill:var(--m-lw);letter-spacing:.02em}.karta .ld{font-family:Inter,system-ui,sans-serif;font-weight:500;fill:var(--m-ld)}
.karta .ls{font-family:Inter,system-ui,sans-serif;font-weight:600;fill:var(--m-ls)}.karta .sn{font-family:Inter,system-ui,sans-serif;font-weight:700;letter-spacing:.32em;fill:var(--m-ls);opacity:.75}
#karta .lw,#karta .ld,#karta .ls{font-size:inherit}
.compass{position:absolute;left:12px;top:12px;z-index:5;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.12);display:grid;place-items:center;pointer-events:none}
.compass svg{width:30px;height:30px;transform:rotate(var(--r));overflow:visible}.compass path{fill:var(--brick)}.compass path+path{fill:var(--mute)}.compass text{font:700 7px Inter,system-ui,sans-serif;fill:var(--ink);text-anchor:middle}
/* the walk, both sides */
.sides{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface);margin:0 0 14px;max-width:100%}
.sides[hidden]{display:none}
.sides button{all:unset;cursor:pointer;padding:7px 14px;border-radius:999px;font:500 14px/1.2 Inter,system-ui,sans-serif;color:var(--ink2);white-space:nowrap}
.sides button em{font-style:normal;color:var(--mute);margin-left:4px;font-variant-numeric:tabular-nums}
.sides button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}.sides button[aria-pressed="true"] em{color:inherit;opacity:.75}
.sides button:focus-visible{outline:2px solid var(--accent)}
.sky{height:100px}.sky rect.nh{fill:var(--line)}.sky rect.on{fill:var(--accent)}
.skylab{display:flex;justify-content:space-between;font-size:12px;color:var(--mute);margin-top:4px}
.wcard .wsub{font-size:14px;color:var(--ink2);margin-top:6px}
.wcard dd small{display:block;font-size:12px;color:var(--mute);margin-top:1px}
.wcard .hn b{font-weight:600}
.btn.sm2{padding:8px 14px;font-size:14px}.btn.sm2 svg{width:16px;height:16px}
/* house by house */
.hhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin:64px 0 6px}
.hhead h3{margin:0}.hhead p{margin:0;color:var(--mute);font-size:14px}
.hcols{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:14px}
.hcols h4{font:600 13px Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.hlist{list-style:none;margin:0 0 26px;padding:0}
.hlist li{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;border-bottom:1px solid var(--line2)}
.hlist a.hr{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:baseline;padding:11px 0;text-decoration:none;min-width:0}
.hlist a.hr:hover b,.hlist a.hr:focus-visible b{text-decoration:underline}
.hlist .hn{font:600 18px/1.2 Inter,system-ui,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hlist b{display:block;font:500 14.5px/1.35 Inter,system-ui,sans-serif;color:var(--ink)}
.hlist small{display:block;font-size:12.5px;color:var(--mute);margin-top:2px;line-height:1.4}
.hlist button{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--mute);justify-self:end}
.hlist button:hover,.hlist button:focus-visible{background:var(--line2);color:var(--ink)}.hlist button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.facts3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:26px;border-top:1px solid var(--line)}
.facts3>div{padding:18px 18px 16px 0;min-width:0}.facts3>div+div{padding-left:18px;border-left:1px solid var(--line2)}
.facts3 b{display:block;font:600 26px/1.1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.facts3 span{display:block;font-size:14px;color:var(--ink2);margin-top:8px}
.facts3 span a{color:inherit}
/* associations */
.brfs2{margin-top:26px}.brfs2 .tw{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}.brfs2 table.num{min-width:660px}
.brfs2 table.num td.v small{display:block;font-size:11.5px;color:var(--mute);font-weight:400}
.brfs2 details.hist{margin-top:18px}.brfs2 details.hist summary{cursor:pointer;color:var(--ink2);font-size:14.5px;font-weight:500}.brfs2 details.hist table.num{min-width:520px}
.lowc{font-size:12px;color:var(--mute)}
@media (max-width:900px){
  .scgrid{grid-template-columns:1fr;gap:20px}.srow{grid-template-columns:minmax(0,1fr) 110px}
  .hcols{grid-template-columns:1fr}.facts3{grid-template-columns:1fr 1fr}.facts3>div{padding:16px 12px 14px 0!important;border-left:0!important;border-top:1px solid var(--line2)}
  .brfs2 table.num thead,table.num.keep thead{display:table-header-group}.brfs2 table.num tbody tr:not(.grp),table.num.keep tbody tr:not(.grp){display:table-row}
  .brfs2 table.num tbody th,table.num.keep tbody th{display:table-cell;border-bottom:1px solid var(--line2);padding-bottom:10px}.brfs2 table.num td.v,table.num.keep td.v{display:table-cell;padding:10px 6px;border-bottom:1px solid var(--line2)}
  table.num.keep td.v.gt{grid-column:auto;grid-row:auto;font-size:15px}
  .sides button{padding:7px 10px;font-size:13.5px}
}
/* building pages */
.hhero{position:relative;background:var(--hero);color:var(--hero-ink);overflow:hidden}
.hhero .in{position:relative;max-width:1200px;margin:0 auto;padding:56px 32px 44px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.hhero h1{font:600 clamp(38px,5vw,64px)/1.03 Inter,system-ui,sans-serif;letter-spacing:-.035em;margin:0 0 12px}
.hhero .sub{font:400 18px/1.5 Inter,system-ui,sans-serif;color:#c8d2dc;margin:0}
.hhero .sub a{color:#fff}
.hhero figure{margin:0;border-radius:16px;overflow:hidden;background:#060b10;aspect-ratio:4/3}.hhero figure img{width:100%;height:100%;object-fit:cover;display:block}
.hhero figure.night img{object-fit:cover;transform:scale(1.15)}
.hhero figcaption{font-size:12px;color:var(--hero-mute);margin-top:8px}.hhero figcaption a{color:inherit}
.hhero .acts{margin-top:28px}
.hgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;margin-top:28px;align-items:start}
dl.hfacts{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0;margin:0;border-top:1px solid var(--line)}
dl.hfacts dt,dl.hfacts dd{padding:12px 0;border-bottom:1px solid var(--line2);margin:0}
dl.hfacts dt{color:var(--mute);font-size:14.5px;padding-right:16px}dl.hfacts dd{font-size:15.5px}dl.hfacts dd small{display:block;color:var(--mute);font-size:12.5px;margin-top:2px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-top:18px;font-size:14px;line-height:1.6;color:var(--ink2)}
.quote p{margin:0 0 8px}.quote p:last-child{margin:0}.quote .src{margin-top:10px}
.inv+.inv{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.inv h4{font:600 15px Inter,system-ui,sans-serif;margin:0 0 10px;color:var(--accent)}
.mapcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--m-land);position:relative;max-width:760px}
.mapcard .mscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.mapcard .mscroll .karta{min-width:600px}
.mapcard .compass{left:10px;top:10px}
.nbrs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.nbrs a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface)}
.nbrs a:hover{border-color:var(--accent)}.nbrs small{display:block;font-size:12px;color:var(--mute);letter-spacing:.04em;text-transform:uppercase}
.nbrs b{display:block;font:600 17px/1.3 Inter,system-ui,sans-serif;margin-top:4px}.nbrs span{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
.stcard{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);text-decoration:none;margin-top:16px}
.stcard .pic{background:#060b10;min-height:150px}.stcard .pic img{width:100%;height:100%;object-fit:cover;display:block}
.stcard .bd{padding:18px 20px}.stcard b{font:600 21px/1.2 Inter,system-ui,sans-serif}.stcard p{margin:6px 0 0;color:var(--ink2);font-size:14.5px}
.stcard .sc{display:inline-flex;align-items:baseline;gap:6px;margin-top:10px;font-size:13px;color:var(--mute)}.stcard .sc b{font-size:26px;color:var(--accent)}
.alias{font-size:13.5px;color:var(--mute);margin-top:10px}.alias a{color:var(--ink2)}.hhero .alias a{color:#c8d2dc}.hhero .alias a:hover{color:#fff}
@media (max-width:900px){.hhero .in{grid-template-columns:1fr;padding:28px 16px 34px;gap:22px}.hgrid{grid-template-columns:1fr;gap:30px}dl.hfacts{grid-template-columns:120px minmax(0,1fr)}.nbrs{grid-template-columns:1fr}.stcard{grid-template-columns:110px minmax(0,1fr)}.stcard .pic{min-height:120px}}

/* header: the language button beside Share (20 Oct 2026, both languages) */
header.top .tools{display:flex;align-items:center;gap:8px}
header.top .lang{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;font:600 13px/1 Inter,system-ui,sans-serif;letter-spacing:.06em;color:var(--ink);text-decoration:none;background:var(--surface)}
header.top .lang:hover{border-color:var(--ink2)}header.top .lang:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* the walk, number for number (20 Oct 2026 21.10, Christen «denna sektionen känns ostrukturerad», «och inte världsklass»): one list in the order you pass
   each place, its distance from the start in its own column, a line joining the stops; «An hour» as a route with the minutes between its stops */
.hour .hs{display:block;margin-top:8px}.hour .hs:empty{display:none}
.hour .lg{display:block;font-style:normal;font-size:12px;color:var(--mute);padding:0 16px 14px;font-variant-numeric:tabular-nums}.hour .lg:before{content:"→ "}
.hway{font-size:13.5px;line-height:1.5;color:var(--mute);margin:14px 0 0;max-width:44em}
.wlh{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 16px;margin-top:64px}.wlh h3,.wlh h4{margin:0}.wlh .sm{margin:6px 0 0;max-width:44em;color:var(--mute)}
.wlh h4{font:600 17px/1.3 Inter,system-ui,sans-serif}
#chips2{margin:16px 0 0}
.wlist{max-width:760px}.wlist.corner .wlh{margin-top:44px}.wlist.corner:empty{display:none}
.wl{list-style:none;margin:14px 0 0;padding:0}
.wr{position:relative;display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:start}
.wl:not(.nos) .wr:not(:last-child):after{content:"";position:absolute;left:77px;top:26px;height:100%;width:2px;background:var(--line);z-index:0}
.wd{font:500 12.5px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--mute);text-align:right;padding-top:19px;white-space:nowrap}
.wr button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px;align-items:start;width:100%;padding:11px 0;position:relative;z-index:1}
.wr button .dot{width:28px;height:28px;box-shadow:0 0 0 4px var(--bg)}
.wt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding-top:3px}
.wt b{font:600 16px/1.3 Inter,system-ui,sans-serif;color:var(--ink)}.wt .st{color:var(--star);white-space:nowrap}
.wk{font-size:13.5px;line-height:1.4;color:var(--mute)}
.wo{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.wo .oh{font-size:12.5px;padding:3px 10px 3px 8px;border-radius:999px;background:color-mix(in srgb,currentColor 11%,transparent)}
.wr button:hover b{text-decoration:underline;text-underline-offset:3px}.wr button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.wr.t button{padding:7px 0}.wr.t button .dot{width:20px;height:20px;margin:2px 4px 0}.wr.t .wd{padding-top:12px}.wr.t .wt{padding-top:2px;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.wr.t .wt b{font-weight:500;font-size:14.5px;color:var(--ink2)}.wr.t .wk{font-size:12.5px}
.wl:not(.nos) .wr.t:not(:last-child):after{top:19px}
.wf{font-size:13px;line-height:1.55;color:var(--mute);margin:16px 0 0 64px;max-width:40em}.wf .st{color:var(--star)}
.wl.nos .wr{grid-template-columns:52px 1fr}
@media (max-width:900px){
  .hour{border-top:0;margin-top:22px}.hour li{border-top:0!important;position:relative}
  .hour li:not(:last-child):after{content:"";position:absolute;left:28px;top:42px;bottom:-16px;width:2px;background:var(--line)}
  .hour .hn{grid-row:span 4;position:relative;z-index:1;background:var(--bg)}
  .hour .lg{padding:0 16px 6px 62px;margin-top:-4px}.hour .lg:before{content:""}
  .hway{padding-left:62px;margin-top:6px}
  .wlh{margin-top:52px}
  #chips2{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:2px 16px}#chips2::-webkit-scrollbar{display:none}
  .wr{grid-template-columns:44px 1fr;column-gap:10px}.wl:not(.nos) .wr:not(:last-child):after{left:67px}.wl.nos .wr{grid-template-columns:44px 1fr}.wf{margin-left:54px}
}

/* for sale on the street now, at the top of the page (20 Oct 2026 21.15, Christen «detta för långt ner och otydligt»): a card per home */
#salu{padding-top:44px}
.slh .lead{margin-top:6px}
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:22px}
.scard{display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px}
.sch{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px}.sch h3{margin:0;font:600 18px/1.3 Inter,system-ui,sans-serif}
.sch h3 a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.sch h3 a:hover{text-decoration-color:var(--ink)}
.sch span{font-size:13px;color:var(--mute)}
.spr{font:600 32px/1.05 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink)}
.srad{margin:0;font-size:15px;color:var(--ink2);font-variant-numeric:tabular-nums}
.sbar{margin-top:4px}.sbt{position:relative;height:8px;border-radius:4px;background:var(--line2)}
.sbt i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--accent)}
.sbt u{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink)}
.sbl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;margin-top:8px;font-size:13.5px;font-variant-numeric:tabular-nums}.sbl b{font-weight:600}.sbl span{color:var(--ink2);font-weight:600}
.scta{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:600 14.5px Inter,system-ui,sans-serif;text-decoration:none}
.scta:after{content:"↗";font-weight:500;color:var(--mute)}.scta:hover{border-color:var(--ink2)}.scta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:900px){#salu{padding-top:36px}.scards{grid-template-columns:1fr}.spr{font-size:30px}}

.hour .hp{display:block;font-size:13.5px;color:var(--ink2);line-height:1.45}
.hour .hs .oh{display:inline-flex;font-size:12.5px;padding:3px 10px 3px 8px;border-radius:999px;background:color-mix(in srgb,currentColor 11%,transparent)}
.slh h2{text-wrap:balance}
.slh .lead b{font-weight:600;color:var(--ink)}

/* the Score with its card, as in London (20 Oct 2026 21.24) */
.scl .rank{text-wrap:balance}
.skort{margin:22px 0 0}.skort img{display:block;width:100%;height:auto;aspect-ratio:1200/630;border-radius:16px;border:1px solid var(--line);background:#05090c}
.cacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.cacts .btn{flex:1 1 180px;justify-content:center}
.cacts .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.srh{font:600 17px/1.3 Inter,system-ui,sans-serif;margin:0 0 6px}
.srow2{padding:14px 0;border-top:1px solid var(--line2)}.srow2:first-child{border-top:0}
.srt{display:flex;align-items:baseline;gap:10px}.srt b{font:600 16px/1.3 Inter,system-ui,sans-serif}.srt .srw{font-size:12.5px;color:var(--mute);white-space:nowrap}
.srt strong{margin-left:auto;font:600 22px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.srb{display:block;height:8px;border-radius:4px;background:var(--line2);margin:10px 0 8px;overflow:hidden}.srb em{display:block;height:100%;border-radius:4px;background:var(--accent)}
.srow2 small{display:block;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.srsoon{font-size:13px;color:var(--mute);margin:12px 0 0;line-height:1.5}.srsoon b{color:var(--ink2);font-weight:600}
details.how{margin-top:14px;border-top:1px solid var(--line2);padding-top:6px}details.how summary{cursor:pointer;font:600 14px Inter,system-ui,sans-serif;color:var(--ink2);padding:8px 0;list-style:none}
details.how summary::-webkit-details-marker{display:none}details.how summary:after{content:" +";color:var(--mute)}details.how[open] summary:after{content:" −"}
details.how p{font-size:14px;line-height:1.55;color:var(--ink2);margin:4px 0 0;max-width:42em}

/* the numbers: one block per measure, three labelled bars (20 Oct 2026 21.23 «måste bli bättre») */
.nkeys{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;font-size:13px;color:var(--ink2)}.nkeys i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:-1px;background:var(--c-se)}
.nkeys .g i{background:var(--accent)}.nkeys .s i{background:var(--ink2)}
.ngrp{margin-top:34px}.ngh{font:600 13px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.ngrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.nm{padding:18px 0 20px;border-bottom:1px solid var(--line2);min-width:0}
.nmh{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.nmh h4{margin:0;font:600 16.5px/1.3 Inter,system-ui,sans-serif;text-wrap:balance}
.nmv{font:600 24px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.nms{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--mute)}
.nmd{margin:8px 0 0;font:600 14px/1.4 Inter,system-ui,sans-serif;color:var(--ink)}
.nb{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;column-gap:10px;margin-top:9px;font-size:13px}
.nb:first-of-type{margin-top:12px}.nb span{color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nb b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:64px;text-align:right}
.nb i{display:block;height:10px;border-radius:5px;background:var(--line2);overflow:hidden}.nb i em{display:block;height:100%;border-radius:5px;background:var(--c-se)}
.nb.g i em{background:var(--accent)}.nb.s i em{background:var(--ink2)}.nb.g span,.nb.g b{color:var(--ink);font-weight:600}
.nvals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.nvals div{background:var(--surface);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;min-width:0}
.nvals span{display:block;font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nvals b{display:block;font:600 16px/1.3 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.nvals .g{border-color:color-mix(in srgb,var(--accent) 45%,var(--line2))}
.nna{font-size:12.5px;color:var(--mute);margin:8px 0 0}
@media (max-width:900px){.ngrid{grid-template-columns:minmax(0,1fr)}.nb{grid-template-columns:104px minmax(0,1fr) auto}.cacts .btn{flex:1 1 140px}}
.ngrid.one{grid-template-columns:minmax(0,1fr)}.ngrid.one .nm{padding:14px 0 16px}
.nb span{white-space:normal;line-height:1.2}
@media (max-width:900px){.nb{grid-template-columns:112px minmax(0,1fr) auto}}
.share img{height:auto;aspect-ratio:1200/630}
@media (max-width:900px){
  .brfs2 .tw{overflow:visible}.brfs2 table.num,.brfs2 details.hist table.num{min-width:0}.brfs2 table.num thead{display:none}
  .brfs2 table.num tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;padding:14px 0;border-bottom:1px solid var(--line2)}
  .brfs2 table.num tbody th{grid-column:1/-1;border:0;padding:0}
  .brfs2 table.num td.v,.brfs2 table.num td.v.gt{display:block;grid-column:auto;grid-row:auto;text-align:left;padding:0;border:0;font-size:15px;font-weight:600}
  .brfs2 table.num td.v:before{content:attr(data-l);display:block;font-size:11.5px;line-height:1.3;color:var(--mute);font-weight:400;margin-bottom:3px}
}
@media (max-width:900px){.brfs2 table.num,.brfs2 table.num tbody{display:block;width:100%}}
@media (max-width:900px){.brfs2 table.num tbody tr:not(.grp){display:grid}}
/* the house's own card under the hero (20 Oct 2026 21.42) */
section.hkort{padding-top:28px}section.hkort .wrap{max-width:760px}
@media (max-width:900px){.brfs2 table.num td.v,.brfs2 table.num td.v small{white-space:normal;overflow-wrap:anywhere;min-width:0}}
/* two cards (20 Oct 2026 22.12 «två kort»): the street in figures and the Score */
.kort2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.kort2 figure{margin:0;min-width:0}
.kort2 figcaption{font:600 12.5px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.kort2 img{display:block;width:100%;height:auto;aspect-ratio:1200/630;border-radius:14px;border:1px solid var(--line);background:#05090c}
.hero + section.hkort,#gatukort{padding-top:24px}
@media (max-width:900px){.kort2{grid-template-columns:minmax(0,1fr)}}
