@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,600;6..72,700&display=swap";.locus360-app-route .public-landing{display:none}html:not(.locus360-app-route){scroll-padding-top:92px}.public-landing{color:#292622;background:#fbfaf6;min-height:100vh;font-family:DM Sans,system-ui,sans-serif}.public-landing>main{width:100%;max-width:none;margin:0;padding:0;scroll-margin-top:0}.public-landing *{box-sizing:border-box}.public-landing a{color:inherit}.public-landing__header,.public-landing__hero,.public-landing__picker,.public-landing__section{width:min(100% - 56px,1200px);margin-inline:auto}.public-landing__header{z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#fffdf8eb,#f9f7f1db);border-bottom:1px solid #ddd7ccd1;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:clamp(24px,4vw,58px);width:100%;min-height:76px;padding:10px clamp(28px,4.2vw,84px);display:grid;position:sticky;top:0;box-shadow:0 14px 38px #2926220e}.public-landing__brand{border:1px solid #0000;border-radius:14px;align-items:center;width:fit-content;max-width:100%;padding:4px 8px 4px 0;display:inline-flex}.public-landing__brand img{object-fit:contain;width:190px;height:52px;display:block}.public-landing__header nav{background:#fffdf89e;border:1px solid #ddd7cca3;border-radius:999px;flex-wrap:nowrap;grid-column:2;justify-self:center;align-items:center;gap:4px;padding:5px;display:flex;box-shadow:inset 0 1px #ffffffb3}.public-landing__header nav a{border-radius:999px;align-items:center;min-height:42px;padding:0 14px;font-size:16px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.public-landing__header nav a:hover,.public-landing__header nav a:focus-visible{color:#21466f;background:#7ba4db24;outline:none}.public-landing__hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,3vw,40px);padding-block:clamp(48px,5vw,68px);display:grid}.public-landing__hero-copy{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.public-landing__eyebrow{color:#b84b2f;letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:800}.public-landing h1,.public-landing h2,.public-landing h3{color:#292622}.public-landing h1,.public-landing h2{letter-spacing:-.035em;font-family:Newsreader,Georgia,serif}.public-landing h1{max-width:660px;margin:0;font-size:clamp(46px,4.2vw,66px);line-height:1.06}.public-landing__lead{color:#615b54;max-width:600px;margin:22px 0 0;font-size:clamp(17px,1.5vw,20px);line-height:1.55}.public-landing__actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.public-landing__hero .public-landing__actions{justify-content:flex-start}.public-landing__button{text-align:center;border:1px solid #b84b2f;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:11px 19px;font-size:14px;font-weight:800;line-height:1.3;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.public-landing__button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2926221f}.public-landing__button--primary{background:#b84b2f;color:#fff!important}.public-landing__button--secondary{background:0 0;color:#923b25!important}.public-landing__visual{justify-self:end;width:100%;max-width:680px}.public-landing__visual img{width:100%;height:auto;display:block}.public-landing__picker{border-top:1px solid #e3ddd3;padding:20px 0 16px}.public-landing__picker .public-landing__eyebrow{color:#b84b2f;margin-bottom:6px}.public-landing__picker-intro,.public-landing .public-landing__picker-intro h2{max-width:none}.public-landing__picker-intro>p:last-child{color:#615b54;margin:8px 0 0;font-size:16px;line-height:1.5}.public-landing__picker-layout{flex-direction:column;gap:8px;margin-top:12px;display:flex}.public-landing__map-wrap{width:100%;min-width:0;max-width:880px;margin-inline:auto}.public-landing__map-shell{position:relative}.public-landing__map{aspect-ratio:3/2;background:#fbfaf6;border:1px solid #e2dbcf;border-radius:19px;min-height:360px;overflow:hidden}.public-landing__map.is-zoomed{overflow:auto}.public-landing__map-loading{color:#615b54;place-items:center;height:100%;margin:0;font-size:15px;display:grid}.public-landing__map svg{shape-rendering:geometricprecision;width:100%;height:auto;display:block}.public-landing__map-tools{z-index:2;background:#fffdf8f5;border:1px solid #d5dfeb;border-radius:13px;gap:5px;padding:5px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 20px #21466f1f}.public-landing__map-tools button{color:#21466f;cursor:pointer;background:#fff;border:1px solid #b9cee6;border-radius:9px;place-items:center;width:38px;height:38px;padding:0;font:700 23px/1 DM Sans,system-ui,sans-serif;display:grid}.public-landing__map-tools button:hover:not(:disabled),.public-landing__map-tools button:focus-visible{background:#e8f0fb;border-color:#6b97c6;outline:none}.public-landing__map-tools button:disabled{opacity:.4;cursor:default}.public-landing__map a{outline:none}.public-landing__map path{fill:#a8c4e7;stroke:#fff;stroke-width:1.25px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .14s}.public-landing__map a:hover path,.public-landing__map a:focus-visible path,.public-landing__map a.is-selected path{fill:#3d6eaf;stroke:#21466f;stroke-width:2px}.public-landing__map a:focus-visible{outline:none}.public-landing__map-zoom-hint{color:#456990;margin:6px 2px 0;font-size:13px}.public-landing__map-zoom-hint[hidden]{display:none}.public-landing__map-caption{color:#315e98;min-height:22px;margin:6px 2px 0;font-size:14px;font-weight:700}.public-landing__map-caption:empty{display:none}.public-landing__picker-controls{background:#fff;border:1px solid #e2dbcf;border-radius:18px;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;column-gap:18px;width:100%;padding:10px 16px;display:grid}.public-landing__picker-controls label{color:#292622;grid-area:1/1;margin:0;font-size:14px;font-weight:800;display:block}.public-landing__combobox{grid-area:1/2;position:relative}.public-landing__picker-controls input{color:#292622;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #adc4df;border-radius:10px;padding:8px 12px;font-size:15px;display:block}.public-landing__picker-controls input:focus-visible{outline-offset:2px;outline:3px solid #80a9d7}.public-landing__picker-controls input:disabled{opacity:.6}.public-landing__results{z-index:20;background:#fff;border:1px solid #adc4df;border-radius:10px;width:100%;max-height:270px;margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 28px #21466f29}.public-landing__results[hidden]{display:none}.public-landing__results li{color:#292622;cursor:pointer;border-radius:6px;padding:9px 10px;font-size:14px;line-height:1.3}.public-landing__results li:hover,.public-landing__results li.is-active{color:#21466f;background:#e8f0fb}.public-landing__picker-hint{color:#456990;grid-area:1/3;margin:0;font-size:13px;line-height:1.5}.public-landing__picker-hint:empty{display:none}.public-landing section[id]{scroll-margin-top:0}.public-landing__section{border-top:1px solid #e3ddd3;padding-block:42px 50px}.public-landing h2{max-width:780px;margin:0;font-size:clamp(34px,3.5vw,52px);line-height:1.06}.public-landing__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px;display:grid}.public-landing__cards article{background:#fff;border:1px solid #e2dbcf;border-radius:17px;min-height:164px;padding:22px}.public-landing__cards article>span{color:#b84b2f;letter-spacing:.1em;font-size:20px;font-weight:800;line-height:1;display:block}.public-landing h3{margin:14px 0 8px;font-size:20px;line-height:1.25}.public-landing__cards p,.public-landing__section--audience p:not(.public-landing__eyebrow),.public-landing__service p{color:#615b54;font-size:16px;line-height:1.55}.public-landing__cards p{margin:0}.public-landing__section--audience{grid-template-columns:1fr 1fr;gap:40px;display:grid}.public-landing__section--audience p:not(.public-landing__eyebrow){margin:0 0 12px}.public-landing__services-intro{color:#615b54;max-width:670px;margin:18px 0 0;font-size:17px;line-height:1.6}.public-landing__services-intro a{color:#315e98;text-underline-offset:3px;font-weight:700;text-decoration:underline}.public-landing__services-intro a:hover,.public-landing__services-intro a:focus-visible{color:#21466f}.public-landing__service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.public-landing__service{background:#fff;border:1px solid #e2dbcf;border-radius:17px;flex-direction:column;min-height:180px;padding:20px;display:flex}.public-landing__service--featured{background:#edf3fa;border-color:#d3e1ef}.public-landing__service>span{color:#b84b2f;letter-spacing:.1em;font-size:12px;font-weight:800}.public-landing__service h3{margin:14px 0 0;font-size:clamp(19px,1.8vw,25px);line-height:1.22}.public-landing__service p{margin:7px 0 0}.public-landing__service a{color:#315e98;text-underline-offset:4px;align-self:flex-start;margin-top:auto;padding-top:10px;font-size:15px;font-weight:800;text-decoration:underline}.public-landing .app-footer__links a{color:#315b88;text-underline-offset:2px;text-decoration:underline}.public-landing .app-footer__links a:hover,.public-landing .app-footer__links a:focus-visible{color:#1d4773}.public-landing__legal{color:#292622;background:#fffdf8;border:1px solid #ddd5c8;border-radius:20px;width:min(760px,100vw - 48px);max-height:min(820px,100dvh - 48px);padding:0;font:15px/1.62 DM Sans,system-ui,sans-serif;overflow:hidden;box-shadow:0 24px 70px #23272547}.public-landing__legal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#20262394}.public-landing__legal-header{border-bottom:1px solid #e7e0d5;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 18px;display:flex}.public-landing__legal-header h2{margin:3px 0 0;font:700 clamp(28px,4vw,38px)/1.15 Newsreader,Georgia,serif}.public-landing__legal-header button{color:#315b88;cursor:pointer;background:#fff;border:1px solid #d9d1c5;border-radius:50%;place-items:center;width:40px;height:40px;font:26px/1 Arial,sans-serif;display:grid}.public-landing__legal-header button:hover,.public-landing__legal-header button:focus-visible{background:#edf4fc}.public-landing__legal-content{color:#4f4a44;scrollbar-gutter:stable;max-height:calc(min(820px,100dvh - 48px) - 94px);padding:22px 26px 30px;overflow-y:auto}.public-landing__legal-content h3{color:#2c2925;margin:22px 0 5px;font-size:17px}.public-landing__legal-content h3:first-of-type{margin-top:14px}.public-landing__legal-content p{margin:0 0 12px}.public-landing__legal-content a{color:#245486}.public-landing__legal-content code{background:#f0ebe3;border-radius:5px;padding:2px 5px;font-size:.9em}.public-landing__legal-updated{color:#746d64;border-top:1px solid #e7e0d5;padding-top:16px;font-size:12px;margin-top:28px!important}@media (width<=600px){.public-landing__legal{border-radius:18px 18px 0 0;width:100%;max-width:none;max-height:92dvh;margin:0;position:fixed;inset:auto 0 0}.public-landing__legal-header{padding:18px 18px 14px}.public-landing__legal-content{max-height:calc(92dvh - 82px);padding:18px 18px 28px}}@media (width>=761px) and (width<=1560px){.public-landing__header{min-height:0;padding:9px 20px}.public-landing__brand img{width:170px;height:46px}}@media (width<=1050px){html:not(.locus360-app-route){scroll-padding-top:92px}.public-landing__header{grid-template-columns:auto minmax(0,1fr);gap:12px}.public-landing__brand img{width:150px;height:42px}.public-landing__header nav{grid-column:2;justify-self:end}.public-landing__header nav a{padding-inline:9px;font-size:14px}.public-landing__button{font-size:16px}.public-landing__picker-controls label{font-size:15px}.public-landing__picker-controls input{font-size:16px}.public-landing__results li{font-size:15px}.public-landing__picker-hint{font-size:14px}.public-landing .app-footer{font-size:12px}.public-landing__hero{padding-block:30px 24px}.public-landing h1{font-size:clamp(40px,4.4vw,50px)}.public-landing__cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.public-landing__cards article{min-height:170px;padding:22px}.public-landing__cards article:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}.public-landing__section--audience{grid-template-columns:1fr;gap:14px}.public-landing__section--audience p:not(.public-landing__eyebrow){margin-bottom:12px}.public-landing__service-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.public-landing__service{min-height:150px;padding:18px}.public-landing__service--featured{grid-column:span 2;min-height:150px}.public-landing__section{padding-block:42px 50px}}@media (width<=900px){.public-landing__hero{grid-template-columns:1fr;gap:8px}.public-landing__hero-copy{text-align:center;align-items:center}.public-landing__hero .public-landing__actions{justify-content:center}.public-landing__visual{justify-self:center;max-width:380px}}@media (width>=761px) and (width<=1050px){.public-landing__section{padding-block:30px 36px}.public-landing__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.public-landing__cards article,.public-landing__cards article:last-child{grid-column:auto;justify-self:stretch;width:100%;min-height:0;padding:18px}.public-landing__cards h3{margin:12px 0 7px;font-size:18px}}@media (width<=760px){html:not(.locus360-app-route){scroll-padding-top:106px}.public-landing__hero,.public-landing__picker,.public-landing__section,.public-landing__header{flex-direction:column;align-items:stretch;gap:6px;min-height:0;padding:9px 18px 8px}.public-landing__hero,.public-landing__picker,.public-landing__section{width:min(100% - 32px,1200px);padding-inline:0}.public-landing__header{gap:0;padding:8px 14px 5px;display:flex}.public-landing__brand{padding:2px 4px 2px 0}.public-landing__brand img{width:112px;height:34px}.public-landing__header nav{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;justify-content:center;gap:clamp(6px,2.2vw,9px);padding:0}.public-landing__header nav a{white-space:nowrap;justify-content:center;min-height:42px;padding-inline:1px;font-size:clamp(12px,3.6vw,14px)}.public-landing__hero{gap:6px;padding-block:20px 16px}.public-landing h1{font-size:clamp(38px,8vw,52px);line-height:1.04}.public-landing__lead{margin-top:12px;font-size:16px;line-height:1.5}.public-landing__actions{margin-top:16px}.public-landing__button{min-height:44px}.public-landing__visual{max-width:350px}.public-landing__picker{padding:14px 0 20px}.public-landing__picker-intro>p:last-child{font-size:15px}.public-landing__picker-layout{gap:10px;margin-top:12px}.public-landing__picker-controls{grid-template-columns:1fr;padding:12px}.public-landing__picker-controls label{grid-area:1/1;margin-bottom:6px}.public-landing__combobox{grid-area:2/1}.public-landing__picker-hint{grid-area:3/1;margin:10px 0 0}.public-landing__picker-controls input{min-height:44px}.public-landing__results li{align-items:center;min-height:44px;font-size:16px;display:flex}.public-landing__map{min-height:0}.public-landing__map.is-zoomed{scrollbar-width:none}.public-landing__map.is-zoomed::-webkit-scrollbar{display:none}.public-landing__map path{stroke-width:.75px}.public-landing__map.is-zoomed path{stroke-width:1px}.public-landing__map a:hover path,.public-landing__map a:focus-visible path,.public-landing__map a.is-selected path{stroke-width:1.5px}.public-landing__map-tools{gap:3px;padding:3px;bottom:8px;right:8px}.public-landing__map-tools button{width:40px;height:40px;font-size:20px}.public-landing__cards{grid-template-columns:1fr;gap:10px;margin-top:18px}.public-landing__cards article,.public-landing__cards article:last-child{grid-column:auto;justify-self:stretch;width:100%;min-height:0;padding:17px}.public-landing__service-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.public-landing__service,.public-landing__service--featured{grid-column:auto;min-height:0;padding:16px}.public-landing__service h3{margin-top:10px}.public-landing h3{margin-top:12px}.public-landing__section{padding-block:34px 40px}}@media (width<=420px){.public-landing__actions{flex-wrap:nowrap;gap:8px;width:100%}.public-landing__actions .public-landing__button{flex:1;min-width:0;padding-inline:7px;font-size:14px}.public-landing__visual{max-width:280px}}@media (width<=350px){.public-landing__actions{flex-wrap:wrap}.public-landing__actions .public-landing__button{flex-basis:100%}}:root{--font-main:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Newsreader", Georgia, serif;font-family:var(--font-main);color:#292622;font-synthesis:none;text-rendering:optimizelegibility;--ink:#292622;--muted:#6c665e;--paper:#fbfaf6;--line:#ddd7cc;--rust:#b84b2f;--teal:#276b63;--brand-blue:#7ba4db;--brand-blue-dark:#5f8fd0;--soft-blue:#7ba4db33;--gold:#bb8a38;--soft-teal:#e0ece8;--soft-rust:#f2e3dd;--page-max:2200px;--page-gutter:clamp(24px, 4vw, 96px);--surface-glass:#fffdf8db;--shadow-soft:0 22px 60px #29262212;--shadow-card:0 14px 34px #2926220e;background:#f3f0e9}@media (width<=1050px){.chart-card.jobs-by-activity-card>.chart-card__plot{margin-top:12px;overflow:visible;height:auto!important;min-height:0!important}.chart-card.jobs-by-activity-card .chart-card__lazy-shell{height:auto!important;min-height:0!important}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile{width:100%;min-width:0}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile>p{color:var(--muted);text-align:left;margin:0 0 8px;font-size:10px;line-height:1.35}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__chart{width:100%;min-width:0}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__legend{color:#56514a;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 4px;font-size:10px;line-height:1.25;display:flex}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__legend span{grid-template-columns:9px minmax(0,1fr);align-items:center;gap:4px;min-width:0;display:inline-grid}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__legend i{border-radius:2px;width:9px;height:9px}.chart-card.jobs-by-activity-card text.jobs-by-activity-axis-tick{font-size:10px!important}.chart-card.jobs-by-activity-card .recharts-xAxis .recharts-cartesian-axis-tick text{font-size:9.5px!important}.chart-card.jobs-by-activity-card .recharts-default-legend,.chart-card.jobs-by-activity-card .recharts-legend-item-text,.chart-card.jobs-by-activity-card .recharts-legend-wrapper{font-size:10px!important;line-height:1.2!important}}@media (width<=760px){.chart-card.jobs-by-activity-card>.chart-card__plot{margin-top:9px}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile>p{margin-bottom:5px;font-size:9px}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__legend{gap:3px 8px;margin-bottom:2px;font-size:8.5px}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__legend span{grid-template-columns:8px minmax(0,1fr);gap:3px}.chart-card.jobs-by-activity-card .jobs-by-activity-mobile__legend i{width:8px;height:8px}.chart-card.jobs-by-activity-card text.jobs-by-activity-axis-tick{font-size:8.5px!important}.chart-card.jobs-by-activity-card .recharts-xAxis .recharts-cartesian-axis-tick text,.chart-card.jobs-by-activity-card .recharts-label{font-size:10px!important}.chart-card.jobs-by-activity-card .recharts-default-legend,.chart-card.jobs-by-activity-card .recharts-legend-item-text,.chart-card.jobs-by-activity-card .recharts-legend-wrapper{font-size:9px!important}.chart-controls{border-radius:10px;margin:10px 0 12px}.chart-controls__header,.chart-controls--entities-only .chart-controls__header{gap:6px 8px;min-height:36px;padding:8px 10px}.chart-controls__header>span{letter-spacing:.035em;gap:5px;font-size:10.5px;line-height:1.15}.chart-controls__header>span svg{width:13px;height:13px}.chart-controls__header>strong{max-width:120px;font-size:10.5px;line-height:1.2}.chart-controls__body,.chart-controls--entities-only .chart-controls__body{gap:8px;padding:8px 10px}.chart-controls--inline-entities .chart-controls__header{gap:6px 8px}.chart-controls--inline-entities .chart-controls__header>.chart-controls__entities,.chart-controls--entities-only .chart-controls__entities{gap:5px 7px}.chart-controls__pills,.chart-controls--entities-only .chart-controls__pills,.chart-controls--inline-entities .chart-controls__header .chart-controls__pills{gap:5px}.chart-controls__pills small,.chart-controls__entities-note{font-size:10px;line-height:1.3}.chart-controls__label,.chart-controls--entities-only .chart-controls__label,.chart-controls--inline-entities .chart-controls__header .chart-controls__label{letter-spacing:.06em;margin-bottom:5px;font-size:9.5px}.chart-toggle,.chart-controls--entities-only .chart-toggle{white-space:normal;max-width:100%;min-height:28px;padding:5px 8px;font-size:10.5px;line-height:1.15}.chart-controls__compact-year{gap:5px;font-size:10px}.chart-controls__compact-year select,.chart-controls select{border-radius:7px;min-height:30px;padding:4px 24px 4px 8px;font-size:11px}.period-control__heading,.period-control label span,.period-control__year-marks button{font-size:10px}.period-control__sliders{gap:5px;margin-top:5px}.hazard-metric-toggle{border-radius:9px;padding:2px}.hazard-metric-toggle button,.labor-migration-index-switch button,.labor-migration-index-option-group button{border-radius:7px;min-height:27px;padding:4px 8px;font-size:10.5px;line-height:1.15}.jobs-by-activity-metric-toggle{margin:8px 0 2px}.labor-migration-index-controls{border-radius:10px;gap:5px;margin:5px 0 10px;padding:6px 8px}.labor-migration-index-controls__title{font-size:10px}.road-infrastructure-toggle{margin:0 8px 5px}.chart-card .insight-panel{border-radius:10px;margin-top:12px;padding:12px;font-size:12px}.chart-card>details.insight-panel:not(.building-insight-panel){padding-bottom:12px}.chart-card details.insight-panel:not(.building-insight-panel):not([open]){flex-basis:44px;height:44px;min-height:44px;max-height:44px;padding:0 12px}.chart-card .insight-panel__header{gap:8px;min-height:18px}.chart-card .insight-panel[open]>.insight-panel__header{margin-bottom:10px}.chart-card .insight-panel__title,.building-insight-panel>summary{gap:6px;line-height:1.2;font-size:13px!important}.chart-card .insight-panel__title svg{width:16px;height:16px}.chart-card .insight-panel__definition{border-radius:8px;margin-bottom:10px;padding:9px 10px}.chart-card .insight-panel__definition span,.chart-card .insight-panel__grid span{letter-spacing:.06em;margin-bottom:3px;font-size:9.5px!important}.chart-card .insight-panel__definition p,.chart-card .insight-panel__grid p,.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel p,.building-insight-panel .insight-panel p{font-size:12px!important;line-height:1.45!important}.chart-card .insight-panel__grid{gap:9px}.chart-card .insight-panel__grid>div{padding-left:9px}.chart-card .insight-panel__note{gap:5px;margin-top:8px;padding-top:7px;font-size:10px!important;line-height:1.35!important}.chart-card.age-structure-card>.chart-card__plot{margin-bottom:4px;height:330px!important;min-height:330px!important}.chart-card.chart-card .recharts-default-legend,.chart-card.chart-card .recharts-legend-item-text,.chart-card.chart-card .recharts-legend-wrapper,.chart-card.chart-card .tourism-legend,.chart-card.chart-card .education-comparison-legend,.chart-card.chart-card .seniors-legend,.chart-card.chart-card .commuter-metrics-legend,.chart-card.chart-card .primary-school-chart-legend,.chart-card.chart-card .primary-schools-legend,.chart-card.chart-card .production-per-capita-legend,.chart-card.chart-card .hazard-reference-legend,.chart-card.chart-card .building-land-population-legend,.chart-card.chart-card .road-infrastructure-legend,.chart-card.chart-card .age-structure-legend,.chart-card.chart-card .commuting-flow-schematic__legend,.chart-card.chart-card .pyramid-year-legend,.chart-card.chart-card .pyramid-legend,.chart-card.chart-card .building-map-legend,.chart-card.chart-card .housing-completions-legend,.chart-card.chart-card .migration-flows-legend,.chart-card.chart-card .settlement-demography-legend,.chart-card.chart-card .land-category-legend,.chart-card.chart-card .jobs-by-activity-mobile__legend{font-size:10px!important;line-height:1.2!important}}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;scroll-padding-top:118px;overflow-x:clip}body{background:radial-gradient(circle at 8% 6%,#7ba4db21,#0000 28rem),radial-gradient(circle at 92% 16%,#276b6314,#0000 30rem),linear-gradient(#f7f4ed 0%,#efebe2 100%);min-width:320px;max-width:100%;min-height:100vh;margin:0;overflow-x:clip}button,input,select{font:inherit}a{color:inherit}img{max-width:100%}.app-shell,#root,main,.topic-group,.topic-group__content,.dashboard-grid,.chart-card,.chart-card__header,.chart-card__plot{min-width:0;max-width:100%}.app-shell{isolation:isolate;min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#fffdf8eb,#f9f7f1db);border-bottom:1px solid #ddd7ccd1;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:clamp(24px,4vw,58px);min-height:76px;padding:10px clamp(28px,4.2vw,84px);display:grid;position:sticky;top:0;box-shadow:0 14px 38px #2926220e}.brand{border:1px solid #0000;border-radius:14px;align-items:center;gap:0;width:fit-content;max-width:100%;padding:4px 8px 4px 0;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex}.brand:hover{color:#21466f;transform:translateY(-1px)}.brand__logo{flex:none;justify-content:center;align-items:center;width:190px;height:52px;display:inline-flex}.brand__logo img{object-fit:contain;width:100%;height:100%;display:block}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.01em;font-size:17px;line-height:1.18}.brand small{color:#34302b;letter-spacing:-.02em;margin-top:0;font-size:22px;font-weight:800}nav{gap:12px;display:flex}nav a{color:#5d574f;font-size:16px;font-weight:700;text-decoration:none}nav a:hover{color:#21466f}.section-nav{background:#fffdf89e;border:1px solid #ddd7cca3;border-radius:999px;justify-self:center;align-items:center;gap:4px;padding:5px;box-shadow:inset 0 1px #ffffffb3}.section-nav__item{align-items:center;display:flex;position:relative}.section-nav__item:before{content:"";height:12px;position:absolute;top:100%;left:0;right:0}.section-nav>a,.section-nav__item>a{border:1px solid #0000;border-radius:10px;align-items:center;min-height:42px;padding:0 10px;transition:color .15s,background .15s,border-color .15s,transform .15s;display:inline-flex}.section-nav__item>a:after{content:"⌄";color:var(--teal);margin-left:8px;font-size:12px;line-height:1;transition:transform .15s}.section-nav__item:hover>a,.section-nav>a:hover,.section-nav>a:focus-visible{color:#21466f;box-shadow:none;background:#7ba4db24;outline:none}.section-nav__item:has(:focus-visible)>a{color:#21466f;box-shadow:none;background:#7ba4db24;outline:none}.section-nav__item:hover>a:after{transform:rotate(180deg)}.section-nav__item:has(:focus-visible)>a:after{transform:rotate(180deg)}.section-nav>a,.section-nav__item>a{border-radius:999px;padding:0 14px}.section-nav__item>a:after{content:"▾"}.section-nav__flyout{z-index:40;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;background:#fffdf8f7;border-radius:18px;min-width:320px;padding:10px;transition:opacity .16s,transform .16s,visibility 0s linear .16s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px);box-shadow:0 22px 55px #29262226}.section-nav__flyout:before{content:"";height:8px;position:absolute;top:-8px;left:0;right:0}.section-nav__item:hover .section-nav__flyout{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}.section-nav__item:has(:focus-visible) .section-nav__flyout{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}.section-nav__flyout a{color:var(--muted);white-space:normal;border-radius:12px;padding:13px 14px;font-size:15px;line-height:1.25;display:block}.section-nav__flyout a:hover,.section-nav__flyout a:focus-visible{color:var(--teal);background:var(--soft-teal);outline:none}.topbar__actions{justify-self:end;align-items:center;gap:12px;min-width:220px;display:flex}.mobile-topbar__buttons,.mobile-navigation{display:none}.topbar-search{color:#21466f;overflow-anchor:none;background:#fffdf8bd;border:1px solid #ddd7ccc7;border-radius:999px;align-items:center;width:clamp(210px,16vw,300px);min-height:44px;padding:0 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffffc2,0 10px 26px #2926220b}.topbar-search:focus-within{background:#fffdf8fa;border-color:#7ba4dbe6;box-shadow:0 0 0 4px #7ba4db29,0 12px 28px #2926220e}.topbar-search svg{color:var(--brand-blue);flex:none}.topbar-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0 30px 0 9px;font-size:15px;font-weight:700}.topbar-search input::placeholder{color:#7f7870;opacity:1}.topbar-search__clear{color:#9a4b35;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;transition:color .15s,background .15s,transform .15s;display:inline-flex;position:absolute;right:9px}.topbar-search__clear:hover,.topbar-search__clear:focus-visible{color:#b84b2f;background:#b84b2f1a;outline:none}.topbar-search__clear:active{transform:scale(.94)}.topbar-search__clear svg{color:currentColor}.topbar-search__status{z-index:20;color:#7c4a38;white-space:nowrap;background:#fffdf8fa;border:1px solid #ddd7ccd9;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;position:absolute;top:calc(100% + 6px);right:10px;box-shadow:0 8px 18px #29262214}.topbar-search__suggestions{z-index:60;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow-anchor:none;background:#fffdf8fa;border:1px solid #ddd7cce6;border-radius:18px;width:min(360px,100vw - 36px);max-height:min(440px,100dvh - 90px);padding:8px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 22px 55px #29262224}.topbar-search__suggestion{width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;transition:background .15s,color .15s,transform .15s;display:flex}.topbar-search__suggestion:hover,.topbar-search__suggestion:focus-visible{color:#21466f;background:#7ba4db29;outline:none}.topbar-search__suggestion:active{transform:scale(.99)}.topbar-search__suggestion span{font-size:14px;font-weight:800;line-height:1.2}.topbar-search__suggestion>div{min-width:0}.topbar-search__suggestion em{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin-top:4px;font-size:12px;font-style:normal;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}.topbar-search__suggestion small{color:#21466f;white-space:nowrap;background:#7ba4db2e;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:800}.topbar-search__empty{color:var(--muted);padding:11px 12px;font-size:13px;font-weight:800;display:block}.locus-logo{color:#24322d;background:#fffcf5b8;border:1px solid #ddd7cc8c;border-radius:999px;justify-content:center;align-items:center;min-height:56px;padding:8px 15px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:inline-flex;box-shadow:inset 0 1px #ffffffc7}.locus-logo:hover,.locus-logo:focus-visible{background:#fffdf8f7;border-color:#276b6357;outline:none;transform:translateY(-1px);box-shadow:0 12px 28px #276b6314}.locus-logo img{object-fit:contain;width:auto;height:38px;display:block}main{width:min(var(--page-max), calc(100% - var(--page-gutter)));flex-direction:column;margin:0 auto;padding-bottom:70px;scroll-margin-top:118px;display:flex}.hero,section[id]{scroll-margin-top:118px}.hero{min-height:clamp(250px,19vw,330px);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 88% 20%,#7ba4db3d,#0000 34%),radial-gradient(circle at 68% 82%,#276b6312,#0000 36%),linear-gradient(135deg,#fffdf8 0%,#f6f1e7 100%);border:1px solid #ddd7ccd1;border-radius:30px;grid-template-columns:1fr;align-items:center;gap:clamp(24px,5vw,72px);margin:32px 0 18px;padding:clamp(32px,4vw,58px);display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg,#fffdf8fc 0%,#fffdf8f5 36%,#fffdf8b8 55%,#fffdf85c 78%,#fffdf842 100%),radial-gradient(circle at 81% 34%,#7ba4db2e,#0000 34%);position:absolute;inset:0}.hero__signal{pointer-events:none;z-index:0;opacity:.82;position:absolute;inset:15% 4.5% 14% 48%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.hero__signal svg{width:100%;height:100%;overflow:visible}.hero__signal-grid line{stroke:#21466f3d;stroke-width:1.6px;stroke-dasharray:6 8}.hero__signal-grid line:first-child,.hero__signal-grid line:nth-child(2){stroke:#21466f6b;stroke-dasharray:none}.hero__signal-bars rect{fill:#7ba4db47;rx:5;transform-origin:bottom;transform-box:fill-box;animation:8.5s ease-in-out infinite hero-signal-bar}.hero__signal-bars rect:nth-child(2n){fill:#23716538;animation-delay:.35s}.hero__signal-bars rect:nth-child(3n){fill:#c04e312e;animation-delay:.7s}.hero__signal-line{fill:none;stroke-width:5.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:920;stroke-dashoffset:920px;filter:drop-shadow(0 10px 20px #7ba4db38);animation:9.5s ease-in-out infinite hero-signal-flow}.hero__signal-line--demo{stroke:#7ba4dbe6}.hero__signal-line--econ{stroke:#237165ad;animation-delay:1.15s}.hero__signal-line--space{stroke:#c04e3185;animation-delay:2.25s}.hero__signal-dots circle{fill:#7ba4dbe6;stroke:#fffdf8eb;stroke-width:3px;transform-origin:50%;opacity:0;animation:9.5s ease-in-out infinite hero-signal-dot}.hero__signal-dots circle:nth-child(2){animation-delay:.45s}.hero__signal-dots circle:nth-child(3){animation-delay:.9s}.hero__signal-dots circle:nth-child(4){animation-delay:1.35s}.hero__signal-dots circle:nth-child(5){animation-delay:1.8s}.hero__signal-dots circle:nth-child(6){animation-delay:2.25s}.hero__signal-dots circle:nth-child(7){animation-delay:2.7s}.hero__signal-dots circle:nth-child(8){animation-delay:3.15s}.hero__signal-dots circle:nth-child(9){animation-delay:3.6s}.hero__signal-dots circle:nth-child(10){animation-delay:4.05s}.hero__questions{z-index:1;pointer-events:none;position:absolute;inset:0}.hero__question{color:#21466f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;background:#fffdf8db;border:1px solid #7ba4db75;border-radius:999px;align-items:center;gap:8px;max-width:245px;padding:9px 13px;font-size:13.5px;font-weight:800;line-height:1.18;animation:30s ease-in-out infinite hero-question-fade;display:inline-flex;position:absolute;transform:translateY(8px)scale(.97);box-shadow:0 14px 34px #21466f21}.hero__question:before{content:"";background:var(--brand-blue);border-radius:999px;flex:none;width:7px;height:7px;box-shadow:0 0 0 5px #7ba4db29}.hero__question--jobs{animation-delay:.4s;top:16%;right:31%}.hero__question--space{animation-delay:12.4s;top:33%;right:16%}.hero__question--workers{animation-delay:3.4s;bottom:20%;right:34%}.hero__question--age{animation-delay:6.4s;top:58%;right:15%}.hero__question--building{animation-delay:9.4s;top:12%;right:14%}.hero__question--kindergarten{animation-delay:15.4s;bottom:10%;right:20%}.hero__question--development{animation-delay:18.4s;top:45%;right:30%}.hero__question--population{animation-delay:21.4s;top:72%;right:13%}.hero__question--hazard{animation-delay:24.4s;top:24%;right:24%}.hero__question--tourism{animation-delay:27.4s;top:68%;right:33%}.hero__copy{z-index:2;max-width:860px;position:relative}.hero__eyebrow{color:#21466f;letter-spacing:.11em;text-transform:uppercase;background:#7ba4db24;border:1px solid #7ba4db57;border-radius:999px;align-items:center;width:fit-content;margin-bottom:12px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.eyebrow{color:var(--rust);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:700}h1,h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0}h1{margin-top:10px;font-size:clamp(44px,5.8vw,70px);line-height:.98}.hero h1{color:#25231f;margin-top:0;font-size:clamp(46px,4.7vw,78px);line-height:1.1}.hero p{color:#5f5951;max-width:780px;margin:18px 0 0;font-size:clamp(18px,1.35vw,21px);line-height:1.55}.hero__place{color:var(--muted);flex:none;align-items:center;gap:8px;font-size:13px;display:flex}@keyframes hero-signal-flow{0%{stroke-dashoffset:920px;opacity:.08}22%{opacity:.92}46%,68%{stroke-dashoffset:0;opacity:.92}to{stroke-dashoffset:-920px;opacity:.12}}@keyframes hero-signal-bar{0%,to{opacity:.5;transform:scaleY(.74)}42%,62%{opacity:.9;transform:scaleY(1)}}@keyframes hero-signal-dot{0%,28%{opacity:.12;transform:scale(.78)}42%,58%{opacity:.92;transform:scale(1.08)}76%,to{opacity:.16;transform:scale(.78)}}@keyframes hero-question-fade{0%,7%{opacity:0;transform:translateY(8px)scale(.97)}10%,20%{opacity:.94;transform:translateY(0)scale(1)}25%,to{opacity:0;transform:translateY(-6px)scale(.98)}}@media (prefers-reduced-motion:reduce){.hero__signal-line,.hero__signal-bars rect,.hero__signal-dots circle,.hero__question{animation:none}.hero__signal-line{stroke-dashoffset:0;opacity:.28}.hero__question{opacity:0;transform:none}.hero__question--jobs{opacity:.9}}.comparison-filter{background:var(--surface-glass);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ddd7ccdb;border-radius:24px;grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:28px;margin:0 0 24px;padding:24px 26px;display:grid;position:relative;overflow:hidden}.comparison-filter:before{content:"";background:linear-gradient(180deg, var(--brand-blue), #7ba4db2e);opacity:.85;width:5px;position:absolute;inset:0 auto 0 0}.comparison-filter .eyebrow{letter-spacing:.12em;font-size:12px}.comparison-filter h2{margin-top:5px;font-size:26px}.subject-select label{margin-top:14px;display:block}.subject-select label>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.subject-select select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;padding:11px 38px 11px 14px;font-size:15px;font-weight:600}.subject-select select:focus-visible{outline-offset:2px;outline:2px solid #276b6359}.subject-select__locked{margin-top:14px}.subject-select__locked>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.subject-select__locked strong{min-height:48px;color:var(--teal);background:var(--soft-teal);border:1px solid #276b6347;border-radius:10px;align-items:center;gap:9px;padding:11px 14px;font-size:15px;font-weight:750;display:flex}.subject-select__locked svg{flex:none}.comparison-filter__heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.comparison-filter__heading small{color:var(--muted);background:#efebe2;border-radius:999px;flex:none;padding:6px 9px;font-size:11px;font-weight:700}.comparison-picker{grid-template-columns:minmax(220px,1fr);align-items:end;gap:10px;display:grid}.comparison-picker label>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.comparison-picker select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;padding:11px 38px 11px 14px;font-size:15px}.comparison-picker select:disabled{cursor:not-allowed;opacity:.5}.selected-comparisons{flex-wrap:wrap;gap:8px;min-height:28px;margin-top:10px;display:flex}.selected-comparisons>small{color:var(--muted);align-self:center;font-size:12px}.selected-comparison{border:1px solid var(--brand-blue);color:#21466f;background:var(--soft-blue);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.selected-comparison:hover{color:#fff;background:var(--brand-blue)}.selected-comparison span{font-size:16px;line-height:.7}.orientation-hint{color:#21466f;background:linear-gradient(135deg,#eff6fff5,#fffdf9f5);border:1px solid #7ba4db8c;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 24px;padding:13px 14px;display:grid;box-shadow:0 8px 24px #2d496514}.orientation-hint>svg{align-self:start;margin-top:2px}.orientation-hint p{gap:2px;min-width:0;margin:0;display:grid}.orientation-hint strong{font-size:13px;line-height:1.35}.orientation-hint span{color:var(--muted);font-size:13px;line-height:1.4}.orientation-hint button{color:#21466f;cursor:pointer;white-space:nowrap;background:#ffffffd1;border:1px solid #7ba4dbbf;border-radius:999px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:750}.orientation-hint button:hover{background:#fff}.orientation-hint button:focus-visible{outline-offset:2px;outline:2px solid #276b6359}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:28px 0 42px;display:grid}.topic-group{margin:0 0 22px;scroll-margin-top:132px}#demografija{order:10}#gospodarstvo{order:20}#centralne-dejavnosti{order:30}#prostor{order:40}#viri{order:90}.topic-group>summary{border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow-card);background:radial-gradient(circle at 92% 40%,#7ba4db1f,#0000 24%),linear-gradient(135deg,#fffdf8f2,#fbfaf6e0);border-radius:22px;justify-content:space-between;align-items:center;gap:18px;padding:26px 28px;list-style:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.topic-group>summary::-webkit-details-marker{display:none}.topic-group>summary:hover{border-color:#7ba4dbb8;transform:translateY(-1px);box-shadow:0 18px 42px #29262213}.topic-group>summary .eyebrow{letter-spacing:.12em;font-size:12px}.topic-group>summary h2{margin-top:5px;font-size:clamp(38px,4.4vw,56px)}.topic-group>summary p{color:var(--muted);margin:8px 0 0;font-size:16px;line-height:1.4}.topic-group>summary:after{content:"▾";color:var(--brand-blue);flex:none;font-size:22px;line-height:1;transition:transform .15s}.topic-group[open]>summary:after{transform:rotate(180deg)}.topic-group__meta{color:#21466f;background:var(--soft-blue);border-radius:999px;flex:none;margin-left:auto;padding:9px 13px;font-size:13px;font-weight:800}.topic-group__locked-note{color:#6f6a62;margin-top:10px;font-size:13px;font-weight:750;display:block}.topic-group.is-locked>summary{cursor:not-allowed;opacity:.72}.topic-group.is-locked>summary:hover{border-color:var(--line);box-shadow:var(--shadow-card);transform:none}.topic-group.is-locked>summary:after{opacity:.45}.topic-group__content{padding-top:18px}.chart-card{scroll-margin-top:118px}.stat-card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:linear-gradient(#fffdf8fa,#fbfaf6f0);border-radius:22px;padding:30px 28px;transition:transform .16s,box-shadow .16s,border-color .16s;position:relative;overflow:visible}.stat-card:before{content:"";opacity:0;background:linear-gradient(90deg,#7ba4dbf2,#7ba4db38);height:4px;transition:opacity .16s;position:absolute;inset:0 0 auto}.stat-card:hover,.stat-card:focus-within{z-index:3;border-color:#7ba4db8c;transform:translateY(-2px);box-shadow:0 18px 42px #29262214}.stat-card:hover:before,.stat-card:focus-within:before{opacity:1}.stat-card__top{justify-content:space-between;align-items:center;display:flex}.stat-card__icon{width:44px;height:44px;color:var(--rust);background:var(--soft-rust);border-radius:13px;place-items:center;display:grid}.stat-card__context{justify-content:flex-end;align-items:center;gap:9px;min-width:0;display:flex}.stat-card__municipality{color:#fff;background:var(--rust);text-align:right;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:180px;padding:6px 10px;font-size:11px;font-weight:800;line-height:1.15;overflow:hidden}.stat-card__year{color:var(--muted);font-size:13px}.stat-card p{color:var(--muted);margin:22px 0 6px;font-size:15px}.stat-card__label-row{cursor:help;align-items:center;gap:7px;width:fit-content;margin:22px 0 6px;display:flex}.stat-card__label-row p{margin:0}.stat-info{display:inline-flex;position:relative}.stat-info button{color:#21466f;background:var(--soft-blue);cursor:help;border:0;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;display:grid}.stat-info button:hover,.stat-info button:focus-visible{color:#fff;background:var(--brand-blue);outline:none}.stat-info button:focus-visible{box-shadow:0 0 0 3px #7ba4db40}.stat-info__tooltip{z-index:30;color:#f8f6ef;opacity:0;visibility:hidden;pointer-events:none;background:#2e3d39;border-radius:9px;width:min(270px,72vw);padding:10px 11px;font-size:12px;font-weight:500;line-height:1.5;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 10px 28px #23201c2e}.stat-info__tooltip:after{content:"";border:5px solid #0000;border-top-color:#2e3d39;margin-left:-5px;position:absolute;top:100%;left:50%}.stat-card__label-row:hover .stat-info__tooltip,.stat-info:focus-within .stat-info__tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.stats-grid .stat-card:nth-child(4n+1) .stat-info__tooltip{left:0;transform:translateY(4px)}.stats-grid .stat-card:nth-child(4n+1) .stat-info__tooltip:after{margin-left:0;left:14px}.stats-grid .stat-card:nth-child(4n+1) .stat-card__label-row:hover .stat-info__tooltip,.stats-grid .stat-card:nth-child(4n+1) .stat-info:focus-within .stat-info__tooltip{transform:translate(0)}.stat-card strong{font-family:var(--font-display);font-size:clamp(45px,2.6vw,54px);line-height:1;display:block}.stat-card strong small{color:var(--muted);font-family:var(--font-main);margin-left:8px;font-size:13px;font-weight:600}.stat-card__changes{border-top:1px solid #e6e0d6;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:22px;padding-top:16px;display:grid}.stat-card__changes.has-five-periods{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.stat-change{border-right:1px solid #e6e0d6;min-width:0;padding-right:8px}.stat-change:last-child{border-right:0;padding-right:0}.stat-change>small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.stat-change>span{color:#39774a;white-space:nowrap;align-items:center;gap:3px;min-height:22px;font-size:14px;display:flex}.stat-change.is-down>span{color:var(--rust)}.stat-change>span strong{text-overflow:ellipsis;font-family:var(--font-main);font-size:14px;font-weight:700;overflow:hidden}.stat-change>em{color:#918a80;white-space:nowrap;margin-top:4px;font-size:11px;font-style:normal;display:block}.stat-change.is-boundary-change>em{color:#76543f;white-space:normal;line-height:1.2}.population-card .recharts-xAxis .recharts-cartesian-axis-tick-value{font-size:clamp(9px,.72vw,11px)}.population-boundary-note{color:#76543f;align-items:flex-start;gap:7px;margin:10px 0 0;font-size:12px;line-height:1.4;display:flex}.population-boundary-note svg{flex:none;margin-top:1px}.population-boundary-tooltip-label small{color:#76543f;white-space:normal;max-width:250px;margin-top:3px;font-size:11px;line-height:1.3;display:block}.population-change-table-wrap{margin-top:14px;margin-bottom:18px}.population-change-table-wrap .table-caption{margin-bottom:7px;font-size:13px;line-height:1.3}.population-change-table-scroll{height:310px;max-height:310px}.population-change-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:470px;font-size:12px;line-height:1.2}.population-change-table th,.population-change-table td{font-variant-numeric:tabular-nums;text-align:left;border:0;border-bottom:1px solid #e3ddd3;padding:5px 8px}.population-change-table th:first-child{text-align:left;width:24%}.population-change-table th:not(:first-child){width:auto}.population-change-table thead th{z-index:1;color:var(--teal);letter-spacing:.035em;text-transform:uppercase;background:#dfece8;font-size:11px;font-weight:900;position:sticky;top:0}.population-change-table thead th+th{border-left:1px solid #276b631f}.population-change-table tbody th{color:var(--ink);font-weight:800}.population-change-table tbody tr:nth-child(2n){background:#f6f3edb8}.population-change-table tbody tr:hover{background:#eef6f3}.population-change-table .is-subject{color:var(--rust);font-weight:900}.population-change-table td.is-positive{color:#39774a;font-weight:800}.population-change-table td.is-negative{color:#b43f32;font-weight:800}.population-change-table td.is-boundary-change{color:#76543f;font-weight:800}.population-change-table td.is-boundary-change small{margin-top:2px;font-size:10px;font-weight:600;line-height:1.1;display:block}.population-change-table tr:last-child th,.population-change-table tr:last-child td{border-bottom:0}.wage-point-label{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:800}.unemployment-rate-label__text{fill:#3f3b35;paint-order:stroke fill;stroke:#fffdf8;stroke-width:4px;stroke-linejoin:round;font-size:12px;font-weight:700}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0 0 22px;display:grid}.dashboard-grid>.chart-card{order:0}.dashboard-grid>.chart-card.insight-row-is-open{align-self:start}#demografija #population{order:1}#demografija #settlement-population-change{order:2}#demografija #population-growth{order:3}#demografija #natural-change{order:4}#demografija #migration-flows{order:5}#demografija #age-structure{order:6}#demografija #age-pyramid{order:7}#demografija #education{order:8}#demografija #foreign-citizens{order:9}#demografija #settlement-aging{order:10}#gospodarstvo #labor-migration{order:5}#gospodarstvo #labor-migration-index{order:6}#gospodarstvo #commuting-flows{order:7}#gospodarstvo #gross-wages{order:8}#gospodarstvo #companies{order:9}#gospodarstvo #tourism{order:11}#centralne-dejavnosti #kindergarten-children{order:1}#centralne-dejavnosti #seniors{order:2}#prostor #land-use{order:1}#prostor #building-construction{order:2}#prostor #building-land-population{order:3}#prostor #production-areas{order:4}#prostor #housing-completions{order:5}#prostor #road-infrastructure{order:6}#prostor #building-land-hazards{order:7}#prostor #population-hazards{order:8}#gospodarstvo #work-balance{order:-10}#gospodarstvo #employment-status{order:-9}#gospodarstvo #jobs-by-activity{order:-8}#gospodarstvo #employment-rate{order:-7}.chart-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-card);background:#fffdf8f0;border-radius:22px;padding:30px 28px 24px}.chart-card--wide{grid-column:1/-1}.jobs-by-activity-card .chart-card__plot{min-height:560px}.jobs-by-activity-card.chart-card--expanded .chart-card__plot{min-height:min(760px,100vh - 260px)}.jobs-by-activity-metric-toggle{margin:14px 0 4px}.jobs-by-activity-mobile{min-height:0}.labor-migration-index-controls{background:#fff;border:1px solid #e2ddd3;border-radius:12px;gap:6px;margin:5px 0 14px;padding:7px 9px;display:grid}.labor-migration-chart-shell{width:100%;height:100%;position:relative}.labor-migration-card .chart-card__plot{height:410px}.labor-migration-card.chart-card--expanded .chart-card__plot{height:min(68vh,720px)}.labor-migration-index-controls__row{flex-wrap:wrap;align-items:center;gap:5px 8px;display:flex}.labor-migration-index-controls__title{color:#21466f;letter-spacing:.05em;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.labor-migration-index-switch,.labor-migration-index-option-group,.labor-migration-index-entities{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.labor-migration-index-switch button,.labor-migration-index-option-group button{color:#21466f;min-height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9cae1;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.labor-migration-index-switch button.is-active,.labor-migration-index-option-group button.is-active{color:#fff;background:#21466f;border-color:#21466f}.labor-migration-index-controls__row--options,.labor-migration-index-entities{border-top:1px solid #eee9df;padding-top:6px}.labor-migration-index-option-group>span,.labor-migration-index-year{color:#5b6674;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.labor-migration-index-year{align-items:center;gap:6px;margin-left:2px;display:inline-flex}.labor-migration-index-year select{color:#21466f;min-height:28px;font:inherit;background:#fff;border:1px solid #c6d4e6;border-radius:8px;padding:3px 24px 3px 8px;font-size:11px;font-weight:700}.labor-migration-index-entities .chart-toggle{padding:5px 8px;font-size:11px}.labor-migration-index-entities small{color:var(--muted);font-size:11px}.jobs-by-activity-mobile>p{color:var(--muted);margin:0 0 -18px 106px;font-size:11px;line-height:1.35}.chart-expand-backdrop{z-index:990;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#2926226b;border:0;position:fixed;inset:0}.chart-card--expanded{z-index:1000;grid-column:auto;max-height:calc(100vh - clamp(24px,6vw,68px));position:fixed;inset:clamp(12px,3vw,34px);overflow:auto;box-shadow:0 26px 80px #29262242}.chart-card--expanded .chart-card__header{min-height:0}.chart-card--expanded .chart-card__plot,.chart-card--expanded .housing-plot,.chart-card--expanded .kindergarten-plot,.chart-card--expanded .primary-schools-plot,.chart-card--expanded .seniors-plot{height:min(62vh,680px)}body.is-chart-expanded{overflow:hidden}.chart-card__header{justify-content:space-between;align-items:flex-start;gap:20px;min-height:112px;display:flex}.chart-card h2{margin-top:6px;font-size:clamp(30px,3vw,40px)}.chart-card__header p{max-width:670px;color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.5}.source-chip{color:#21466f;background:var(--soft-blue);border-radius:999px;flex:none;padding:8px 12px;font-size:13px;font-weight:700}.chart-card__tools{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.chart-card__tools .source-chip{display:none!important}.excel-export-button{border:1px solid var(--brand-blue);color:#21466f;cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.excel-export-button:hover:not(:disabled){color:#fff;border-color:var(--brand-blue);background:var(--brand-blue)}.excel-export-button:focus-visible{outline-offset:2px;outline:2px solid #7ba4db59}.excel-export-button:disabled{cursor:wait;opacity:.55}.chart-expand-button{border:1px solid var(--brand-blue);color:#21466f;cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.chart-expand-button:hover,.chart-expand-button[aria-pressed=true]{color:#fff;border-color:var(--brand-blue);background:var(--brand-blue)}.chart-expand-button:focus-visible{outline-offset:2px;outline:2px solid #7ba4db59}.chart-play-button{border:1px solid var(--brand-blue);color:#21466f;cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.chart-play-button:hover:not(:disabled){color:#fff;border-color:var(--brand-blue);background:var(--brand-blue)}.chart-play-button:focus-visible{outline-offset:2px;outline:2px solid #7ba4db59}.chart-play-button:disabled{cursor:not-allowed;opacity:.45}.chart-controls{background:#fff;border:1px solid #e2ddd3;border-radius:12px;margin:5px 0 20px;overflow:hidden}.chart-controls__header{border-bottom:1px solid #e2ddd3;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:11px 14px;display:flex}.chart-controls__header>span{color:#21466f;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.chart-controls__header>strong{color:var(--muted);font-size:14px;font-weight:600}.chart-controls__body{background:#fff;grid-template-columns:minmax(0,1fr) minmax(250px,340px);align-items:center;gap:22px;padding:14px 16px;display:grid}.chart-controls__body--entities-only{grid-template-columns:1fr}.chart-controls__body--period-only{grid-template-columns:minmax(250px,340px);justify-content:end}.chart-controls--single .chart-controls__body{grid-template-columns:1fr}.chart-controls--entities-only .chart-controls__header{min-height:38px;padding:8px 12px}.chart-controls--entities-only .chart-controls__body{grid-template-columns:1fr;padding:8px 12px}.chart-controls--entities-only .chart-controls__entities{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.chart-controls--entities-only .chart-controls__label{flex:none;margin:0;font-size:11px}.chart-controls--entities-only .chart-controls__pills{flex:360px;gap:6px}.chart-controls--entities-only .chart-toggle{padding:6px 9px;font-size:12px}.chart-controls--inline-entities .chart-controls__header{flex-wrap:wrap;justify-content:flex-start;gap:8px 12px}.chart-controls--inline-entities .chart-controls__header>span{white-space:nowrap;flex:none}.chart-controls--inline-entities .chart-controls__header>.chart-controls__entities{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:6px 10px;min-width:150px;display:flex}.chart-controls--inline-entities .chart-controls__header .chart-controls__label{flex:none;margin:0;font-size:11px}.chart-controls--inline-entities .chart-controls__header .chart-controls__pills{flex:0 auto;gap:6px}.chart-controls--inline-entities .chart-controls__header>strong{margin-left:auto}.chart-controls--entities-only.chart-controls--inline-entities .chart-controls__header{border-bottom:0}.chart-controls__label{color:#21466f;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.work-series-controls{flex-wrap:wrap;gap:8px 18px;min-width:0;display:flex}.work-series-controls__row{align-items:center;gap:5px;max-width:100%;display:flex}.work-series-controls__row strong{overflow-wrap:anywhere;min-width:0;margin-right:3px;font-size:12px}.work-series-controls__row button{min-width:42px;min-height:30px;font:inherit;cursor:pointer;border:1px solid;border-radius:16px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.work-series-controls__row button:focus-visible{outline-offset:3px;outline:2px solid #21466f}.period-control__year-marks{justify-content:space-between;gap:4px;display:flex}.period-control__year-marks button{color:#68645f;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 5px;font-size:12px}.period-control__year-marks button[aria-pressed=true]{color:#21466f;background:#e1eaf6;font-weight:700}.period-control__year-marks button:focus-visible{outline-offset:2px;outline:2px solid #21466f}.chart-controls__compact-year{color:#21466f;flex:none;align-items:center;gap:8px;margin-left:auto;font-size:12px;font-weight:700;display:flex}.chart-controls__compact-year select{color:#21466f;width:auto;min-height:32px;font:inherit;background-color:#fff;border:1px solid #c6d4e6;border-radius:8px;padding:4px 26px 4px 10px}.jobs-by-activity-card .chart-controls--inline-entities .chart-controls__header>.chart-controls__entities,.labor-migration-card .chart-controls--inline-entities .chart-controls__header>.chart-controls__entities{flex:0 auto;min-width:0}.jobs-by-activity-card .chart-controls__compact-year,.labor-migration-card .chart-controls__compact-year,.age-structure-card .chart-controls__compact-year,.education-card .chart-controls__compact-year{margin-left:0}.tourism-year{color:#21466f;text-align:right;margin:0 0 4px;font-size:13px}.tourism-legend{color:#4f4a43;flex-wrap:wrap;justify-content:center;gap:8px 16px;font-size:15px;line-height:1.35;display:flex}.tourism-legend span{align-items:center;gap:6px;display:inline-flex}.tourism-legend i{border-radius:2px;width:14px;height:14px}.tourism-legend__abbreviations{color:#6c665e;text-align:center;flex-basis:100%;font-size:.92em;line-height:1.3}.unified-chart-legend{color:#4f4a43;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;width:100%;line-height:1.25;display:flex}.unified-chart-legend>span{align-items:center;gap:5px;min-width:0;display:inline-flex}.unified-chart-legend__line{flex:0 0 20px;overflow:visible}.unified-chart-legend i{flex:none;display:inline-block}.unified-chart-legend i.is-bar{border-radius:1px;width:11px;height:11px}.unified-chart-legend i.is-point{border-radius:50%;width:6px;height:6px}.chart-controls__pills{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chart-controls__pills small{color:var(--muted);font-size:12px}.chart-toggle{box-sizing:border-box;border:1px solid var(--line);color:var(--muted);cursor:pointer;text-align:center;vertical-align:middle;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.chart-toggle:hover{border-color:var(--brand-blue);color:#21466f;background:var(--soft-blue)}.chart-toggle.is-selected{color:#fff;border-color:var(--brand-blue);background:var(--brand-blue)}.chart-toggle.is-subject{color:#fff;border-color:var(--rust);background:var(--rust);cursor:default}.period-control__heading{color:#21466f;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.period-control__heading strong{color:var(--ink);letter-spacing:0;margin-left:auto;font-size:14px}.period-control__sliders{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.period-control__sliders--single{grid-template-columns:1fr}.period-control label span{color:#21466f;margin-bottom:4px;font-size:13px;display:block}.period-control__available-range{color:var(--muted);text-align:right;margin-top:2px;font-size:11px;display:block}.period-control input[type=range]{width:100%;height:22px;accent-color:var(--brand-blue);cursor:pointer;margin:0}.period-control input[type=range],.pyramid-year-control input,.pyramid-year-compare input{appearance:none;background:0 0}.period-control input[type=range]::-webkit-slider-runnable-track{background:#fff;border:1px solid #c8d9ef;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #29262214}.pyramid-year-control input::-webkit-slider-runnable-track{background:#fff;border:1px solid #c8d9ef;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #29262214}.pyramid-year-compare input::-webkit-slider-runnable-track{background:#fff;border:1px solid #c8d9ef;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #29262214}.period-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand-blue);border:2px solid #fff;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 2px 8px #21466f3d}.pyramid-year-control input::-webkit-slider-thumb{appearance:none;background:var(--brand-blue);border:2px solid #fff;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 2px 8px #21466f3d}.pyramid-year-compare input::-webkit-slider-thumb{appearance:none;background:var(--brand-blue);border:2px solid #fff;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 2px 8px #21466f3d}.period-control input[type=range]::-moz-range-track{background:#fff;border:1px solid #c8d9ef;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #29262214}.pyramid-year-control input::-moz-range-track{background:#fff;border:1px solid #c8d9ef;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #29262214}.pyramid-year-compare input::-moz-range-track{background:#fff;border:1px solid #c8d9ef;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #29262214}.period-control input[type=range]::-moz-range-progress{background:#fff;border-radius:999px;height:8px}.pyramid-year-control input::-moz-range-progress{background:#fff;border-radius:999px;height:8px}.pyramid-year-compare input::-moz-range-progress{background:#fff;border-radius:999px;height:8px}.period-control input[type=range]::-moz-range-thumb{background:var(--brand-blue);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 8px #21466f3d}.pyramid-year-control input::-moz-range-thumb{background:var(--brand-blue);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 8px #21466f3d}.pyramid-year-compare input::-moz-range-thumb{background:var(--brand-blue);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 8px #21466f3d}.period-control input[type=range]:disabled{cursor:not-allowed;opacity:.5}.chart-card__plot{height:340px;margin-top:4px}.chart-card .recharts-surface:focus:not(:focus-visible){outline:none}.chart-card .recharts-surface:focus-visible{outline-offset:2px;outline:2px solid #7ba4db}.chart-card__lazy-shell{height:100%}.chart-card__plot-placeholder{color:#315a86;letter-spacing:.01em;background:linear-gradient(135deg,#ffffffb8,#eff6ff7a),#ffffff8c;border:1px dashed #7ba4db59;border-radius:18px;place-items:center;height:100%;font-size:14px;font-weight:750;display:grid}.seniors-plot{flex:0 0 440px;height:440px;margin-top:12px}.seniors-controls__options{align-content:flex-start}.seniors-required-places-block{margin-top:14px}.seniors-required-places-wrap{background:#fffcf5b8;border:1px solid #d8d0c3;border-radius:12px;max-height:430px;overflow:auto}.seniors-required-places-table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.seniors-required-places-table th,.seniors-required-places-table td{text-align:left;border:0;border-bottom:1px solid #e3ddd3;padding:9px 14px}.seniors-required-places-table thead th{z-index:1;color:#315a86;letter-spacing:.02em;background:#e9effa;font-size:11px;font-weight:800;position:sticky;top:0}.seniors-required-places-table tbody th{font-weight:750}.seniors-required-places-table tbody td{text-align:right}.seniors-required-places-table tbody td:last-child{color:#315a86}.seniors-required-places-table tbody tr:nth-child(2n){background:#f6f3edb8}.seniors-required-places-table tbody tr:last-child th,.seniors-required-places-table tbody tr:last-child td{border-bottom:0}.seniors-required-places-table th:first-child{width:15%}.seniors-required-places-table th:nth-child(2){width:47%}.seniors-required-places-table th:nth-child(3){width:38%}.kindergarten-plot{height:330px;margin-top:12px}.education-capacity-plot{flex:0 0 440px;height:440px;min-height:440px;max-height:440px}.education-comparison-viewport,.education-comparison-canvas{width:100%;min-width:0;height:100%}.education-comparison-scroll-hint{display:none}.education-capacity-plot .recharts-legend-wrapper{justify-content:center;align-items:flex-start;display:flex;height:44px!important}.education-capacity-plot .recharts-legend-wrapper>*{width:100%}.education-comparison-legend{color:#45413b;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;font-size:15px;display:flex}.education-comparison-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.education-comparison-legend i{flex:0 0 14px;width:14px;height:14px}.education-comparison-legend i.is-circle{border-radius:50%}.education-comparison-legend i.is-line{flex-basis:16px;width:16px;height:2px;position:relative}.education-comparison-legend i.is-line:after{background:inherit;content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seniors-legend,.commuter-metrics-legend{font-size:13px}.education-capacity-switch{flex-wrap:wrap}.education-capacity-controls.is-timeline{align-items:stretch;display:grid}.education-capacity-controls.is-timeline>.chart-controls{margin:8px 0 0}.education-capacity-subject-row{align-self:start}.education-capacity-subject-label{color:#5b6674;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.education-capacity-table-wrap{margin-bottom:18px;margin-top:12px!important;padding-top:0!important}.education-capacity-table{min-width:920px}.primary-schools-plot{flex-direction:column;flex:none;height:330px;min-height:330px;margin-top:12px;display:flex}.primary-schools-chart-canvas{flex:1;min-height:0}.primary-school-chart-kicker{color:#315a86;letter-spacing:.03em;text-align:center;margin:0 0 4px;font-size:12px;font-weight:800}.primary-school-chart-legend{min-height:18px;color:var(--ink);flex:none;justify-content:center;align-items:center;margin-top:-9px;font-size:15px;line-height:1.3;display:flex}.primary-school-chart-legend span{align-items:center;gap:6px;display:inline-flex}.primary-school-chart-legend i{background:linear-gradient(#6f9fd2,#3f73ad);border-radius:2px;width:12px;height:12px}.primary-school-controls .labor-migration-index-controls__row--options{justify-content:flex-start}.primary-school-comparison-entities{border-top:0;flex:0 auto;min-width:0;padding-top:0}.primary-school-comparison-options .labor-migration-index-year{flex:none;margin-left:6px}.primary-school-pupil-label{paint-order:stroke fill;stroke:#fbfaf6;stroke-width:4px;stroke-linejoin:round}.chart-card .recharts-layer text.primary-school-bar-label{fill:#fff}.primary-schools-legend{color:#5f5a53;flex-wrap:wrap;justify-content:center;gap:9px 22px;font-size:13px;display:flex}.primary-schools-legend span{align-items:center;gap:7px;display:inline-flex}.primary-schools-legend i{background:#b84b2f;border-radius:2px;width:13px;height:9px;display:inline-block}.primary-schools-legend .is-class-size{background:#7a61a8}.primary-schools-legend .is-pupils{background:#3978a8;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 2px #fbfaf6}.production-areas-card .chart-card__plot{height:390px;margin-top:16px}.production-areas-opn-note{color:var(--muted);margin:8px 0 0;font-size:10.5px;line-height:1.4}.chart-controls__pills .chart-controls__entities-note{white-space:nowrap;margin-left:4px}.production-areas-card.chart-card--expanded .chart-card__plot{height:min(64vh,720px)}.production-per-capita-dot{fill:#a94b16;stroke:#fffdf8;stroke-width:2px}.production-per-capita-label{fill:#71401f;paint-order:stroke fill;stroke:#fffdf8;stroke-width:4px;stroke-linejoin:round;font-size:12px;font-weight:800}.central-area-share-dot{fill:#111;stroke:#fffdf8;stroke-width:2px}.central-area-share-label,.central-area-stack-label{fill:#423d37;paint-order:stroke fill;stroke:#fffdf8;stroke-width:3px;stroke-linejoin:round;font-size:11px;font-weight:800}.tourism-card .chart-card__plot{height:430px;margin-top:16px;overflow:auto hidden}.tourism-chart-viewport,.tourism-chart-canvas{width:100%;min-width:0;height:100%}.tourism-scroll-hint{display:none}.tourism-year{z-index:2;position:relative}@media (width>=1051px){.tourism-year{pointer-events:none;height:0;margin:0;padding-right:2px;top:12px}.tourism-card:not(.chart-card--expanded) .chart-card__plot{height:364px;margin-top:4px}}.tourism-card.chart-card--expanded .chart-card__plot{height:min(66vh,740px)}#tourism .tourism-axis-metric{fill:#3f3a34;font-size:12px!important;font-weight:400!important}.tourism-axis-municipality{fill:#777169;font-size:10px}.tourism-total-label{fill:#4b4640;paint-order:stroke fill;stroke:#fffdf8;stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:800}.tourism-duration-label{fill:#6c665e;paint-order:stroke fill;stroke:#fffdf8;stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:700}.tourism-legend i.tourism-legend__dot{box-sizing:border-box;background:currentColor;border:0;border-radius:50%;width:10px;height:10px}.tourism-tooltip{width:min(390px,100vw - 36px);color:var(--ink);background:#fffdf8fa;border:1px solid #d8d0c3;border-radius:9px;gap:5px;padding:10px 12px;font-size:12px;display:grid;box-shadow:0 8px 20px #232b3624}.tourism-tooltip>strong{margin-bottom:2px;font-size:13px}.tourism-tooltip>span{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:6px;line-height:1.25;display:grid}.tourism-tooltip i{box-sizing:border-box;border-radius:2px;width:9px;height:9px}.tourism-tooltip i.is-duration{border:0;border-radius:50%}.tourism-tooltip b{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=760px){.tourism-card .recharts-responsive-container{min-width:760px}.tourism-card .chart-card__plot{overflow:hidden}.tourism-chart-viewport{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#82a9d6 #eee9df;overflow:auto hidden}.tourism-chart-viewport.has-scroll-hint{height:calc(100% - 25px)}.tourism-chart-canvas .recharts-responsive-container{min-width:0}.tourism-scroll-hint{color:#5f7187;text-align:center;height:21px;margin:0 0 4px;font-size:10.5px;font-weight:700;line-height:21px;display:block}.tourism-card .tourism-axis-title,.tourism-card .recharts-label{font-weight:600;font-size:13px!important}.tourism-card .tourism-tooltip{gap:4px;width:min(270px,100vw - 70px);max-height:250px;padding:9px 10px;font-size:11px;overflow-y:auto}.tourism-card .tourism-tooltip>strong{font-size:12px}.tourism-card .tourism-tooltip>span{grid-template-columns:9px minmax(0,1fr) auto;gap:5px}}.production-per-capita-legend{color:var(--ink);flex-wrap:wrap;justify-content:center;gap:10px 18px;padding-top:14px;font-size:14px;line-height:1.35;display:flex}.production-per-capita-legend span,.production-per-capita-tooltip span{align-items:center;gap:6px;display:inline-flex}.production-per-capita-legend i,.production-per-capita-tooltip i{flex:none;display:inline-block}.production-per-capita-legend .is-ip,.production-per-capita-tooltip .is-ip{background:#7338a6;border-radius:2px;width:11px;height:11px}.production-per-capita-legend .is-ig,.production-per-capita-tooltip .is-ig{background:#c68af0;border-radius:2px;width:11px;height:11px}.production-per-capita-legend .is-ik,.production-per-capita-tooltip .is-ik{background:#d735bc;border-radius:2px;width:11px;height:11px}.production-per-capita-tooltip .is-total{background:0 0;border:1px solid #8c847a;border-radius:50%;width:11px;height:11px}.production-per-capita-legend .is-per-capita,.production-per-capita-tooltip .is-per-capita{background:#a66100;border:2px solid #a66100;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #fffdf8}.production-per-capita-tooltip{min-width:250px;color:var(--ink);background:#fffdf8fa;border:1px solid #cfc7ba;border-radius:10px;gap:7px;padding:12px 14px;font-size:13px;display:grid;box-shadow:0 12px 30px #29262224}.production-per-capita-tooltip>strong{padding-bottom:3px;font-size:15px}.production-per-capita-tooltip span{grid-template-columns:12px 1fr auto;gap:7px;display:grid}.production-per-capita-tooltip b{color:#173b63;font-variant-numeric:tabular-nums}.population-growth-tooltip{min-width:220px;color:var(--ink);background:#fffdf8fa;border:1px solid #cfc7ba;border-radius:9px;gap:6px;padding:10px 12px;font-size:13px;display:grid;box-shadow:0 10px 24px #29262224}.population-growth-tooltip>strong{padding-bottom:2px;font-size:14px}.population-growth-tooltip span{grid-template-columns:10px 1fr auto;align-items:center;gap:7px;display:grid}.population-growth-tooltip i{border-radius:2px;width:10px;height:10px}.population-growth-tooltip .is-line-series>i,.population-growth-tooltip .is-point-series>i{border-radius:50%;justify-self:center;width:6px;height:6px}.population-growth-tooltip .is-line-series.is-peer-series>i{width:4px;height:4px}.population-growth-tooltip .is-natural{background:#c99b88}.population-growth-tooltip .is-migration{background:#8eaaa3}.population-growth-tooltip .is-first-total{color:#173b63;border-top:1px solid #e4ddd1;margin-top:2px;padding-top:6px}.population-growth-tooltip b{font-variant-numeric:tabular-nums}@media (width<=760px){.population-growth-tooltip{box-sizing:border-box;background:#fffdf8;gap:5px;width:min(270px,100vw - 70px);min-width:0;max-height:245px;padding:9px 10px;font-size:11px;overflow:hidden auto;box-shadow:0 10px 24px #2926223d}.population-growth-tooltip>strong{font-size:12px}.population-growth-tooltip span{grid-template-columns:9px minmax(0,1fr);gap:3px 6px;line-height:1.25}.population-growth-tooltip span b{white-space:nowrap;grid-column:2}.population-growth-tooltip i{grid-row:1/span 2;align-self:start;margin-top:2px}}.population-hazards-card .chart-card__plot,.building-land-hazards-card .chart-card__plot{height:auto}.hazard-profile-shell{flex-direction:column;gap:10px;display:flex}.hazard-profile-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.hazard-subject{align-items:center;gap:8px;display:inline-flex}.hazard-subject small{color:#6f6a62;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.hazard-subject .chart-toggle{cursor:default}.chart-subject-row{align-self:flex-start;align-items:center;gap:8px;margin-top:14px;display:inline-flex}.chart-subject-row small{color:#6f6a62;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.chart-subject-row .chart-toggle{cursor:default}.hazard-profile-chart{height:390px;min-height:390px}.hazard-reference-legend{color:#625c54;justify-content:center;align-items:center;gap:8px;font-size:12px;line-height:1.35;display:flex}.hazard-reference-legend i{background:#ffffff2e;border:1.4px solid #7c7468;border-radius:3px;width:23px;height:11px}.hazard-reference-legend strong{color:#34312d;font-weight:700}@media (width>=1051px){.population-hazards-card:not(.chart-card--expanded),.building-land-hazards-card:not(.chart-card--expanded),.population-hazards-card:not(.chart-card--expanded)>.chart-card__plot,.building-land-hazards-card:not(.chart-card--expanded)>.chart-card__plot,.population-hazards-card:not(.chart-card--expanded) .chart-card__lazy-shell,.building-land-hazards-card:not(.chart-card--expanded) .chart-card__lazy-shell{flex-direction:column;display:flex}.population-hazards-card:not(.chart-card--expanded)>.chart-card__plot,.building-land-hazards-card:not(.chart-card--expanded)>.chart-card__plot,.population-hazards-card:not(.chart-card--expanded) .chart-card__lazy-shell,.building-land-hazards-card:not(.chart-card--expanded) .chart-card__lazy-shell{flex:auto}.population-hazards-card:not(.chart-card--expanded) .hazard-profile-shell,.building-land-hazards-card:not(.chart-card--expanded) .hazard-profile-shell{padding-bottom:22px}.population-hazards-card:not(.chart-card--expanded) .chart-card__plot .insight-panel,.building-land-hazards-card:not(.chart-card--expanded) .chart-card__plot .insight-panel{box-sizing:border-box;flex-shrink:0;align-self:stretch;width:100%;margin-top:auto}}.building-land-population-card .chart-card__plot{height:auto}.building-land-population-chart{min-height:420px}.building-land-population-plot{height:350px;min-height:350px}.building-land-population-legend{color:#4f4a43;flex-wrap:wrap;justify-content:center;gap:5px 18px;margin-top:8px;padding:0 12px 4px;font-size:14px;line-height:1.25;display:flex}.building-land-population-legend span{align-items:center;gap:5px;display:inline-flex}.building-land-population-legend i{box-sizing:border-box;flex:0 0 14px;width:14px;height:14px}.building-land-population-legend i.is-outlined{border:1px solid #9f9f9f}.building-land-population-tooltip{width:min(500px,100vw - 36px);color:var(--ink);background:#fffdf8f7;border:1px solid #d8d0c3;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;padding:10px 12px 9px;font-size:11px;display:grid;box-shadow:0 8px 20px #232b3624}.building-land-population-tooltip>strong{grid-column:1/-1;margin-bottom:2px;font-size:14px}.building-land-population-tooltip__item{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;line-height:1.2;display:grid}.building-land-population-tooltip__item>span{min-width:0}.building-land-population-tooltip i{border-radius:2px;width:9px;height:9px}.building-land-population-tooltip i.is-outlined{border:1px solid #9f9f9f}.building-land-population-tooltip b{white-space:nowrap;font-variant-numeric:tabular-nums}.building-land-population-tooltip em{color:#21466f;border-top:1px solid #e4ddd1;grid-column:1/-1;margin-top:3px;padding-top:6px;font-style:normal;font-weight:800}.road-infrastructure-toggle{margin:0 18px 8px}.road-infrastructure-chart{height:100%;min-height:0}.municipality-axis-tick{fill:#6c665e;font-size:12px;font-weight:500}.chart-card .road-infrastructure-chart .road-infrastructure-segment-label{font-weight:800;fill:#fff!important}.road-infrastructure-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:2px 0 4px;font-size:13px;display:flex}.road-infrastructure-legend span{align-items:center;gap:6px;display:inline-flex}.road-infrastructure-legend i{border-radius:2px;width:13px;height:13px;display:inline-block}.road-infrastructure-legend .is-state-road{background:#287ca3}.road-infrastructure-legend .is-municipal-road{background:#2f7650}@media (width<=760px){.building-land-population-chart{min-height:0}.building-land-population-plot{height:330px;min-height:330px}.building-land-population-legend{justify-content:flex-start;gap:6px 10px;margin-top:2px;padding:0 5px 6px;font-size:11.5px!important}.building-land-population-legend span{flex:135px;align-items:flex-start}.building-land-population-legend i{flex-basis:11px;width:11px;height:11px;margin-top:2px}.building-land-population-tooltip{grid-template-columns:1fr;width:min(270px,100vw - 70px);max-height:250px;font-size:10.5px;overflow-y:auto}}.hazard-metric-toggle{background:#eff6ff94;border:1px solid #7ba4db6b;border-radius:11px;align-self:flex-start;padding:3px;display:inline-flex}.hazard-metric-toggle button{color:#315a86;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:32px;padding:6px 12px;font-size:12px;font-weight:800}.hazard-metric-toggle button.is-active{color:#fff;background:var(--brand-blue);box-shadow:0 3px 9px #21466f2e}.age-structure-visual{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.age-structure-metric-toggle{flex:none}.age-structure-chart{flex:1;min-height:0}.age-structure-legend{min-height:22px;color:var(--ink);flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:8px 16px;padding-top:4px;font-size:13px;line-height:1.3;display:flex}.age-structure-legend span{align-items:center;gap:6px;display:inline-flex}.age-structure-legend i{border-radius:1px;width:12px;height:12px}.hazard-category-tabs{flex-wrap:wrap;gap:6px;display:flex}.hazard-category-tabs button{color:var(--muted);cursor:pointer;background:#fffdfa;border:1px solid #d8d0c3;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:750}.hazard-category-tabs button:hover,.hazard-category-tabs button:focus-visible{border-color:var(--brand-blue);color:#21466f}.hazard-category-tabs button.is-active{color:#fff;background:#b84b2f;border-color:#b84b2f}.kindergarten-table-wrap{margin-top:18px}.kindergarten-card,.primary-schools-card,.seniors-card{flex-direction:column;display:flex}@media (width>=1051px){.kindergarten-card>.chart-card__header,.primary-schools-card>.chart-card__header,.seniors-card>.chart-card__header{min-height:138px}.primary-school-controls.is-timeline{align-items:center;gap:8px 12px;min-height:38px;margin:5px 0 6px;padding:4px 8px;display:flex}.primary-school-controls.is-timeline>.labor-migration-index-controls__row{flex:auto;min-width:0}.primary-school-controls.is-timeline>.labor-migration-index-entities{border-top:0;flex:none;margin-left:auto;padding-top:0}.education-capacity-controls,.education-capacity-controls.is-timeline{align-items:stretch;height:106px;min-height:106px;margin:5px 0 14px;padding:7px 9px;display:grid}.education-capacity-controls.is-timeline>.chart-controls{margin:8px 0 0}.seniors-controls{height:auto;min-height:106px}.education-capacity-table-wrap .kindergarten-table-scroll{height:430px;max-height:430px}}@media (width>=1051px) and (width<=1500px){.kindergarten-card>.chart-card__header,.primary-schools-card>.chart-card__header,.seniors-card>.chart-card__header{min-height:178px}}.kindergarten-card .kindergarten-table-wrap,.primary-schools-card .primary-school-table-wrap{margin-top:auto;padding-top:18px}.primary-schools-card .primary-school-table-wrap{margin-top:18px;padding-top:0}.kindergarten-card>.insight-panel,.primary-schools-card>.insight-panel{width:100%}.primary-schools-card>.insight-panel,.seniors-card>.insight-panel{margin-top:auto}.kindergarten-table-wrap .table-caption{color:var(--ink);margin:0 0 12px;font-size:15px;line-height:1.5}.kindergarten-table-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;background:#fffcf5b8;border:1px solid #d8d0c3;border-radius:14px;max-width:100%;max-height:430px;overflow:auto;box-shadow:inset 0 1px #ffffff9e}.kindergarten-enrolment-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:0;font-size:11.5px;line-height:1.2}.chart-card .kindergarten-enrolment-table{min-width:0}.kindergarten-enrolment-table th,.kindergarten-enrolment-table td{color:var(--ink);font-variant-numeric:tabular-nums;border:0;border-bottom:1px solid #e3ddd3;padding:5px 8px}.kindergarten-enrolment-table thead th{z-index:1;color:#fff;letter-spacing:.01em;text-align:left;vertical-align:bottom;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;background:#82a9d6;font-size:11.5px;font-weight:800;line-height:1.2;position:sticky;top:0}.kindergarten-enrolment-table thead th+th{border-left:1px solid #ffffff6b}.kindergarten-enrolment-table tbody th{text-align:left;overflow-wrap:anywhere;background:#fffdf8eb;font-weight:800}.kindergarten-enrolment-table tbody td{text-align:right}.kindergarten-enrolment-table th:first-child{width:15%}.kindergarten-enrolment-table th:nth-child(2){width:21%}.kindergarten-enrolment-table th:nth-child(3){width:17%}.kindergarten-enrolment-table th:nth-child(4){width:18%}.kindergarten-enrolment-table th:nth-child(5){width:29%}.kindergarten-enrolment-table.seniors-aligned-table th,.kindergarten-enrolment-table.education-capacity-table th{width:20%}.kindergarten-enrolment-table tbody tr:nth-child(2n){background:#f6f3edb8}.kindergarten-enrolment-table tr:last-child th,.kindergarten-enrolment-table tr:last-child td{border-bottom:0}.primary-school-table-wrap{margin-top:18px}.primary-school-data-table th:first-child{width:22%}.primary-school-data-table th:nth-child(2){width:28%}.primary-school-data-table th:nth-child(3),.primary-school-data-table th:nth-child(4){width:25%}.kindergarten-bar-label{fill:#fff;paint-order:stroke;stroke:#2926222e;stroke-width:2px;stroke-linejoin:round;font-size:11px;font-weight:800}.chart-empty-state{height:100%;min-height:220px;color:var(--muted);text-align:center;background:#e0ece859;border:1px dashed #276b633d;border-radius:14px;place-items:center;padding:24px;font-size:12px;line-height:1.5;display:grid}.commuting-flow-card .chart-card__plot{height:auto;min-height:0;overflow:visible}.chart-card--expanded.commuting-flow-card .chart-card__plot{height:auto;min-height:0;max-height:none}.commuting-flow-controls{background:#ffffffd1;border:1px solid #7ba4db5c;border-radius:999px;grid-template-columns:auto 120px auto;align-items:center;gap:8px;min-width:310px;padding:6px 8px 6px 12px;display:grid}.commuting-flow-controls label,.commuting-flow-controls small{color:var(--muted);font-size:11px;display:block}.commuting-flow-controls label{color:#21466f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;font-weight:850}.commuting-flow-controls select{color:#21466f;background:#fff;border:1px solid #7ba4dba8;border-radius:999px;width:100%;padding:6px 28px 6px 10px;font-size:14px;font-weight:850}.commuting-flow-controls small{color:#21466f;justify-self:start;font-weight:750}.commuting-flow-note{color:#21466f;background:#7ba4db1a;border:1px solid #7ba4db6b;border-radius:13px;margin:-2px 0 8px;padding:7px 10px;font-size:11.5px;font-weight:700;line-height:1.28}.commuting-flow-visual{padding:0}.commuting-flow-schematic-layout{grid-template-columns:1fr;align-items:stretch;gap:16px;min-height:0;display:grid}.commuting-flow-schematic{background:radial-gradient(circle at 72% 24%,#7ba4db3d,#0000 34%),linear-gradient(#ffffffeb,#faf8f3fa);border:1px solid #ddd7cceb;border-radius:22px;min-width:0;padding:10px;box-shadow:inset 0 1px #ffffffd1}.commuting-flow-schematic__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px;display:flex}.commuting-flow-schematic__title{flex:100%;min-width:0}.commuting-flow-schematic__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.commuting-flow-schematic__head h3{margin:2px 0 0;font-size:20px;line-height:1.08}.commuting-flow-schematic__head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:4px;display:flex}.commuting-flow-schematic__replay,.commuting-flow-schematic__pause{color:#21466f;cursor:pointer;background:#ffffffe6;border:1px solid #7ba4db94;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;box-shadow:0 8px 18px #7ba4db29}.commuting-flow-schematic__pause{border-color:#b84b2f47}.commuting-flow-schematic__speed{background:#ffffffd1;border:1px solid #7ba4db6b;border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.commuting-flow-schematic__speed>span{color:#21466f;letter-spacing:.07em;text-transform:uppercase;padding:0 6px 0 8px;font-size:10px;font-weight:850}.commuting-flow-schematic__speed button{color:#21466f;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.commuting-flow-schematic__speed button.is-active{background:var(--brand-blue);color:#fff;box-shadow:0 6px 14px #7ba4db42}.commuting-flow-schematic__replay:hover,.commuting-flow-schematic__pause:hover{background:#7ba4db24}.commuting-flow-schematic__tabs{white-space:nowrap;background:#ffffffc2;border:1px solid #7ba4db57;border-radius:999px;gap:6px;padding:4px;display:inline-flex}.commuting-flow-schematic__tabs button{color:#21466f;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800}.commuting-flow-schematic__tabs button.is-active{color:#fff;background:var(--brand-blue);box-shadow:0 8px 18px #7ba4db47}.commuting-flow-schematic svg{width:100%;height:540px;min-height:0;max-height:540px;display:block;overflow:visible}.commuting-flow-schematic__body{grid-template-columns:minmax(520px,1.75fr) minmax(440px,.9fr);justify-content:stretch;align-items:stretch;gap:14px;display:grid}.commuting-flow-schematic__diagram{background:radial-gradient(circle at 50% 49%,#7ba4db33,#0000 34%),linear-gradient(135deg,#f7f5ef,#eef3f6);border:1px solid #ddd7cceb;border-radius:18px;height:540px;min-height:0;overflow:hidden}.commuting-flow-schematic__rail{grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:10px;min-width:0;display:grid}.commuting-flow-schematic__slo path{fill:none;stroke:#7ba4db6b;stroke-width:1.05px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.commuting-flow-schematic__dot{fill:#bdb4a6;opacity:.58}.commuting-flow-schematic__ring{opacity:.35;transform-origin:50%;animation:2.8s ease-in-out infinite commuting-ring-pulse;fill:none!important;stroke:var(--rust)!important;stroke-width:1.2px!important}.commuting-flow-schematic__canvas{fill:#f7faf9e6;stroke:#7ba4db42}.commuting-flow-schematic__grid line{stroke:#21466f14;stroke-dasharray:5 7}.commuting-flow-schematic__node circle{fill:#2f786d;opacity:.95;stroke:#fff;stroke-width:1px}.commuting-flow-schematic__row-guide{stroke:#7ba4db29;stroke-width:1px}.commuting-flow-schematic__rank,.commuting-flow-schematic__name{fill:#37332ec2;paint-order:stroke;stroke:#ffffffe6;stroke-width:4px;font-size:14px;font-weight:800}.commuting-flow-schematic__rank{fill:#21466f;font-weight:900}.commuting-flow-schematic__static-value rect{fill:#fffffff5;stroke:#7ba4db6b;filter:drop-shadow(0 6px 12px #21466f14)}.commuting-flow-schematic__static-value text{fill:#21466f;stroke:none;font-size:14px;font-weight:900}.commuting-flow-schematic__subject circle{fill:var(--rust);stroke:#fff;stroke-width:2.2px;filter:drop-shadow(0 5px 9px #b84b2f38)}.commuting-flow-schematic__subject text{fill:#21466f;paint-order:stroke;stroke:#fffffff0;stroke-width:3.4px;text-anchor:start;font-size:12.2px;font-weight:900}.commuting-flow-schematic__subject-caption{fill:var(--muted);stroke:#fffffff0;stroke-width:5px;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.commuting-flow-schematic__flow-line{fill:none;stroke-linecap:round;stroke-linejoin:round;mix-blend-mode:multiply}.commuting-flow-schematic__runner{pointer-events:none}.commuting-flow-schematic__arrow{stroke:#fff;stroke-width:1.1px;stroke-linejoin:round;filter:drop-shadow(0 3px 6px #21466f33)}.commuting-flow-schematic__value rect{fill:#fffdf8fa;stroke:#7ba4dba6;stroke-width:.9px;filter:drop-shadow(0 2px 4px #0f376729)}.commuting-flow-schematic__value text{fill:#21466f;font-size:9.8px;font-weight:900}.commuting-flow-schematic__small-label{fill:var(--ink);paint-order:stroke;stroke:#fffdf8;stroke-width:2.2px;stroke-linejoin:round;font-size:8.5px;font-weight:800}.commuting-flow-schematic__sequence{background:#ffffffc2;border:1px solid #ddd7ccd1;border-radius:18px;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:center;gap:5px 7px;min-width:0;padding:15px 14px;display:grid}.commuting-flow-schematic__sequence h3{font-family:var(--font-display);grid-column:1/-1;margin:0 0 5px;font-size:23px;line-height:1.05}.commuting-flow-schematic__sequence p{color:var(--muted);grid-column:1/-1;margin:0 0 8px;font-size:13.5px;line-height:1.28;display:block}.commuting-flow-schematic__sequence-list{grid-column:1/-1;grid-template-rows:repeat(5,minmax(34px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;align-self:stretch;gap:7px 8px;display:grid}.commuting-flow-schematic__sequence-row{background:#ffffff9e;border:1px solid #ddd7cc9e;border-radius:999px;grid-template-columns:17px minmax(72px,1fr) auto;align-items:center;column-gap:8px;min-height:34px;padding:7px 9px;display:grid}.commuting-flow-schematic__sequence-row:last-child{border-bottom:1px solid #ddd7cc9e}.commuting-flow-schematic__sequence-row span{color:#21466f;background:#edf3fb;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:9.5px;font-weight:900;display:inline-flex}.commuting-flow-schematic__sequence-row strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.commuting-flow-schematic__sequence-row em{color:#21466f;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.7px;font-style:normal;font-weight:900}.commuting-flow-schematic__legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:6px;font-size:11px;font-weight:750;display:flex}.commuting-flow-schematic__legend span{align-items:center;gap:6px;display:inline-flex}.commuting-flow-schematic__legend i{border-radius:999px;width:10px;height:10px}.commuting-flow-schematic__legend .is-inbound{background:var(--brand-blue)}.commuting-flow-schematic__legend .is-outbound{background:var(--rust)}.commuting-flow-schematic__legend strong{color:#21466f;font-weight:800}.commuting-flow-schematic__note{color:var(--muted);margin:4px 0 0;font-size:10.5px;font-weight:650}@keyframes commuting-flow-draw{0%,4.9%{opacity:.24;stroke-dashoffset:100px}5%{opacity:.52;stroke-dashoffset:100px}12%{opacity:.52;stroke-dashoffset:0}14%{opacity:.52;stroke-dashoffset:0}16%,to{opacity:.52;stroke-dashoffset:0}}@keyframes commuting-runner-show{0%,4%,14%,to{opacity:0}5%,12.5%{opacity:1}}@keyframes commuting-ring-pulse{0%,to{opacity:.24;transform:scale(.92)}50%{opacity:.62;transform:scale(1.18)}}.commuting-flow-grid{grid-template-columns:minmax(0,1.05fr) minmax(240px,.72fr) minmax(0,1.05fr);align-items:stretch;gap:16px;min-height:0;display:grid}.commuting-flow-panel,.commuting-flow-summary{background:linear-gradient(#ffffffdb,#fbfaf6f5);border:1px solid #ddd7cceb;border-radius:18px;min-width:0;padding:16px}.commuting-flow-panel h3,.commuting-flow-summary h3{margin:0 0 16px;font-size:22px}.commuting-flow-panel ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.commuting-flow-panel li{gap:5px;display:grid}.commuting-flow-row__meta{color:var(--ink);justify-content:space-between;gap:12px;font-size:15px;font-weight:650;line-height:1.25;display:flex}.commuting-flow-row__meta span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.commuting-flow-row__meta strong{color:#21466f;flex:none;font-size:15px}.commuting-flow-row__bar{background:#7ba4db2e;border-radius:999px;height:10px;overflow:hidden}.commuting-flow-row__bar span{border-radius:inherit;height:100%;display:block}.commuting-flow-panel--inbound .commuting-flow-row__bar span{background:var(--brand-blue)}.commuting-flow-panel--outbound .commuting-flow-row__bar span{background:var(--rust)}.commuting-flow-panel small{color:var(--muted);font-size:12px;font-weight:650;line-height:1.25}.commuting-flow-empty{color:var(--muted);line-height:1.5}.commuting-flow-summary{background:radial-gradient(circle at 50% 8%,#7ba4db33,#0000 48%),#fff;border-color:#7ba4db8c;flex-direction:column;justify-content:flex-start;align-self:stretch;padding:10px;display:flex;position:static}.commuting-flow-summary .eyebrow{color:#21466f}.commuting-flow-summary h3{margin-bottom:6px;font-size:18px}.commuting-flow-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.commuting-flow-metrics div{background:#ffffffc7;border:1px solid #ddd7ccdb;border-radius:11px;padding:7px 8px}.commuting-flow-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;line-height:1.15;display:block}.commuting-flow-metrics strong{font-family:var(--font-display);margin-top:3px;font-size:21px;line-height:1;display:block}.commuting-flow-metrics .is-up strong{color:#276b63}.commuting-flow-metrics .is-down strong{color:var(--rust)}.pyramid-entity-control{background:#f6f3ed;border:1px solid #e2ddd3;border-radius:12px;grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:end;gap:14px;margin:5px 0 12px;padding:12px 14px;display:grid}.pyramid-entity-control label>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.pyramid-entity-control select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;padding:10px 36px 10px 12px;font-size:14px;font-weight:700}.pyramid-entity-control select:focus-visible{outline-offset:2px;outline:2px solid #276b6359}.pyramid-entity-control small{color:var(--muted);font-size:12px;line-height:1.4}.pyramid-year-control{background:#fff;border:1px solid #e2ddd3;border-radius:12px;grid-template-columns:auto minmax(220px,460px) auto;align-items:center;gap:14px;margin:5px 0 20px;padding:12px 14px;display:grid}.pyramid-year-control>div{align-items:baseline;gap:8px;display:flex}.pyramid-year-control>.pyramid-year-control__track{align-items:stretch;gap:3px;display:grid}.pyramid-year-control__player{grid-template-columns:30px minmax(0,1fr);align-items:center!important;gap:8px!important;display:grid!important}.pyramid-year-control__player button{border:1px solid var(--brand-blue);color:#21466f;cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.pyramid-year-control__player button:hover,.pyramid-year-control__player button.is-playing{color:#fff;background:var(--brand-blue)}.pyramid-year-control__player button:disabled{cursor:not-allowed;opacity:.45}.pyramid-year-control__player button:focus-visible{outline-offset:2px;outline:2px solid #276b634d}.pyramid-year-control span{color:#21466f;letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.pyramid-year-control strong{font-size:14px}.pyramid-year-control input{width:100%;height:22px;accent-color:var(--brand-blue);cursor:pointer;margin:0}.pyramid-year-control input:disabled{cursor:not-allowed;opacity:.5}.pyramid-year-control small{color:var(--muted);font-size:12px}.pyramid-year-control__labels{width:calc(100% - 56px);height:12px;margin-left:47px;display:block;position:relative}.pyramid-year-control__labels span{color:var(--muted);letter-spacing:-.02em;text-align:center;text-transform:none;font-size:10px;font-weight:700;position:absolute;top:0;transform:translate(-50%)}.pyramid-mode-toggle{justify-content:space-between;align-items:center;gap:14px;margin:5px 0 10px;display:flex}.pyramid-mode-toggle__buttons{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.pyramid-mode-toggle button{border:1px solid var(--brand-blue);color:#21466f;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:700;display:inline-flex}.pyramid-mode-toggle button:hover,.pyramid-mode-toggle button.is-active{color:#fff;background:var(--brand-blue)}.pyramid-mode-toggle button:disabled{cursor:not-allowed;opacity:.45}.pyramid-mode-toggle button:focus-visible{outline-offset:2px;outline:2px solid #276b634d}.pyramid-mode-toggle small{color:var(--muted);text-align:right;font-size:11px}.pyramid-comparison-controls__row{border-bottom:0;flex-wrap:wrap;justify-content:flex-start;gap:8px 12px}.pyramid-comparison-controls__row>span{white-space:nowrap;flex:none}.pyramid-comparison-controls__row>.chart-controls__entities{flex:1 1 0;min-width:150px}.pyramid-comparison-controls__row .chart-controls__pills{flex:0 auto}.pyramid-comparison-controls__row .pyramid-mode-toggle{flex:none;margin:0 0 0 auto}.pyramid-comparison-controls__row .pyramid-mode-toggle small{display:none}.pyramid-year-compare{background:#fff;border:1px solid #e2ddd3;border-radius:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:3px 0 14px;padding:10px 14px;display:grid}.pyramid-year-compare label{grid-template-columns:1fr auto;align-items:center;gap:2px 10px;display:grid}.pyramid-year-compare label>span{color:#21466f;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.pyramid-year-compare label>strong{color:var(--ink);font-size:14px}.pyramid-year-compare input{width:100%;height:18px;accent-color:var(--brand-blue);cursor:pointer;grid-column:1/-1}.pyramid-year-compare input:disabled{cursor:not-allowed;opacity:.5}.pyramid-year-compare small{color:var(--muted);text-align:right;grid-column:1/-1;font-size:10px}.pyramid-year-compare__separator{color:#21466f;background:var(--soft-blue);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.pyramid-plot{background:#faf8f3;border:1px solid #e2ddd3;border-radius:14px;padding:16px}.pyramid-plot__head,.pyramid-row,.pyramid-plot__axis{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);align-items:center;gap:7px;display:grid}.pyramid-plot__head{color:var(--muted);margin-bottom:8px;font-size:12px}.pyramid-plot__head strong:last-child{text-align:right}.pyramid-plot__head span{text-align:center;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.pyramid-plot__rows{gap:2px;display:grid}.pyramid-row>strong{color:var(--muted);text-align:center;font-size:12px;font-weight:600}.pyramid-row__bar{background-image:linear-gradient(90deg,#ddd7cc99 1px,#0000 1px);background-size:25% 100%;border-bottom:1px solid #ddd7cc6b;align-items:stretch;height:18px;display:flex;position:relative}.pyramid-row__bar--left{background-position:100% 0;justify-content:flex-end}.pyramid-row__bar .pyramid-bar{min-width:1px;transition:opacity .15s;display:block;position:absolute;top:0;bottom:0}.pyramid-row__bar--left .pyramid-bar{border-radius:3px 0 0 3px;right:0}.pyramid-row__bar--right .pyramid-bar{border-radius:0 3px 3px 0;left:0}.pyramid-row__bar .pyramid-bar--filled{z-index:1}.pyramid-row__bar .pyramid-bar--outline{z-index:2;background:0 0;border:2px solid #252525}.pyramid-row__bar .pyramid-bar--municipality{box-sizing:border-box;border-style:solid;border-width:1px}.pyramid-row__bar .pyramid-bar--municipality.pyramid-bar--outline{opacity:.92;border-width:2px}.pyramid-row__bar .pyramid-bar--previous{opacity:.78;border-style:solid}.pyramid-row__bar .pyramid-bar:hover{opacity:.72}.pyramid-value{z-index:3;color:#4b4741;white-space:nowrap;pointer-events:none;background:#fffdf8d1;border-radius:3px;padding:1px 3px;font-size:9px;font-weight:800;line-height:1.1;position:absolute;top:50%;transform:translateY(-50%)}.pyramid-value--left{right:4px}.pyramid-value--right{left:4px}.pyramid-row__bar .is-age-0-4,.pyramid-legend .is-age-0-4{background:#2f75b5}.pyramid-row__bar .is-age-5-14,.pyramid-legend .is-age-5-14{background:#5b9bd5}.pyramid-row__bar .is-age-15-19,.pyramid-legend .is-age-15-19{background:#9dc3e6}.pyramid-row__bar .is-age-20-49,.pyramid-legend .is-age-20-49{background:#70ad47}.pyramid-row__bar .is-age-50-64,.pyramid-legend .is-age-50-64{background:#cfd6e0}.pyramid-row__bar .is-age-65-plus,.pyramid-legend .is-age-65-plus{background:#8497b0}.pyramid-plot__axis{color:var(--muted);margin-top:7px;font-size:11px}.pyramid-plot__axis span:nth-child(2){text-align:center}.pyramid-plot__axis span:last-child{text-align:right}.pyramid-scale-note{color:var(--muted);text-align:center;margin:7px 0 0;font-size:11px}.pyramid-year-legend{color:var(--ink);flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.pyramid-year-legend span{align-items:center;gap:6px;display:inline-flex}.pyramid-year-legend i{border-radius:2px;width:18px;height:10px;display:inline-block}.pyramid-year-legend .is-outline{background:0 0;border:2px solid #252525}.pyramid-year-legend .is-filled{background:linear-gradient(90deg,#2f75b5 0 20%,#5b9bd5 20% 35%,#9dc3e6 35% 45%,#70ad47 45% 70%,#cfd6e0 70% 85%,#8497b0 85%)}.pyramid-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px;font-size:12px;display:flex}.pyramid-legend span{align-items:center;gap:5px;display:inline-flex}.pyramid-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.pyramid-municipality-legend{color:var(--ink);font-weight:700}.pyramid-municipality-legend i.is-peer-outline{box-sizing:border-box;background:0 0;border:2px solid}.pyramid-card:not(.chart-card--expanded) .pyramid-entity-control{grid-template-columns:1fr;gap:8px}.pyramid-card:not(.chart-card--expanded) .pyramid-mode-toggle{flex-wrap:wrap;justify-content:space-between}.pyramid-card:not(.chart-card--expanded) .pyramid-year-control{grid-template-columns:1fr;gap:8px}.pyramid-card:not(.chart-card--expanded) .pyramid-year-control small{text-align:right}.pyramid-card:not(.chart-card--expanded) .pyramid-year-compare{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding:9px 12px}.pyramid-card:not(.chart-card--expanded) .pyramid-year-compare__separator{justify-self:center}.pyramid-card:not(.chart-card--expanded) .pyramid-plot{padding:12px 8px}.pyramid-card:not(.chart-card--expanded) .pyramid-plot__head,.pyramid-card:not(.chart-card--expanded) .pyramid-row,.pyramid-card:not(.chart-card--expanded) .pyramid-plot__axis{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:4px}.pyramid-card:not(.chart-card--expanded) .pyramid-row__bar{height:16px}.pyramid-card:not(.chart-card--expanded) .pyramid-row>strong{font-size:10px}.chart-card--expanded.pyramid-card,.chart-card--expanded.education-card{scrollbar-gutter:stable;display:block;overflow:hidden auto}.chart-card--expanded.pyramid-card>.chart-card__header,.chart-card--expanded.pyramid-card>.chart-controls,.chart-card--expanded.pyramid-card>.pyramid-year-control,.chart-card--expanded.pyramid-card>.pyramid-year-compare,.chart-card--expanded.pyramid-card>.pyramid-plot,.chart-card--expanded.pyramid-card>.insight-panel,.chart-card--expanded.education-card>.chart-card__header,.chart-card--expanded.education-card>.chart-controls,.chart-card--expanded.education-card>.education-chart-layout,.chart-card--expanded.education-card>.insight-panel{flex:none;min-height:max-content}.chart-card--expanded.pyramid-card .pyramid-plot{padding:clamp(14px,2vw,22px)}.chart-card--expanded.pyramid-card .pyramid-row__bar{height:clamp(17px,2vh,23px)}.education-chart-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;min-height:500px;padding:10px clamp(8px,3vw,42px) 4px;display:grid}.pyramid-card,.education-card{flex-direction:column;display:flex}.pyramid-card>.insight-panel,.education-card>.insight-panel{width:100%;margin-top:auto}.pyramid-card #age-pyramid-visual,.education-card .education-chart-layout{margin-bottom:24px}.education-chart-row{grid-template-columns:minmax(0,1fr) minmax(210px,.68fr);align-items:center;gap:clamp(10px,2vw,26px);min-height:390px;display:grid}.education-chart-row:has(.education-mini-charts:empty){grid-template-columns:minmax(0,1fr)}.education-chart{height:390px;position:relative}.education-chart__center{text-align:center;pointer-events:none;gap:3px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.education-chart__center strong{font-family:var(--font-display);font-size:25px}.education-chart__center span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.education-pie-label{fill:#3d3a34;stroke:#fffdf8d1;stroke-width:3px;paint-order:stroke;pointer-events:none;font-size:11px;font-weight:800}.education-mini-charts{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:16px 10px;min-width:0;display:grid}.education-mini-charts:empty{display:none}.education-mini-chart{justify-items:center;gap:3px;min-width:0;display:grid}.education-mini-chart__plot{aspect-ratio:1;width:min(100%,150px);position:relative}.education-mini-chart__plot>span{color:var(--ink);font-variant-numeric:tabular-nums;pointer-events:none;font-size:11px;font-weight:800;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.education-mini-chart>strong{color:#46566b;text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:12px;line-height:1.2}.education-comparison-block{width:100%;min-width:0}.education-comparison-scroll{border:1px solid #e1dbd1;border-radius:12px;width:100%;max-width:100%;overflow-x:auto}.education-comparison-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:420px;font-size:12px;line-height:1.25}.education-comparison-table__municipality-column{width:auto}.education-comparison-table th,.education-comparison-table td{border-bottom:1px solid #ece6dc;border-right:1px solid #ece6dc;padding:8px 9px}.education-comparison-table tr>:last-child{border-right:0}.education-comparison-table tbody tr:last-child>*{border-bottom:0}.education-comparison-table thead th{color:#21466f;text-align:right;vertical-align:bottom;background:#edf3fa;font-size:10px;font-weight:800}.education-comparison-table thead th:first-child{text-align:left}.education-comparison-table tbody th{min-width:170px;color:var(--ink);text-align:left;background:#fffcf5b8;font-weight:600}.education-comparison-table tbody th i{border-radius:2px;width:10px;height:10px;margin-right:7px;display:inline-block}.education-comparison-table td{min-width:72px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.education-comparison-table .is-subject{color:var(--ink);background:#b84b2f17;font-weight:800}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-chart-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-height:605px;padding:0 clamp(4px,1.4vw,18px)}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-chart{height:410px}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-chart-row{min-height:410px}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-comparison-table th,.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-comparison-table td{padding:6px 7px}.housing-card:not(.chart-card--wide):not(.chart-card--expanded) .housing-plot{height:330px}.chart-card--expanded.education-card .education-chart-layout{grid-template-columns:minmax(0,1fr);min-height:min(70vh,760px)}.chart-card--expanded.education-card .education-chart{height:min(42vh,440px)}.land-category-tabs{flex-wrap:wrap;gap:7px;margin:4px 0 18px;display:flex}.land-category-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700}.land-category-tabs button:hover{border-color:var(--brand-blue);color:#21466f;background:var(--soft-blue)}.land-category-tabs button.is-active{border-color:var(--brand-blue);color:#fff;background:var(--brand-blue)}.land-layout{grid-template-columns:minmax(0,1fr) minmax(260px,330px) minmax(320px,.82fr);align-items:stretch;gap:18px;display:grid}.land-map-panel,.land-detail-panel,.land-insight-panel .insight-panel{background:#faf8f3;border:1px solid #e2ddd3;border-radius:14px}.land-map-panel{min-width:0;padding:16px}.land-map-panel__head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.land-map-panel h3,.land-detail-panel h3{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:4px 0 0;font-size:18px}.land-scale{min-width:210px;color:var(--muted);flex:none;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;font-size:13px;font-weight:700;display:grid}.land-scale i{background:linear-gradient(90deg,#d9e7e3,#3fa687);border-radius:999px;height:9px}.land-map-shell{background:#e9eee9;border:1px solid #d8d0c3;border-radius:12px;position:relative;overflow:hidden}.land-map-controls{z-index:2;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 24px);display:flex;position:absolute;top:12px;left:12px}.land-map-controls button{color:#21466f;min-width:32px;min-height:30px;font-family:var(--font-main);cursor:pointer;background:#fffcf5eb;border:1px solid #7ba4db7a;border-radius:999px;font-size:13px;font-weight:800;line-height:1;box-shadow:0 8px 18px #26302a14}.land-map-controls button:hover{border-color:var(--brand-blue);background:#fff}.land-map-controls button[aria-pressed=true]{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.land-map-attribution{color:#5f675f;background:#fffcf5e0;border-radius:999px;padding:3px 6px;font-size:11px;line-height:1;position:absolute;bottom:6px;right:8px}.land-geo-map{aspect-ratio:1.43;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#e9eee9;width:100%;display:block}.land-geo-map:active{cursor:grabbing}.land-geo-map__tiles image{opacity:.82;pointer-events:none}.land-geo-map__municipality{stroke:#fffcf5f5;stroke-width:.72px;vector-effect:non-scaling-stroke;cursor:pointer;fill-opacity:.9;transition:fill .15s,fill-opacity .15s,opacity .15s,stroke .15s}.land-geo-map__municipality:focus{outline:none}.land-geo-map__municipality:hover,.land-geo-map__municipality:focus-visible{fill-opacity:1;stroke:#173f3a;stroke-width:1.15px;outline:none}.land-geo-map__municipality.is-empty{fill:#e5e0d6;fill-opacity:.95}.land-geo-map__highlights,.land-geo-map__labels{pointer-events:none}.land-geo-map__highlight{stroke:#171412;stroke-width:2px;vector-effect:non-scaling-stroke;paint-order:stroke}.land-geo-map__highlight.is-subject{stroke:var(--rust);stroke-width:2.6px}.land-geo-map__labels text,.land-geo-map__labels>text{font-family:var(--font-main);letter-spacing:.01em;text-anchor:middle;dominant-baseline:central;fill:#23312d;stroke:#fffcf5eb;stroke-width:3px;paint-order:stroke;vector-effect:non-scaling-stroke;font-size:13px;font-weight:800}.land-geo-map__labels text.is-featured,.land-geo-map__labels>text.is-featured{fill:#121916;font-size:14px}.land-map-empty{min-height:360px;color:var(--muted);text-align:center;background:#f6f3ed;border:1px dashed #d6cec1;border-radius:12px;align-content:center;place-items:center;gap:8px;font-size:12px;display:grid}.land-map-note{color:var(--muted);align-items:flex-start;gap:7px;margin-top:12px;font-size:13px;line-height:1.45;display:flex}.land-map-note svg{color:var(--teal);flex:none;margin-top:1px}.land-detail-panel{padding:18px}.land-detail-panel>strong{font-family:var(--font-display);margin-top:16px;font-size:42px;line-height:1;display:block}.land-detail-panel p{color:var(--muted);margin:8px 0 18px;font-size:15px;line-height:1.5}.land-detail-panel dl{gap:12px;margin:0;display:grid}.land-detail-panel dl>div{border-top:1px solid #e2ddd3;padding-top:12px}.land-detail-panel dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.land-detail-panel dd{margin:5px 0 0;font-size:15px;font-weight:700}.land-card:not(.chart-card--expanded) .land-category-tabs{gap:5px;margin-bottom:10px}.land-card:not(.chart-card--expanded) .land-category-tabs button{padding:8px 10px;font-size:12px}.land-card:not(.chart-card--expanded) .land-map-panel,.land-card:not(.chart-card--expanded) .land-detail-panel,.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel{padding:12px}.land-card:not(.chart-card--expanded) .land-map-panel__head{margin-bottom:10px;display:flex}.land-card:not(.chart-card--expanded) .land-scale{grid-template-columns:auto minmax(70px,1fr) auto;min-width:150px}.land-card:not(.chart-card--expanded) .land-geo-map{aspect-ratio:1.62}.land-card:not(.chart-card--expanded) .land-map-controls{gap:4px;top:8px;left:8px}.land-card:not(.chart-card--expanded) .land-map-controls button{min-width:28px;min-height:27px;padding-inline:8px;font-size:12px}.land-card:not(.chart-card--expanded) .land-map-note{margin-top:8px;font-size:11px;line-height:1.35}.land-card:not(.chart-card--expanded) .land-detail-panel p{margin-bottom:12px;font-size:13px}.land-card:not(.chart-card--expanded) .land-detail-panel dl{gap:8px}.land-card:not(.chart-card--expanded) .land-detail-panel dl>div{padding-top:9px}.land-card:not(.chart-card--expanded) .land-detail-ranking{margin-top:12px;padding-top:10px}.land-card:not(.chart-card--expanded) .land-detail-ranking ol{gap:6px;margin-top:8px}.land-card:not(.chart-card--expanded) .land-detail-ranking li{font-size:12px}.land-insight-panel{min-width:0}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__definition{padding:10px}.land-detail-ranking{border-top:1px solid #e2ddd3;margin-top:18px;padding-top:14px}.land-detail-ranking ol{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.land-detail-ranking li{color:var(--ink);grid-template-columns:22px minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:13px;line-height:1.35;display:grid}.land-detail-ranking li em{color:var(--muted);font-style:normal;font-weight:700}.land-detail-ranking li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.land-detail-ranking li strong{font-size:13px;font-weight:700}.land-detail-ranking li.is-subject span,.land-detail-ranking li.is-subject strong,.land-detail-ranking li.is-subject em{font-weight:900}.land-card .land-layout{grid-template-columns:minmax(0,2fr) minmax(340px,1fr);align-items:stretch;gap:18px}.land-card .land-map-panel{min-width:0;min-height:600px}.land-card .land-side-panel{grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:600px;display:grid}.land-card .land-detail-panel,.land-card .land-insight-panel .insight-panel{border-radius:18px}.land-card .land-detail-panel{padding:18px}.land-card .land-detail-panel h3{font-size:28px}.land-card .land-detail-panel>strong{font-size:44px}.land-card .land-detail-panel p,.land-card .land-detail-panel dd{font-size:15.5px}.land-card .land-detail-panel dt{font-size:12px}.land-card .land-insight-panel{min-width:0;min-height:0}.land-card .land-insight-panel .insight-panel{height:100%;overflow:auto}.land-card .land-insight-panel .insight-panel__grid{grid-template-columns:1fr}.land-card:not(.chart-card--expanded) .land-layout{grid-template-columns:minmax(0,2fr) minmax(330px,1fr);justify-content:stretch;gap:18px}.land-card:not(.chart-card--expanded) .land-map-panel,.land-card:not(.chart-card--expanded) .land-side-panel{min-height:560px}.land-card:not(.chart-card--expanded) .land-detail-panel,.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel{padding:14px}.land-card:not(.chart-card--expanded) .land-detail-panel h3{font-size:24px}.land-card:not(.chart-card--expanded) .land-detail-panel>strong{margin-top:10px;font-size:36px}.land-card:not(.chart-card--expanded) .land-detail-panel p,.land-card:not(.chart-card--expanded) .land-detail-panel dd,.land-card:not(.chart-card--expanded) .land-detail-ranking li,.land-card:not(.chart-card--expanded) .land-detail-ranking li strong{font-size:13px}.land-card:not(.chart-card--expanded) .land-geo-map{aspect-ratio:auto;min-height:470px}.land-card.chart-card--expanded .land-map-panel,.land-card.chart-card--expanded .land-side-panel{min-height:min(72vh,820px)}.land-card.chart-card--expanded .land-geo-map{aspect-ratio:auto;height:min(62vh,680px);min-height:560px}.land-chart-panel{background:#fffdf8db;border:1px solid #e2ddd3;border-radius:18px;min-width:0;padding:16px}.land-chart-shell{height:clamp(360px,34vw,520px);min-height:360px;margin-top:12px}.land-chart-shell .recharts-cartesian-axis-tick text,.land-chart-shell .recharts-text{fill:#5f5a52;font-size:14px}.land-chart-shell .recharts-label-list text{fill:#1f3556;font-size:14px;font-weight:800}.land-chart-empty{min-height:360px}.land-card .land-chart-panel{min-height:560px}.land-card:not(.chart-card--expanded) .land-chart-panel{min-height:520px;padding:14px}.land-card.chart-card--expanded .land-chart-panel{min-height:min(72vh,820px)}.land-card.chart-card--expanded .land-chart-shell{height:min(62vh,680px);min-height:540px}@media (width<=1180px){.land-card .land-layout,.land-card:not(.chart-card--expanded) .land-layout,.land-card.chart-card--expanded .land-layout{grid-template-columns:1fr}.land-card .land-map-panel,.land-card .land-chart-panel,.land-card .land-side-panel,.land-card:not(.chart-card--expanded) .land-map-panel,.land-card:not(.chart-card--expanded) .land-chart-panel,.land-card:not(.chart-card--expanded) .land-side-panel,.land-card.chart-card--expanded .land-map-panel,.land-card.chart-card--expanded .land-chart-panel,.land-card.chart-card--expanded .land-side-panel{min-height:0}.land-card .land-side-panel{grid-template-rows:auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.land-card .land-insight-panel .insight-panel{overflow:visible}}@media (width<=760px){.land-card .land-side-panel{grid-template-columns:1fr}.land-card:not(.chart-card--expanded) .land-geo-map,.land-card.chart-card--expanded .land-geo-map{min-height:380px}.land-chart-shell,.land-card.chart-card--expanded .land-chart-shell{height:380px;min-height:380px}}.building-construction-card .chart-card__plot{height:auto;min-height:0}#land-use{order:0}.building-map-block{gap:16px;margin-top:16px;display:grid}.building-map-year-control{background:#fffdf8c7;border:1px solid #e2ddd3;border-radius:18px;padding:14px 16px;box-shadow:inset 0 1px #ffffffbf}.building-map-year-control .period-control__sliders{margin-top:6px}.building-map-layout{grid-template-columns:1fr;gap:14px;margin-top:4px;display:grid;position:relative}.building-map-panel,.building-map-detail,.building-insight-panel .insight-panel{background:#faf8f3e6;border:1px solid #e2ddd3;border-radius:18px;min-width:0}.building-map-panel{padding:14px;box-shadow:0 14px 34px #2926220e}.building-map-toolbar{gap:12px;margin-bottom:12px;display:grid}.building-map-toolbar__label{color:#21466f;letter-spacing:.055em;text-transform:uppercase;align-items:center;gap:7px;margin-right:4px;font-size:13px;font-weight:900;display:inline-flex}.building-map-tool-row{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.building-map-tool-group{gap:5px;display:grid}.building-map-tool-group>span{color:#5f6d7a;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.building-map-controls,.building-map-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.building-map-controls button,.building-map-tabs button{color:#21466f;cursor:pointer;background:#fffdf8;border:1px solid #7ba4db8c;border-radius:999px;min-height:32px;font-size:13px;font-weight:850}.building-map-controls button:disabled,.building-map-tabs button:disabled{cursor:not-allowed;opacity:.55}.building-map-controls button{min-width:34px;padding:0 11px}.building-map-controls .building-map-play-button{border-color:var(--brand-blue);color:#21466f;background:#7ba4db26;align-items:center;gap:6px;padding-inline:13px;display:inline-flex}.building-map-controls .building-map-play-button:hover:not(:disabled){background:var(--brand-blue);color:#fff}.building-play-control{gap:6px;display:inline-flex;position:relative}.building-map-controls .building-map-restart-button{background:#fffdf8;padding-inline:11px}.building-speed-options{background:#fffdf8;border:1px solid #7ba4db73;border-radius:12px;align-items:center;gap:3px;min-height:32px;padding:3px;display:inline-flex}.building-speed-options>span{color:#63707b;letter-spacing:.06em;text-transform:uppercase;padding:0 5px 0 4px;font-size:10px;font-weight:850}.building-map-controls .building-speed-options button{color:#21466f;background:0 0;border-color:#0000;border-radius:8px;min-width:0;min-height:26px;padding:0 8px;font-size:11px}.building-map-controls .building-speed-options button:hover{background:#7ba4db1f}.building-map-tabs button{padding:0 12px}.building-map-controls button:hover,.building-map-tabs button:hover{border-color:var(--brand-blue);background:#7ba4db1f}.building-map-controls button[aria-pressed=true],.building-map-tabs button.is-active{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.building-map-shell{background:radial-gradient(circle at 55% 42%,#7ba4db29,#0000 28%),linear-gradient(135deg,#eef3ef 0%,#e3ebe7 100%);border:1px solid #d8d0c3;border-radius:16px;position:relative;overflow:hidden}.building-geo-map{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:clamp(560px,40vw,660px);min-height:540px;display:block}.building-geo-map:active{cursor:grabbing}.building-geo-map__boundary{fill:#fffdf861;stroke:#b84b2feb;stroke-width:3.2px;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 2px 3px #2926223d)}.building-geo-map__points circle{stroke:#ffffffd1;stroke-width:.65px;vector-effect:non-scaling-stroke;opacity:.86;pointer-events:none}.building-geo-map__points circle.is-residential,.building-map-legend i.is-residential{fill:var(--rust);background:var(--rust)}.building-geo-map__points circle.is-non-residential,.building-map-legend i.is-non-residential{fill:var(--brand-blue);background:var(--brand-blue)}.building-geo-map__points-layer{pointer-events:none;overflow:visible}.building-geo-map__points-canvas{pointer-events:none;width:100%;height:100%;display:block}.building-map-detail{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8e0;border-color:#ddd7ccc7;flex-direction:column;gap:12px;width:min(320px,100% - 60px);padding:16px;display:flex;position:absolute;top:92px;right:30px;box-shadow:0 18px 44px #29262224}.building-map-detail h3{color:var(--ink);font-family:var(--font-display);margin:-8px 0 0;font-size:28px;line-height:1}.building-map-detail__year{color:var(--muted);margin:0;font-size:14px;font-weight:750}.building-map-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.building-map-stats div,.building-map-annual{background:#fffcf5b8;border:1px solid #e2ddd3;border-radius:12px;padding:10px}.building-map-stats dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:900}.building-map-stats dd{color:var(--ink);font-family:var(--font-display);margin:3px 0 0;font-size:25px;font-weight:700;line-height:1}.building-map-annual{color:var(--ink);gap:5px;display:grid}.building-map-annual strong{color:var(--teal);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.building-map-annual span{font-size:15px;font-weight:850}.building-map-annual small{color:var(--muted);font-size:12px}.building-map-legend{color:var(--muted);border-top:1px solid #e2ddd3;flex-wrap:wrap;gap:10px 14px;margin-top:0;padding-top:10px;font-size:12px;font-weight:800;display:flex}.building-map-legend span{align-items:center;gap:6px;display:inline-flex}.building-map-legend i{border-radius:999px;width:10px;height:10px}.building-insight-panel{background:#faf8f3e6;border:1px solid #e2ddd3;border-radius:18px;min-width:0;overflow:hidden;box-shadow:0 14px 34px #2926220b}.building-insight-panel>summary{color:#21466f;cursor:pointer;background:#7ba4db1f;align-items:center;gap:9px;min-height:48px;padding:0 16px;font-size:14px;font-weight:900;list-style:none;display:flex}.building-insight-panel>summary::-webkit-details-marker{display:none}.building-insight-panel>summary:after{content:"▾";color:var(--brand-blue);margin-left:auto;font-size:13px;transition:transform .15s}.building-insight-panel[open]>summary:after{transform:rotate(180deg)}.building-insight-panel .insight-panel{height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:14px 16px 16px}.building-insight-panel .insight-panel__grid{grid-template-columns:1fr;gap:10px}.building-insight-panel .insight-panel__header{display:none}.building-insight-panel .insight-panel__definition{padding:10px}.building-insight-panel .insight-panel__grid>div{padding-left:10px}.building-insight-panel .insight-panel p{font-size:11px;line-height:1.45}.building-construction-card{overflow:hidden}.building-map-block{gap:14px}.building-map-panel{background:linear-gradient(135deg,#fffdf8c2,#e9f1eed1);border-color:#ddd7cceb;border-radius:28px;padding:0;position:relative;overflow:hidden;box-shadow:0 22px 60px #2926221a}.building-map-toolbar{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8e0;border:1px solid #ddd7ccc7;border-radius:22px;gap:10px;margin:0;padding:12px;display:grid;position:absolute;top:18px;left:18px;right:380px;box-shadow:0 16px 42px #29262221}.building-map-toolbar__label{color:#21466f;font-size:12px}.building-map-tool-row{gap:9px 12px}.building-map-tool-group{gap:4px}.building-map-tool-group>span{color:#21466fb8;font-size:9px}.building-map-controls button,.building-map-tabs button{background:#fffdf8d6;border-color:#7ba4db9e;min-height:34px;padding-inline:12px;box-shadow:inset 0 1px #ffffffb3}.building-map-controls button[aria-pressed=true],.building-map-tabs button.is-active{background:var(--brand-blue);box-shadow:0 8px 18px #7ba4db47}.building-map-shell{background:radial-gradient(circle at 52% 44%,#fffdf89e,#0000 20%),radial-gradient(circle at 52% 44%,#7ba4db38,#0000 33%),linear-gradient(135deg,#eef4f1 0%,#dfeae5 100%);border:0;border-radius:28px}.building-map-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 52% 44%,#0000 0 24%,#fffdf857 48%,#fffdf87a 100%),linear-gradient(90deg,#fffdf88c,#0000 18% 82%,#fffdf88c);position:absolute;inset:0}.building-map-shell .land-geo-map__tiles image{opacity:.2;filter:grayscale(.68)saturate(.55)contrast(.92)}.building-geo-map{z-index:1;height:clamp(600px,43vw,760px);min-height:600px;position:relative}.building-geo-map__boundary{fill:#fffdf86b;stroke:#b84b2ffa;stroke-width:3.8px;filter:drop-shadow(0 3px 5px #29262247)}.building-geo-map__points{z-index:2;position:relative}.building-geo-map__points circle{opacity:.92;stroke:#ffffffe6;stroke-width:.75px}.building-map-detail{background:#fffdf8e8;border-radius:24px;width:340px;padding:17px;top:18px;right:18px;box-shadow:0 22px 54px #29262229}.building-map-detail h3{font-size:32px}.building-map-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.building-map-stats div:first-child{grid-column:1/-1}.building-map-stats div:first-child dd{font-size:38px}.building-map-stats dd{font-size:30px}.building-map-timeline{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8e0;border:1px solid #ddd7ccc2;border-radius:22px;padding:13px 16px;position:absolute;bottom:22px;left:22px;right:22px;box-shadow:0 18px 48px #29262229}.building-map-timeline .period-control__heading{margin-bottom:8px}.building-map-timeline .period-control__heading span{color:#21466f;font-size:12px}.building-map-timeline .period-control__heading strong{color:var(--ink);font-size:20px}.building-map-timeline .period-control__sliders{margin-top:0}.building-map-timeline input[type=range]{height:6px}.building-insight-panel{background:#fffdf8eb;border-radius:22px;box-shadow:0 14px 34px #2926220e}.building-insight-panel>summary{border-radius:22px;min-height:54px;padding-inline:18px}.housing-card{margin-top:0}.housing-completions-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:10px 0 4px;font-size:13px;display:flex}.housing-completions-legend span{align-items:center;gap:6px;display:inline-flex}.housing-completions-legend i{border-radius:2px;width:13px;height:13px;display:inline-block}.housing-completions-legend .is-ten-years{background:#4f83bf}.housing-completions-legend .is-five-years{background:#9bbc59}@media (width>=1051px){#housing-completions:not(.chart-card--expanded){flex-direction:column;display:flex}#housing-completions:not(.chart-card--expanded)>.housing-plot{flex:0 0 410px;height:410px}#housing-completions:not(.chart-card--expanded)>.insight-panel{box-sizing:border-box;flex-shrink:0;align-self:stretch;width:100%;margin-top:auto}.road-infrastructure-card:not(.chart-card--expanded){flex-direction:column;display:flex}.road-infrastructure-card:not(.chart-card--expanded)>.road-infrastructure-legend{margin-top:auto}.road-infrastructure-card:not(.chart-card--expanded)>.insight-panel{box-sizing:border-box;flex-shrink:0;align-self:stretch;width:100%}.road-infrastructure-card:not(.chart-card--expanded)>.insight-panel:not([open]){width:100%;height:58px;min-height:58px;padding:0 18px}.road-infrastructure-card:not(.chart-card--expanded)>.insight-panel:not([open])>.insight-panel__header{width:100%;height:100%}}.migration-flows-visual{flex-direction:column;width:100%;height:100%;min-height:320px;display:flex}.migration-flows-chart{flex:auto;min-height:270px}.migration-flows-legend{color:var(--muted);flex-wrap:wrap;flex:none;justify-content:center;gap:10px 20px;padding:4px 12px 2px;font-size:12px;display:flex}.migration-flows-legend span{align-items:center;gap:6px;display:inline-flex}.migration-flows-legend i{border-radius:2px;width:13px;height:10px;display:inline-block}.migration-flows-legend .is-arrivals-foreign{background:#6f913d}.migration-flows-legend .is-departures-foreign{background:#c55246}.migration-flows-legend .is-arrivals-domestic{background:#b9d58d}.migration-flows-legend .is-departures-domestic{background:#d99a9a}.migration-flows-legend .is-net{background:currentColor;border-radius:2px;width:18px;height:3px;position:relative}.migration-flows-legend .is-net:after{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.settlement-demography-card{overflow:hidden}.settlement-demography-card.chart-card--expanded{overscroll-behavior:contain;overflow:hidden auto}.settlement-demography-pair-start{grid-column-start:auto}.settlement-demography-controls{background:#f8f6f0e0;border:1px solid #ddd5c8;border-radius:15px;margin:4px 0 14px;padding:13px;display:block}.settlement-demography-controls__metrics,.settlement-demography-controls__animation{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settlement-demography-controls button,.settlement-demography-controls select,.settlement-demography-detail button{color:#21466f;min-height:36px;font:inherit;background:#fff;border:1px solid #a9c5ec;border-radius:11px;font-size:13px;font-weight:850}.settlement-demography-controls button{cursor:pointer;padding:0 12px}.settlement-demography-controls button.is-active{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff;box-shadow:0 5px 14px #416fa92e}.settlement-demography-controls__animation label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:7px;font-size:11px;font-weight:850;display:flex}.settlement-demography-controls select{padding:0 28px 0 10px}.settlement-play-button{align-items:center;gap:7px;display:inline-flex}.settlement-demography-timeline{color:#294f78;letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;grid-template-columns:auto minmax(120px,1fr) 46px;align-items:center;gap:12px;font-size:12px;font-weight:900;display:grid}.settlement-demography-timeline input{width:100%;accent-color:var(--brand-blue)}.settlement-demography-timeline strong{color:#173f70;font-family:var(--font-display);text-align:right;font-size:21px}.settlement-demography-map{background:#f4f5ef;border:1px solid #d8d0c3;border-radius:18px;min-height:430px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd9}.settlement-demography-map__canvas{cursor:grab;touch-action:none;width:100%;height:430px;display:block}.settlement-demography-map__canvas.is-dragging{cursor:grabbing}.settlement-demography-map__zoom{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8e6;border:1px solid #7ba4db80;border-radius:13px;align-items:center;gap:5px;padding:6px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 10px 28px #1f35561f}.settlement-demography-map__zoom button{color:#21466f;cursor:pointer;background:#fff;border:1px solid #a9c5ec;border-radius:9px;width:34px;height:32px;font-size:18px;font-weight:900}.settlement-demography-map__zoom span{color:#456486;text-align:center;min-width:54px;font-size:12px;font-weight:850}.settlement-demography-map__year{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8e6;border:1px solid #7ba4db8c;border-radius:14px;min-width:142px;padding:10px 14px;position:absolute;top:17px;right:24px;box-shadow:0 10px 30px #1f35561a}.settlement-demography-map__year small{color:#456486;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.settlement-demography-map__year strong{color:#173f70;font-family:var(--font-display);font-size:34px;line-height:.95}.settlement-demography-detail{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8e6;border:1px solid #7ba4db6b;border-radius:16px;width:min(250px,100% - 32px);padding:13px;position:absolute;bottom:24px;right:24px;box-shadow:0 18px 46px #1f355626}.settlement-demography-detail h3{color:var(--ink);font-family:var(--font-display);margin:2px 0 10px;font-size:24px;line-height:1}.settlement-demography-detail p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.settlement-demography-detail__primary{border-block:1px solid #e2ddd3;justify-content:space-between;align-items:end;gap:12px;padding:10px 0;display:flex}.settlement-demography-detail__primary span{color:var(--muted);font-size:12px;font-weight:800}.settlement-demography-detail__primary strong{color:#173f70;font-family:var(--font-display);font-size:31px;line-height:1}.settlement-demography-detail dl{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.settlement-demography-detail dl div{background:#7ba4db1a;border-radius:10px;padding:9px}.settlement-demography-detail dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.settlement-demography-detail dd{color:var(--ink);margin:3px 0 0;font-size:20px;font-weight:900}.settlement-demography-detail button{cursor:pointer;width:100%;padding:0 10px}.settlement-demography-tooltip{z-index:8;color:#fff;pointer-events:none;background:#262522eb;border:1px solid #1f35562e;border-radius:11px;gap:3px;min-width:210px;padding:10px 12px;display:grid;position:absolute;top:16px;right:16px;box-shadow:0 12px 28px #0003}.settlement-demography-tooltip strong{font-size:14px}.settlement-demography-tooltip span{color:#ffffffd1;font-size:11px}.settlement-demography-tooltip .is-positive,.settlement-demography-detail .is-positive{color:#4cae95}.settlement-demography-tooltip .is-negative,.settlement-demography-detail .is-negative{color:#df7558}.settlement-map-export{background:#fbfaf6}.settlement-demography-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:13px 8px 2px;font-size:12px;font-weight:800;display:flex}.settlement-demography-legend span{align-items:center;gap:6px;display:inline-flex}.settlement-demography-legend .is-exact-value{white-space:normal;max-width:100%}.settlement-demography-legend i{border-radius:4px;flex:none;width:13px;height:13px}.settlement-demography-legend em{color:#456486;text-align:center;flex-basis:100%;font-size:11px;font-style:normal}.settlement-population-table-wrap{margin-top:14px;margin-bottom:18px}.settlement-population-table-wrap .table-caption{margin-bottom:7px;font-size:13px;line-height:1.3}.settlement-population-table-scroll{height:310px;max-height:310px}.settlement-population-table th:first-child{width:52%;min-width:150px}.settlement-population-table th:not(:first-child){width:16%}.settlement-demography-card .settlement-demography-empty{width:100%;height:220px;min-height:220px}@media (width<=760px){.settlement-demography-pair-start{grid-column-start:auto}.settlement-demography-controls{grid-template-columns:1fr}.settlement-demography-controls__animation{justify-content:flex-start}.settlement-demography-timeline{grid-column:1;grid-template-columns:1fr 42px}.settlement-demography-timeline>span{grid-column:1/-1}.settlement-demography-map{min-height:520px}.settlement-demography-map__canvas{height:520px}.settlement-demography-map__year{min-width:112px;top:66px;right:12px}.settlement-demography-map__zoom{top:12px;left:12px}.settlement-demography-detail{width:calc(100% - 24px);bottom:12px;right:12px}}.housing-plot{height:390px;margin-top:18px}.chart-footnote{color:var(--muted);margin:14px 0 0;font-size:11px;line-height:1.5}.migration-table-wrap{margin-top:30px}.labor-migration-card>.migration-table-wrap+.insight-panel{margin-top:18px!important}.table-caption{color:var(--ink);margin:0 0 14px;font-size:15px;line-height:1.55}.table-caption strong{color:var(--teal);font-weight:900}.responsive-table{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;background:#fffcf5b8;border:1px solid #d8d0c3;border-radius:14px;width:100%;max-width:100%;overflow-x:auto;box-shadow:inset 0 1px #ffffff9e}.migration-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:13px;line-height:1.35}.migration-table th,.migration-table td{border:0;border-bottom:1px solid #e3ddd3;padding:12px}.migration-table th:first-child,.migration-table td:first-child{width:18%}.migration-table thead th{color:var(--teal);letter-spacing:.04em;text-align:left;text-transform:uppercase;vertical-align:bottom;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;background:#dfece8;font-size:11px;font-weight:900;line-height:1.22}.migration-table thead th+th{border-left:1px solid #276b631f}.migration-table tbody th{color:var(--ink);text-align:left;overflow-wrap:anywhere;font-weight:800}.migration-table tbody td{text-align:right;font-variant-numeric:tabular-nums}.migration-table tbody tr:nth-child(2n){background:#f6f3edb8}.migration-table tbody tr:hover{background:#eef6f3}.migration-table tbody tr.is-subject th,.migration-table tbody tr.is-subject td{color:var(--rust);font-weight:900}.migration-table tbody tr:last-child th,.migration-table tbody tr:last-child td{border-bottom:0}.insight-panel{box-sizing:border-box;width:100%;max-width:100%;font-family:var(--font-main);background:linear-gradient(145deg,#7ba4db1f 0%,#f9f7f1 100%);border:1px solid #7ba4db73;border-radius:14px;margin-top:22px;padding:18px}.insight-panel__header{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:24px;list-style:none;display:flex}.insight-panel__header::-webkit-details-marker{display:none}.insight-panel__header:after{content:"▾";color:var(--brand-blue);font-size:13px;font-weight:900;transition:transform .15s}.insight-panel[open]>.insight-panel__header{margin-bottom:16px}.insight-panel[open]>.insight-panel__header:after{transform:rotate(180deg)}.insight-panel__title{color:#21466f;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.insight-panel__definition{background:#ffffff9e;border:1px solid #7ba4db61;border-radius:10px;margin-bottom:16px;padding:13px 14px}.insight-panel__definition span{color:#21466f;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.insight-panel__definition p{margin:0;font-size:13.5px;line-height:1.58}.insight-panel__grid{gap:14px;display:grid}.insight-panel__grid--single{grid-template-columns:1fr!important}.chart-card--wide .insight-panel__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-panel__grid>div{border-left:2px solid var(--brand-blue);padding-left:12px}.insight-panel__grid span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.insight-panel__grid p{margin:0;font-size:13.5px;line-height:1.55}.insight-panel__note{color:var(--muted);border-top:1px solid #6c665e2e;align-items:flex-start;gap:6px;margin-top:15px;padding-top:12px;font-size:11.5px;line-height:1.45;display:flex}.insight-panel__note svg{flex:none;margin-top:1px}.land-card .land-insight-panel details.insight-panel{height:auto}.insight-panel.building-insight-panel{margin:0}.land-insight-panel .insight-panel{height:100%;box-shadow:none;margin:0}.land-insight-panel .insight-panel__grid{grid-template-columns:1fr;gap:10px}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__header{margin-bottom:10px}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__definition{margin-bottom:12px;padding:10px}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__grid>div{padding-left:10px}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel p{font-size:12.5px;line-height:1.5}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__title{font-size:14.5px}.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__definition span,.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel__grid span{font-size:10px}.recharts-cartesian-grid line{stroke:#e5e0d7}.chart-card .recharts-text,.chart-card .recharts-label{fill:#746e66;font-size:15px!important}.chart-card .recharts-layer text,.chart-card .recharts-default-legend,.chart-card .recharts-legend-item-text,.chart-card .recharts-default-tooltip{font-size:15px!important}.education-card .recharts-default-tooltip{opacity:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;mix-blend-mode:normal!important;background-color:#fffdf8!important;border:1px solid #d8d0c3!important;border-radius:10px!important;box-shadow:0 10px 28px #2926222e!important}.education-card .recharts-tooltip-wrapper{isolation:isolate;z-index:30!important;opacity:1!important}.jobs-by-activity-card .recharts-default-tooltip{font-size:12px!important}.chart-card .recharts-legend-wrapper{line-height:1.35;font-size:15px!important}.chart-card .recharts-legend-item-text{color:var(--ink)!important}.chart-card .recharts-legend-item{margin-right:14px!important}.chart-card .kindergarten-bar-label{fill:#fff;font-size:14px!important}.migration-bar-label{fill:#173b63;pointer-events:none;paint-order:stroke;stroke:#fbfaf6e6;stroke-width:3px;font-size:14px;font-weight:800}.labor-migration-index-point-label{font-variant-numeric:tabular-nums;pointer-events:none;paint-order:stroke;stroke:#fffdf8eb;stroke-width:3px;stroke-linejoin:round;font-size:10.5px;font-weight:800}.stacked-column-label{fill:#2f2a25;pointer-events:none;font-size:14px;font-weight:600}.section-heading{padding:66px 0 28px}.section-heading h2{margin-top:7px;font-size:clamp(34px,5vw,52px)}.section-heading p{color:var(--muted);margin:9px 0 0}.sources{color:#f7f4ed;background:#2e3d39;border-radius:20px;margin:58px 0 30px;padding:clamp(24px,4vw,42px)}.sources__heading{align-items:center;gap:12px;display:flex}.sources .eyebrow{color:#dcb76c}.sources h2{margin-top:4px;font-size:34px}.sources>p{color:#c8d0cd;max-width:880px;margin:18px 0 26px;line-height:1.65}.source-list{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.source-list a{border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:10px;padding:14px;text-decoration:none;display:flex}.source-list a:hover{background:#ffffff0f}.source-list span{color:#c8d0cd;flex-direction:column;gap:3px;font-size:11px;display:flex}.source-list strong{color:#fff;font-size:12px}.app-footer{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:28px 18px 42px;font-size:11px;display:flex}.app-footer__links{align-items:center;gap:8px;display:inline-flex}.app-footer__links button{appearance:none;color:#315b88;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.app-footer__links button:hover,.app-footer__links button:focus-visible{color:#1d4773}.legal-modal{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#20262394;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.legal-modal__panel{background:#fffdf8;border:1px solid #ddd5c8;border-radius:20px;width:min(760px,100%);max-height:min(820px,100dvh - 48px);overflow:hidden;box-shadow:0 24px 70px #23272547}.legal-modal__header{border-bottom:1px solid #e7e0d5;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 18px;display:flex}.legal-modal__header h2{margin:3px 0 0;font-size:clamp(28px,4vw,38px)}.legal-modal__header button{color:#315b88;cursor:pointer;background:#fff;border:1px solid #d9d1c5;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.legal-modal__header button:hover,.legal-modal__header button:focus-visible{background:#edf4fc}.legal-modal__content{color:#4f4a44;scrollbar-gutter:stable;max-height:calc(min(820px,100dvh - 48px) - 94px);padding:22px 26px 30px;line-height:1.62;overflow-y:auto}.legal-modal__content h3{color:#2c2925;margin:22px 0 5px;font-size:17px}.legal-modal__content h3:first-of-type{margin-top:14px}.legal-modal__content p{margin:0 0 12px}.legal-modal__content a{color:#245486}.legal-modal__content code{background:#f0ebe3;border-radius:5px;padding:2px 5px;font-size:.9em}.legal-modal__updated{color:var(--muted);border-top:1px solid #e7e0d5;padding-top:16px;font-size:12px;margin-top:28px!important}@media (width<=600px){.legal-modal{align-items:end;padding:0}.legal-modal__panel{border-radius:18px 18px 0 0;max-height:92dvh}.legal-modal__header{padding:18px 18px 14px}.legal-modal__content{max-height:calc(92dvh - 82px);padding:18px 18px 28px}}.loading-state{text-align:center;align-content:center;place-items:center;gap:10px;min-height:70vh;display:grid}.loading-state h1{font-size:40px}.loading-state p{color:var(--muted)}.access-gate{background:radial-gradient(circle at 15% 15%, #6aa09724, transparent 34%), radial-gradient(circle at 85% 85%, #b84b2f1a, transparent 32%), var(--paper);place-items:center;min-height:100dvh;padding:clamp(20px,5vw,64px);display:grid}.access-gate__card{border:1px solid var(--line);text-align:center;background:#fffdf8f0;border-radius:28px;width:min(620px,100%);padding:clamp(28px,5vw,54px);box-shadow:0 24px 70px #2f2b241f}.access-gate__card h1{margin:8px 0 12px;font-size:clamp(38px,6vw,62px);line-height:.98}.access-gate__card p{max-width:44ch;color:var(--muted);margin:0 auto;font-size:17px;line-height:1.55}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1680px){.dashboard-grid{gap:24px}.stats-grid{gap:18px}.chart-card{padding:34px 32px 28px}.chart-card__plot{height:380px}.tourism-card:not(.chart-card--expanded) .chart-card__plot{height:404px}.chart-card--wide .chart-card__plot{height:420px}.chart-card--wide.commuting-flow-card .chart-card__plot{height:auto;min-height:0}.pyramid-card .chart-card__plot,.land-card .chart-card__plot{height:auto}}@media (width<=1050px){.dashboard-grid{grid-template-columns:1fr;gap:18px}.chart-card--wide{grid-column:auto}.topbar{grid-template-columns:1fr;gap:10px}.topbar__actions{justify-self:stretch;width:100%;min-width:0;display:flex}.topbar-search{width:100%}.topbar nav{scrollbar-width:none;border-top:1px solid #ddd7ccb3;flex-wrap:nowrap;grid-column:auto;justify-content:flex-start;gap:8px;width:100%;padding-top:12px;overflow:auto hidden}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a,.section-nav__item>a{white-space:nowrap;background:#fffcf5b3;border:1px solid #ddd7ccdb;border-radius:999px;min-height:42px;padding:0 14px;font-size:15.5px}.topbar nav a:hover,.topbar nav a:focus-visible{color:#21466f;border-color:var(--brand-blue);background:var(--soft-blue);outline:none}.section-nav__flyout,.section-nav__item>a:after{display:none}.section-nav__item{flex:none}.hero{grid-template-columns:1fr;align-items:start;min-height:240px}.hero__signal{opacity:.26;inset:18% 3% 24% 34%}.hero__questions{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid .stat-card:nth-child(2n) .stat-info__tooltip{left:auto;right:0;transform:translateY(4px)}.stats-grid .stat-card:nth-child(2n) .stat-info__tooltip:after{margin-left:0;left:auto;right:14px}.stats-grid .stat-card:nth-child(2n) .stat-card__label-row:hover .stat-info__tooltip,.stats-grid .stat-card:nth-child(2n) .stat-info:focus-within .stat-info__tooltip{transform:translate(0)}.source-list{grid-template-columns:1fr}.chart-controls__body{grid-template-columns:1fr;gap:14px}}@media (width>=761px) and (width<=1560px){html{scroll-padding-top:80px}main,.hero,section[id]{scroll-margin-top:80px}.brand__logo{width:170px;height:46px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stats-grid .stat-card:nth-child(odd) .stat-info__tooltip{left:0;right:auto;transform:translateY(4px)}.stats-grid .stat-card:nth-child(odd) .stat-info__tooltip:after{margin-left:0;left:14px;right:auto}.stats-grid .stat-card:nth-child(odd) .stat-card__label-row:hover .stat-info__tooltip,.stats-grid .stat-card:nth-child(odd) .stat-info:focus-within .stat-info__tooltip{transform:translate(0)}.stats-grid .stat-card:nth-child(2n) .stat-info__tooltip{left:auto;right:0;transform:translateY(4px)}.stats-grid .stat-card:nth-child(2n) .stat-info__tooltip:after{margin-left:0;left:auto;right:14px}.stats-grid .stat-card:nth-child(2n) .stat-card__label-row:hover .stat-info__tooltip,.stats-grid .stat-card:nth-child(2n) .stat-info:focus-within .stat-info__tooltip{transform:translate(0)}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;min-height:0;padding:9px 20px}.section-nav{display:none!important}.mobile-topbar__buttons{justify-content:flex-end;align-items:center;gap:8px;display:flex}.mobile-topbar__buttons button{color:#5d574f;background:#fffdf8d1;border:1px solid #ddd7cce6;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-size:14px;font-weight:800;display:inline-flex}.mobile-topbar__buttons button.is-active,.mobile-topbar__buttons button:focus-visible{color:#21466f;background:var(--soft-blue);border-color:#7ba4dbb8;outline:none}.topbar__actions{order:initial;grid-column:1/-1;width:100%;min-width:0;display:none}.topbar__actions.is-mobile-open{display:flex}.topbar-search{width:100%}.topbar .mobile-navigation{z-index:50;border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffdf8fa;border-radius:18px;gap:0;width:min(520px,100vw - 40px);min-width:0;max-height:calc(100vh - 90px);margin:0;padding:10px;display:block;position:absolute;top:calc(100% + 8px);left:auto;right:20px;overflow:hidden auto;box-shadow:0 24px 60px #29262238}.topbar .mobile-navigation .mobile-navigation__main-link,.topbar .mobile-navigation .mobile-navigation__section>summary{width:100%;min-height:46px;color:var(--ink);text-align:left;white-space:normal;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;padding:0 13px;font-size:15px;font-weight:850;text-decoration:none;list-style:none;display:flex}.mobile-navigation__section>summary::-webkit-details-marker{display:none}.mobile-navigation__section>summary:after{color:var(--teal);content:"▾";margin-left:auto;transition:transform .15s}.mobile-navigation__section[open]>summary:after{transform:rotate(180deg)}.mobile-navigation__main-link:hover,.mobile-navigation__main-link:focus-visible,.mobile-navigation__section>summary:hover,.mobile-navigation__section>summary:focus-visible{color:#21466f;background:var(--soft-blue);outline:none}.mobile-navigation__section{border-top:1px solid #ddd7ccb8}.mobile-navigation__links{gap:2px;padding:2px 5px 9px 16px;display:grid}.topbar .mobile-navigation .mobile-navigation__links a{width:100%;min-height:0;color:var(--muted);text-align:left;white-space:normal;background:0 0;border:0;border-left:2px solid #7ba4db59;border-radius:0 9px 9px 0;padding:9px 11px;font-size:13px;font-weight:650;line-height:1.25;text-decoration:none;display:block}.topbar .mobile-navigation .mobile-navigation__links a:hover,.topbar .mobile-navigation .mobile-navigation__links a:focus-visible{color:var(--teal);background:var(--soft-teal);outline:none}}@media (width>=1051px) and (width<=1560px){.hero__questions{display:block}.hero__question{max-width:min(245px,28vw);top:auto;bottom:10%;right:5%}}@media (width<=760px){html{scroll-padding-top:76px}main,.hero,section[id]{scroll-margin-top:76px}main{width:min(100% - 20px, var(--page-max));padding-bottom:42px}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0;padding:8px 10px}.topbar__actions{order:initial;grid-column:1/-1;width:100%;min-width:0;display:none}.topbar__actions.is-mobile-open{display:flex}.topbar-search{min-height:42px}.locus-logo{width:fit-content;min-height:48px;padding:7px 12px}.locus-logo img{height:32px}.brand{gap:8px;padding:2px 4px 2px 0}.brand__logo{width:112px;height:34px}.brand strong{font-size:16px}.brand small{font-size:18px}.section-nav{display:none!important}.mobile-topbar__buttons{justify-content:flex-end;align-items:center;gap:6px;display:flex}.mobile-topbar__buttons button{color:#5d574f;background:#fffdf8d1;border:1px solid #ddd7cce6;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.mobile-topbar__buttons button.is-active,.mobile-topbar__buttons button:focus-visible{color:#21466f;background:var(--soft-blue);border-color:#7ba4dbb8;outline:none}.topbar .mobile-navigation{z-index:50;border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffdf8fa;border-radius:18px;gap:0;width:auto;min-width:0;max-height:calc(100vh - 82px);margin:0;padding:9px;display:block;position:absolute;top:calc(100% + 7px);left:10px;right:10px;overflow:hidden auto;box-shadow:0 24px 60px #29262238}.topbar .mobile-navigation .mobile-navigation__main-link,.topbar .mobile-navigation .mobile-navigation__section>summary{width:100%;min-height:46px;color:var(--ink);white-space:normal;cursor:pointer;border:0;border-radius:11px;align-items:center;padding:0 13px;font-size:15px;font-weight:850;text-decoration:none;list-style:none;display:flex}.mobile-navigation__section>summary::-webkit-details-marker{display:none}.mobile-navigation__section>summary:after{color:var(--teal);content:"▾";margin-left:auto;transition:transform .15s}.mobile-navigation__section[open]>summary:after{transform:rotate(180deg)}.mobile-navigation__main-link:hover,.mobile-navigation__main-link:focus-visible,.mobile-navigation__section>summary:hover,.mobile-navigation__section>summary:focus-visible{color:#21466f;background:var(--soft-blue);outline:none}.mobile-navigation__section{border-top:1px solid #ddd7ccb8}.mobile-navigation__links{gap:2px;padding:2px 5px 9px 16px;display:grid}.topbar .mobile-navigation .mobile-navigation__links a{width:100%;min-height:0;color:var(--muted);text-align:left;white-space:normal;background:0 0;border:0;border-left:2px solid #7ba4db59;border-radius:0 9px 9px 0;padding:9px 11px;font-size:13px;font-weight:650;line-height:1.25;text-decoration:none;display:block}.topbar .mobile-navigation .mobile-navigation__links a:hover,.topbar .mobile-navigation .mobile-navigation__links a:focus-visible{color:var(--teal);background:var(--soft-teal);outline:none}.hero{border-radius:22px;min-height:auto;margin:18px 0 14px;padding:24px 20px;display:grid}.hero__signal{display:none}.hero h1{font-size:clamp(38px,11vw,52px)}.hero p{margin-top:13px;font-size:17px}.hero__place{margin-top:14px}.comparison-filter{border-radius:22px;grid-template-columns:1fr;gap:20px;padding:20px 18px}.comparison-picker{grid-template-columns:1fr}.subject-select select,.subject-select__locked strong,.comparison-picker select,.pyramid-entity-control select,.chart-card select{border-radius:12px;min-height:48px;padding:12px 42px 12px 14px;font-size:16px}.subject-select label>span,.subject-select__locked>span,.comparison-picker label>span,.pyramid-entity-control label>span{font-size:11px}.selected-comparison{min-height:34px;padding:8px 10px;font-size:12px}.orientation-hint{grid-template-columns:auto minmax(0,1fr);gap:8px 10px;margin-bottom:18px}.orientation-hint button{grid-column:2;justify-self:start}.stats-grid{grid-template-columns:1fr;gap:14px;margin:20px 0 30px}.stat-card{border-radius:20px;padding:24px 22px}.stat-card strong{font-size:46px}.stat-card__changes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.stat-card__changes.has-five-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-change:nth-child(2n){border-right:0;padding-right:0}.topic-group{scroll-margin-top:118px}.topic-group>summary{border-radius:20px;align-items:flex-start;padding:20px}.topic-group>summary h2{font-size:clamp(36px,11vw,48px)}.topic-group>summary p{max-width:270px;font-size:15px}.topic-group__meta{margin-top:2px}.topic-group__content{padding-top:14px}.sources h2{font-size:clamp(28px,9vw,36px);line-height:1.05}.sources>p{margin:14px 0 22px;font-size:13px;line-height:1.5}.dashboard-grid{grid-template-columns:1fr;gap:16px}.chart-card--wide{grid-column:auto}.jobs-by-activity-card .chart-card__plot{height:auto;min-height:0}.chart-card{padding:24px 18px 18px}.chart-card h2{font-size:clamp(28px,9vw,36px)}.chart-card__header{min-height:0;display:block}.source-chip{margin-top:12px;display:inline-block}.chart-card__tools{align-items:flex-start;margin-top:12px}.chart-card__tools .source-chip{margin-top:0}.chart-controls{margin-top:18px}.chart-controls__header{align-items:flex-start;min-height:50px;padding:13px 14px}.chart-controls__header>span,.chart-controls__header>strong{font-size:12px}.chart-controls__header>strong{text-align:right;max-width:145px}.chart-controls__body{padding:13px}.chart-toggle{min-height:36px;padding:8px 11px;font-size:13px}.period-control__sliders{grid-template-columns:1fr;gap:7px}.commuting-flow-controls{border-radius:14px;grid-template-columns:1fr;gap:6px;width:100%;min-width:0}.commuting-flow-grid{grid-template-columns:1fr;min-height:0}.commuting-flow-schematic-layout{grid-template-columns:1fr}.commuting-flow-summary{position:static}.commuting-flow-schematic__head{gap:12px;display:grid}.commuting-flow-schematic__head-actions{justify-content:stretch}.commuting-flow-schematic__body,.commuting-flow-schematic__sequence{grid-template-columns:1fr}.commuting-flow-schematic__tabs{justify-content:center;width:100%;margin-top:0}.commuting-flow-schematic svg{min-height:300px}.commuting-flow-schematic__legend{display:grid}.commuting-flow-row__meta{font-size:14px}.chart-card__plot{height:310px;margin-top:24px}.commuting-flow-card .chart-card__plot{height:auto;min-height:0}.pyramid-entity-control,.pyramid-year-control{grid-template-columns:1fr;gap:8px;margin-top:18px}.pyramid-year-control small{text-align:right}.pyramid-mode-toggle{justify-content:space-between;margin-top:18px}.pyramid-year-compare{grid-template-columns:1fr;gap:11px;margin-top:18px}.pyramid-year-compare__separator{justify-self:center}.pyramid-plot{padding:12px 8px}.pyramid-plot__head,.pyramid-row,.pyramid-plot__axis{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:4px}.pyramid-row__bar{height:16px}.pyramid-row>strong{font-size:10px}.education-chart-layout{grid-template-columns:1fr;gap:6px;min-height:0;padding:0}.education-chart{height:300px}.land-layout{grid-template-columns:1fr}.land-map-panel__head{display:block}.land-scale{min-width:0;margin-top:10px}.land-geo-map{aspect-ratio:1.15}.building-map-layout{grid-template-columns:1fr;gap:12px}.building-map-toolbar{justify-content:flex-start;align-items:flex-start}.building-geo-map{height:min(62vh,560px);min-height:360px}.building-map-detail{width:auto;position:static}.building-map-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.building-map-stats dd{font-size:24px}.migration-table{font-size:12px}.migration-table th,.migration-table td{padding:10px 8px}.migration-table thead th{letter-spacing:.025em;font-size:10.5px}.chart-card--wide .insight-panel__grid{grid-template-columns:1fr}.insight-panel{padding:18px}.insight-panel__header{align-items:flex-start}.section-heading{padding-top:46px}}.building-construction-card.chart-card--wide .chart-card__plot,.building-construction-card.chart-card--expanded .chart-card__plot{height:auto;min-height:0;overflow:visible}.building-construction-card .building-insight-panel .insight-panel__grid{grid-template-columns:1fr}.building-construction-card .building-insight-panel .insight-panel{margin:0}.building-construction-card.chart-card--expanded .building-map-panel{flex-direction:column;display:flex}.building-construction-card.chart-card--expanded .building-geo-map{aspect-ratio:auto;height:min(72vh,780px);min-height:600px}@media (width<=1320px){.building-map-toolbar{right:18px}.building-map-detail{width:min(330px,100% - 56px);top:auto;bottom:108px}}@media (width<=1050px){.building-map-panel{border-radius:24px;padding:12px}.building-map-toolbar{border-radius:18px;margin-bottom:12px;position:static;box-shadow:0 10px 26px #29262214}.building-map-shell{border-radius:22px}.building-geo-map{height:min(60vh,560px);min-height:420px}.building-map-detail{border-radius:20px;width:auto;margin-top:12px;position:static}.building-map-timeline{border-radius:18px;margin:12px;position:static}}@media (width<=760px){.building-construction-card{padding-inline:14px}.building-map-panel{border-radius:20px;padding:10px}.building-map-toolbar{padding:11px}.building-map-tool-row{grid-template-columns:1fr;display:grid}.building-map-controls,.building-map-tabs{gap:7px}.building-map-controls button,.building-map-tabs button{min-height:38px;font-size:13px}.building-geo-map{height:56vh;min-height:360px}.building-map-timeline{margin:10px;padding:12px}.building-map-detail{padding:15px}.building-map-stats{grid-template-columns:1fr}.building-map-stats div:first-child dd,.building-map-stats dd{font-size:34px}}.building-construction-card .chart-card__plot{overflow:visible}.building-construction-card .building-map-block{gap:18px}.building-construction-card .building-map-layout{grid-template-columns:minmax(0,1fr) minmax(310px,360px);align-items:start;gap:18px;margin-top:0;display:grid;position:static}.building-construction-card .building-map-panel{background:#fffdf8c7;border:1px solid #ddd7ccf0;border-radius:26px;padding:16px;position:static;overflow:visible;box-shadow:0 18px 44px #29262214}.building-construction-card .building-map-toolbar{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffcf5e6;border:1px solid #ddd7cce6;border-radius:20px;gap:12px;margin:0 0 14px;padding:14px;display:grid;position:static;inset:auto;box-shadow:inset 0 1px #ffffffbd}.building-construction-card .building-map-toolbar__label{color:#21466f;font-size:13px}.building-settlement-select{color:#21466f;min-width:min(360px,100%);min-height:36px;font:inherit;letter-spacing:.01em;background:linear-gradient(#fffffffa,#fffdf8f5);border:1px solid #7ba4dbb8;border-radius:999px;padding:0 38px 0 14px;font-size:13px;font-weight:850;box-shadow:0 8px 20px #7ba4db24}.building-settlement-select:focus-visible{outline-offset:2px;outline:3px solid #7ba4db47}.building-year-select-group{min-width:190px}.building-year-selects{grid-template-columns:1fr 1fr;gap:8px;display:grid}.building-year-selects label{gap:3px;display:grid}.building-year-selects label span{color:#21466fad;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:850}.building-year-selects select{color:#21466f;min-width:82px;min-height:36px;font:inherit;background:linear-gradient(#fffffffa,#fffdf8f5);border:1px solid #7ba4dbb8;border-radius:999px;padding:0 30px 0 12px;font-size:13px;font-weight:850;box-shadow:0 8px 20px #7ba4db1f}.building-year-selects select:focus-visible{outline-offset:2px;outline:3px solid #7ba4db47}.building-construction-card .building-map-controls button,.building-construction-card .building-map-tabs button{min-height:36px;box-shadow:none;background:#fffdf8;border-color:#7ba4dba6;padding-inline:13px}.building-construction-card .building-map-controls button[aria-pressed=true],.building-construction-card .building-map-tabs button.is-active{background:var(--brand-blue);box-shadow:0 8px 18px #7ba4db40}.building-construction-card .building-map-shell{background:radial-gradient(circle at 50% 46%,#7ba4db1f,#0000 30%),linear-gradient(135deg,#eef3ef 0%,#e4ebe7 100%);border:1px solid #d8d0c3f5;border-radius:22px;gap:0;display:grid;position:relative;overflow:hidden}.building-construction-card .building-map-shell:before{display:none}.building-construction-card .building-map-shell .land-geo-map__tiles image{opacity:.34;filter:saturate(.58)contrast(.92)}.building-construction-card .building-footprint-shell{background:radial-gradient(circle at 50% 44%,#7ba4db1f,#0000 36%),linear-gradient(135deg,#fffefa 0%,#f7f9f8 54%,#eef4f8 100%);min-height:460px}.building-footprint-schema{z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:460px;display:block;position:relative}.building-footprint-schema:active{cursor:grabbing}.building-footprint-schema__background{fill:#fffefa}.building-footprint-schema__grid{opacity:.72}.building-footprint-schema__grid path{stroke:#7ba4db2e;stroke-width:1px}.building-footprint-schema__building{vector-effect:non-scaling-stroke;stroke:#ffffffe0;stroke-width:.38px;stroke-linejoin:round}.building-footprint-schema__building--residential{fill:#262522d6}.building-footprint-schema__building--non-residential{fill:#7ba4db9e}.building-footprint-schema__new-building{vector-effect:non-scaling-stroke;stroke:#fffffff2;stroke-width:.72px;stroke-linejoin:round;pointer-events:none;opacity:0;filter:drop-shadow(0 0 7px #c44b2f3d);animation:1.45s ease-out both buildingFootprintNewPulse}.building-footprint-schema__new-building--residential{fill:#c44b2feb}.building-footprint-schema__new-building--non-residential{fill:#7ba4dbf5;filter:drop-shadow(0 0 7px #7ba4db57)}.building-footprint-year-badge{z-index:6;color:#143a67;text-align:right;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8e6;border:1px solid #7ba4db80;border-radius:16px;gap:2px;min-width:118px;padding:10px 14px 11px;display:grid;position:absolute;top:18px;right:18px;box-shadow:0 16px 34px #1f35561f}.building-schema-zoom-controls{z-index:7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8eb;border:1px solid #7ba4db6b;border-radius:15px;align-items:center;gap:5px;padding:6px;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 12px 28px #1f35561a}.building-schema-zoom-controls button{color:#173f6d;cursor:pointer;background:#fffdf8;border:1px solid #7ba4db94;border-radius:10px;width:34px;height:34px;padding:0;font-size:21px;font-weight:800;line-height:1}.building-schema-zoom-controls button:hover{background:#7ba4db21}.building-schema-zoom-controls button.is-reset{font-size:18px}.building-schema-zoom-controls span{color:#21466fd1;text-align:center;min-width:48px;padding-inline:4px;font-size:12px;font-weight:800}.building-schema-zoom-hint{z-index:7;color:#21466fc7;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8e6;border:1px solid #7ba4db52;border-radius:999px;padding:6px 10px;font-size:10.5px;font-weight:700;line-height:1;position:absolute;top:76px;left:18px;box-shadow:0 8px 20px #1f355614}.building-schema-zoom-hint kbd{color:#173f6d;font:inherit;font-weight:850}.building-footprint-year-badge span{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:850;line-height:1.1}.building-footprint-year-badge strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(32px,2.7vw,46px);line-height:.95}@keyframes buildingFootprintNewPulse{0%{opacity:0}12%{opacity:1}42%{opacity:.92}to{opacity:0}}.building-map-detail__settlement{color:#21466fc7;margin:-4px 0 10px;font-size:14px;font-weight:750}.building-construction-card .building-map-legend .is-residential{background:#262522d6}.building-construction-card .building-map-legend .is-non-residential{background:#7ba4dbc7}.building-construction-card .building-map-legend .is-road{background:#627486d1}.building-construction-card .building-map-legend .is-building-land{background:#debb546b;border:1px solid #b2891f75}.building-construction-card .building-map-legend .is-settlement-boundary{background:0 0;border:2px solid #21466fb8}.building-footprint-schema__building-land{fill:#e7c76740;stroke:#b88b2561;stroke-width:1.1px;vector-effect:non-scaling-stroke}.building-footprint-schema__settlement-boundary{fill:#ffffff06;stroke:#21466fb8;stroke-width:1.8px;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.building-construction-card .building-geo-map{z-index:1;height:clamp(560px,38vw,680px);min-height:540px;position:relative}.building-construction-card .building-map-timeline{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf8f0;border:0;border-top:1px solid #ddd7ccd9;border-radius:0;margin:0;padding:14px 16px 16px;position:static;inset:auto}.building-construction-card .building-map-timeline .period-control__heading{margin-bottom:8px}.building-construction-card .building-map-timeline .period-control__heading span{color:#21466f;font-size:12px}.building-construction-card .building-map-timeline .period-control__heading strong{color:var(--ink);font-size:20px}.building-construction-card .building-map-timeline input[type=range]{height:6px}.building-timeline-marks{height:24px;color:var(--muted);margin-top:8px;font-size:12px;font-weight:800;line-height:1;display:block;position:relative}.building-timeline-mark{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.building-timeline-mark:first-child{transform:translate(0)}.building-timeline-mark:last-child{transform:translate(-100%)}.building-construction-card .building-map-detail{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf8eb;border:1px solid #ddd7ccf0;border-radius:24px;width:auto;padding:18px;position:sticky;top:108px;bottom:auto;right:auto;box-shadow:0 18px 44px #29262214}.building-construction-card .building-map-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.building-construction-card .building-map-stats div:first-child{grid-column:1/-1}.building-construction-card .building-insight-panel{background:#fffdf8e6;border-radius:22px;grid-column:1/-1;margin-top:0;box-shadow:0 14px 34px #2926220b}.building-construction-card.chart-card--expanded .building-map-panel{display:block}.building-construction-card.chart-card--expanded .building-map-shell{flex:none}@media (width<=1180px){.building-construction-card .building-map-layout,.building-construction-card.chart-card--expanded .building-map-layout{grid-template-columns:1fr}.building-construction-card .building-map-detail{position:static}.building-construction-card .building-map-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.building-construction-card .building-map-stats div:first-child{grid-column:auto}.building-construction-card .building-map-stats div:first-child dd,.building-construction-card .building-map-stats dd{font-size:30px}}@media (width<=760px){.building-construction-card .building-map-panel{border-radius:20px;padding:10px}.building-construction-card .building-map-toolbar{border-radius:17px;padding:12px}.building-construction-card .building-map-tool-row{grid-template-columns:1fr;display:grid}.building-construction-card .building-map-controls,.building-construction-card .building-map-tabs{gap:8px}.building-construction-card .building-map-controls button,.building-construction-card .building-map-tabs button{min-height:40px;font-size:13.5px}.building-construction-card .building-geo-map,.building-construction-card.chart-card--expanded .building-geo-map{height:58vh;min-height:390px}.building-construction-card .building-map-timeline{padding:12px}.building-construction-card .building-map-stats{grid-template-columns:1fr}.building-construction-card .building-map-stats div:first-child dd,.building-construction-card .building-map-stats dd{font-size:34px}.building-timeline-marks{font-size:11px}.building-timeline-mark:nth-child(2n):not(:first-child):not(:last-child){display:none}}.building-construction-card .building-map-layout{grid-template-columns:minmax(0,2fr) minmax(340px,1fr);align-items:stretch;gap:18px}.building-construction-card .building-map-panel{grid-template-rows:auto minmax(460px,1fr);gap:12px;min-width:0;min-height:570px;display:grid}.building-construction-card .building-map-shell{min-height:0}.building-construction-card .building-geo-map{height:100%;min-height:460px}.building-construction-card .building-map-timeline{border:1px solid #ddd7cce6;border-radius:18px;margin:0}.building-construction-card .building-map-side{grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:570px;display:grid}.building-construction-card .building-map-side .building-map-detail{width:auto;position:static;top:auto}.building-construction-card .building-map-side .building-insight-panel{grid-column:auto;min-height:0;margin:0}.building-construction-card .building-map-side .building-insight-panel[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.building-construction-card .building-map-side .building-insight-panel .insight-panel{height:100%;box-shadow:none;overflow:auto}.building-construction-card .building-map-side .eyebrow{font-size:12px}.building-construction-card .building-map-side .building-map-detail__year{font-size:15px}.building-construction-card .building-map-side .building-map-annual span{font-size:16px}.building-construction-card .building-map-side .building-map-annual small,.building-construction-card .building-map-side .building-map-legend{font-size:13px}.building-construction-card .building-map-side .building-insight-panel>summary{font-size:15px}.building-construction-card .building-map-side .insight-panel__definition span,.building-construction-card .building-map-side .insight-panel__grid span{font-size:11px}.building-construction-card .building-map-side .insight-panel__note{font-size:12.5px}.building-construction-card.chart-card--expanded .building-map-layout{grid-template-columns:minmax(0,2fr) minmax(360px,1fr)}.building-construction-card.chart-card--expanded .building-map-panel,.building-construction-card.chart-card--expanded .building-map-side{min-height:min(76vh,840px)}.building-construction-card.chart-card--expanded .building-geo-map{height:100%;min-height:580px}@media (width<=1180px){.building-construction-card .building-map-layout,.building-construction-card.chart-card--expanded .building-map-layout{grid-template-columns:1fr}.building-construction-card .building-map-panel,.building-construction-card .building-map-side,.building-construction-card.chart-card--expanded .building-map-panel,.building-construction-card.chart-card--expanded .building-map-side{min-height:0}.building-construction-card .building-map-side{grid-template-rows:auto;grid-template-columns:1fr 1fr}.building-construction-card .building-map-side .building-insight-panel .insight-panel{overflow:visible}}@media (width<=760px){.building-construction-card .building-map-panel{grid-template-rows:auto minmax(390px,58vh) auto}.building-construction-card .building-geo-map,.building-construction-card.chart-card--expanded .building-geo-map{min-height:390px}.building-construction-card .building-map-side{grid-template-columns:1fr}}.building-construction-card{padding-top:20px}.building-construction-card .chart-card__header{min-height:0;margin-bottom:4px}.building-construction-card .chart-card__header h2{margin-top:0;font-size:clamp(27px,2.05vw,34px);line-height:.98}.building-construction-card .chart-card__header p{max-width:620px;margin-top:3px;font-size:13.5px;line-height:1.3}.building-construction-card .chart-card__plot{margin-top:6px}.building-construction-card .building-map-layout{gap:14px}.building-construction-card .building-map-panel{border-radius:18px;grid-template-rows:auto minmax(330px,1fr);gap:7px;min-height:420px;padding:9px}.building-construction-card .building-map-toolbar{border-radius:15px;align-items:flex-end;gap:8px;margin:0;padding:7px 9px;display:flex}.building-construction-card .building-map-toolbar__label{white-space:nowrap;flex:none;align-items:center;min-height:28px;font-size:11.5px}.building-construction-card .building-map-tool-row{flex:auto;align-items:flex-end;gap:6px 8px}.building-settlement-select{min-width:235px;min-height:28px;font-size:12px}.building-year-selects{gap:6px}.building-year-selects select{min-width:72px;min-height:28px;font-size:12px}.building-construction-card .building-footprint-shell,.building-footprint-schema{min-height:330px}.building-construction-card .building-map-side .building-map-detail{border-radius:17px;padding:12px}.building-construction-card .building-map-detail__settlement{margin-bottom:5px;font-size:13px}.building-construction-card .building-map-side .building-map-detail__year{margin-bottom:7px;font-size:13px}.building-construction-card .building-map-stats{gap:7px}.building-construction-card .building-map-annual{padding:8px 10px}.building-construction-card .building-map-side .building-insight-panel>summary{min-height:36px;padding:8px 12px}.building-construction-card .building-map-side .insight-panel{padding:9px 12px}.building-construction-card .building-map-side .insight-panel__definition p,.building-construction-card .building-map-side .insight-panel__grid p{font-size:13.5px;line-height:1.48}@media (width<=1280px){.building-construction-card .building-map-toolbar{display:grid}.building-construction-card .building-map-toolbar__label{min-height:0}}@media (width<=760px){.building-construction-card{padding-top:20px}.building-construction-card .chart-card__header h2{font-size:clamp(28px,10vw,34px)}.building-construction-card .building-map-panel{grid-template-rows:auto minmax(360px,56vh);min-height:0;padding:10px}.building-construction-card .building-map-toolbar{padding:10px}.building-settlement-select{width:100%;min-width:0}.building-year-select-group,.building-year-selects{width:100%}.building-construction-card .building-footprint-shell,.building-footprint-schema{min-height:360px}}.building-construction-card .building-map-layout{grid-template-columns:minmax(0,2.1fr) minmax(380px,.95fr);gap:16px}.building-construction-card .building-map-panel{grid-template-rows:auto auto;gap:10px;min-height:0;padding:10px}.building-construction-card .building-map-toolbar{grid-template-columns:145px minmax(0,1fr);align-items:center;gap:10px 14px;padding:10px 12px;display:grid}.building-construction-card .building-map-toolbar__label{align-self:center;min-height:0;font-size:12px}.building-construction-card .building-map-tool-group>span{color:#21466f;font-size:9.5px}.building-construction-card .building-settlement-select{min-width:280px;min-height:34px;font-size:13px}.building-construction-card .building-year-selects select{min-width:82px;min-height:34px;font-size:13px}.building-construction-card .building-map-controls button,.building-construction-card .building-map-tabs button{min-height:34px;padding-inline:12px;font-size:13px}.building-construction-card .building-footprint-schema{height:100%;min-height:0}.building-construction-card .building-map-side{gap:10px;min-height:0}.building-construction-card .building-map-side .building-map-detail{padding:16px}.building-construction-card .building-map-detail h3{font-size:29px}.building-construction-card .building-map-side .building-map-stats dt,.building-construction-card .building-map-side .building-map-annual strong{font-size:12.5px}.building-construction-card .building-map-stats div:first-child dd{font-size:38px}.building-construction-card .building-map-stats dd{font-size:29px}.building-construction-card .building-map-side .building-insight-panel .insight-panel{max-height:390px}@media (width<=1280px){.building-construction-card .building-map-layout,.building-construction-card .building-map-toolbar{grid-template-columns:1fr}}@media (width<=760px){.building-construction-card .building-settlement-select{min-width:0}.building-construction-card .building-footprint-shell{height:430px}}.chart-card .insight-panel{font-size:15px}.chart-card .insight-panel__title,.building-insight-panel>summary{font-size:16px!important}.chart-card .insight-panel__definition span,.chart-card .insight-panel__grid span{letter-spacing:.08em;font-size:12px!important}.chart-card .insight-panel__definition p,.chart-card .insight-panel__grid p,.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel p,.building-insight-panel .insight-panel p{font-size:15px!important;line-height:1.62!important}.chart-card .insight-panel__note{margin-top:5px;padding:5px 0 0;font-size:13px!important;line-height:1.55!important}.chart-card>details.insight-panel:not(.building-insight-panel){box-sizing:border-box;align-self:stretch;width:100%;max-width:100%;height:auto;min-height:0;padding-bottom:18px}.chart-card>details.insight-panel:not(.building-insight-panel) .insight-panel__note{margin-top:5px;padding:5px 0 0;line-height:1.3!important}.chart-card details.insight-panel:not(.building-insight-panel):not([open]){flex:0 0 58px;height:58px;min-height:58px;max-height:58px;padding:0 18px;overflow:hidden}.chart-card details.insight-panel:not(.building-insight-panel):not([open])>.insight-panel__header{align-items:center;width:100%;height:100%}@media (width>=1051px){.dashboard-grid>.chart-card:not(.chart-card--wide):not(.chart-card--expanded){flex-direction:column;display:flex}.dashboard-grid>.chart-card:not(.chart-card--wide):not(.chart-card--expanded)>.insight-panel{box-sizing:border-box;flex-shrink:0;align-self:stretch;width:100%;margin-top:auto}#work-balance:not(.chart-card--expanded),#employment-status:not(.chart-card--expanded),#gross-wages:not(.chart-card--expanded),#tourism:not(.chart-card--expanded),#population-growth:not(.chart-card--expanded),#natural-change:not(.chart-card--expanded),#foreign-citizens:not(.chart-card--expanded),#population:not(.chart-card--expanded),#settlement-population-change:not(.chart-card--expanded),#settlement-aging:not(.chart-card--expanded),#labor-migration:not(.chart-card--expanded),#labor-migration-index:not(.chart-card--expanded){flex-direction:column;display:flex}#work-balance:not(.chart-card--expanded)>.chart-card__plot,#employment-status:not(.chart-card--expanded)>.chart-card__plot,#population-growth:not(.chart-card--expanded)>.chart-card__plot,#natural-change:not(.chart-card--expanded)>.chart-card__plot,#foreign-citizens:not(.chart-card--expanded)>.chart-card__plot,#labor-migration-index:not(.chart-card--expanded)>.chart-card__plot,#settlement-aging:not(.chart-card--expanded)>.settlement-map-export{flex-grow:1}#settlement-aging:not(.chart-card--expanded)>.settlement-map-export{flex-direction:column;display:flex}#settlement-aging:not(.chart-card--expanded)>.settlement-map-export>.settlement-demography-map{flex-grow:1}#settlement-aging:not(.chart-card--expanded)>.settlement-map-export>.settlement-demography-map>.settlement-demography-map__canvas{height:100%}#gross-wages:not(.chart-card--expanded)>.chart-card__plot,#tourism:not(.chart-card--expanded)>.chart-card__plot{flex-grow:1;height:340px}}@media (width>=1680px){#gross-wages:not(.chart-card--expanded)>.chart-card__plot,#tourism:not(.chart-card--expanded)>.chart-card__plot{height:380px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.building-construction-card .building-map-panel{grid-template-rows:auto minmax(520px,1fr)!important;gap:8px!important;padding:10px!important}.building-construction-card .building-map-toolbar{grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px 12px!important;min-height:48px!important;padding:6px 10px!important;display:grid!important}.building-construction-card .building-map-toolbar.is-collapsed{grid-template-columns:1fr!important;min-height:38px!important;padding-block:5px!important}.building-construction-card .building-map-toolbar__toggle{cursor:pointer;color:#153e6f;font:inherit;background:0 0;border:0}.building-construction-card .building-map-toolbar__toggle span{color:#21466f;letter-spacing:.02em;text-transform:none;background:#e9f2ff;border-radius:999px;margin-left:8px;padding:4px 8px;font-size:11px;font-weight:800}.building-construction-card .building-map-tool-row{flex-wrap:wrap!important;align-items:flex-end!important;gap:5px 8px!important;display:flex!important}.building-construction-card .building-map-tool-group{gap:3px!important}.building-construction-card .building-map-tool-group>span{font-size:8.5px!important;line-height:1!important}.building-construction-card .building-year-selects{gap:5px!important}.building-construction-card .building-year-selects label>span{font-size:8.5px!important}.building-construction-card .building-year-selects select{min-width:72px!important;min-height:30px!important;padding-block:4px!important;font-size:12.5px!important}.building-construction-card .building-footprint-shell{height:clamp(560px,52vw,780px)!important;min-height:560px!important}.building-interactive-view{gap:12px;display:grid}.building-year-timeline{background:#fff;border:1px solid #e2ddd3;border-radius:12px;grid-template-columns:150px minmax(260px,1fr);align-items:center;gap:4px 16px;padding:12px 16px 10px;display:grid}.building-year-timeline__heading{color:#21466f;letter-spacing:.07em;text-transform:uppercase;align-items:baseline;gap:8px;font-size:11px;font-weight:850;display:flex}.building-year-timeline__heading strong{min-width:4ch;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:0;font-family:inherit;font-size:14px;line-height:1}.building-year-timeline input[type=range]{width:100%;accent-color:var(--brand-blue);margin:0}.building-year-timeline__ticks{color:#6f6a62;font-variant-numeric:tabular-nums;grid-column:2;justify-content:space-between;gap:4px;width:calc(100% - 38px);margin-left:38px;font-size:10px;display:flex}.building-snapshots{background:#fbfaf5;border:1px solid #e1ddd3;border-radius:14px;min-height:560px;padding:8px}.building-snapshots>p,.building-snapshots-export>p{color:#6c665e;margin:2px 4px 10px;font-size:12px}.building-snapshots-export{background:#fbfaf6;padding:8px}.building-snapshot-controls{background:#f6faffb8;border:1px solid #7ba4db73;border-radius:12px;justify-content:space-between;align-items:end;gap:16px;margin:0 0 12px;padding:10px 12px;display:flex}.building-snapshot-controls>div:first-child{color:#21466f;gap:2px;font-size:12px;display:grid}.building-snapshot-controls>div:first-child span{color:#716b63;font-size:10px}.building-snapshot-selects{grid-template-columns:repeat(4,minmax(86px,1fr));gap:8px;display:grid}.building-snapshot-selects label{color:#58708c;letter-spacing:.05em;text-transform:uppercase;gap:3px;font-size:9px;font-weight:800;display:grid}.building-snapshot-selects select{color:#21466f;min-height:34px;font:inherit;background:#fff;border:1px solid #7ba4dba6;border-radius:10px;padding:0 28px 0 10px;font-size:12px;font-weight:800}.building-snapshots__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.building-snapshot-card{cursor:zoom-in;text-align:center;background:#fffefa;border:1px solid #ebe7de;border-radius:10px;min-width:0;margin:0;padding:9px;display:block}.building-snapshot-card:hover,.building-snapshot-card:focus-visible{border-color:#7ba4db;outline:0;box-shadow:0 8px 22px #21466f1f}.building-footprint-snapshot{border-radius:7px;width:100%;height:clamp(240px,22vw,340px);display:block}.building-snapshot-card>span{color:#4f4b45;text-align:center;padding:7px 2px 1px;font-size:11px;font-weight:700;display:block}.building-snapshot-modal{z-index:1000;background:#181f279e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.building-snapshot-modal__panel{background:#fffefa;border:1px solid #d6d0c5;border-radius:18px;width:min(1100px,94vw);max-height:92vh;padding:14px;box-shadow:0 28px 80px #00000057}.building-snapshot-modal__header{justify-content:space-between;align-items:center;gap:18px;padding:0 2px 10px;display:flex}.building-snapshot-modal__header strong{color:#262522;font-family:var(--font-display,Georgia, serif);font-size:22px;display:block}.building-snapshot-modal__header button{color:#21466f;min-height:34px;font:inherit;cursor:pointer;background:#fffefa;border:1px solid #7ba4db;border-radius:9px;align-items:center;gap:6px;padding:6px 10px;font-weight:700;display:inline-flex}.building-snapshot-modal .building-footprint-snapshot{height:min(72vh,720px)}.building-construction-card.chart-card--expanded .building-footprint-shell{height:min(78vh,860px)!important;min-height:640px!important}@media (width<=1280px){.building-construction-card .building-map-toolbar{grid-template-columns:1fr!important}.building-construction-card .building-footprint-shell{height:58vh!important;min-height:480px!important}}@media (width<=760px){.building-construction-card .building-map-toolbar{padding:8px!important}.building-construction-card .building-map-tool-row{grid-template-columns:1fr!important;display:grid!important}.building-construction-card .building-settlement-select,.building-construction-card .building-year-selects select{width:100%!important}.building-construction-card .building-footprint-shell,.building-construction-card.chart-card--expanded .building-footprint-shell{height:62vh!important;min-height:420px!important}.building-snapshots{min-height:0}.building-snapshots__grid{grid-template-columns:1fr}.building-snapshot-controls{flex-direction:column;align-items:stretch}.building-snapshot-selects{grid-template-columns:repeat(2,minmax(0,1fr))}.building-year-timeline{grid-template-columns:1fr;padding-inline:10px}.building-year-timeline__ticks{grid-column:1}.building-year-timeline__ticks span:nth-child(2n):not(:last-child){display:none}.building-footprint-snapshot{height:250px}.building-snapshot-modal{padding:10px}.building-snapshot-modal__header strong{font-size:18px}}.land-card .land-layout,.land-card:not(.chart-card--expanded) .land-layout{grid-template-columns:minmax(0,2fr) minmax(320px,.95fr);align-items:start;gap:18px}.land-card .land-chart-panel,.land-card:not(.chart-card--expanded) .land-chart-panel{min-height:500px}.land-card .land-side-panel,.land-card:not(.chart-card--expanded) .land-side-panel{min-height:0;display:block}.land-card .land-map-panel__head,.land-card:not(.chart-card--expanded) .land-map-panel__head{justify-content:flex-start}.land-insight-panel--below{margin-top:18px}.land-insight-panel--below .insight-panel,.land-card .land-insight-panel--below .insight-panel,.land-card:not(.chart-card--expanded) .land-insight-panel--below .insight-panel{height:auto;margin:0;overflow:visible}.land-insight-panel--below .insight-panel__grid,.land-card .land-insight-panel--below .insight-panel__grid,.land-card:not(.chart-card--expanded) .land-insight-panel--below .insight-panel__grid{grid-template-columns:1fr}@media (width<=1180px){.land-card .land-layout,.land-card:not(.chart-card--expanded) .land-layout,.land-insight-panel--below .insight-panel__grid,.land-card .land-insight-panel--below .insight-panel__grid,.land-card:not(.chart-card--expanded) .land-insight-panel--below .insight-panel__grid{grid-template-columns:1fr}}.land-card .land-layout--chart-only,.land-card:not(.chart-card--expanded) .land-layout--chart-only,.land-card.chart-card--expanded .land-layout--chart-only{grid-template-columns:1fr}.land-card .land-chart-panel--grouped,.land-card:not(.chart-card--expanded) .land-chart-panel--grouped{min-height:430px}.land-chart-shell--grouped{height:clamp(330px,28vw,430px)}.land-card.chart-card--expanded .land-chart-shell--grouped{height:min(72vh,780px);min-height:580px}.land-chart-shell--grouped .recharts-legend-wrapper{font-size:13px;line-height:1.35}.land-chart-shell--grouped .recharts-legend-item-text{color:var(--text)!important}.land-category-legend{color:var(--text);flex-wrap:wrap;align-items:center;gap:9px 14px;margin:10px 0 0;font-size:13px;line-height:1.35;display:flex}.land-category-legend span{color:var(--text);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.land-category-legend i{border-radius:3px;width:11px;height:11px;box-shadow:inset 0 0 0 1px #1f355614}.land-chart-shell--grouped .recharts-cartesian-axis-tick-value,.land-chart-shell--grouped .recharts-label-list text{font-size:13px}@media (width<=900px){.land-card .land-chart-panel--grouped,.land-card:not(.chart-card--expanded) .land-chart-panel--grouped{min-height:430px}.land-chart-shell--grouped{height:380px}}details.insight-panel.building-insight-panel>.insight-panel__header{margin:0;display:flex}@media (width<=1050px) and (height<=560px) and (orientation:landscape){html{scroll-padding-top:82px}main,.hero,section[id]{scroll-margin-top:82px}.topbar{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;min-height:0;padding:5px 12px}.brand{grid-row:1/span 2;align-self:center;gap:7px;padding-right:2px}.brand__logo{width:104px;height:32px}.topbar nav{border-top:0;grid-area:1/2;gap:5px;width:100%;min-width:0;margin:0;padding:0}.topbar nav>a,.section-nav__item>a{min-height:31px;padding:0 9px;font-size:12px}.topbar__actions{order:initial;grid-area:2/2;width:100%}.topbar-search{min-height:32px}.topbar-search input{font-size:13px}}.chart-card{container:chart-card/inline-size}@container chart-card (width<=1360px){.commuting-flow-schematic__body{grid-template-columns:minmax(0,1fr)}.commuting-flow-schematic__body>*,.commuting-flow-schematic__rail,.commuting-flow-schematic__sequence,.commuting-flow-summary{min-width:0;max-width:100%}.commuting-flow-schematic__diagram,.commuting-flow-schematic svg{height:clamp(420px,48cqw,540px)}}@container chart-card (width<=1050px){.commuting-flow-schematic__head{display:block}.commuting-flow-schematic__title-row{grid-template-columns:1fr;align-items:start;gap:10px;display:grid}.commuting-flow-schematic__tabs{justify-self:start}.commuting-flow-schematic__head-actions{justify-content:flex-start;width:100%;min-width:0;margin-left:0}.commuting-flow-controls{min-width:0}.commuting-flow-schematic__body{grid-template-columns:minmax(0,1fr)}.commuting-flow-schematic__body>*,.commuting-flow-schematic__rail,.commuting-flow-schematic__sequence,.commuting-flow-summary{min-width:0;max-width:100%}.commuting-flow-schematic__diagram,.commuting-flow-schematic svg{height:clamp(360px,52cqw,460px)}.building-construction-card .building-map-side{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.building-construction-card .building-map-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.building-construction-card .building-map-stats>div{min-width:0}.building-construction-card .building-map-stats>div:first-child{grid-column:1/-1}.building-construction-card .building-map-stats dt{overflow-wrap:anywhere}.building-construction-card .building-map-stats dd,.building-construction-card .building-map-stats div:first-child dd{overflow-wrap:anywhere;max-width:100%;font-size:clamp(25px,4.2cqw,34px)}}@container chart-card (width<=680px){.chart-card__header{min-height:0;display:block}.chart-card h2{max-width:19ch;font-size:clamp(29px,6.5cqw,35px);line-height:1.02}.chart-card__header p{max-width:52ch;font-size:14px;line-height:1.45}.chart-card__tools{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-top:12px}.chart-controls{margin:16px 0 14px}.chart-controls__header{min-height:46px;padding:11px 13px}.chart-controls__body{grid-template-columns:1fr;gap:12px;padding:13px}.chart-card__plot{height:330px;margin-top:16px}.migration-flows-card .chart-card__plot,.migration-flows-card .migration-flows-visual{height:auto;min-height:0}.migration-flows-card .migration-flows-chart{flex:0 0 330px;height:330px;min-height:330px}.migration-flows-card .migration-flows-legend{gap:8px 14px;padding:10px 6px 2px;line-height:1.35}.chart-card__plot,.chart-card__lazy-shell,.chart-card .recharts-responsive-container,.chart-card canvas,.chart-card svg{max-width:100%}.tourism-card .chart-card__plot{overflow-x:hidden}.tourism-card .recharts-responsive-container{min-width:0}.kindergarten-enrolment-table,.migration-table{min-width:680px}.chart-card .recharts-default-legend{flex-wrap:wrap;justify-content:center;gap:5px 12px;display:flex}.chart-card .recharts-default-legend .recharts-legend-item{margin-right:0!important}.chart-card .recharts-default-legend,.chart-card .recharts-legend-item-text,.chart-card .recharts-default-tooltip,.chart-card .recharts-legend-wrapper{font-size:13px!important}.chart-card .recharts-cartesian-axis-tick-value,.chart-card .recharts-label{font-size:12px!important}.insight-panel{margin-top:16px}}@container chart-card (width<=419px){.chart-card h2{max-width:none;font-size:clamp(27px,8.5cqw,33px)}.chart-card__header p{margin-top:9px;font-size:13.5px}.chart-card__tools{align-items:stretch;gap:7px}.chart-expand-button,.excel-export-button,.chart-play-button{min-height:38px;padding:8px 10px;font-size:11.5px}.chart-controls__header{gap:8px;padding:11px 12px}.chart-controls__header>span,.chart-controls__header>strong{font-size:11px}.chart-controls__header>strong{text-align:right;max-width:132px}.chart-card__plot{height:300px;margin-top:14px}.migration-flows-card .chart-card__plot{height:auto}.migration-flows-card .migration-flows-chart{flex-basis:300px;height:300px;min-height:300px}.migration-flows-card .migration-flows-legend{justify-content:flex-start;gap:7px 10px;padding-top:12px;font-size:11.5px}.migration-flows-card .migration-flows-legend span{max-width:100%}.pyramid-year-control__labels span{display:none}.pyramid-year-control__labels span:first-child,.pyramid-year-control__labels span:last-child{display:block}.pyramid-year-control__labels span:first-child{text-align:left;transform:none}.pyramid-year-control__labels span:last-child{text-align:right;transform:translate(-100%)}.chart-card .recharts-label-list>:not(:first-child):not(:last-child){display:none}.chart-card .recharts-default-legend{gap:4px 9px}.chart-card .recharts-default-legend,.chart-card .recharts-legend-item-text,.chart-card .recharts-default-tooltip,.chart-card .recharts-legend-wrapper{line-height:1.25;font-size:11.5px!important}.chart-card .recharts-cartesian-axis-tick-value,.chart-card .recharts-label{font-size:11px!important}.insight-panel{padding:16px}.commuting-flow-schematic__diagram,.commuting-flow-schematic__replay,.commuting-flow-schematic__pause,.commuting-flow-schematic__speed{display:none}.commuting-flow-schematic{padding:12px}.commuting-flow-schematic__title-row,.commuting-flow-schematic__head-actions,.commuting-flow-schematic__body,.commuting-flow-schematic__rail{grid-template-columns:1fr;gap:10px;display:grid}.commuting-flow-schematic__tabs{width:100%;margin:0}.commuting-flow-schematic__tabs button{flex:1;min-height:38px}.commuting-flow-controls{width:100%}.commuting-flow-schematic__sequence{padding:10px}.commuting-flow-schematic__sequence-list{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}.commuting-flow-schematic__sequence-row{border-radius:11px;min-height:38px}.commuting-flow-summary{padding:12px}.commuting-flow-metrics{gap:6px}.commuting-flow-metrics div{padding:9px}.commuting-flow-metrics strong{font-size:21px}.pyramid-card:not(.chart-card--expanded) .pyramid-plot{padding:10px 5px}.pyramid-card:not(.chart-card--expanded) .pyramid-plot__head,.pyramid-card:not(.chart-card--expanded) .pyramid-row,.pyramid-card:not(.chart-card--expanded) .pyramid-plot__axis{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:3px}.pyramid-card:not(.chart-card--expanded) .pyramid-row__bar{height:18px}.pyramid-value{display:none}.pyramid-legend{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-chart-layout{grid-template-columns:1fr;gap:8px;min-height:0;padding:0}:is(.education-chart-row,.education-chart-row:has(.education-mini-charts:empty)){grid-template-columns:1fr;gap:10px;min-height:0}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-chart{width:min(220px,100%);height:220px;margin-inline:auto}.education-card:not(.chart-card--wide):not(.chart-card--expanded) .education-chart-row{min-height:0}.education-mini-charts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.education-mini-chart__plot{width:min(100%,92px)}.education-mini-chart__plot>span{font-size:9px}.education-mini-chart>strong{font-size:10px}.education-card .education-comparison-scroll{width:100%}.settlement-demography-map{min-height:360px;overflow:visible}.settlement-demography-map__canvas{height:min(68vh,430px);min-height:360px}.settlement-demography-map__year{min-width:96px;padding:8px 10px;top:12px;right:12px}.settlement-demography-map__year strong{font-size:28px}.settlement-demography-detail{width:auto;box-shadow:none;margin:10px 0 0;position:static}}@media (width<=760px){.topic-group>summary,.topic-group>summary>div{min-width:0}.topic-group__meta{display:none}.stat-card__label-row,.stat-info{position:static}.stat-info__tooltip,.stats-grid .stat-card:nth-child(n) .stat-info__tooltip{width:auto;max-width:none;inset:58px 16px auto;transform:translateY(4px)}.stat-info__tooltip:after,.stats-grid .stat-card:nth-child(n) .stat-info__tooltip:after{display:none}.stat-card__label-row:hover .stat-info__tooltip,.stat-info:focus-within .stat-info__tooltip,.stats-grid .stat-card:nth-child(n) .stat-card__label-row:hover .stat-info__tooltip,.stats-grid .stat-card:nth-child(n) .stat-info:focus-within .stat-info__tooltip{transform:translateY(0)}}:is(.population-change-table,.education-comparison-table,.migration-table,.kindergarten-enrolment-table,.seniors-required-places-table) thead th,.education-comparison-table thead th.is-subject,.population-change-table thead th.is-subject{z-index:2;color:#fff;letter-spacing:0;text-align:left;text-transform:none;vertical-align:middle;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;background:#82a9d6;border-bottom:1px solid #7199c9;border-right:0;height:36px;padding:7px 9px;font-size:11.5px;font-weight:800;line-height:1.18;position:sticky;top:0}:is(.population-change-table,.education-comparison-table,.migration-table,.kindergarten-enrolment-table,.seniors-required-places-table) thead th+th{border-left:1px solid #ffffff6b}.migration-table{font-size:12.5px;line-height:1.25}.migration-table thead th{height:32px;padding:5px 8px;font-size:10.5px;line-height:1.12}.migration-table tbody th,.migration-table tbody td{padding:8px 10px}.chart-card .recharts-default-legend,.chart-card .recharts-legend-item-text,.chart-card .recharts-legend-wrapper,.tourism-legend,.education-comparison-legend,.seniors-legend,.commuter-metrics-legend,.primary-school-chart-legend,.primary-schools-legend,.production-per-capita-legend,.hazard-reference-legend,.building-land-population-legend,.road-infrastructure-legend,.age-structure-legend,.commuting-flow-schematic__legend,.pyramid-year-legend,.pyramid-legend,.building-map-legend,.housing-completions-legend,.migration-flows-legend,.settlement-demography-legend,.land-category-legend{line-height:1.35;font-size:14px!important}.settlement-demography-legend em{font-size:inherit}#settlement-population-change.chart-card--expanded,#settlement-aging.chart-card--expanded{flex-direction:column;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:20px 22px 16px;display:flex;inset:10px;overflow:hidden}#settlement-population-change.chart-card--expanded>.chart-card__header,#settlement-aging.chart-card--expanded>.chart-card__header{flex:none}#settlement-population-change.chart-card--expanded>.settlement-map-export,#settlement-aging.chart-card--expanded>.settlement-map-export{flex-direction:column;flex:auto;min-height:0;display:flex}#settlement-population-change.chart-card--expanded .settlement-demography-map,#settlement-aging.chart-card--expanded .settlement-demography-map{aspect-ratio:auto;flex:auto;width:100%;height:auto;min-height:0}#settlement-population-change.chart-card--expanded .settlement-demography-map__canvas,#settlement-aging.chart-card--expanded .settlement-demography-map__canvas{width:100%;height:100%;min-height:0}#settlement-population-change.chart-card--expanded .settlement-demography-legend,#settlement-aging.chart-card--expanded .settlement-demography-legend{flex:none}#settlement-population-change.chart-card--expanded>.settlement-population-table-wrap,#settlement-population-change.chart-card--expanded>.insight-panel,#settlement-aging.chart-card--expanded>.insight-panel{display:none}.building-construction-card.chart-card--expanded .building-footprint-shell{aspect-ratio:980/560;width:100%;height:auto!important;min-height:0!important}.building-construction-card.chart-card--expanded .building-footprint-schema{width:100%;height:100%}.building-construction-card.chart-card--expanded:not(.has-jpeg-export){flex-direction:column;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:18px 20px 14px;display:flex;inset:10px;overflow:hidden}.building-construction-card.chart-card--expanded:not(.has-jpeg-export)>.chart-card__header{flex:none}.building-construction-card.chart-card--expanded:not(.has-jpeg-export)>.chart-card__plot{flex:auto;height:auto;min-height:0;display:flex;overflow:hidden}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-block,.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-layout,.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-panel,.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-interactive-view{width:100%;height:100%;min-height:0}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-layout{display:block}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-panel{flex-direction:column;grid-template-rows:none!important;display:flex!important}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-toolbar,.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-year-timeline{flex:none}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-interactive-view{flex-direction:column;flex:auto;display:flex}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-footprint-shell{aspect-ratio:auto;flex:auto;width:100%;height:auto!important;min-height:0!important}.building-construction-card.chart-card--expanded:not(.has-jpeg-export) .building-map-side{display:none}.building-construction-card.chart-card--expanded.has-jpeg-export{flex-direction:column;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:18px 20px 14px;display:flex;inset:10px;overflow:hidden}.building-construction-card.chart-card--expanded.has-jpeg-export>.chart-card__header{flex:none}.building-construction-card.chart-card--expanded.has-jpeg-export>.chart-card__plot{flex:auto;height:auto;min-height:0;display:flex;overflow:hidden}.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-block,.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-layout,.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-panel{width:100%;height:100%;min-height:0}.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-layout{display:block}.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-panel{flex-direction:column;grid-template-rows:none!important;display:flex!important}.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-toolbar,.building-construction-card.chart-card--expanded.has-jpeg-export .building-snapshot-controls,.building-construction-card.chart-card--expanded.has-jpeg-export .building-snapshots-export>p{flex:none}.building-construction-card.chart-card--expanded.has-jpeg-export .building-snapshots,.building-construction-card.chart-card--expanded.has-jpeg-export .building-snapshots-export{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.building-construction-card.chart-card--expanded.has-jpeg-export .building-snapshots__grid{flex:auto;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.building-construction-card.chart-card--expanded.has-jpeg-export .building-snapshot-card{flex-direction:column;min-height:0;display:flex}.building-construction-card.chart-card--expanded.has-jpeg-export .building-footprint-snapshot{flex:auto;height:auto;min-height:0}.building-construction-card.chart-card--expanded.has-jpeg-export .building-map-side{display:none}@media (width>=1181px){.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-panel{height:clamp(520px,100dvh - 220px,850px);min-height:0}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-layout{align-items:start;height:auto}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side{grid-template-rows:auto auto;align-self:start;height:auto;min-height:0}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-panel{grid-template-rows:auto minmax(0,1fr)!important}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-interactive-view{grid-template-rows:auto minmax(0,1fr);min-height:0}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-footprint-shell{height:100%!important;min-height:0!important}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-insight-panel,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-insight-panel .insight-panel{height:auto;min-height:0;max-height:none;overflow:visible}}.building-construction-card .building-map-layout>.building-insight-panel{grid-column:1/-1;width:100%;min-height:0;margin:0}.building-construction-card .building-map-side{grid-template-rows:auto;align-self:stretch;height:100%;min-height:0}.building-construction-card .building-map-side .building-map-detail{flex-direction:column;height:100%;min-height:0;display:flex}.building-stock-characteristics{border-top:1px solid #ddd7cce6;margin-top:auto;padding:15px 0 0}.building-stock-characteristics h4{color:#ad4d30;letter-spacing:.11em;text-transform:uppercase;margin:0 0 11px;font-size:11px;font-weight:900}.building-stock-characteristics dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;display:grid}.building-stock-characteristics__group-label{color:#21466f;letter-spacing:.07em;text-transform:uppercase;margin:0 1px 6px;font-size:9.5px;font-weight:850;display:block}.building-stock-characteristics__group-label--secondary{margin-top:10px}.building-stock-characteristics dl>div{background:#faf8f3b8;border:1px solid #ddd7cce6;border-radius:13px;min-width:0;padding:10px}.building-stock-characteristics dt{color:#6d685f;letter-spacing:.055em;text-transform:uppercase;min-height:2.5em;font-size:10px;font-weight:800;line-height:1.25}.building-stock-characteristics dd{color:#24211d;font-family:var(--font-display);margin:4px 0 0;font-size:25px;font-weight:700;line-height:1}.building-stock-characteristics dd.building-stock-characteristics__period{font-variant-numeric:tabular-nums;font-size:21px}.building-stock-characteristics dl small{color:var(--muted);margin-top:4px;font-size:10.5px;font-weight:700;display:block}.building-stock-characteristics p{color:var(--muted);margin:-4px 0 10px;font-size:10.5px;line-height:1.4}.building-construction-card .building-map-toolbar{gap:5px 9px!important;min-height:40px!important;padding:4px 8px!important}.building-construction-card .building-map-toolbar__toggle span{margin-left:5px;padding:3px 7px}.building-construction-card .building-map-tool-row{gap:4px 6px!important}.building-construction-card .building-map-tool-group{min-width:0;gap:2px!important}.building-construction-card .building-settlement-select{min-width:220px!important;min-height:28px!important;padding-block:3px!important;font-size:12px!important}.building-construction-card .building-map-controls button,.building-construction-card .building-map-tabs button{min-height:28px!important;padding:5px 8px!important;font-size:12px!important}.building-construction-card .building-interactive-view{gap:7px}.building-construction-card .building-year-timeline{grid-template-columns:135px minmax(240px,1fr);gap:1px 11px;padding:7px 12px 5px}.building-construction-card .building-year-timeline__heading{gap:6px;font-size:10px}.building-construction-card .building-year-timeline__heading strong{font-size:13px}.building-construction-card .building-year-timeline__ticks{font-size:9px}@media (width>=761px){.building-construction-card .building-map-tool-row{flex-wrap:nowrap!important}.building-construction-card .building-map-tool-group:first-child{flex:250px;min-width:200px}.building-construction-card .building-map-tool-group:first-child .building-settlement-select{width:100%}}.building-construction-card.chart-card--expanded .building-map-side,.building-construction-card.chart-card--expanded .building-map-layout>.building-insight-panel{display:none}@media (width>=1181px) and (height<=1050px){.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side{gap:7px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-map-detail{padding:10px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-detail h3{font-size:24px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-detail__settlement,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-detail__year{margin-bottom:4px;font-size:12px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-stats{gap:5px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-stats div,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-annual{padding:7px 8px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-stats dt,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-annual strong{font-size:10px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-stats div:first-child dd{font-size:30px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-stats dd{font-size:23px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-annual{gap:2px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-annual span{font-size:14px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-annual small,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-legend{font-size:11px;line-height:1.3}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-insight-panel>summary{min-height:34px;padding:7px 10px;font-size:13px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .insight-panel{padding:7px 9px 8px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .insight-panel__definition{padding:7px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .insight-panel__grid{gap:7px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .insight-panel__definition p,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .insight-panel__grid p{font-size:12.5px;line-height:1.4}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .insight-panel__note{font-size:10.5px}}.building-construction-card.has-jpeg-export>.chart-card__header .chart-card__tools{grid-template-columns:repeat(2,max-content);place-items:center stretch;display:grid}.building-construction-card.has-jpeg-export>.chart-card__header .chart-expand-button{grid-column:1/-1;justify-self:end}.building-construction-card.has-jpeg-export>.chart-card__header .excel-export-button:not(.jpeg-export-button){grid-area:2/1}.building-construction-card.has-jpeg-export>.chart-card__header .jpeg-export-button{grid-area:2/2}@media (width>=1181px){.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-layout{align-items:stretch}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-panel,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side{box-sizing:border-box;height:clamp(520px,100dvh - 220px,850px)}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side{flex-direction:column;align-self:stretch;gap:0;display:flex}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-map-detail{box-sizing:border-box;flex:auto;height:100%}}.building-construction-card .building-map-layout>details.insight-panel.building-insight-panel{box-shadow:none;background:linear-gradient(145deg,#7ba4db1f 0%,#f9f7f1 100%);border:1px solid #7ba4db73;border-radius:14px;padding:18px}.building-construction-card .building-map-layout>details.insight-panel.building-insight-panel>.insight-panel__header{background:0 0;border-radius:0;min-height:24px;padding:0}.building-construction-card .building-map-layout>details.insight-panel.building-insight-panel:not([open]){height:58px;min-height:58px;max-height:58px;padding:0 18px;overflow:hidden}.building-construction-card .building-map-layout>details.insight-panel.building-insight-panel:not([open])>.insight-panel__header{width:100%;height:100%}.building-construction-card .building-map-side .building-map-legend{row-gap:5px;padding-bottom:12px}@container chart-card (width<=1360px){.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-layout{grid-template-columns:minmax(0,1fr);gap:12px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-panel,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side{width:100%;min-width:0;height:auto;min-height:0}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-footprint-shell{height:clamp(500px,58cqw,720px)!important;min-height:480px!important}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side{display:block}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-map-detail{grid-template-rows:auto auto auto auto auto auto;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:6px 22px;height:auto;display:grid}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .eyebrow,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-detail h3,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-detail__settlement,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-stats,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-annual{grid-column:1}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-stock-characteristics{border-top:0;border-left:1px solid #ddd7cce6;grid-area:1/2/6;align-self:stretch;margin-top:0;padding:0 0 0 22px}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-legend{grid-column:1/-1;margin-top:5px}.building-construction-card .building-map-tool-row{flex-wrap:wrap!important}}@container chart-card (width<=820px){.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-side .building-map-detail{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-stock-characteristics,.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-map-legend{grid-area:auto/1}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-stock-characteristics{border-top:1px solid #ddd7cce6;border-left:0;margin-top:8px;padding:14px 0 0}.building-construction-card .building-map-tool-row{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid!important}.building-construction-card .building-map-tool-group:first-child{grid-column:1/-1}.building-construction-card .building-settlement-select{width:100%!important;min-width:0!important}.building-construction-card .building-year-timeline{grid-template-columns:minmax(0,1fr);gap:8px}.building-construction-card .building-year-timeline__ticks{grid-column:1}}@container chart-card (width<=560px){.building-construction-card .building-map-tool-row{grid-template-columns:minmax(0,1fr)}.building-construction-card .building-map-tool-group:first-child{grid-column:1}.building-construction-card:not(.chart-card--expanded):not(.has-jpeg-export) .building-footprint-shell{height:62vh!important;min-height:400px!important}}@media (width>=1051px){.chart-card .recharts-cartesian-axis-tick text:not(.municipality-axis-tick):not(.jobs-by-activity-axis-tick),.chart-card .recharts-cartesian-axis-tick-value:not(.municipality-axis-tick):not(.jobs-by-activity-axis-tick){font-size:12px!important}.chart-card .recharts-label,.chart-card .chart-axis-title,.chart-card .recharts-text.wage-axis-title,.chart-card .recharts-layer text.recharts-label,.chart-card .recharts-layer text.chart-axis-title,.chart-card .primary-school-network-axis-label{font-size:14px!important}}@media (width<=1050px){.chart-card .recharts-label-list,.chart-card .education-pie-label,.chart-card .stacked-column-label,.chart-card .migration-bar-label,.chart-card .labor-migration-index-point-label,.chart-card .kindergarten-bar-label,.chart-card .wage-point-label,.chart-card .unemployment-rate-label__text,.chart-card .seniors-share-point-label,.chart-card .production-per-capita-label,.chart-card .central-area-share-label,.chart-card .central-area-stack-label,.chart-card .tourism-total-label,.chart-card .tourism-duration-label,.chart-card .primary-school-pupil-label{display:none!important}.chart-card .recharts-cartesian-axis-tick text,.chart-card .recharts-cartesian-axis-tick-value{font-size:10px!important}.chart-card .recharts-label,.chart-card .chart-axis-title,.chart-card .primary-school-network-axis-label,.chart-card .recharts-layer text.chart-axis-title,.chart-card .recharts-text.wage-axis-title,.chart-card .recharts-layer text.recharts-label,.chart-card .recharts-layer text.primary-school-network-axis-label{font-size:12px!important}.jobs-by-activity-card .recharts-cartesian-axis-tick text.jobs-by-activity-axis-tick{line-height:1;font-size:7.5px!important}.chart-card:not(.tourism-card):not(.primary-schools-card) .recharts-tooltip-wrapper,.tourism-card .recharts-tooltip-wrapper,.primary-schools-card .recharts-tooltip-wrapper{isolation:isolate;z-index:50!important;opacity:1!important;pointer-events:auto!important;max-width:calc(100% - 12px)!important;max-height:min(270px,65dvh)!important}.chart-card .recharts-tooltip-wrapper>*{box-sizing:border-box;overflow:hidden auto;opacity:1!important;max-width:100%!important;max-height:min(270px,65dvh)!important}.chart-card .recharts-default-tooltip,.tourism-tooltip,.production-per-capita-tooltip,.population-growth-tooltip,.building-land-population-tooltip{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;mix-blend-mode:normal!important;background:#fffdf8!important}.settlement-demography-tooltip{background:#262522;max-width:calc(100% - 24px)}}@media (width<=760px){.chart-card:not(.tourism-card):not(.primary-schools-card) .recharts-tooltip-wrapper{top:0!important;left:0!important;transform:translate(6px,6px)!important}.chart-card .recharts-cartesian-axis-tick text,.chart-card .recharts-cartesian-axis-tick-value{font-size:9px!important}.chart-card .recharts-label,.chart-card .chart-axis-title,.chart-card .primary-school-network-axis-label,.chart-card .recharts-layer text.chart-axis-title:not(.wage-axis-title):not(.tourism-axis-title),.chart-card:not(.jobs-by-activity-card):not(.tourism-card):not(.gross-wages-card) .recharts-layer text.recharts-label,.chart-card .recharts-layer text.primary-school-network-axis-label,.chart-card.jobs-by-activity-card .recharts-layer text.recharts-label{font-size:10px!important}.labor-migration-index-card .chart-card__plot{height:430px!important;min-height:430px!important}.labor-migration-index-card .commuter-metrics-legend{box-sizing:border-box;text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-items:start;gap:3px 7px;width:100%;padding:3px 5px 0;display:grid;font-size:9px!important;line-height:1.15!important}.labor-migration-index-card .commuter-metrics-legend span{white-space:normal;overflow-wrap:anywhere;grid-template-columns:9px minmax(0,1fr);align-items:start;gap:4px;min-width:0;display:grid}.labor-migration-index-card .commuter-metrics-legend span:nth-child(3){grid-column:1/-1}.labor-migration-index-card .commuter-metrics-legend i{flex-basis:9px;width:9px;height:9px;margin-top:0}.seniors-plot .seniors-legend{box-sizing:border-box;text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-items:start;gap:3px 7px;width:100%;padding:3px 5px 0;display:grid;font-size:9px!important;line-height:1.15!important}.seniors-plot .seniors-legend span{white-space:normal;overflow-wrap:anywhere;grid-template-columns:9px minmax(0,1fr);align-items:start;gap:4px;min-width:0;display:grid}.seniors-plot .seniors-legend span:nth-child(n+3){grid-column:1/-1}.seniors-plot .seniors-legend i{flex-basis:9px;width:9px;height:9px;margin-top:0}.seniors-plot .seniors-legend i.is-line{width:9px;height:2px;margin-top:4px}.seniors-plot .seniors-legend i.is-line:after{width:4px;height:4px}.gross-wages-card .chart-card__plot{width:100%;max-width:100%;margin-left:0;margin-right:0}.gross-wages-card .recharts-yAxis .recharts-cartesian-axis-tick text{font-size:9px!important}.chart-card.gross-wages-card .wage-axis-title,.chart-card.gross-wages-card .wage-axis-title--right,.chart-card.gross-wages-card .recharts-layer text.wage-axis-title,.chart-card.tourism-card .tourism-axis-title,.chart-card.tourism-card .recharts-layer text.tourism-axis-title,.chart-card.tourism-card .recharts-layer text.recharts-label{font-size:10px!important}.gross-wages-card .recharts-default-legend{flex-wrap:wrap;justify-content:center;gap:3px 7px;width:100%;display:flex;line-height:1.15!important}.chart-card .recharts-default-legend{gap:3px 8px}.chart-card .recharts-default-legend .recharts-legend-item{margin-right:0!important}.chart-card .recharts-default-legend .recharts-surface{width:9px;height:9px}.gross-wages-card .recharts-legend-item{white-space:normal!important;margin-right:0!important;font-size:9px!important}.gross-wages-card .recharts-legend-item-text{font-size:9px!important}.gross-wages-card .recharts-legend-item .recharts-surface{width:9px;height:9px}.production-areas-card .chart-card__plot:has(.municipality-axis-tick--vertical){height:540px!important;min-height:540px!important}.production-areas-card .recharts-cartesian-axis-tick text,.production-areas-card .municipality-axis-tick{font-size:8px!important}.production-areas-card .recharts-label{font-size:10px!important}.production-areas-card .production-per-capita-legend{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-items:start;gap:4px 8px;padding:12px 2px 0;display:grid;font-size:9px!important;line-height:1.15!important}.production-areas-card .production-per-capita-legend span{grid-template-columns:8px minmax(0,1fr);align-items:start;gap:4px;display:grid}.production-areas-card .production-per-capita-legend span:nth-child(n+3){grid-column:1/-1}.production-areas-card .production-per-capita-legend i,.production-areas-card .production-per-capita-legend .is-ip,.production-areas-card .production-per-capita-legend .is-ig,.production-areas-card .production-per-capita-legend .is-ik,.production-areas-card .production-per-capita-legend .is-per-capita{width:8px;height:8px;margin-top:1px}.building-construction-card .building-schema-zoom-controls{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf8;border-radius:13px;gap:4px;padding:4px;top:10px;left:10px;right:auto}.building-construction-card .building-schema-zoom-controls button{border-radius:9px;width:29px;height:29px;font-size:18px}.building-construction-card .building-schema-zoom-controls span{min-width:36px;padding-inline:1px;font-size:10px}.building-construction-card .building-schema-zoom-hint{box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf8f5;max-width:calc(100% - 24px);padding:5px 8px;font-size:9px;top:55px;left:10px;right:auto}.building-construction-card .building-footprint-year-badge{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf8;border-radius:13px;gap:0;min-width:72px;padding:5px 8px 6px;top:10px;left:auto;right:10px;box-shadow:0 10px 24px #1f35561a}.building-construction-card .building-footprint-year-badge span{letter-spacing:.07em;font-size:7.5px}.building-construction-card .building-footprint-year-badge strong{font-size:25px}.chart-card .recharts-default-legend,.chart-card .recharts-legend-item-text,.chart-card .recharts-legend-wrapper,.tourism-legend,.education-comparison-legend,.seniors-legend,.commuter-metrics-legend,.primary-school-chart-legend,.primary-schools-legend,.production-per-capita-legend,.hazard-reference-legend,.building-land-population-legend,.road-infrastructure-legend,.age-structure-legend,.commuting-flow-schematic__legend,.pyramid-year-legend,.pyramid-legend,.building-map-legend,.housing-completions-legend,.migration-flows-legend,.settlement-demography-legend,.land-category-legend{font-size:9px!important;line-height:1.15!important}.chart-card .municipality-axis-tick{font-size:9px!important}.chart-card .municipality-axis-tick--vertical{font-size:7.5px!important}.chart-card__plot:has(.municipality-axis-tick--vertical){height:480px!important;min-height:480px!important}.building-land-population-plot:has(.municipality-axis-tick--vertical){height:420px;min-height:420px}.building-land-population-card .chart-card__plot:has(.municipality-axis-tick--vertical){overflow:visible;height:auto!important;min-height:0!important}.building-land-population-card .building-land-population-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin-top:4px;padding:0 4px 6px;display:grid;font-size:9px!important;line-height:1.15!important}.building-land-population-card .building-land-population-legend span{grid-template-columns:8px minmax(0,1fr);align-items:start;gap:4px;display:grid}.building-land-population-card .building-land-population-legend i{flex-basis:8px;width:8px;height:8px;margin-top:1px}.chart-card__plot:has(.recharts-default-legend .recharts-legend-item:nth-child(6)){height:470px!important;min-height:470px!important}.chart-card__plot:has(.recharts-default-legend .recharts-legend-item:nth-child(9)){height:540px!important;min-height:540px!important}.education-comparison-scroll-hint{color:#5f7187;text-align:center;height:21px;margin:0 0 4px;font-size:10.5px;font-weight:700;line-height:21px;display:block}.education-comparison-viewport{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#82a9d6 #eee9df;height:calc(100% - 25px);overflow:auto hidden}.education-comparison-canvas .recharts-responsive-container{min-width:0}.chart-card .recharts-default-tooltip,.chart-card .recharts-tooltip-wrapper>*{font-size:11px!important}.tourism-tooltip>span,.production-per-capita-tooltip>span,.building-land-population-tooltip__item{line-height:1.25;grid-template-columns:9px minmax(0,1fr)!important;gap:3px 6px!important}.tourism-tooltip>span>b,.production-per-capita-tooltip>span>b,.building-land-population-tooltip__item>b{white-space:nowrap;grid-column:2}.tourism-tooltip>span>i,.production-per-capita-tooltip>span>i,.building-land-population-tooltip__item>i{grid-row:1/span 2;align-self:start;margin-top:2px}.chart-card .recharts-tooltip-wrapper,.tourism-card .recharts-tooltip-wrapper,.primary-schools-card .recharts-tooltip-wrapper{max-width:min(236px,100% - 12px)!important;max-height:min(210px,52dvh)!important}.chart-card .recharts-tooltip-wrapper>*{width:auto!important;min-width:0!important;max-width:236px!important;max-height:min(210px,52dvh)!important}.chart-card .recharts-default-tooltip,.tourism-tooltip,.production-per-capita-tooltip,.population-growth-tooltip,.building-land-population-tooltip{border-radius:8px!important;gap:3px!important;width:min(232px,100vw - 84px)!important;min-width:0!important;padding:7px 8px!important;font-size:10px!important;line-height:1.2!important}.chart-card .recharts-tooltip-label,.tourism-tooltip>strong,.production-per-capita-tooltip>strong,.population-growth-tooltip>strong,.building-land-population-tooltip>strong{margin:0 0 2px!important;padding:0!important;font-size:11px!important;line-height:1.2!important}.chart-card .recharts-tooltip-item-list{padding:0!important}.chart-card .recharts-tooltip-item{padding:1px 0!important;line-height:1.2!important}.settlement-demography-tooltip{border-radius:8px;gap:2px;min-width:0;max-width:min(190px,100% - 24px);padding:7px 8px;font-size:10px}.settlement-demography-tooltip strong{font-size:11px}.settlement-demography-tooltip span{font-size:9.5px}.chart-controls{border-radius:10px;margin:10px 0 12px}.chart-controls__header,.chart-controls--entities-only .chart-controls__header{gap:6px 8px;min-height:36px;padding:8px 10px}.chart-controls__header>span,.chart-controls__header>strong{font-size:10.5px;line-height:1.2}.chart-controls__header>span{letter-spacing:.035em;gap:5px}.chart-controls__header>span svg{width:13px;height:13px}.chart-controls__header>strong{max-width:120px}.chart-controls__body,.chart-controls--entities-only .chart-controls__body{gap:8px;padding:8px 10px}.chart-controls--inline-entities .chart-controls__header,.chart-controls--inline-entities .chart-controls__header>.chart-controls__entities,.chart-controls--entities-only .chart-controls__entities{gap:5px 7px}.chart-controls--inline-entities .chart-controls__header{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.chart-controls--inline-entities .chart-controls__header>span{white-space:normal;grid-column:1;width:100%}.chart-controls--inline-entities .chart-controls__header>.chart-controls__entities{grid-column:1;width:100%;min-width:0}.chart-controls--inline-entities .chart-controls__header>strong,.chart-controls--inline-entities .chart-controls__compact-year{text-align:left;grid-column:1;justify-self:start;max-width:100%}.chart-controls__pills,.chart-controls--entities-only .chart-controls__pills,.chart-controls--inline-entities .chart-controls__header .chart-controls__pills{flex:100%;justify-content:flex-start;gap:5px;width:100%;min-width:0}.chart-controls__pills small,.chart-controls__entities-note{font-size:10px;line-height:1.3}.chart-controls__entities-note{overflow-wrap:anywhere;flex:1 0 100%;width:100%}.chart-controls__label,.chart-controls--entities-only .chart-controls__label,.chart-controls--inline-entities .chart-controls__header .chart-controls__label{letter-spacing:.06em;margin-bottom:5px;font-size:9.5px}.chart-toggle,.chart-controls--entities-only .chart-toggle{overflow-wrap:anywhere;white-space:normal;flex:0 auto;max-width:100%;min-height:28px;padding:5px 8px;font-size:10.5px;line-height:1.15}.chart-controls__compact-year{gap:5px;margin-left:0;font-size:10px}.chart-controls__compact-year select,.chart-controls select{border-radius:7px;min-height:30px;padding:4px 24px 4px 8px;font-size:11px}.period-control__heading,.period-control label span,.period-control__year-marks button{font-size:10px}.period-control__sliders{gap:5px;margin-top:5px}.hazard-metric-toggle{border-radius:9px;padding:2px}.hazard-metric-toggle button,.labor-migration-index-switch button,.labor-migration-index-option-group button{border-radius:7px;min-height:27px;padding:4px 8px;font-size:10.5px;line-height:1.15}.jobs-by-activity-metric-toggle{margin:8px 0 2px}.labor-migration-index-controls{border-radius:10px;gap:5px;margin:5px 0 10px;padding:6px 8px}.labor-migration-index-controls__title{font-size:10px}.road-infrastructure-toggle{margin:0 8px 5px}.chart-card .insight-panel{border-radius:10px;margin-top:12px;padding:12px;font-size:12px}.chart-card>details.insight-panel:not(.building-insight-panel){padding-bottom:12px}.chart-card details.insight-panel:not(.building-insight-panel):not([open]){flex-basis:44px;height:44px;min-height:44px;max-height:44px;padding:0 12px}.chart-card .insight-panel__header{gap:8px;min-height:18px}.chart-card .insight-panel[open]>.insight-panel__header{margin-bottom:10px}.chart-card .insight-panel__title,.building-insight-panel>summary{gap:6px;line-height:1.2;font-size:13px!important}.chart-card .insight-panel__title svg{width:16px;height:16px}.chart-card .insight-panel__definition{border-radius:8px;margin-bottom:10px;padding:9px 10px}.chart-card .insight-panel__definition span,.chart-card .insight-panel__grid span{letter-spacing:.06em;margin-bottom:3px;font-size:9.5px!important}.chart-card .insight-panel__definition p,.chart-card .insight-panel__grid p,.land-card:not(.chart-card--expanded) .land-insight-panel .insight-panel p,.building-insight-panel .insight-panel p{font-size:12px!important;line-height:1.45!important}.chart-card .insight-panel__grid{gap:9px}.chart-card .insight-panel__grid>div{padding-left:9px}.chart-card .insight-panel__note{gap:5px;margin-top:8px;padding-top:7px;font-size:10px!important;line-height:1.35!important}}
