[data-template=interactive-map] .page-hero p{max-width:56ch}[data-template=interactive-map] .page-hero-label{letter-spacing:.28em}.map-floor{padding:clamp(var(--s-9),9vw,var(--s-12)) 0 0;scroll-margin-top:var(--s-12)}.map-first{padding-top:clamp(var(--s-7),5vw,var(--s-9))}.map-last{padding-bottom:clamp(var(--s-9),9vw,var(--s-12))}.map-main .section-heading{margin-bottom:clamp(var(--s-6),3.4vw,var(--s-7))}.map-main .section-heading h2{font-size:var(--fluid-h2);line-height:var(--lh-h2);max-width:22ch;margin-bottom:var(--s-3)}.map-main .section-heading p{font-size:var(--fs-card-body);line-height:var(--lh-body);max-width:62ch}.map-main button,.map-main input{font-family:var(--font-ui)}.map-main button{cursor:pointer}.map-main button:disabled{cursor:not-allowed;color:var(--text-disabled)}.map-regions{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-4)}.map-regions button{flex:none;display:flex;flex-direction:column;gap:3px;min-width:118px;padding:var(--s-2) var(--s-3);text-align:left;border:var(--border-width) solid var(--border-default);border-radius:var(--radius);background:transparent;color:var(--text-secondary);transition:border-color var(--d-ui) var(--e-settle),background var(--d-ui) var(--e-settle)}.map-regions button>small{font-size:var(--fs-label);color:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-regions button>small:first-child{font-weight:var(--fw-semibold);letter-spacing:var(--ls-meta)}.map-regions button>span{font-size:var(--fs-meta)}.map-regions button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.map-regions button[aria-pressed=true]>small{color:var(--text-on-accent)}.map-regions button:disabled{color:var(--text-disabled);border-color:var(--border-soft)}.map-regions button:disabled>small{color:inherit}.map-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:clamp(var(--s-3),1.8vw,var(--s-5));align-items:start}.map-viewport{min-width:0;position:relative;border:var(--border-width) solid var(--border-default);border-radius:var(--radius);background:var(--surface-well);overflow:hidden;cursor:grab}.map-viewport:active{cursor:grabbing}.map-viewport [data-stage]{touch-action:none;position:absolute;inset:0;transform-origin:0 0;will-change:transform;transition:none}.map-viewport [data-stage][data-animated=true]{transition:transform var(--d-card) var(--e-entry)}.map-plate{position:absolute;inset:0}.map-plate>.media-slot{height:100%;width:100%}.map-plate .media-slot img{object-fit:fill}.map-plate-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--s-5)}.map-plate-placeholder>div:first-child{position:absolute;inset:14px;border:var(--border-width) dashed var(--placeholder-border)}.map-plate-placeholder>div:last-child{position:relative}.map-plate-placeholder span{display:block;font-size:var(--fs-meta);color:var(--text-secondary);margin-bottom:var(--s-1)}.map-plate-placeholder small{display:block;font-size:var(--fs-label);color:var(--marker-soft);letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-plate-placeholder small:last-child{font-size:var(--fs-label);color:var(--text-caption);letter-spacing:.06em;margin-top:var(--s-2)}.map-icon{display:inline-flex;flex:none;color:var(--map-tone);font-size:var(--fs-meta);line-height:var(--lh-tight);width:15px;height:15px}.map-icon,.map-pin{align-items:center;justify-content:center}.map-pin{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;padding:0;border:none;background:transparent;display:flex;transition:opacity var(--d-swap-out) var(--e-exit)}.map-pin[data-visible=false]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--d-swap-out) var(--e-exit),visibility 0s var(--d-swap-out)}.map-pin>.map-icon{transition:transform var(--d-ui) var(--e-emphasis);text-shadow:0 0 2px var(--surface-page)}.map-pin:focus-visible>.map-icon,.map-pin:hover>.map-icon{transform:scale(1.45)}.map-zoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:var(--s-1)}.map-zoom button{width:34px;height:34px;padding:0;font-size:var(--fs-card-body);line-height:var(--lh-tight);color:var(--text-secondary);background:var(--scrim-nav);-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur);border:var(--border-width) solid var(--border-default);border-radius:var(--radius);transition:border-color var(--d-ui) var(--e-settle),color var(--d-ui) var(--e-settle)}.map-zoom button:hover{border-color:var(--marker-soft);color:var(--text-primary)}.map-zoom-level{left:12px;top:12px;padding:var(--s-1) var(--s-2);font-size:var(--fs-label);color:var(--text-caption);letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--scrim-nav)}.map-popup,.map-zoom-level{position:absolute;-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur);border:var(--border-width) solid var(--border-default);border-radius:var(--radius)}.map-popup{touch-action:pan-y;overscroll-behavior:contain;width:min(250px,calc(100% - 12px));max-height:calc(100% - 12px);overflow:auto;padding:var(--s-3) var(--s-6) var(--s-3) var(--s-3);background:var(--scrim-drawer);box-shadow:var(--shadow-card);z-index:5;cursor:auto}.map-popup-category{display:block;font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-meta);margin-bottom:var(--s-1)}.map-popup strong{display:block;font-size:var(--fs-card-body);line-height:var(--lh-h4);margin-bottom:3px}.map-popup a,.map-popup p,.map-popup small{font-size:var(--fs-label);color:var(--text-caption);line-height:var(--lh-caption)}.map-popup a,.map-popup small{display:block}.map-popup button{position:absolute;right:4px;top:4px;width:22px;height:24px;background:transparent;border:0;color:var(--text-secondary)}.map-categories{min-width:0;display:flex;flex-direction:column;border:var(--border-width) solid var(--border-default);border-radius:var(--radius);background:var(--surface-card);overflow:hidden}.map-categories-title{padding:var(--s-3) var(--s-4);font-family:var(--font-ui);font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-meta);color:var(--text-caption);border-bottom:var(--border-width) solid var(--border-soft);background:var(--surface-alt)}.map-categories [data-cats]{display:flex;flex-direction:column;max-height:404px;overflow-y:auto}.map-categories label{position:relative;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);cursor:pointer;border-bottom:var(--border-width) solid var(--border-soft);transition:background var(--d-ui) var(--e-settle)}.map-categories label:hover,.map-locations article:hover{background:var(--surface-card-hover)}.map-categories input{flex:none;width:15px;height:15px;accent-color:var(--map-tone);cursor:pointer}.map-categories label>span:not(.map-icon){flex:1 1;min-width:0}.map-categories label>span>span{display:block;font-size:var(--fs-meta);color:var(--text-secondary);line-height:var(--lh-caption)}.map-categories small{display:block;font-size:var(--fs-label);color:var(--text-caption);line-height:var(--lh-caption)}.map-categories label>small{font-size:var(--fs-label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-category-actions{display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:var(--border-width) solid var(--border-soft)}.map-category-actions button,.map-clear button{height:34px;padding:0 var(--s-3);font-size:var(--fs-label);color:var(--text-secondary);background:transparent;border:var(--border-width) solid var(--border-soft);border-radius:var(--radius);transition:border-color var(--d-ui) var(--e-settle),color var(--d-ui) var(--e-settle)}.map-category-actions button{flex:1 1;height:32px}.map-category-actions button:hover,.map-clear button:hover{border-color:var(--marker-soft);color:var(--text-primary)}.map-note{margin-top:var(--s-4);font-size:var(--fs-meta);color:var(--text-caption);line-height:var(--lh-caption);max-width:78ch}.map-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 clamp(var(--s-6),4vw,var(--s-8));border-top:var(--border-width) solid var(--border-default)}.map-legend>div{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) 0;border-bottom:var(--border-width) solid var(--border-soft)}.map-legend .map-icon{margin-top:var(--s-1)}.map-legend span{font-size:var(--fs-card-body);line-height:var(--lh-h4)}.map-legend small{font-size:var(--fs-meta);color:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-legend p{font-size:var(--fs-meta);color:var(--text-secondary);line-height:var(--lh-caption);margin-top:2px}.map-search{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end;justify-content:space-between;margin:clamp(var(--s-6),3.4vw,var(--s-7)) 0 var(--s-5)}.map-search label{display:flex;flex-direction:column;gap:var(--s-2);flex:1 1;min-width:min(100%,240px)}.map-search label>span{font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-meta);color:var(--text-caption)}.map-search input{height:40px;padding:0 var(--s-3);font-size:var(--fs-meta);color:var(--text-primary);background:var(--surface-input);border:var(--border-width) solid var(--border-default);border-radius:var(--radius)}.map-search>span{font-size:var(--fs-meta);color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-bottom:var(--s-3)}.map-locations{border-top:var(--border-width) solid var(--border-default)}.map-locations article{position:relative;display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-3);border-bottom:var(--border-width) solid var(--border-soft);transition:background var(--d-ui) var(--e-settle)}.map-locations input{flex:none;margin-top:var(--s-1);width:15px;height:15px;accent-color:var(--ok);cursor:pointer}.map-locations .map-icon{margin-top:var(--s-2)}.map-locations article>div{flex:1 1;min-width:0}.map-location-name{display:block;text-align:left;padding:0;border:0;background:transparent;color:var(--text-primary);font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-h4);transition:color var(--d-ui) var(--e-settle)}.map-locations [data-collected=true] .map-location-name{color:var(--text-caption);text-decoration:line-through}.map-locations small{display:block;color:var(--text-caption);margin:2px 0 var(--s-1)}.map-locations p,.map-locations small{font-size:var(--fs-meta);line-height:var(--lh-caption)}.map-locations p{color:var(--text-secondary);max-width:66ch}.map-locations a{font-size:var(--fs-meta)}.map-verification{flex:none;font-size:var(--fs-label);color:var(--text-caption);letter-spacing:.06em;padding-top:var(--s-1)}.map-verification[data-verification=confirmed]{color:var(--ok)}.map-verification[data-verification=partial]{color:var(--warn)}.map-empty{padding:clamp(var(--s-6),4vw,var(--s-8));text-align:center;font-size:var(--fs-card-body);color:var(--text-caption)}.map-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(var(--s-6),4vw,var(--s-8));align-items:start}.map-progress{border-top:var(--border-width) solid var(--border-default)}.map-progress>div{padding:var(--s-4) 0;border-bottom:var(--border-width) solid var(--border-soft)}.map-progress>div>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-2);font-size:var(--fs-card-body)}.map-progress small{font-size:var(--fs-label);color:var(--text-caption)}.map-progress>div>div:first-child>span:last-child{font-size:var(--fs-meta);color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-progress-summary]{font-size:var(--fs-meta);color:var(--text-secondary);margin-top:var(--s-3)}.map-clear{display:flex;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-4) 0}.map-clear>span{font-size:var(--fs-meta);color:var(--ok);align-self:center}.map-storage-error{font-size:var(--fs-meta);color:var(--warn);margin-top:var(--s-3)}.map-comparison-placeholder{position:relative;aspect-ratio:4/3;background:var(--surface-well);border:var(--border-width) solid var(--border-default);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--s-5);font-size:var(--fs-meta);color:var(--text-secondary)}.map-comparison-placeholder:before{content:"";position:absolute;inset:12px;border:var(--border-width) dashed var(--placeholder-border)}.map-comparison-placeholder small{font-size:var(--fs-label);color:var(--marker-soft);letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:var(--s-1)}.map-caption{margin-top:var(--s-3);font-size:var(--fs-meta);color:var(--text-caption);line-height:var(--lh-caption)}.map-instructions{margin:0;padding:0;list-style:none;border-top:var(--border-width) solid var(--border-soft)}.map-instructions li{display:flex;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:var(--border-width) solid var(--border-soft)}.map-instructions li>span{flex:none;width:22px;font-size:var(--fs-meta);color:var(--marker);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-instructions h3{font-size:var(--fluid-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);margin-bottom:var(--s-1)}.map-instructions p{font-size:var(--fs-meta);color:var(--text-secondary);line-height:var(--lh-caption)}.map-faq,.map-sources{border-top:var(--border-width) solid var(--border-default)}.map-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(var(--s-6),4vw,var(--s-8));padding-top:clamp(var(--s-5),2.6vw,var(--s-6))}.map-sources h3{font-family:var(--font-display);font-size:var(--fluid-h3);font-weight:var(--display-weight);line-height:var(--lh-h3);letter-spacing:var(--ls-h2);color:var(--text-primary);margin-bottom:var(--s-3)}.map-sources>div>div{margin-bottom:var(--s-2);font-size:var(--fs-meta);color:var(--text-secondary)}.map-sources small{display:block}.map-source-references{display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--fs-meta);color:var(--text-caption);margin-top:var(--s-5)}.map-source-note{margin-top:clamp(var(--s-6),3.4vw,var(--s-7));padding-top:var(--s-5);border-top:var(--border-width) solid var(--border-soft);font-size:var(--fs-label);color:var(--text-caption);max-width:78ch}.map-body,.map-source-note{line-height:var(--lh-caption)}.map-body{font-size:var(--fs-meta);color:var(--text-secondary);margin-top:var(--s-4)}@media(max-width:767px){.map-grid{grid-template-columns:minmax(0,1fr)}.map-main button,.map-main input[type=search]{min-height:44px}.map-pin{width:44px;height:44px;margin:-22px 0 0 -22px}.map-categories label,.map-locations article{min-height:48px}.map-categories input,.map-locations input{width:20px;height:20px}.map-zoom button{width:44px}.map-popup button{width:32px}.map-locations article{flex-wrap:wrap}.map-locations .map-verification{margin-left:auto}}@media(prefers-reduced-motion:reduce){.map-pin,.map-pin>.map-icon,.map-progress .coverage-track>div,.map-viewport [data-stage]{transition:none!important}}@media(hover:none),(pointer:coarse){.map-categories label:hover,.map-locations article:hover{background:transparent}.map-pin:hover>.map-icon{transform:none}.map-pin:active>.map-icon{transform:scale(1.45)}}.map-progress .coverage-track{height:3px;background:var(--surface-well);border-radius:var(--radius);overflow:hidden}.map-progress .coverage-track>div{height:100%;background:var(--accent)}.map-categories-title,.map-popup-category,.map-search label>span{font-size:var(--fs-label)}.map-caption,.map-categories label>small,.map-categories small,.map-clear>span,.map-legend p,.map-legend small,.map-locations a,.map-locations small,.map-note,.map-popup a,.map-popup p,.map-popup small,.map-progress small,.map-progress>div>div:first-child>span:last-child,.map-search>span,.map-source-note,.map-source-references,.map-storage-error,.map-verification,.map-zoom-level,[data-progress-summary]{font-size:var(--fs-meta)}.map-body,.map-categories label>span>span,.map-instructions p,.map-locations p,.map-sources>div>div{font-size:var(--fs-card-body)}.map-search input{height:var(--hit-min);font-size:var(--fs-body)}.map-category-actions button,.map-clear button,.map-location-name,.map-pin,.map-popup button,.map-zoom button{min-width:var(--hit-min);min-height:var(--hit-min)}.map-category-actions button,.map-clear button{font-size:var(--fs-meta)}.map-pin{margin:-22px 0 0 -22px}.map-popup{padding-right:var(--s-9)}.map-regions button>small{font-size:var(--fs-meta)}.map-regions button>small:first-child{font-size:var(--fs-label)}