:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101211;--surface:#151816;--surface-hover:#1b201d;--ink:#e4e8e5;--muted:#a0aaa3;--line:#2a302c;--line-strong:#526057;--accent:#a3d9ad;--cream:#252218;--mono:ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-family:var(--mono);color:var(--ink);background:var(--background)}body{background:var(--background)}::selection{background:var(--accent);color:var(--background)}button,input,select,textarea{font-family:var(--mono)}button,summary,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input::placeholder{color:var(--muted);opacity:1}input{accent-color:var(--accent)}.header,.analysis-header,.macro-header,.sidebar,.inspector,.analysis-controls,.analysis-results{background:var(--background);border-color:var(--line)}.brand-mark{font-family:var(--mono);color:var(--accent);border:1px solid var(--line-strong);background:0 0}.brand-mark span{font-family:var(--mono);color:var(--accent)}.brand-crest{object-fit:contain;flex:none;width:31px;height:54px;display:block}.brand strong{letter-spacing:.06em;font-weight:500}.brand small,.header-context,.eyebrow{color:var(--muted)}.divider{color:var(--line-strong)}.live-dot{background:var(--accent)}.header-context a:hover,a:hover{color:var(--accent)}.analysis-header nav,.macro-header nav{background:var(--surface);border-radius:4px}.analysis-header nav a,.macro-header nav a{color:var(--muted)}.analysis-header nav a.active,.macro-header nav a.active,.view-switch .selected,.data-tabs button.active,.segmented button.active,.dafo-filter button.active{background:var(--accent);color:var(--background)}h1,h2,h3,.inspector h2,.analysis-controls h1,.selection-card h2,.pmus-panel h2,dialog h2,.macro-hero h1,.macro-section h2,.chart-card h3,.snapshot-card h3,.reading-card h3,.method-section h2{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);font-weight:500;line-height:1.3}.sidebar h1,.analysis-controls h1{font-size:25px}.inspector h2,.selection-card h2,.pmus-panel h2{font-size:21px}h1 em,.analysis-controls h1 em,.macro-hero h1 em,.theme-icon,.range-label output,.section-number{color:var(--accent)}.search-box,.theme,.view-switch,.tool-button,.inspect-select,.legend,.loading-card,.neighbourhood-search,dialog,.metric-card,.analysis-map-title,.score-legend,.pmus-map-legend,.chart-card,.snapshot-card,.headline-card,.section-index,.travel-block,.dafo-group,.pmus-metrics div,.pmus-list li,.ranking button,.neighbourhood-list button,.legend-results button,.legend-reset,.download-button,.secondary-button,.filter-card select,.method-label select{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none;border-radius:4px}.search-box input,.neighbourhood-search input,.inspect-select select,.filter-card select,.method-label select{color:var(--ink)}option{background:var(--surface);color:var(--ink)}.search-box:focus-within,.neighbourhood-search:focus-within{outline:2px solid var(--accent)}.theme:hover,.theme.active,.ranking button:hover,.ranking button.active,.neighbourhood-list button:hover,.neighbourhood-list button[aria-pressed=true],.legend-choice:hover,.legend-choice[aria-pressed=true],.legend-reset[aria-pressed=true],.ownership-key button[aria-pressed=true]{background:var(--surface-hover);color:var(--accent);border-color:var(--accent);box-shadow:none}.search-box button,.neighbourhood-search button,.search-results button,.ownership-key button,.hint-box,.neighbourhood-card,.context-card,.traffic-control-card,.method-explanation,.transborder-summary,.data-tabs,.segmented,.stat-split div,.mini-stats div,.debt-summary div,.section-index a,.dafo-filter button,.dafo-group>header{background:var(--surface-hover);color:var(--ink);border-color:var(--line)}.clear-button,.indicator-help,.metric-readout div{border-color:var(--line-strong)}.toggle-row input{background:var(--line-strong)}.toggle-row input:checked{background:var(--accent)}.toggle-row input:before{background:var(--background)}.range,.metric-card input,.filter-card .check input,.range-inline input,.traffic-control-card input,.road-categories input{accent-color:var(--accent)}.intro,.lead,.micro,.sidebar-foot,.theme small,.range-label,.toggle-row small,.legend p,.legend-row,.legend-scale,.inspector p,.stat small,.detail-row dt,.source-label a,dialog p,dialog li,dialog a,.legend-results small,.neighbourhood-list button small,.metric-card p,.filter-card label,.context-card p,.context-stats small,.analysis-map-title span,.selection-card>p,.metric-readout small,.details-list dt,.results-heading span,.rank-copy small,.traffic-control-card p,.road-categories label,.control-title,.data-tabs button,.layer-source-note,.panel-copy,.pmus-metrics span,.pmus-bars span,.od-matrix>b,.pmus-list span,.pmus-panel td,.overlay-detail span,.overlay-detail small,.pmus-map-legend span,.mini-label,.chart-kicker,.stacked-chart li,.peak-timeline span,.dafo-group article small,.map-base-controls .check small,.macro-hero>div>p,.scope-note p,.headline-card span,.headline-card small,.macro-section>header p,.chart-legend span,.chart-explainer,.chart-card>p,.bar-row span,.large-stat>span,.stat-split small,.mini-stats small,.donut-copy span,.debt-summary span{color:var(--muted)}.legend-choice,.detail-row dd,.neighbourhood-card h3,.neighbourhood-card .neighbourhood-names,.neighbourhood-list button>span,.analysis-map-title strong,.details-list dd,.pmus-panel h3,.pmus-panel h4,.pmus-bars strong,.pmus-list strong,.pmus-panel th,.overlay-detail strong,.stacked-chart li strong,.dafo-group>header span,.dafo-group article p,.scope-note strong,.bar-row strong{color:var(--ink)}.stat strong,.context-stats strong,.metric-card output,.range-inline output,.metric-readout strong,.traffic-control-card output,.pmus-metrics strong,.headline-card strong,.large-stat>strong,.stat-split strong,.mini-stats strong,.donut-copy strong,.debt-summary strong,.rank-score,.summary-score strong{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}.metric-number{background:var(--surface-hover);color:var(--accent)}.coverage-card,.analysis-summary,.context-pill.warning,.pill.amber,.map-notice,.inspector .context-note,.caution,.data-note,.overlay-detail,.method-warning,.tag,.status-badge.amber{color:#e0c38f;background:#282319;border-color:#75603b}.coverage-card p,.coverage-card .eyebrow,.coverage-card strong,.analysis-summary p,.analysis-summary .eyebrow,.summary-score span,.method-warning strong,.method-warning span{color:#e0c38f}.caution,.warning-text{color:#e0c38f!important}.status-badge,.context-pill{background:var(--surface-hover);border-color:var(--line-strong);color:var(--accent)}.map-footer,.pill{background:var(--surface);color:var(--muted);border-color:var(--line)}.empty-illustration{color:var(--line-strong);background:0 0}.transborder-summary button,.error-card button{background:var(--accent);color:var(--background)}.error,.error-card strong{color:#efa69c}.error-card code{background:var(--surface-hover)}.dialog-close{color:var(--muted)}dialog::backdrop{background:#0009}.macro-hero{background:var(--background);border-bottom:1px solid var(--line)}.macro-hero h1{font-size:clamp(30px,4vw,52px)}.macro-section h2{font-size:clamp(25px,3vw,34px)}.macro-section.tinted,.macro-section.provincial{background:var(--surface)}.reading-card,.method-section{background:var(--surface-hover);color:var(--ink)}.reading-card p,.method-section li{color:var(--muted)}.source-list a{color:var(--accent);border-color:var(--line-strong)}.chart-axis,.chart-grid{stroke:var(--line-strong)}.chart-axis-label{fill:var(--muted)}.chart-point{stroke:var(--surface)}.donut:after{background:var(--surface)}.macro-tooltip{background:var(--surface-hover);color:var(--ink);border:1px solid var(--line-strong);min-width:150px;max-width:calc(100vw - 16px);padding:10px 12px;font-size:11px;line-height:1.45;transform:none}.macro-tooltip strong,.macro-tooltip span,.macro-tooltip small{display:block}.macro-tooltip strong{color:var(--accent);font-weight:700}.macro-tooltip span{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:3px}.macro-tooltip small{color:var(--muted);margin-top:2px;font-size:10px}.chart-line-hit{fill:none;pointer-events:stroke;cursor:crosshair}.chart-point.forecast{fill:var(--surface);stroke:#e7a3bb;stroke-width:3px}.dafo-group.amenazas>header{background:#30221c}.dafo-group.fortalezas>header,.dafo-group.oportunidades>header{background:#202b22}.dafo-group article>b{color:#e0c38f}@media (width<=1150px){.header{flex-wrap:wrap;gap:4px 12px;height:112px;padding-block:10px}.header-context{white-space:nowrap;order:3;width:100%;padding-block:8px;display:flex;overflow-x:auto}.header-context .divider{margin:0}.workspace{height:calc(100dvh - 112px)}.sidebar{top:112px}}@media (width<=840px){.analysis-header nav{justify-content:flex-start;overflow-x:auto}.analysis-header nav a{white-space:nowrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.right-panel{background:var(--background);border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex;overflow:hidden}.right-tabs{border-bottom:1px solid var(--line);background:var(--background);flex:none;grid-template-columns:1fr 1fr;padding:12px 16px 0;display:grid}.right-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 4px;font-size:11px;font-weight:600}.right-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.right-tab-panel{flex:1;min-height:0;overflow-y:auto}.right-tab-panel[hidden]{display:none!important}.right-panel .legend{width:auto;min-width:0;max-width:none;max-height:none;margin:20px 18px 0;padding:14px;position:static;overflow:visible}.right-panel .inspector{width:auto;max-height:none;box-shadow:none;border:0;display:block;position:static;overflow:visible}.right-panel #neighbourhood-panel{overflow-y:auto}.right-panel #legend-panel .inspector:empty{display:none}.right-panel .legend h2{margin:0 0 10px;font-size:11px}.right-panel .legend .legend-guide{background:var(--surface-hover);border-left:2px solid var(--accent);color:var(--ink);border-radius:0 4px 4px 0;margin:0 0 12px;padding:10px 11px;font-size:10px;line-height:1.6}.gibraltar-layer-panel{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:16px}.gibraltar-layer-panel h2{margin:0 0 8px;font-size:12px}.gibraltar-layer-panel>p{margin:0 0 10px;font-size:10px;line-height:1.6}.gibraltar-layer-panel .toggle-row{border-top:1px solid var(--line)}.gibraltar-layer-panel .toggle-row span{font-size:10px}.gibraltar-layer-panel .toggle-row small{font-size:8px;line-height:1.45}.gibraltar-swatch{border:1px solid var(--line-strong);vertical-align:-1px;border-radius:2px;width:11px;height:11px;margin-right:7px;display:inline-block}.gibraltar-swatch.population{background:linear-gradient(90deg,#ecebd9,#245452)}.gibraltar-swatch.roads{background:#465b65}.gibraltar-swatch.buildings{background:#a5a9ad}.gibraltar-swatch.estates{background:#c8afd2}.gibraltar-swatch.parking{background:#356f9a}.gibraltar-swatch.planning{background:linear-gradient(90deg,#5a9b68 0 33%,#c95f57 33% 66%,#9c82b4 66%)}.gibraltar-swatch.construction{background:#e38b3b}.gibraltar-density-key{padding:6px 0 10px 10px}.gibraltar-density-key strong{margin-bottom:7px;font-size:9px;display:block}.gibraltar-density-key .legend-row{margin:5px 0;font-size:9px}.right-panel .legend-choice{min-height:38px}.right-panel .legend-original code,.right-panel .inspector .legend-original code{overflow-wrap:anywhere}.right-panel .inspector .legend-original{color:var(--muted);font-size:10px}.has-selection .right-panel .legend,.has-neighbourhood-results .right-panel .legend{display:block}.analysis-results .map-key{border:1px solid var(--line);background:var(--surface);border-radius:4px;margin-bottom:16px;padding:12px}.analysis-results .map-key h2{color:var(--ink);margin:0 0 10px;font-size:10px}.analysis-results .score-legend,.analysis-results .pmus-map-legend{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;padding:0;position:static}.analysis-results .score-legend{justify-content:space-between}.analysis-results .score-legend i{flex:1;width:auto;min-width:30px}.analysis-results .pmus-map-legend{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.analysis-results .pmus-map-legend[hidden]{display:none}.analysis-results .map-key-copy,.analysis-results .location-source-note{color:var(--muted);font-size:10px;line-height:1.55}.analysis-results .map-key-copy{margin:0 0 10px}.analysis-results .location-source-note{margin:0 0 11px}.neighbourhood-map-label{color:#1c3935;text-align:center;pointer-events:none;background:#f8f9eee8;border:1px solid #1c39352e;border-radius:3px;max-width:160px;padding:3px 6px;font:600 10px/1.2 sans-serif;box-shadow:0 1px 3px #0f231f1f}.neighbourhood-map-label[hidden]{display:none}.analysis-results .rank-score small{color:var(--muted);font-size:8px;line-height:1;display:block}body[data-analysis=priority] .ranking button{grid-template-columns:42px 1fr}body[data-analysis=border] .rank-copy strong{font-size:11px;line-height:1.3}body[data-analysis=border] .rank-copy small{font-size:9px;line-height:1.35}body[data-analysis=traffic] .pmus-layer-controls{border:1px solid var(--line);background:var(--surface);border-radius:4px;gap:9px;margin:0 0 16px;padding:12px}body[data-analysis=traffic] .pmus-layer-controls[hidden],body[data-analysis=traffic] .pmus-layer-group[hidden]{display:none}body[data-analysis=traffic] .pmus-layer-group{gap:9px;display:grid}body[data-analysis=traffic] .pmus-layer-group .check{font-size:10px;line-height:1.4}body[data-analysis=traffic] .ranking button{grid-template-columns:65px minmax(0,1fr)}body[data-analysis=traffic] .rank-score{font-size:16px;line-height:1.1}body[data-analysis=traffic] .rank-score small{color:var(--muted);margin-top:3px;font:9px/1.2 sans-serif;display:block}body[data-analysis=traffic] .rank-copy strong{font-size:12px;line-height:1.3}body[data-analysis=traffic] .rank-copy small{font-size:9px;line-height:1.35}.travel-zone-label{color:#173d38;pointer-events:none;background:#fffdf0;border:2px solid #355d56;border-radius:50%;place-items:center;min-width:34px;height:34px;padding:0 5px;font:700 13px/1 sans-serif;display:grid;box-shadow:0 2px 7px #173d3840}.travel-zone-label[hidden]{display:none}.travel-zone-card{z-index:5;border:1px solid var(--line);background:var(--surface);width:min(350px,100% - 28px);max-height:calc(100% - 130px);color:var(--ink);border-radius:5px;padding:16px;position:absolute;top:86px;right:14px;overflow-y:auto;box-shadow:0 9px 30px #173d3840}.travel-zone-card[hidden]{display:none}.travel-zone-card h2{margin:4px 0 7px;font-size:27px}.travel-zone-card>p{color:var(--muted);margin:7px 0 12px;font-size:10px;line-height:1.45}.travel-zone-card h3{margin:15px 0 8px;font-size:11px}.travel-zone-close{float:right;border:1px solid var(--line);background:var(--surface);border-radius:3px;width:28px;height:28px;font-size:20px;line-height:1}.travel-zone-metrics{grid-template-columns:1fr 1fr;gap:7px;display:grid}.travel-zone-metrics div{border:1px solid var(--line);border-radius:3px;padding:8px}.travel-zone-metrics strong,.travel-zone-metrics span{display:block}.travel-zone-metrics strong{color:var(--accent);font-size:18px}.travel-zone-metrics span{margin-top:3px;font-size:9px;line-height:1.35}.travel-zone-table table{border-collapse:collapse;width:100%;font-size:10px}.travel-zone-table th,.travel-zone-table td{border-bottom:1px solid var(--line);text-align:right;padding:5px 4px}.travel-zone-table th:first-child{text-align:left}.travel-zone-card .travel-zone-note,.travel-zone-card .travel-zone-caution{font-size:9px}.travel-zone-card .travel-zone-caution{background:var(--cream);padding:7px}@media (width<=900px){.workspace{grid-template-rows:65dvh 65dvh;grid-template-columns:270px minmax(0,1fr);height:auto;min-height:calc(100dvh - 112px)}.sidebar{grid-row:1/3;height:calc(100dvh - 112px);position:sticky;top:112px}.map-stage{grid-area:1/2}.right-panel{border-top:1px solid var(--line);grid-area:2/2;height:65dvh}}@media (width<=840px){.analysis-results .map-key,.analysis-results .data-tabs,.analysis-results #pmus-layer-controls,.analysis-results #traffic-results,.analysis-results #pmus-panel{grid-column:1/-1}}@media (width<=640px){.brand-crest{width:25px;height:44px}.workspace{height:auto;display:block}.sidebar{height:calc(100dvh - 112px);position:absolute;top:112px;bottom:auto}.map-stage{height:65dvh;min-height:380px}.right-panel{width:100%;height:65dvh}.right-panel .legend{margin:16px 16px 0}}body.gibraltar-only .workspace{grid-template-columns:minmax(0,1fr) 298px}body.gibraltar-only .sidebar,body.gibraltar-only #mobile-layers,body.gibraltar-only .neighbourhood-search{display:none!important}body.gibraltar-only .map-stage{grid-column:1}body.gibraltar-only .right-panel{grid-column:2}@media (width>=1550px){body.gibraltar-only .workspace{grid-template-columns:minmax(0,1fr) 320px}}@media (width<=1150px){body.gibraltar-only .workspace{grid-template-columns:minmax(0,1fr) 255px}}@media (width<=900px){body.gibraltar-only .workspace{grid-template-columns:minmax(0,1fr)}body.gibraltar-only .map-stage{grid-area:1/1}body.gibraltar-only .right-panel{grid-area:2/1}}body{--viewer-themes-height:68px}.viewer-themes{height:var(--viewer-themes-height);border-bottom:1px solid var(--line);background:var(--background);align-items:center;padding:8px 16px;display:flex;overflow-x:auto}.theme-buttons{gap:8px;width:max-content;margin:auto;display:flex}.viewer-themes .theme{white-space:nowrap;flex-direction:row;flex:none;justify-content:center;align-items:center;gap:9px;min-width:124px;min-height:44px;padding:9px 14px;display:flex}.viewer-themes .theme-icon{margin:0;font-size:17px}.viewer-themes .theme strong{font-size:11px}.viewer-themes .theme small{display:none}.workspace{height:calc(100dvh - 80px - var(--viewer-themes-height));grid-template-columns:minmax(0,1fr) 298px}.map-stage{grid-column:1}.right-panel{grid-column:2}.right-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.right-tabs button{font-size:10px}.data-panel{padding:20px 18px 28px}.data-panel>h2{margin:0 0 8px;font-size:16px}.data-panel .intro{margin:0 0 20px}.data-panel .sidebar-section{margin-top:22px}.data-panel .range-label{margin-top:0}.data-panel .coverage-card{margin-top:22px}body.gibraltar-only{--viewer-themes-height:0px}body.gibraltar-only .viewer-themes{display:none}body.gibraltar-only .right-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1150px){.workspace{height:calc(100dvh - 112px - var(--viewer-themes-height))}}@media (width<=900px){.workspace{grid-template-rows:65dvh 65dvh;grid-template-columns:minmax(0,1fr);height:auto}.map-stage{grid-area:1/1}.right-panel{grid-area:2/1;height:65dvh}}@media (width<=640px){body{--viewer-themes-height:58px}.viewer-themes{padding:6px 10px}.viewer-themes .theme{min-width:0;min-height:40px;padding:7px 10px}.viewer-themes .theme strong{font-size:10px}.workspace{height:auto;display:block}.map-stage{height:65dvh;min-height:380px}.right-panel{width:100%;height:65dvh}}.frontier-comparison{gap:34px;display:grid}.frontier-block{min-width:0}.frontier-block-heading{flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:15px;display:flex}.frontier-block-heading h3{margin:0;font-size:18px;font-weight:500}.frontier-method,.frontier-jobs p{color:var(--muted);font-size:11px;line-height:1.7}.frontier-method a,.frontier-bar-row a,.frontier-jobs a{color:var(--accent);text-decoration:none}.frontier-method a:hover,.frontier-bar-row a:hover,.frontier-jobs a:hover{text-decoration:underline}.frontier-method{max-width:980px;margin:12px 0 0}.frontier-jobs{border-left:3px solid var(--accent);background:var(--background);flex-wrap:wrap;align-items:center;gap:14px 26px;padding:18px 22px;display:flex}.frontier-jobs strong{color:var(--ink);font-size:18px;font-weight:500}.frontier-jobs p{flex:380px;margin:0}.macro-workspace{grid-template-columns:224px minmax(0,1fr);align-items:start;min-height:65vh;display:grid}.macro-workspace [hidden]{display:none!important}.macro-workspace .section-index{z-index:3;border-right:1px solid var(--line);background:var(--background);border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px;min-height:calc(100vh - 76px);padding:26px 12px;display:flex;position:sticky;top:76px}.section-index-label{color:var(--muted);letter-spacing:.13em;padding:0 12px 15px;font-size:10px;font-weight:700}.macro-workspace .section-index button{width:100%;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;padding:13px 14px;font-size:11px}.macro-workspace .section-index button:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-hover)}.macro-workspace .section-index button.active{border-color:var(--line-strong);background:var(--surface-hover);color:var(--accent)}.macro-panels{min-width:0}.macro-panels .macro-section,.macro-panels .method-section{min-height:65vh}.macro-panels .macro-section{padding:50px clamp(24px,4vw,64px) 70px}.macro-panels .macro-section>header{align-items:start;gap:30px}.macro-panels .macro-section>header>div{align-items:flex-start}.section-subtitle{color:var(--accent);letter-spacing:.12em;margin:2px 0 9px;font-size:10px;font-weight:700;display:block}.macro-panels .method-section{grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:40px;padding:50px clamp(24px,4vw,64px) 70px}.macro-panels .method-section p{color:var(--muted);font-size:11px;line-height:1.7}.macro-panels .headline-cards{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.macro-panels .headline-card{border:1px solid var(--line)}.frontier-bar-chart{border:1px solid var(--line);background:var(--background);margin:0;padding:22px}.frontier-bar-axis{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin:0 0 15px 220px;font-size:10px;display:flex}.frontier-bar-row{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);align-items:center;gap:7px 20px;padding:13px 0;display:grid}.frontier-bar-meta span{color:var(--muted);letter-spacing:.05em;font-size:10px;font-weight:700;display:block}.frontier-bar-meta strong{color:var(--ink);font-variant-numeric:tabular-nums;margin:5px 0 2px;font-size:22px;font-weight:500;display:block}.frontier-bar-meta small{color:var(--muted);font-size:10px}.frontier-bar-track{border-left:1px solid var(--line-strong);background:linear-gradient(90deg, transparent calc(50% - 1px), var(--line-strong) 50%, transparent calc(50% + 1px));height:35px}.frontier-bar-fill{background:var(--accent);height:100%;display:block}.frontier-bar-fill.gibraltar{background:#e0c38f}.frontier-bar-row p{color:var(--muted);grid-column:2;margin:0;font-size:10px;line-height:1.6}.frontier-jobs{display:block}.frontier-jobs-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;display:flex}.frontier-jobs-heading strong{margin:8px 0 15px}.frontier-jobs-chart{border:1px solid var(--line-strong);background:var(--surface-hover);height:24px}.frontier-jobs-chart span{background:var(--accent);height:100%;display:block}.frontier-jobs-legend{color:var(--muted);justify-content:space-between;gap:15px;margin:9px 0 13px;font-size:10px;display:flex}.frontier-jobs p{margin:0 0 12px}.gdp-latest-context{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.gdp-latest-context div{border:1px solid var(--line);background:var(--background);padding:16px}.gdp-latest-context span,.gdp-latest-context small{color:var(--muted);font-size:10px;display:block}.gdp-latest-context strong{color:var(--ink);margin:8px 0;font-size:22px;font-weight:500;display:block}.gdp-context-sources{flex-wrap:wrap;grid-column:1/-1;gap:8px 18px;display:flex}.gdp-latest-context .gdp-context-sources{background:0 0;border:0;padding:0}.gdp-latest-context a{color:var(--accent);font-size:10px;text-decoration:none}.gdp-latest-context a:hover{text-decoration:underline}.income-context-controls{flex-wrap:wrap;gap:10px;margin:18px 0 8px;display:flex}.income-context-controls .income-price-controls{margin-top:0}.income-context-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.income-context-cards div{border:1px solid var(--line);background:var(--background);padding:16px}.income-context-cards span,.income-context-cards small{color:var(--muted);font-size:12px;line-height:1.5;display:block}.income-context-cards strong{color:var(--ink);margin:8px 0;font-size:22px;font-weight:500;display:block}.income-context-cards>a{width:fit-content;color:var(--accent);grid-column:1/-1;font-size:12px;text-decoration:none}.income-context-cards>a:hover{text-decoration:underline}.income-gibraltar-card{border-color:#6c5764;grid-template-columns:minmax(0,1fr) minmax(210px,300px);align-items:center;gap:24px;margin-top:22px;display:grid}.income-gibraltar-card h3{margin-bottom:10px}.income-gibraltar-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.income-gibraltar-card #income-gibraltar-indicator{background:var(--background);border-left:3px solid #e7a3bb;padding:18px}.income-gibraltar-card #income-gibraltar-indicator span,.income-gibraltar-card #income-gibraltar-indicator small,.income-gibraltar-card #income-gibraltar-indicator a{font-size:12px;line-height:1.5;display:block}.income-gibraltar-card #income-gibraltar-indicator span,.income-gibraltar-card #income-gibraltar-indicator small{color:var(--muted)}.income-gibraltar-card #income-gibraltar-indicator strong{color:var(--ink);margin:8px 0;font-size:30px;font-weight:500;display:block}.income-gibraltar-card #income-gibraltar-indicator a{color:var(--accent);margin-top:12px;text-decoration:none}@media (width<=1100px){.gdp-latest-context,.income-context-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.macro-workspace{grid-template-columns:1fr}.macro-workspace .section-index{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:4px;min-height:0;padding:10px 15px;position:sticky;top:76px;overflow-x:auto}.macro-workspace .section-index button{white-space:nowrap;flex:none;width:auto}.section-index-label{flex:none;padding:0 10px 0 0}}@media (width<=760px){.macro-workspace .section-index{top:0}}@media (width<=650px){.macro-panels .macro-section>header,.macro-panels .method-section{grid-template-columns:1fr;gap:18px}.macro-panels .headline-cards{grid-template-columns:1fr}.macro-panels .macro-section,.macro-panels .method-section{padding:34px 18px 55px}.frontier-jobs-legend{flex-direction:column;gap:4px}.frontier-bar-chart{padding:16px}.frontier-bar-axis{margin-left:0}.frontier-bar-row{grid-template-columns:1fr}.frontier-bar-row p{grid-column:1}.gdp-latest-context,.income-context-cards,.income-gibraltar-card{grid-template-columns:1fr}}body{font-size:14px;line-height:1.55}.brand strong{font-size:15px}.brand small,.eyebrow,.section-subtitle,.section-index-label{font-size:12px}.macro-hero>div>p,.macro-section>header p,.reading-card p,.macro-panels .method-section p,.method-section li{font-size:14px;line-height:1.7}.macro-workspace .section-index button,.segmented button,.data-tabs button,.dafo-filter button{font-size:13px}body[data-analysis=traffic] .data-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}body[data-analysis=traffic] .data-tabs button{white-space:nowrap;min-width:0}body[data-analysis=traffic] .data-tabs button[data-panel=dafo]{grid-column:1/-1}.mobile-controls-toggle{display:none}@media (width<=840px){.analysis-controls{padding:12px 16px}.mobile-controls-toggle{border:1px solid var(--line-strong);background:var(--surface-hover);width:100%;color:var(--ink);text-align:left;border-radius:4px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.mobile-controls-toggle span{color:var(--accent);font-size:21px;line-height:1;transition:transform .2s}.mobile-controls-toggle[aria-expanded=true] span{transform:rotate(180deg)}.analysis-controls[data-collapsed] .analysis-controls-content{display:none}.analysis-controls-content{padding:18px 4px 8px}}.chart-explainer,.chart-card>p,.method-warning span,.frontier-method,.frontier-jobs p{font-size:13px;line-height:1.65}.chart-legend span,.headline-card small,.headline-card span,.frontier-bar-row p,.frontier-bar-meta small,.frontier-jobs-legend,.gdp-latest-context span,.gdp-latest-context small,.gdp-latest-context a,.context-pill,.method-warning strong,.frontier-bar-meta span,.frontier-bar-axis,.source-list a{font-size:12px}.macro-tooltip{font-size:13px}.macro-tooltip small{font-size:12px}.sources-hero>p,.sources-intro p,.source-description,.source-use p,.sources-credit{font-size:14px}.sources-summary,.sources-search,.sources-search input,.sources-filters button,.sources-status,.source-links a,.source-provider,.source-use span,.sources-intro a{font-size:12px}.header-context,.intro,.lead,.sidebar-foot,.context-note,.hint-box,.method-explanation,.layer-source-note,.data-note,.map-footer,.map-notice,.caution{line-height:1.5;font-size:12px!important}.range-label,.legend-row,.legend-scale,.score-legend,.tool-button,.inspect-select,.download-button,.secondary-button,.legend-reset,.text-button,.control-title{font-size:12px}.right-panel .legend h2,.gibraltar-layer-panel h2,.right-tabs button,.data-panel>h2{font-size:14px}.right-panel .legend-row,.gibraltar-density-key .legend-row,.gibraltar-layer-panel>p,.gibraltar-layer-panel .toggle-row span,.gibraltar-layer-panel .toggle-row small{font-size:12px;line-height:1.45}#actividad .snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}#actividad .snapshot-card{min-height:315px;padding:28px}#actividad .snapshot-card h3{font-size:25px}#actividad .snapshot-card .eyebrow{font-size:12px}#desempleo .employment-card,#desempleo .frontier-workers-card{margin-bottom:22px;padding:28px}#desempleo .employment-card h3,#desempleo .frontier-workers-card h3{font-size:25px}.frontier-workers-content{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:start;gap:32px;margin-top:22px;display:grid}.frontier-workers-figures{gap:16px;display:grid}.frontier-workers-figures>div{border:1px solid var(--line);background:var(--background);padding:18px}.frontier-workers-figures .eyebrow{margin-bottom:10px;display:block}.frontier-workers-figures strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(38px,4vw,60px);font-weight:500;line-height:1;display:block}.frontier-workers-figures strong.scenario-rate{color:#e0c38f}.frontier-workers-content p{color:var(--muted);margin:0 0 14px;font-size:15px;line-height:1.6}.frontier-workers-content p strong{color:var(--ink)}.frontier-workers-content a{color:var(--accent)}.employment-comparison{grid-template-columns:minmax(0,1fr) minmax(230px,290px);align-items:stretch;gap:28px;display:grid}.unemployment-rates{min-width:0}.unemployment-axis{color:var(--muted);justify-content:space-between;margin:0 89px 12px 172px;font-size:11px;display:flex}.unemployment-row{border-top:1px solid var(--line);grid-template-columns:160px minmax(0,1fr) 78px;align-items:center;gap:12px;min-height:69px;padding:9px 0;display:grid}.unemployment-label strong,.unemployment-label small{display:block}.unemployment-label strong{color:var(--ink);font-size:15px;font-weight:600}.unemployment-label small{color:var(--muted);margin-top:4px;font-size:11px}.unemployment-track{background:linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 25% 100%, var(--surface-hover);height:25px}.unemployment-track span{background:#8ec8e8;height:100%;display:block}.unemployment-row.local .unemployment-track span{background:#e0c38f}.unemployment-row.scenario{background:#e0c38f0f}.unemployment-row.scenario .unemployment-track span{background:repeating-linear-gradient(135deg,#e0c38f 0 8px,#a98559 8px 12px)}.unemployment-row.scenario .unemployment-value{color:#e0c38f}.unemployment-value{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:19px}.unemployment-gibraltar{background:var(--background);border:1px solid #70586d;padding:22px}.unemployment-gibraltar>strong{color:#e7a3bb;margin:16px 0 3px;font-size:62px;font-weight:500;line-height:1;display:block}.unemployment-gibraltar>span:not(.eyebrow){color:var(--ink);font-size:15px;line-height:1.45;display:block}.unemployment-gibraltar p,.employment-method{color:var(--muted);font-size:12px;line-height:1.65}.unemployment-gibraltar a,.employment-method a{color:var(--accent);text-decoration:none}.unemployment-gibraltar a:hover,.employment-method a:hover{text-decoration:underline}.unemployment-gibraltar a{font-size:12px}.employment-method{margin:18px 0 0}.employment-contracts .stat-split{margin-top:20px}#actividad .horizontal-bars{gap:17px}#actividad .bar-row{grid-template-columns:minmax(125px,1fr) minmax(80px,1.4fr) minmax(55px,auto);gap:12px}#actividad .bar-row span{font-size:13px;line-height:1.4}#actividad .bar-row strong{font-variant-numeric:tabular-nums;font-size:14px}#actividad .bar-row i{height:13px}#actividad .large-stat>strong{font-size:64px;line-height:1.1}#actividad .large-stat>span,#actividad .donut-copy span{font-size:14px;line-height:1.5}#actividad .stat-split strong,#actividad .mini-stats strong{font-size:29px}#actividad .stat-split small,#actividad .mini-stats small{font-size:12px;line-height:1.45}#actividad .stat-split div,#actividad .mini-stats div{padding:16px}#actividad .donut-copy strong{font-size:39px}#actividad .donut-summary{grid-template-columns:140px minmax(0,1fr)}#actividad .donut{width:132px}#actividad .donut:after{width:82px}@media (width<=760px){#actividad .snapshot-grid,.employment-comparison{grid-template-columns:1fr}.frontier-workers-content{grid-template-columns:1fr;gap:12px}}@media (width<=480px){#actividad .snapshot-card{min-height:0;padding:20px}#actividad .bar-row{grid-template-columns:minmax(92px,1fr) minmax(50px,1fr) minmax(50px,auto);gap:8px}#actividad .bar-row span{font-size:12px}#actividad .donut-summary{grid-template-columns:108px minmax(0,1fr);gap:14px}#actividad .donut{width:102px}#actividad .donut:after{width:63px}.unemployment-axis{margin-left:100px;margin-right:68px;font-size:9px}.unemployment-row{grid-template-columns:92px minmax(0,1fr) 60px;gap:8px}.unemployment-label strong{font-size:12px}.unemployment-label small{font-size:10px}.unemployment-value{font-size:14px}}.macro-hero{background:linear-gradient(90deg,#101211fa 0%,#101211ed 39%,#1012118c 67%,#10121133 100%),url(../la-linea-urbanismo-banner.jpg) 50% 44%/cover no-repeat;min-height:410px}.macro-hero .eyebrow{color:#c4d9c7}.macro-hero .scope-note{border-color:var(--accent);background:#101211c9;padding:17px}.macro-hero .scope-note strong{color:var(--ink)}.macro-hero .scope-note p{color:#c8d1c9}.macro-hero .scope-note a{color:#c4d9c7;font-size:11px;text-decoration:none}.macro-hero .scope-note a:hover{text-decoration:underline}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.overview-card{border:1px solid var(--line);background:var(--surface);border-radius:5px;flex-direction:column;min-width:0;padding:25px;display:flex}.overview-number{color:var(--accent);letter-spacing:.08em;font-size:11px}.overview-card h3{color:var(--ink);margin:8px 0 9px;font-size:24px}.overview-card p{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.55}.overview-bars{gap:13px;margin-top:auto;display:grid}.overview-bar>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin-bottom:5px;display:flex}.overview-bar span{color:var(--muted);font-size:12px}.overview-bar strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.overview-bar i{background:var(--surface-hover);border-radius:2px;height:11px;display:block;overflow:hidden}.overview-bar b{background:var(--accent);border-radius:2px;height:100%;display:block}.overview-bar b.secondary{background:#e0c38f}.overview-card>a{color:var(--accent);align-self:flex-start;margin-top:20px;font-size:13px;text-decoration:none}.overview-card>a:hover,.overview-footnote a:hover{text-decoration:underline}.overview-footnote{color:var(--muted);margin:22px 0 0;font-size:13px;line-height:1.6}.overview-footnote a{color:var(--accent)}@media (width<=820px){.overview-grid{grid-template-columns:1fr}}@media (width<=760px){.macro-hero{background-image:linear-gradient(90deg,#101211f5,#101211ab),url(../la-linea-urbanismo-banner.jpg);background-position:58%}}.site-nav{white-space:nowrap;scrollbar-width:thin;align-items:center;gap:3px;min-width:0;max-width:100%;display:flex;overflow-x:auto}:is(.header,.analysis-header,.macro-header,.sources-header,.home-header) .site-nav a{color:#a0aaa3;letter-spacing:.025em;text-transform:uppercase;border-radius:4px;flex:none;padding:11px 12px;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-block}:is(.header,.analysis-header,.macro-header,.sources-header,.home-header) .site-nav a:hover{color:#a3d9ad;background:#252d27}:is(.header,.analysis-header,.macro-header,.sources-header,.home-header) .site-nav a.active,:is(.header,.analysis-header,.macro-header,.sources-header,.home-header) .site-nav a[aria-current=page]{color:#101211;background:#a3d9ad}.site-nav a:focus-visible{outline-offset:-2px;outline:2px solid #a3d9ad}.site-footer{color:#a0aaa3;background:#101211;border-top:1px solid #2a302c;padding:23px clamp(24px,7vw,110px);font-size:13px;line-height:1.6}.site-footer a{color:#a3d9ad;text-underline-offset:3px}.site-footer p{margin:0}.site-footer p+p{margin-top:10px}@media (width<=680px){:is(.header,.analysis-header,.macro-header,.sources-header,.home-header) .site-nav a{padding:10px 11px;font-size:13px}}
