:root{--fs-100:.8125rem;--fs-200:.8125rem;--fs-300:.875rem;--fs-400:1rem;--fs-500:1.125rem;--fs-600:clamp(1.375rem, 1.18rem + .85vw, 1.75rem);--fs-700:clamp(1.75rem, 1.3rem + 1.9vw, 2.75rem);--lh-tight:1.15;--lh-snug:1.4;--lh-body:1.55;--fw-regular:400;--fw-medium:600;--fw-bold:600;--fw-display:700;--font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:48px;--sp-12:64px;--tap:44px;--brand:#1a5440;--brand-deep:#123c2e;--brand-tint:#e3eee8;--paper:#f5f5f3;--paper-2:#fff;--ink:#16181a;--ink-2:#55585c;--rule:#dcdcd7;--c-bg:var(--paper);--c-bg-raised:#fafaf8;--c-surface:#fffffff5;--c-surface-solid:#fff;--c-surface-2:#eeeeeb;--c-line:var(--rule);--c-line-strong:#8c8c86;--c-line-soft:#ebebe7;--c-text:#16181a;--c-text-2:#55585c;--c-accent:#1a5440;--c-accent-ink:#fff;--c-accent-soft:var(--brand-tint);--c-good:#1b6b3f;--c-good-soft:#e1f0e6;--c-unknown:#55585c;--c-unknown-soft:#eeeeeb;--c-info:#1f5a8f;--c-info-soft:#e3edf7;--c-warn:#7a4f00;--c-warn-soft:#f6ecd2;--c-warn-line:#d9c48e;--c-bad:#a5301f;--c-bad-soft:#fbe6e2;--c-focus:var(--brand);--c-hover:#16181a0f;--c-scrim:#16181a73;--radius:12px;--radius-pill:999px;--r-sm:var(--radius);--r-md:var(--radius);--r-lg:var(--radius);--r-xl:var(--radius);--r-pill:var(--radius-pill);--shadow:0 8px 28px #10182024;--e-1:0 0 0 1px var(--c-line);--e-2:var(--shadow);--e-3:var(--shadow);--ring-w:2px;--ring-offset:2px;--m-fast:.16s;--m-med:.24s;--m-slow:.32s;--m-out:var(--m-fast);--m-press:var(--m-fast);--m-image:var(--m-slow);--m-ease:cubic-bezier(.2, .8, .2, 1);--m-ease-enter:var(--m-ease);--z-base:1;--z-poster:2;--z-map-ui:12;--z-map-overlay:14;--z-sheet:20;--z-header:30;--z-backdrop:39;--z-popover:40;--z-modal:50;--z-toast:60;--z-skip:100;--header-h:56px;--wrap:1120px;--gut:16px;--panel-w:380px;--bg:var(--c-bg);--bg-2:var(--c-bg-raised);--panel:var(--c-surface);--card:var(--c-surface-solid);--border:var(--c-line);--line:var(--c-line);--text:var(--c-text);--muted:var(--c-text-2);--accent:var(--c-accent);--accent-ink:var(--c-accent-ink);--good:var(--c-good);--warn:var(--c-warn);--focus:var(--c-focus);--radius-legacy:var(--radius)}@media (min-width:640px){:root{--gut:24px}}@media (min-width:1024px){:root{--gut:32px}}:root[data-theme=dusk],.theme-dusk,.theme-dark{--c-bg:#0f141a;--c-bg-raised:#131a22;--c-surface:#171d25f0;--c-surface-solid:#171d25;--c-surface-2:#1f2731;--c-line:#2c3642;--c-line-strong:#6b7887;--c-line-soft:#ffffff14;--c-text:#eef2f6;--c-text-2:#aab4c0;--c-accent:#7fd0b0;--c-accent-ink:#07140f;--c-accent-soft:#7fd0b029;--c-good:#8fd6b8;--c-good-soft:#8fd6b829;--c-unknown:#aab4c0;--c-unknown-soft:#ffffff14;--c-info:#9cc7ee;--c-info-soft:#9cc7ee29;--c-warn:#ffd166;--c-warn-soft:#ffd1661f;--c-warn-line:#ffd16680;--c-bad:#ff9d8e;--c-bad-soft:#ff9d8e24;--c-focus:#ffd166;--c-hover:#ffffff14;--c-scrim:#0408108c;--shadow:0 8px 28px #00000073;--bg:var(--c-bg);--bg-2:var(--c-bg-raised);--panel:var(--c-surface);--card:var(--c-surface-solid);--border:var(--c-line);--line:var(--c-line);--text:var(--c-text);--muted:var(--c-text-2);--accent:var(--c-accent);--accent-ink:var(--c-accent-ink);--good:var(--c-good);--warn:var(--c-warn);--focus:var(--c-focus);color:var(--c-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dusk] body{background:var(--c-bg)}@media (prefers-reduced-motion:reduce){:root{--m-fast:.1s;--m-med:.1s;--m-slow:.1s;--m-out:.1s;--m-press:.1s;--m-image:.1s}*{scroll-behavior:auto!important;animation:none!important}.btn,.chip,.card,.photo-tile,.sheet,.view-pop,.toast,.intent,.quick-link{transform:none!important}}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font);font-size:var(--fs-400);line-height:var(--lh-body);flex-direction:column;min-height:100dvh;margin:0;display:flex}main{flex:1 0 auto}h1,h2,h3{line-height:var(--lh-tight);font-weight:var(--fw-bold);margin:0 0 .5em}h1,h2{font-family:var(--font);font-weight:var(--fw-display);letter-spacing:-.02em;text-wrap:balance}h1{font-size:var(--fs-700);letter-spacing:-.025em}h2{font-size:var(--fs-600)}h3{font-size:var(--fs-500)}p{margin:0 0 .8em}a{color:var(--c-accent);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);transition:text-decoration-color var(--m-fast) var(--m-ease), color var(--m-fast) var(--m-ease)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:var(--ring-w) solid var(--c-focus);outline-offset:var(--ring-offset);border-radius:var(--r-sm)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--sp-2);z-index:100;background:var(--c-accent);color:var(--c-accent-ink);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-weight:var(--fw-bold);position:absolute;top:-60px}.skip-link:focus{top:var(--sp-2)}.muted{color:var(--c-text-2)}.small{font-size:var(--fs-300)}.note{font-size:var(--fs-300);line-height:var(--lh-snug);color:var(--c-text-2);margin:var(--sp-1) 0 var(--sp-2)}.icon{flex:none;display:block}@media (prefers-reduced-motion:no-preference){main h1{animation:rise .6s var(--m-ease-enter) both}main h1+p,.guide-tag{animation:rise .52s var(--m-ease-enter) 90ms both}}@keyframes rise{0%{opacity:.01;transform:translateY(12px)}to{opacity:1;transform:none}}.site-header{height:var(--header-h);align-items:center;gap:var(--sp-2);padding:0 max(var(--gut), calc((100% - var(--wrap)) / 2 + var(--gut)));background:var(--c-bg);border-bottom:1px solid var(--c-line);z-index:var(--z-header);flex:none;display:flex;position:sticky;top:0}@media (min-width:1024px){body:has(.home-app) .site-header{padding:0 var(--sp-4)}}.brand{align-items:center;gap:var(--sp-2);color:var(--c-text);min-height:var(--tap);flex:none;text-decoration:none;display:flex}.brand-name{white-space:nowrap;font-family:var(--font);font-size:var(--fs-500);font-weight:var(--fw-display);letter-spacing:-.02em}.brand-mark{background:var(--c-accent);width:28px;height:28px;color:var(--c-accent-ink);font-family:var(--font);font-weight:var(--fw-display);font-size:var(--fs-300);letter-spacing:-.04em;border-radius:8px;place-items:center;line-height:1;display:grid}.nav-list,.nav-menu-list{margin:0;padding:0;list-style:none}.nav-main{flex:1;justify-content:flex-end;min-width:0;display:flex}.nav-list{gap:0;display:flex}.nav-link{min-width:var(--tap);min-height:var(--tap);padding:0 var(--sp-2);color:var(--c-text-2);font-weight:var(--fw-medium);font-size:var(--fs-300);white-space:nowrap;transition:color var(--m-fast) var(--m-ease);justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.nav-link:after{content:"";left:var(--sp-2);right:var(--sp-2);transform-origin:0;height:1px;transition:transform var(--m-fast) var(--m-ease);background:currentColor;position:absolute;bottom:9px;transform:scaleX(0)}.nav-link:hover{color:var(--c-text)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.nav-link[aria-current=page]{color:var(--c-text)}.nav-link[aria-current=page]:after{background:var(--c-accent);height:2px;transform:scaleX(1)}.nav-menu{flex:none;position:relative}.nav-menu-btn{min-width:var(--tap);min-height:var(--tap);margin-right:calc(var(--sp-2) * -1);border-radius:var(--radius);color:var(--c-text);cursor:pointer;transition:background var(--m-fast) var(--m-ease);justify-content:center;align-items:center;list-style:none;display:flex}.nav-menu-btn::-webkit-details-marker{display:none}.nav-menu-btn:hover,.nav-menu[open] .nav-menu-btn{background:var(--c-hover)}.nav-menu>nav{right:calc(var(--sp-2) * -1);top:calc(100% + var(--sp-1));z-index:var(--z-popover);min-width:220px;padding:var(--sp-2);background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow);position:absolute}.nav-menu[open]>nav{animation:drop var(--m-med) var(--m-ease)}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.nav-menu-list .nav-link{padding:0 var(--sp-3);font-size:var(--fs-400);justify-content:flex-start}.nav-menu-list .nav-link:after{left:var(--sp-3);right:var(--sp-3)}.nav-sep{height:1px;margin:var(--sp-2) var(--sp-3);background:var(--c-line);list-style:none}@media (max-width:719.98px){.brand-name{font-size:var(--fs-400)}.nav-link{padding:0 6px}.nav-link:after{left:6px;right:6px}}@media (max-width:399.98px){.nav-list li:nth-child(3){display:none}}@media (max-width:339.98px){.brand-name{display:none}}@media (min-width:400px){.nav-narrow-only{display:none}}.nav-compact-only{display:none}body:has([data-compact-chrome]) .nav-main{display:none}:is(body:has([data-compact-chrome]) .nav-compact-only,body:has([data-compact-chrome]) .nav-narrow-only){display:block}body:has([data-compact-chrome]) .site-header{justify-content:space-between}@media (min-width:720px){.site-header{gap:var(--sp-4)}.nav-link{padding:0 var(--sp-3);font-size:var(--fs-400)}.nav-link:after{left:var(--sp-3);right:var(--sp-3)}}.site-footer{border-top:1px solid var(--c-line);background:var(--c-bg);padding:var(--sp-8) max(var(--gut), calc((100% - var(--wrap)) / 2 + var(--gut))) var(--sp-8);font-size:var(--fs-300);line-height:var(--lh-snug);color:var(--c-text-2);flex-shrink:0}.footer-top{gap:var(--sp-1);margin-bottom:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--c-line);grid-template-columns:minmax(0,1fr);display:grid}.footer-brand{align-items:center;gap:var(--sp-2);min-height:var(--tap);font-size:var(--fs-500);font-weight:var(--fw-display);letter-spacing:-.02em;color:var(--c-text);display:flex;margin:0!important}@media (min-width:720px){.footer-top{column-gap:var(--sp-10);grid-template-columns:auto minmax(0,1fr)}.footer-top .footer-brand{grid-row:span 2}}.footer-credits{font-size:var(--fs-200)}.site-footer p{margin:0 0 var(--sp-2);max-width:78ch}.footer-indep{color:var(--c-text);font-weight:var(--fw-medium)}.footer-links{gap:0 var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));max-width:46rem;margin:0;padding:0;list-style:none;display:grid}.footer-links a{min-width:var(--tap);min-height:var(--tap);color:var(--c-text);align-items:center;text-decoration-color:#0000;display:inline-flex}.footer-links a:hover{text-decoration-color:currentColor}.page{max-width:var(--wrap);padding:var(--sp-6) var(--gut) var(--sp-12);margin:0 auto}.page.narrow{max-width:var(--wrap)}.page.narrow>*{max-width:720px}.lede{font-size:var(--fs-500);line-height:var(--lh-snug);color:var(--c-text);max-width:62ch}.crumbs{font-size:var(--fs-300);color:var(--c-text-2)}.crumbs a{min-height:var(--tap);color:var(--c-text-2);align-items:center;margin-block:-12px;margin-inline:-14px;padding-inline:14px;display:inline-flex}.tap-links a:not(.btn):not(.chip):not(.icon-btn){margin-inline:-8px;padding-block:14px;padding-inline:8px}.notice{background:var(--c-warn-soft);border:1px solid var(--c-warn-line);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);margin:var(--sp-4) 0}.empty{color:var(--c-text-2)}.count{color:var(--c-text-2);font-size:var(--fs-300)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--r-md);border:1px solid var(--c-accent);background:var(--c-accent);color:var(--c-accent-ink);font:inherit;font-weight:var(--fw-bold);cursor:pointer;white-space:nowrap;transition:background var(--m-fast) var(--m-ease), border-color var(--m-fast) var(--m-ease), transform var(--m-fast) var(--m-ease);max-width:100%;text-decoration:none;display:inline-flex}@media (max-width:480px){.btn{white-space:normal;text-align:center;padding-block:var(--sp-2);line-height:var(--lh-tight)}}.btn.ghost{background:var(--c-surface-solid);color:var(--c-text);border-color:var(--c-line-strong)}.btn.on{background:var(--c-accent-soft);color:var(--c-text);border-color:var(--c-accent)}.btn:active{transition-duration:var(--m-press);transform:translateY(1px)scale(.985)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}@media (hover:hover) and (pointer:fine){.btn:hover{background:color-mix(in srgb, var(--c-accent) 86%, var(--c-text));border-color:color-mix(in srgb, var(--c-accent) 86%, var(--c-text));transform:translateY(-1px)}.btn.ghost:hover{background:var(--c-hover);border-color:var(--c-text)}.btn.on:hover{background:var(--c-accent-soft)}.btn:active{transform:translateY(1px)scale(.985)}}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-md);color:var(--c-text);cursor:pointer;transition:background var(--m-fast) var(--m-ease);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--c-hover)}.row-links{gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;align-items:center;display:flex}.chip-list,.town-list{gap:var(--sp-2);margin:var(--sp-2) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.chip{min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--c-line-strong);background:var(--c-surface-solid);color:var(--c-text);font:inherit;font-size:var(--fs-300);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:background var(--m-fast) var(--m-ease), border-color var(--m-fast) var(--m-ease), transform var(--m-press) var(--m-ease);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--c-text)}.chip:active{transform:scale(.985)}.chip.on,.chip[aria-pressed=true],.chip[aria-current=true]{background:var(--c-accent);color:var(--c-accent-ink);border-color:var(--c-accent)}.chip.on .muted,.chip[aria-current=true] .muted,.chip.on .chip-n,.chip[aria-pressed=true] .chip-n,.chip[aria-current=true] .chip-n{color:inherit;opacity:.8}.chip-sm{padding:0 var(--sp-3)}.filters{gap:var(--sp-3);margin:var(--sp-4) 0;grid-template-columns:1fr;align-items:end;display:grid}.filters label{gap:var(--sp-1);font-size:var(--fs-300);color:var(--c-text-2);display:grid}input[type=search],input[type=text],input[type=email],input[type=tel],input[type=url],select,textarea{border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface-solid);min-height:48px;color:var(--c-text);font:inherit;padding:0 var(--sp-3);width:100%;transition:border-color var(--m-fast) var(--m-ease), box-shadow var(--m-fast) var(--m-ease);font-size:1rem}textarea{padding:var(--sp-3)}@media (min-width:720px){.filters{grid-template-columns:2fr 1fr 1fr auto auto}}.cards{margin:var(--sp-4) 0;gap:var(--sp-3);grid-template-columns:1fr;padding:0;list-style:none;display:grid}@media (min-width:720px){.cards{gap:var(--sp-4);grid-template-columns:repeat(2,1fr)}}@media (min-width:1040px){.cards{grid-template-columns:repeat(3,1fr)}}.card{background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4)}.card h2{font-family:var(--font);font-size:var(--fs-500);font-weight:var(--fw-bold);letter-spacing:0;margin-bottom:.2em}.card h2 a{color:var(--c-text);text-decoration:none}.card h2 a:hover{text-decoration:underline}.meta{color:var(--c-text-2);font-size:var(--fs-300);margin-bottom:.5em}.badge{font-size:var(--fs-100);font-weight:var(--fw-medium);padding:2px var(--sp-2);border-radius:var(--r-sm);background:var(--c-good-soft);color:var(--c-good);border:1px solid color-mix(in srgb, var(--c-good) 35%, transparent);display:inline-block}.facts{gap:var(--sp-2) var(--sp-4);margin:var(--sp-5) 0;padding:var(--sp-4);background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--r-lg);grid-template-columns:max-content 1fr;display:grid}.facts dt{color:var(--c-text-2)}.facts dd{word-break:break-word;margin:0}.saved{margin:var(--sp-4) 0}.town-card{--town:#e9e3d3}[data-town=silver-spring]{--town:#f0d9c7}[data-town=bethesda]{--town:#d5e1ea}[data-town=rockville]{--town:#d9e6d2}[data-town=gaithersburg]{--town:#f1e3b6}[data-town=germantown]{--town:#cfe5e0}[data-town=wheaton]{--town:#f3d5cd}[data-town=takoma-park]{--town:#e4e6bf}[data-town=potomac]{--town:#d3dde9}[data-town=clarksburg]{--town:#dbe8cc}[data-town=olney]{--town:#ecdcc0}.home-app{--stage-h:calc(100vh - var(--header-h));--sheet-peek:136px;--sheet-top-gap:64px;--guide-w:420px;background:var(--c-bg);position:relative}@supports (height:100dvh){.home-app{--stage-h:calc(100dvh - var(--header-h))}}.guide-col{max-width:760px;padding:var(--sp-6) var(--gut) var(--sp-8);flex-direction:column;margin:0 auto;display:flex}.guide-h1{margin:0 0 var(--sp-2);font-size:clamp(2rem,1.3rem + 3vw,2.5rem);line-height:1.1}.guide-tag{margin:0 0 var(--sp-4);font-size:var(--fs-400);line-height:var(--lh-snug);color:var(--c-text-2);max-width:44ch}.guide-tag b{color:var(--c-text);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.searchbox.guide-search{height:56px;padding:0 5px 0 var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--c-line-strong);background:var(--c-surface-solid);box-shadow:none;color:var(--c-text-2)}.guide-go{height:44px;padding:0 var(--sp-5);border-radius:var(--r-md);background:var(--c-accent);color:var(--c-accent-ink);font:inherit;font-weight:var(--fw-bold);cursor:pointer;transition:background var(--m-fast) var(--m-ease), transform var(--m-press) var(--m-ease);border:0;flex:none}.guide-go:hover{background:color-mix(in srgb, var(--c-accent) 86%, var(--c-text))}.guide-go:active{transform:scale(.985)}.intents{margin-top:var(--sp-4)}.intent-grid{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.intent{min-height:60px;padding:var(--sp-2) 40px var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface-solid);color:var(--c-text);transition:border-color var(--m-fast) var(--m-ease), transform var(--m-fast) var(--m-ease), background var(--m-fast) var(--m-ease);flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;text-decoration:none;display:flex;position:relative}.intent:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.intent:hover{border-color:var(--c-text);transform:translateY(-2px)}}.intent[aria-expanded=true]{border-color:var(--c-accent);background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px var(--c-accent)}.intent-ico{top:50%;right:var(--sp-3);color:var(--c-text-2);margin-top:-9px;position:absolute}.intent-ico .icon{width:18px;height:18px}.intent[aria-expanded=true] .intent-ico{color:var(--c-accent)}.intent-label{font-size:var(--fs-400);font-weight:var(--fw-bold);line-height:var(--lh-tight);white-space:nowrap}.intent-sub{max-width:100%;font-size:var(--fs-200);line-height:var(--lh-tight);color:var(--c-text-2);overflow-wrap:anywhere}.intent-step{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-4);border-radius:var(--r-lg);border:1px solid var(--c-accent);background:var(--c-surface-solid);scroll-margin:calc(var(--header-h) + var(--sp-3)) 0 var(--sp-3)}.intent-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-right:calc(var(--sp-3) * -1);display:flex}.intent-title{font-family:var(--font);font-size:var(--fs-500);font-weight:var(--fw-bold);letter-spacing:0;margin:0}.intent-block{margin:0 0 var(--sp-3)}.intent-q{margin:var(--sp-1) 0 var(--sp-2);font-size:var(--fs-200);color:var(--c-text-2);font-weight:var(--fw-medium)}.intent-step .chip-list{margin:0}.chip-n{color:var(--c-text-2);font-weight:var(--fw-regular);font-variant-numeric:tabular-nums}.chip-tag{border-style:dashed}.intent-go{width:100%;margin-top:var(--sp-2);text-align:center;white-space:normal;display:flex}.intent-status{margin:var(--sp-1) 0 var(--sp-2);font-size:var(--fs-300);line-height:var(--lh-snug)}.intent-step .note{margin:var(--sp-2) 0 0}.quick{gap:var(--sp-2);margin:var(--sp-2) 0 0;grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}.quick-link{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-2);border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface-solid);color:var(--c-text);font-size:var(--fs-300);font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--m-fast) var(--m-ease), border-color var(--m-fast) var(--m-ease), transform var(--m-fast) var(--m-ease);text-decoration:none;display:flex}.quick-link:active{transform:translateY(1px)scale(.985)}@media (hover:hover) and (pointer:fine){.quick-link:hover{background:var(--c-hover);border-color:var(--c-text);transform:translateY(-1px)}}.quick-link .icon{color:var(--c-text-2)}.guide-nomap{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);margin-top:var(--sp-5);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);border:1px solid var(--c-line);background:var(--c-surface-solid);font-size:var(--fs-300);flex-wrap:wrap;display:flex}.guide-nomap p{flex:200px;margin:0}.home-secs{gap:var(--sp-10);margin-top:var(--sp-8);flex-direction:column;display:flex}.home-sec-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.home-sec-head h2{margin:0}.home-more{min-height:var(--tap);font-size:var(--fs-300);white-space:nowrap;flex:none;align-items:center;display:inline-flex}.home-sec-note{margin:2px 0 var(--sp-4);font-size:var(--fs-300);line-height:var(--lh-snug);color:var(--c-text-2);max-width:62ch}.home-cards{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.home-towns{gap:0 var(--sp-4);margin:var(--sp-3) 0 0;font-size:var(--fs-300);flex-wrap:wrap;padding:0;list-style:none;display:flex}.home-towns a{min-width:var(--tap);min-height:var(--tap);align-items:center;display:inline-flex}.home-towns-label{min-height:var(--tap);color:var(--c-text-2);align-items:center;display:inline-flex}.home-strip{gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--brand);color:var(--paper-2);grid-template-columns:minmax(0,1fr);display:grid}.home-strip-ico{display:none}.home-strip h2{margin:0}.home-strip p{margin:var(--sp-2) 0 0;font-size:var(--fs-400);line-height:var(--lh-snug);color:var(--paper-2)}.home-strip-label{margin-bottom:calc(var(--sp-1) * -1);font-size:var(--fs-300);font-weight:var(--fw-medium);color:var(--paper-2);grid-column:1/-1}.home-strip-form{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.home-strip-form select{border-color:#0000}.home-strip .btn{background:var(--paper-2);border-color:var(--paper-2);color:var(--brand-deep)}@media (hover:hover) and (pointer:fine){.home-strip .btn:hover{background:#e9efe2;border-color:#e9efe2}}.home-strip :focus-visible{outline-color:var(--paper-2)}.home-teasers{border-top:1px solid var(--c-line);gap:0;display:grid}.home-teaser{gap:var(--sp-3);min-height:64px;padding:var(--sp-4) 0;border-bottom:1px solid var(--c-line);color:var(--c-text);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.home-teaser-ico{color:var(--c-text-2);transition:transform var(--m-fast) var(--m-ease), color var(--m-fast) var(--m-ease);order:2}.home-teaser:hover .home-teaser-ico{color:var(--c-text);transform:translate(3px)}.home-teaser strong{font-size:var(--fs-500);display:block}.home-teaser:hover strong{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.home-teaser span span{font-size:var(--fs-300);line-height:var(--lh-snug);color:var(--c-text-2);max-width:56ch;display:block}.photo-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.photo-tile{background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--r-lg);min-width:0;transition:transform var(--m-fast) var(--m-ease), border-color var(--m-fast) var(--m-ease), box-shadow var(--m-fast) var(--m-ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.photo-tile:first-child{grid-column:1/-1}.photo-frame{aspect-ratio:4/3;background:var(--c-surface-2);display:block;overflow:hidden}.photo-tile:first-child .photo-frame{aspect-ratio:3/2}.photo-frame img{object-fit:cover;width:100%;height:100%;transition:transform var(--m-image) var(--m-ease);display:block}.photo-text{padding:var(--sp-3) var(--sp-3) var(--sp-3);flex-direction:column;gap:2px;min-width:0;display:flex}.photo-name{font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--c-text);overflow-wrap:anywhere;text-decoration:none}.photo-name:after{content:"";position:absolute;inset:0}.photo-meta{font-size:var(--fs-200);color:var(--c-text-2)}@media (hover:hover) and (pointer:fine){.photo-tile:hover{border-color:var(--c-line-strong);box-shadow:var(--e-2);transform:translateY(-2px)}.photo-tile:hover .photo-frame img{transform:scale(1.03)}.photo-tile:hover .photo-name{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}}.credits{margin:var(--sp-3) 0 0;font-size:var(--fs-200);color:var(--c-text-2)}.credits summary{min-height:var(--tap);cursor:pointer;text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);align-items:center;display:inline-flex}.credits summary:hover{text-decoration-color:currentColor}.credits ul{padding:0 0 var(--sp-2);gap:var(--sp-1);margin:0;list-style:none;display:grid}.credits a{color:var(--c-text-2)}.map-stage{height:196px;margin:var(--sp-5) 0 0;border:1px solid var(--rule);border-radius:var(--r-lg);background:#0a1020;position:relative;overflow:hidden}.map-app{position:absolute;inset:0}.hero-open{z-index:14;justify-content:space-between;align-items:flex-end;gap:var(--sp-3);width:100%;padding:0 var(--sp-2) var(--sp-2) var(--sp-4);background:linear-gradient(to top, var(--paper-2) 60px, transparent 60px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:0;display:flex;position:absolute;inset:0}.hero-open:focus-visible{outline:2px solid var(--brand);outline-offset:-4px}.hero-text{min-width:0;min-height:var(--tap);flex-direction:column;justify-content:center;display:flex}.hero-eyebrow{font-size:var(--fs-200);color:var(--ink-2);line-height:var(--lh-tight)}.hero-town{font-size:var(--fs-400);font-weight:var(--fw-bold);line-height:var(--lh-tight);text-wrap:balance}@media (max-width:520px){.hero-eyebrow{display:none}}.hero-cta{align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--radius);background:var(--c-accent);color:var(--c-accent-ink);font-weight:var(--fw-bold);transition:background var(--m-fast) var(--m-ease), transform var(--m-fast) var(--m-ease);flex:none;display:inline-flex}.hero-open:active .hero-cta{transform:translateY(1px)scale(.985)}@media (hover:hover) and (pointer:fine){.hero-open:hover .hero-cta{background:var(--brand-deep);transform:translateY(-1px)}.hero-open:hover~.poster img,.hero-open:hover~* .poster img{transform:scale(1.02)}}.map-back{z-index:12;top:var(--sp-2);left:var(--sp-2);width:84px;height:48px;padding:0 var(--sp-2) 0 0;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-300);font-weight:var(--fw-bold);cursor:pointer;box-shadow:var(--e-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:center;align-items:center;gap:2px;display:inline-flex;position:absolute}.map-back:hover{background:var(--c-surface-2);border-color:var(--c-accent)}.sheet-legal{padding-top:var(--sp-4);margin-top:auto}@media (max-width:1023.98px){.home-app[data-view=map] .guide-col{max-width:none;padding:0}.home-app[data-view=map] .guide-col>:not(.map-stage){display:none}.home-app[data-view=map] .map-stage{height:var(--stage-h);border:0;border-radius:0;margin:0}.home-app[data-view=map] .hero-open,.home-app[data-view=guide] .map-app>:not(.home-map){display:none}.home-app[data-view=guide] .home-map{pointer-events:none}.home-app[data-view=guide] .home-map>:not(.poster):not(.moco-map),.home-app[data-view=guide] .home-map .maplibregl-ctrl-top-right{display:none}.home-app[data-view=guide] .home-map .maplibregl-ctrl-bottom-right{bottom:0}}.home-map{position:absolute;inset:0;overflow:hidden}.home-map .moco-map,.home-map .moco-map.maplibregl-map{width:100%;height:100%;position:absolute;inset:0}.poster{z-index:2;pointer-events:none;opacity:1;transition:opacity var(--m-slow) ease-out, visibility 0s linear 0s;background:radial-gradient(1200px 600px at 50% 0,#1b3355 0%,#0a1020 70%);position:absolute;inset:0}.poster img{object-fit:cover;width:100%;height:100%;display:block}.poster.gone{opacity:0;visibility:hidden;transition:opacity var(--m-slow) ease-out, visibility 0s linear var(--m-slow)}.poster.dim img{filter:brightness(.45)saturate(.8)}.home-search{z-index:12;top:var(--sp-2);left:calc(var(--sp-2) * 2 + 84px);right:calc(var(--sp-2) * 2 + 76px);position:absolute}.searchbox{height:48px;padding:0 1px 0 var(--sp-3);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-pill);box-shadow:var(--e-2);color:var(--c-text-2);align-items:center;gap:6px;display:flex;position:relative}.searchbox:focus-within{outline:2px solid var(--c-focus);outline-offset:2px}.searchbox input,.searchbox input[type=search]{min-width:0;min-height:var(--tap);color:var(--c-text);font-size:var(--fs-400);background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:0}.searchbox input::placeholder{color:var(--c-text-2);opacity:1}.searchbox input[type=search]{appearance:none;text-overflow:ellipsis}.searchbox input[type=search]::-webkit-search-cancel-button{appearance:none;display:none}.searchbox input[type=search]::-webkit-search-decoration{appearance:none;display:none}@media (max-width:420px){.home-search .searchbox>svg,.home-search .searchbox>.icon{display:none}.home-search .searchbox{padding-left:var(--sp-4)}.guide-go{padding:0 var(--sp-4)}}.search-go{border-radius:var(--r-pill);width:44px;height:44px;color:var(--c-text-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.search-go:hover{background:var(--c-hover);color:var(--c-text)}.search-results{z-index:20;top:calc(100% + var(--sp-2));padding:var(--sp-1);background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--e-3);max-height:50vh;color:var(--c-text);margin:0;list-style:none;position:absolute;left:0;right:0;overflow:auto}.search-results[hidden]{display:none}.search-results li{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer;min-height:var(--tap);flex-direction:column;justify-content:center;display:flex}.search-results li.active,.search-results li:hover{background:var(--c-accent-soft)}.guide-search .search-results{border-radius:var(--r-lg);box-shadow:var(--e-2)}.search-results .none{color:var(--c-text-2);cursor:default}.r-name{font-weight:var(--fw-bold)}.r-meta{font-size:var(--fs-200);color:var(--c-text-2)}.view-btn{z-index:12;top:var(--sp-2);right:var(--sp-2);justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);width:76px;height:48px;color:var(--c-text);font:inherit;font-size:var(--fs-300);font-weight:var(--fw-bold);box-shadow:var(--e-2);cursor:pointer;padding:0;display:inline-flex;position:absolute}.view-btn:hover,.view-btn[aria-expanded=true]{background:var(--c-surface-2);border-color:var(--c-accent)}.view-backdrop{z-index:39;background:var(--c-scrim);position:fixed;inset:0}.view-pop{z-index:40;background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:86vh;box-shadow:var(--e-3);animation:pop-up var(--m-med) var(--m-ease);border-bottom:0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.view-pop[hidden]{display:none}.view-pop-head{padding:var(--sp-2) var(--sp-2) var(--sp-1) var(--sp-4);flex:none;justify-content:space-between;align-items:center;display:flex}.view-pop-head h2{font-size:var(--fs-500);margin:0}.view-pop-body{padding:0 var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));overflow-y:auto}.view-about{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--c-line-soft)}@keyframes pop-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.panel-sec{padding:var(--sp-2) 0 var(--sp-3);border-bottom:1px solid var(--c-line-soft)}.panel-sec:last-of-type{border-bottom:0}.panel-h{font-family:var(--font);font-size:var(--fs-200);letter-spacing:0;color:var(--c-text-2);margin:var(--sp-2) 0;font-weight:var(--fw-medium)}.toggle-list,.tour-list,.portal-list{margin:0;padding:0;list-style:none}.toggle{align-items:center;gap:var(--sp-3);min-height:var(--tap);cursor:pointer;font-size:var(--fs-300);display:flex}.toggle input{width:20px;height:20px;accent-color:var(--c-accent);flex:none;margin:0}.toggle-note{margin:0 0 var(--sp-2) calc(20px + var(--sp-3))}.swatch{border:2px solid #fff;border-radius:50%;flex:none;width:12px;height:12px}.select-row{align-items:center;gap:var(--sp-3);font-size:var(--fs-300);min-height:var(--tap);justify-content:space-between;display:flex}.select-row select{width:auto;min-width:140px}.seg{border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;display:grid}.seg-2{grid-template-columns:repeat(2,1fr)}.seg-opt{cursor:pointer;min-height:40px;font-size:var(--fs-200);font-weight:var(--fw-medium);border-radius:calc(var(--r-md) - 3px);color:var(--c-text-2);place-items:center;display:grid;position:relative}.seg-opt input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.seg-opt.on{background:var(--c-accent);color:var(--c-accent-ink)}.seg-opt:focus-within{outline:3px solid var(--c-focus);outline-offset:1px}.tour-row{align-items:center;gap:var(--sp-1) var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.tour-btn{padding:0 var(--sp-3);font-size:var(--fs-300)}.tour-row .note{flex:120px;margin:0}.portal{margin:var(--sp-3) 0;padding:var(--sp-3);border:1px dashed var(--c-accent);border-radius:var(--r-md);background:#5cc8ff12}.vote-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.vote-row .select-row select{min-width:150px}.sheet{--sheet-visible:var(--sheet-peek);z-index:10;height:calc(var(--stage-h) - var(--sheet-top-gap));transform:translateY(calc(100% - var(--sheet-visible)));transition:transform var(--m-med) var(--m-ease);background:var(--c-surface);border-top:1px solid var(--c-line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:absolute;bottom:0;left:0;right:0}.sheet[data-snap=half]{--sheet-visible:calc(var(--stage-h) * .5)}.sheet[data-snap=full]{--sheet-visible:calc(var(--stage-h) - var(--sheet-top-gap))}.sheet.dragging{transition:none}.sheet-inner{height:var(--sheet-visible);flex-direction:column;display:flex}.sheet-head{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none}.sheet-handle{cursor:pointer;border-radius:var(--r-xl) var(--r-xl) 0 0;background:0 0;border:0;place-items:center;width:100%;height:24px;padding:0;display:grid;position:relative}.sheet-handle:before{content:"";position:absolute;inset:-20px 0 0}.sheet-grip{border-radius:var(--r-pill);background:var(--c-line-strong);width:40px;height:5px}.sheet-handle:hover .sheet-grip{background:var(--c-text-2)}.sheet-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--c-line) transparent;flex:1;min-height:0;overflow-y:auto}.sheet[data-snap=peek] .sheet-body{overflow:hidden}.sheet-panels{min-height:100%;padding:0 var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.sheet-panels[hidden],.tabpanel[hidden]{display:none}.tabpanel:focus-visible{outline-offset:-3px}.tabs{margin:0 var(--sp-4) var(--sp-1);border-radius:var(--r-md);background:var(--c-surface-2);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.tab{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:calc(var(--r-md) - 2px);min-height:40px;color:var(--c-text-2);font:inherit;font-size:var(--fs-300);font-weight:var(--fw-bold);cursor:pointer;transition:background var(--m-fast), color var(--m-fast);background:0 0;border:0;padding:0;display:flex}.tab:hover{color:var(--c-text)}.tab[aria-selected=true]{background:var(--c-surface-2);color:var(--c-text);box-shadow:var(--e-1), inset 0 0 0 1px var(--c-line)}.chips-wrap{margin:0 calc(var(--sp-4) * -1);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.sheet-panels:not([data-tab=explore]) .chips-wrap{display:none}.sheet[data-snap=peek] .sheet-panels .chips-wrap{display:block}.sheet[data-snap=peek] .tabpanel,.sheet[data-snap=peek] .sheet-legal{visibility:hidden}.scroll-row{padding:var(--sp-2) var(--sp-4) var(--sp-3);scrollbar-width:none;scroll-snap-type:x proximity;flex-wrap:nowrap;margin:0;overflow-x:auto}.scroll-row::-webkit-scrollbar{display:none}.scroll-row>li{scroll-snap-align:start;scroll-margin-left:var(--sp-4);flex:none}.feat-row{gap:var(--sp-3);margin:0 calc(var(--sp-4) * -1);padding:0 var(--sp-4) var(--sp-1);scrollbar-width:none;list-style:none;display:flex;overflow-x:auto}.feat-row::-webkit-scrollbar{display:none}.feat{width:148px;color:var(--c-text);border-radius:var(--r-md);flex-direction:column;text-decoration:none;display:flex}.feat-name{margin-top:var(--sp-2);font-size:var(--fs-300);font-weight:var(--fw-medium);line-height:var(--lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.feat-meta{font-size:var(--fs-100);color:var(--c-text-2)}.feat:hover .feat-name{text-decoration:underline}.thumb{object-fit:cover;background:var(--c-surface-2);border:1px solid var(--c-line-soft);flex:none;display:block}.thumb-lg{border-radius:var(--r-md);width:148px;height:100px}.thumb-sm{border-radius:var(--r-sm);width:48px;height:48px}.thumb-none{place-items:center;display:grid}.cat-park,.cat-trail{color:#8ff0bb;background:linear-gradient(135deg,#153a2a,#1d5238)}.cat-transit{color:#9bdcff;background:linear-gradient(135deg,#143049,#1c4a70)}.cat-public-art{color:#ffb3ea;background:linear-gradient(135deg,#3d1a3a,#5a2553)}.cat-library,.cat-rec-center,.cat-landmark,.cat-museum{color:#ffe19a;background:linear-gradient(135deg,#3b3115,#57481d)}.cat-building{color:var(--c-text-2);background:linear-gradient(135deg,#1a2540,#26365c)}.play-card{padding:var(--sp-2) 0 var(--sp-3)}.play-art{height:112px;margin-bottom:var(--sp-4);border-radius:var(--r-lg);border:1px solid var(--c-line-soft);background:radial-gradient(circle at 30% 20%, #5cc8ff59, transparent 55%), radial-gradient(circle at 80% 90%, #3ddc844d, transparent 55%), var(--c-surface-2);color:var(--c-text);align-content:center;place-items:center;gap:var(--sp-1);grid-auto-flow:row;display:grid;position:relative}.play-art span{font-weight:var(--fw-bold);font-size:var(--fs-300)}.play-date{font-size:var(--fs-200);color:var(--c-text-2);margin:0}.play-title{margin:0 0 var(--sp-1);font-size:var(--fs-600)}.play-text{margin:0 0 var(--sp-3);color:var(--c-text-2);font-size:var(--fs-300)}.play-streak{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--c-warn);font-size:var(--fs-300);background:#ffd1661f;display:flex}.play-streak span{color:var(--c-text)}.play-go{width:100%}.plist-filter{margin:var(--sp-2) 0 0}.cat-row{gap:var(--sp-2);margin:0 calc(var(--sp-4) * -1);padding:var(--sp-2) var(--sp-4);scrollbar-width:none;list-style:none;display:flex;overflow-x:auto}.cat-row::-webkit-scrollbar{display:none}.cat-row>li{flex:none}.plist .count{margin:0 0 var(--sp-1);font-size:var(--fs-200)}.plist-rows{margin:0;padding:0;list-style:none}.prow{align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-2) 0;color:var(--c-text);border-bottom:1px solid var(--c-line-soft);text-decoration:none;display:flex}.prow:hover .prow-name{text-decoration:underline}.prow-text{flex-direction:column;flex:1;min-width:0;display:flex}.prow-name{font-size:var(--fs-300);font-weight:var(--fw-medium);line-height:var(--lh-snug);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prow-meta{font-size:var(--fs-200);color:var(--c-text-2)}.prow-go{color:var(--c-text-2)}.home-about{margin-top:var(--sp-10);padding-top:var(--sp-5);border-top:1px solid var(--c-line);font-size:var(--fs-200);line-height:var(--lh-snug);color:var(--c-text-2)}.home-about p{margin:0 0 var(--sp-2)}.home-about .footer-indep{font-size:var(--fs-300)}.home-about .footer-links{font-size:var(--fs-300);margin-top:0}.noscript-note{padding:var(--sp-3) var(--sp-4);background:var(--c-surface-solid);color:var(--c-text);margin:0}.pcard{color:var(--c-text);position:relative}.pcard-close{z-index:2;top:var(--sp-2);right:var(--sp-2);background:var(--c-surface);position:absolute}.pcard-close:hover{background:var(--c-surface-solid)}.pcard-photo{margin:0}.pcard-photo img{object-fit:cover;background:var(--c-surface-2);width:100%;height:132px;display:block}.pcard-photo figcaption{padding:var(--sp-1) var(--sp-4) 0;font-size:var(--fs-100);line-height:var(--lh-snug);color:var(--c-text-2)}.pcard-photo figcaption a{color:var(--c-text-2)}.pcard-nophoto{align-items:center;gap:var(--sp-2);height:64px;padding:0 var(--sp-4);font-size:var(--fs-200);font-weight:var(--fw-medium);display:flex}.pcard-body{padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}.pcard-name{padding-right:var(--sp-8);font-size:var(--fs-500);margin:0}.pcard-photo+.pcard-body .pcard-name{padding-right:0}.pcard-meta{margin:2px 0 var(--sp-2);font-size:var(--fs-200);color:var(--c-text-2)}.pcard-line{font-size:var(--fs-300);line-height:var(--lh-snug);margin:0}.pcard-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.pcard-lines{margin-top:var(--sp-3)}.pcard-actions .btn{padding:0 var(--sp-3);font-size:var(--fs-300)}.pcard-status{min-height:0;margin:var(--sp-1) 0 0;font-size:var(--fs-200);color:var(--c-good)}.pcard-status:empty{display:none}.pcard-street{margin:var(--sp-3) 0 0;padding-top:var(--sp-2);border-top:1px solid var(--c-line-soft);font-size:var(--fs-100);line-height:var(--lh-snug);color:var(--c-text-2);flex-direction:column;display:flex}.pcard-street a{align-items:center;gap:var(--sp-1);min-height:36px;font-size:var(--fs-300);font-weight:var(--fw-medium);align-self:flex-start;display:inline-flex}.pick-float{z-index:9;top:var(--sp-4);left:var(--sp-4);width:360px;max-height:calc(100% - var(--sp-8));background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--e-3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:pop-up var(--m-med) var(--m-ease);position:absolute;overflow-y:auto}.pick-pin{pointer-events:none;width:26px;height:32px}.pick-pin span{background:var(--c-accent);width:26px;height:26px;box-shadow:var(--e-2);border:3px solid #fff;border-radius:50% 50% 50% 0;display:block;transform:rotate(-45deg)}.map-off{z-index:4;top:72px;left:var(--sp-4);right:var(--sp-4);max-width:440px;padding:var(--sp-4);gap:var(--sp-3);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--e-3);justify-items:start;margin:0 auto;display:grid;position:absolute}.map-off p{margin:0}.map-note{z-index:4;left:var(--sp-3);right:var(--sp-3);font-size:var(--fs-200);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-warn);border:1px solid #ffd16680;margin:0;position:absolute;top:64px}.tour-bar{z-index:8;gap:var(--sp-3);width:max-content;max-width:calc(100% - var(--sp-4));background:var(--c-surface);border:1px solid var(--c-accent);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);font-size:var(--fs-300);box-shadow:var(--e-2);align-items:center;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}.tour-bar .btn{flex:none}.hint{z-index:6;left:50%;bottom:calc(var(--sheet-peek) + 56px);align-items:center;gap:var(--sp-1);width:max-content;max-width:calc(100% - var(--sp-6));padding:0 var(--sp-1) 0 var(--sp-4);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-pill);box-shadow:var(--e-2);font-size:var(--fs-300);font-weight:var(--fw-medium);animation:pop-up var(--m-slow) var(--m-ease);display:flex;position:absolute;transform:translate(-50%)}.home-map .maplibregl-ctrl-top-right{z-index:5;top:60px;right:0}.home-map .maplibregl-ctrl-bottom-right{bottom:var(--sheet-peek);z-index:3}.home-map .maplibregl-ctrl-group{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--e-2);overflow:hidden}.home-map .maplibregl-ctrl-group button{width:var(--tap);height:var(--tap)}.home-map .maplibregl-ctrl-group button+button{border-top-color:var(--c-line)}.home-map .maplibregl-ctrl-group .maplibregl-ctrl-icon{filter:none}.theme-dusk .home-map .maplibregl-ctrl-group .maplibregl-ctrl-icon,:root[data-theme=dusk] .home-map .maplibregl-ctrl-group .maplibregl-ctrl-icon{filter:invert()brightness(1.6)}.home-map .maplibregl-ctrl-zoom-in,.home-map .maplibregl-ctrl-zoom-out{display:none}.home-map .maplibregl-ctrl.maplibregl-ctrl-attrib{padding:2px var(--sp-2);background:var(--c-surface);color:var(--c-text-2);border-radius:var(--r-sm) 0 0 0;margin:0;font-size:10.5px;line-height:1.4}.home-map .maplibregl-ctrl.maplibregl-ctrl-attrib a{color:var(--c-text-2)}@media (min-width:641px){.sheet{left:var(--sp-4);width:360px;right:auto}.home-search{width:320px;right:auto;left:calc(var(--sp-4) + 92px)}.map-back{left:var(--sp-4)}.home-map .maplibregl-ctrl-bottom-right{bottom:0}.hint{bottom:var(--sp-8)}}@media (min-width:641px) and (max-width:1023.98px){.home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.intent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-tile:first-child{grid-column:auto}.photo-tile:first-child .photo-frame{aspect-ratio:4/3}.map-stage{height:240px}.home-app[data-view=map] .map-stage{height:var(--stage-h)}}@media (min-width:1024px){.home-app{height:var(--stage-h);overflow:hidden}.guide-h1{font-size:2rem}.guide-col .home-sec-head h2,.guide-col .home-strip h2{font-size:1.5rem}.guide-col{width:var(--guide-w);max-width:none;height:100%;padding:var(--sp-4) var(--sp-4) var(--sp-6);overscroll-behavior:contain;background:var(--c-bg-raised);border-right:1px solid var(--c-line);scrollbar-width:thin;scrollbar-color:var(--c-line) transparent;margin:0;overflow-y:auto}.map-stage{top:0;bottom:0;right:0;left:var(--guide-w);border:0;border-radius:0;height:auto;margin:0;position:absolute}.hero-open,.map-back,.home-search{display:none}.view-btn{top:var(--sp-4);right:var(--sp-4)}.view-backdrop{background:0 0}.view-pop{top:76px;bottom:auto;left:auto;right:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);width:360px;max-height:calc(100% - 92px);position:absolute}.home-map .maplibregl-ctrl-top-right{top:72px;right:6px}.home-map .maplibregl-ctrl-zoom-in,.home-map .maplibregl-ctrl-zoom-out{display:block}.home-map .maplibregl-ctrl-attrib{font-size:11px}.tour-bar,.map-note{top:var(--sp-4)}.map-note{left:50%;right:auto;transform:translate(-50%)}.map-off{top:30%}.hint{bottom:var(--sp-10)}.pcard-photo img{height:190px}}.moco-town-label{color:var(--c-text);font-weight:var(--fw-bold);font-size:var(--fs-200);letter-spacing:0;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:var(--c-surface);border:1px solid var(--c-line);pointer-events:none;white-space:nowrap;transition:opacity var(--m-med)}.moco-labels-off .moco-town-label{opacity:0}.maplibregl-ctrl-attrib,.maplibregl-ctrl-attrib.maplibregl-compact{font-size:11px}.maplibregl-popup-content{background:var(--c-surface-solid);color:var(--c-text);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-family:var(--font);box-shadow:var(--e-3)}.maplibregl-popup-tip{border-top-color:var(--c-surface-solid)!important;border-bottom-color:var(--c-surface-solid)!important}.maplibregl-popup-close-button{color:var(--c-text);width:32px;height:32px;font-size:20px}.moco-popup strong{padding-right:var(--sp-5);margin-bottom:2px;display:block}.moco-popup p{margin:0 0 var(--sp-2);font-size:var(--fs-300);color:var(--c-text-2)}.moco-popup a{font-size:var(--fs-300)}.btn-secondary{background:var(--c-surface-solid);color:var(--c-text);border-color:var(--c-line-strong)}.btn-quiet{color:var(--c-text);background:0 0;border-color:#0000}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:var(--c-hover);border-color:var(--c-text);transform:none}.btn-quiet:hover{background:var(--c-hover);border-color:#0000;transform:none}}.status{min-height:24px;padding:0 var(--sp-3);border-radius:var(--radius-pill);font-size:var(--fs-200);font-weight:var(--fw-medium);white-space:nowrap;background:var(--c-unknown-soft);color:var(--c-unknown);align-items:center;gap:6px;line-height:1;display:inline-flex}.status-open{background:var(--c-good-soft);color:var(--c-good)}.status-unknown{background:var(--c-unknown-soft);color:var(--c-unknown)}.status-info{background:var(--c-info-soft);color:var(--c-info)}.place-card{background:var(--c-surface-solid);border:1px solid var(--c-line);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.place-card-pic{aspect-ratio:4/3;background:var(--c-surface-2);display:block;position:relative;overflow:hidden}.place-card-pic>img,.place-card-pic>picture,.place-card-pic>picture>img{object-fit:cover;width:100%;height:100%;display:block}.place-card-body{align-items:flex-start;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;display:flex}.place-card-name{font-family:var(--font);font-size:var(--fs-500);font-weight:var(--fw-bold);letter-spacing:-.01em;line-height:var(--lh-tight);color:var(--c-text);margin:0;text-decoration:none}.place-card-name:after{content:"";position:absolute;inset:0}.place-card-title{font-size:var(--fs-500);line-height:var(--lh-tight);align-self:stretch;margin:0}a.place-card-name{margin-block:-12px;padding-block:12px;display:block}.place-card-meta{font-size:var(--fs-300);line-height:var(--lh-snug);color:var(--c-text-2);margin:0}.place-card .status{margin-top:var(--sp-2)}.place-grid{margin:var(--sp-4) 0;gap:var(--sp-4);grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid}@media (min-width:560px){.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (hover:hover) and (pointer:fine){.place-card:hover{border-color:var(--c-line-strong)}.place-card:hover .place-card-pic img{transform:scale(1.02)}.place-card-pic img{transition:transform var(--m-slow) var(--m-ease)}}.src-btn{align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-2);color:var(--c-text-2);font:inherit;font-size:var(--fs-300);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.src-btn:hover{color:var(--c-text)}.sheet-surface{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow);color:var(--c-text)}@media (min-width:1024px){.sheet-surface{border-radius:var(--radius)}.sheet-side{z-index:var(--z-sheet);top:var(--sp-3);bottom:var(--sp-3);left:var(--sp-3);width:min(var(--panel-w), calc(100% - 2 * var(--sp-3)));position:absolute;overflow-y:auto}}.toast{z-index:var(--z-toast);left:50%;bottom:calc(var(--sp-6) + env(safe-area-inset-bottom,0px));max-width:min(92vw,420px);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--c-text);color:var(--c-bg);font-size:var(--fs-300);box-shadow:var(--shadow);animation:toast-in var(--m-med) var(--m-ease) both;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.nf{padding-top:var(--sp-12);min-height:calc(100svh - var(--header-h));box-sizing:border-box}.nf-search{margin:var(--sp-6) 0 var(--sp-4);max-width:520px;box-shadow:none;border-color:var(--c-line-strong)}.nf-links{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}
