.search-host{position:relative}.council-search-results{position:absolute;z-index:80;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #d7e1e7;border-radius:9px;box-shadow:0 18px 45px rgba(7,35,57,.18);overflow:hidden}.council-result{width:100%;display:grid;grid-template-columns:34px 1fr 14px;gap:10px;align-items:center;padding:11px 13px;border:0;border-bottom:1px solid #eef2f4;background:#fff;text-align:left;cursor:pointer;color:#152636}.council-result:last-child{border-bottom:0}.council-result:hover,.council-result:focus{background:#f3faf9;outline:0}.council-result .result-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e4f6f3;color:#079c98}.council-result strong{display:block;font-size:11px;margin-bottom:3px}.council-result small{display:block;color:#71808e;font-size:9px}.council-result>i{font-size:9px;color:#84919c}.search-empty{padding:14px;color:#687887;font-size:10px}
.council-content{scroll-behavior:smooth}.council-hero{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:20px;margin-bottom:12px}.council-mark{width:62px;height:62px;border-radius:14px;background:#e4f6f3;color:#079c98;display:grid;place-items:center;font-size:25px;flex:0 0 62px}.council-identity{min-width:0}.council-identity h1{font-size:27px;letter-spacing:-1px;margin:3px 0 5px}.council-identity p:last-child{margin:0;color:#6a7987;font-size:11px}.council-actions{margin-left:auto;display:flex;gap:9px}.council-actions a{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.profile-tabs{position:sticky;top:64px;z-index:20;display:flex;gap:4px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow);margin-bottom:12px}.profile-tabs a{padding:9px 13px;border-radius:6px;color:#596a78;font-size:10.5px;font-weight:600}.profile-tabs a:hover,.profile-tabs a.active{background:#e8f7f5;color:#087f7e}
.audit-warning{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid #efc9c5;border-left:4px solid #dc5a50;border-radius:8px;background:#fff6f5;margin-bottom:12px;color:#5f3c39}.audit-warning>i{color:#d9564d;margin-top:2px}.audit-warning strong{display:block;font-size:11.5px;margin-bottom:3px;color:#873d38}.audit-warning span{font-size:10px;line-height:1.5}
.profile-section{scroll-margin-top:130px;margin:18px 0}.section-title{display:flex;align-items:end;justify-content:space-between;margin:0 2px 10px}.section-title h2{font-size:18px;margin:4px 0 0}.data-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:20px;background:#eef5f6;color:#52707a;font-size:9px;font-weight:600}.warning-badge{background:#fff1e2;color:#a65c11}.finance-position-grid{margin-bottom:12px}.table-panel .table-wrap{padding-top:5px}.table-panel table{font-size:10.5px}.table-panel td:first-child{font-weight:600}.table-panel a{color:#0873ce;font-weight:600}.status-label{display:inline-flex;padding:4px 7px;border-radius:20px;background:#f1f3f5;color:#65717d;font-size:8.5px;font-weight:700}.status-active{background:#e7f7f0;color:#07865b}.methodology-note{display:flex;gap:12px;padding:16px;border:1px solid #d9e5ea;border-radius:9px;background:#f8fbfc;color:#536674;margin:20px 0}.methodology-note>i{color:#0a9f9c;margin-top:2px}.methodology-note strong{font-size:11px;color:#243948}.methodology-note p{font-size:10px;line-height:1.6;margin:4px 0 0}
.politics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.political-control-card,.political-leader-card{display:flex;align-items:center;gap:16px;padding:18px}.politics-icon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:#e4f6f3;color:#079c98;font-size:19px}.leader-icon{background:#e7f2ff;color:#2a87d8}.political-control-card span,.political-leader-card span{font-size:9.5px;color:#6c7b88}.political-control-card h3,.political-leader-card h3{font-size:20px;margin:4px 0}.political-control-card strong,.political-leader-card strong{font-size:11px;color:#087f7e}.political-control-card p,.political-leader-card p{font-size:9.5px;color:#7b8894;margin:5px 0 0}.composition-panel{padding:18px}.composition-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.composition-head h3{font-size:16px;margin:4px 0 0}.composition-head>span{font-size:10px;color:#687887}.seat-bar{height:20px;display:flex;overflow:hidden;border-radius:6px;background:#edf1f3;margin-bottom:15px}.seat-bar span{height:100%;border-right:2px solid #fff}.seat-bar span:last-child{border-right:0}.party-legend{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px}.party-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;padding:9px 10px;border:1px solid #edf1f3;border-radius:7px;background:#fafcfc;font-size:9.5px}.party-legend i{width:9px;height:9px;border-radius:50%}.party-legend strong{font-size:13px}.politics-source{display:flex;align-items:center;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f3;font-size:9.5px;color:#6d7b87}.politics-source>i{color:#0aa36f}.politics-source a{margin-left:auto;color:#0873ce;font-weight:600}
@media(max-width:900px){.council-hero{align-items:flex-start;flex-wrap:wrap}.council-actions{width:100%;margin-left:78px}.profile-tabs{overflow-x:auto;white-space:nowrap}.profile-tabs a{flex:0 0 auto}.politics-grid{grid-template-columns:1fr}.party-legend{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.council-mark{width:48px;height:48px;flex-basis:48px}.council-identity h1{font-size:22px}.council-actions{margin-left:0}.council-actions .btn{flex:1}.audit-warning{font-size:10px}.section-title{align-items:flex-start;gap:8px;flex-direction:column}.council-search-results{position:fixed;top:66px;left:12px;right:12px}}

/* Vertically centre council profile action buttons */
.section-title .btn,
.council-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    min-height: 38px;
    padding: 0 15px;
    line-height: 1;
    white-space: nowrap;
}

/* Planning and housing delivery profile */
.planning-section{margin-top:20px;padding:24px;border:1px solid #cfe0e3;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fbfefe 55%,#f1fbfa 100%);box-shadow:0 10px 28px rgba(8,42,62,.06);scroll-margin-top:90px}.planning-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.planning-header h2{margin:4px 0 6px;font-size:25px;line-height:1.15;color:#062944}.planning-header p{margin:0;color:#60758a;font-size:14px}.planning-period{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;border-radius:999px;background:#e9f8f6;color:#087f78;font-size:12px;font-weight:800}.planning-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.25fr;gap:12px}.planning-kpi,.planning-rate-card{min-height:132px;border:1px solid #dbe7e9;border-radius:13px;background:#fff;padding:17px;display:flex;align-items:flex-start;gap:13px}.planning-kpi>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.planning-kpi-teal>span{background:#e2f7f4;color:#05968d}.planning-kpi-blue>span{background:#eaf2fb;color:#4d7eb4}.planning-kpi-amber>span{background:#fff2df;color:#c57b19}.planning-kpi div,.planning-rate-card>div:last-child{display:flex;flex-direction:column;min-width:0}.planning-kpi small,.planning-rate-card small{color:#65798c;font-size:11px}.planning-kpi strong,.planning-rate-card>div:last-child>strong{margin-top:4px;color:#062944;font-size:25px;line-height:1}.planning-kpi em,.planning-rate-card em{margin-top:5px;color:#718397;font-size:11px;font-style:normal}.planning-kpi b,.planning-rate-card b{margin-top:auto;padding-top:10px;font-size:10px}.planning-section .is-good{color:#087f78}.planning-section .is-warning{color:#b66b0b}.planning-rate-card{align-items:center;background:linear-gradient(135deg,#f4fbff,#fff)}.planning-rate-ring{--planning-rate:0;width:78px;height:78px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:conic-gradient(#0a9f95 calc(var(--planning-rate)*1%),#e4ecef 0);position:relative}.planning-rate-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.planning-rate-ring span{position:relative;text-align:center;display:flex;flex-direction:column}.planning-rate-ring strong{font-size:18px;color:#062944}.planning-rate-ring small{font-size:9px;color:#60758a}.planning-performance-grid,.planning-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.planning-timeliness,.planning-breakdown,.planning-trend-panel,.housing-delivery-card{border:1px solid #dbe7e9;border-radius:13px;background:#fff;padding:19px}.planning-panel-heading,.housing-delivery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.planning-panel-heading h3,.housing-delivery-head h3{margin:3px 0 0;color:#082c47;font-size:17px}.planning-panel-heading>strong{font-size:27px;color:#07968d}.planning-panel-heading>i{font-size:22px;color:#7c61b1}.planning-label{font-size:10px;font-weight:900;letter-spacing:.11em;color:#008f88}.planning-progress{height:9px;margin:17px 0 12px;border-radius:99px;background:#e8eef0;overflow:hidden}.planning-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#08a39a,#49beb1)}.planning-peer-summary{display:flex;justify-content:space-between;gap:15px;color:#687b8e;font-size:11px}.planning-peer-summary b{color:#173d58}.planning-timeliness p{margin:14px 0 0;font-size:11px;font-weight:800}.planning-type-table{display:grid;grid-template-columns:1.25fr repeat(3,.8fr);align-items:center;margin-top:13px;font-size:11px}.planning-type-table>span{padding:0 7px 8px;color:#7a8c9c;font-size:9px;text-transform:uppercase;letter-spacing:.06em;text-align:right}.planning-type-table>span:first-child{text-align:left}.planning-type-table>b,.planning-type-table>strong,.planning-type-table>em{padding:9px 7px;border-top:1px solid #edf1f2}.planning-type-table>b{color:#173b55}.planning-type-table>strong,.planning-type-table>em{text-align:right;color:#294b62;font-style:normal}.planning-trend-panel svg{display:block;width:100%;height:142px;margin-top:10px;overflow:visible}.planning-trend-panel svg line{stroke:#dbe4e7;stroke-width:1}.planning-trend-panel svg polyline{fill:none;stroke:var(--series-colour);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.planning-trend-panel svg circle{fill:#fff;stroke:var(--series-colour);stroke-width:2}.planning-trend-footer{display:flex;justify-content:space-between;align-items:center;color:#75899b;font-size:9px}.planning-trend-footer>div{display:flex;align-items:center;gap:6px}.planning-trend-footer b{width:8px;height:8px;border-radius:50%;display:inline-block}.planning-trend-footer .received{background:#079b91}.planning-trend-footer .decided{background:#557fb5}.planning-trend-footer .backlog{background:#d48628}.housing-delivery-card{background:linear-gradient(145deg,#f7f3ff,#fff 50%,#f1fbfa)}.housing-delivery-result{font-size:30px;line-height:1;color:#7152aa;font-weight:900}.housing-delivery-numbers{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;margin:18px 0}.housing-delivery-numbers>div{display:flex;flex-direction:column}.housing-delivery-numbers small{font-size:10px;color:#728698}.housing-delivery-numbers strong{font-size:24px;color:#092d48}.housing-delivery-numbers em{font-size:10px;color:#728698;font-style:normal}.housing-delivery-numbers>i{color:#08a097}.housing-delivery-track{height:12px;border-radius:99px;background:#e5e8ee;position:relative;margin:8px 0 18px}.housing-delivery-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7555ad,#09a096)}.housing-delivery-track>span{position:absolute;right:0;top:16px;color:#77899a;font-size:9px}.housing-delivery-status{display:flex;align-items:center;gap:10px;margin-top:25px;padding:10px 12px;border-radius:10px;background:#e9f7f4}.housing-delivery-status.is-warning{background:#fff3df}.housing-delivery-status>i{font-size:18px}.housing-delivery-status span{display:flex;flex-direction:column}.housing-delivery-status strong{font-size:12px;color:#133850}.housing-delivery-status small{font-size:9px;color:#6f8293}.planning-source{display:flex;align-items:center;gap:11px;margin-top:12px;padding:13px 15px;border-radius:11px;background:#eff8f7;color:#5f7588;font-size:10px}.planning-source>i{font-size:16px;color:#06958d}.planning-source strong{color:#173d57}.planning-source-links{display:flex;gap:14px;margin-left:auto}.planning-source a{color:#007e78;font-weight:800;text-decoration:none;white-space:nowrap}

@media(max-width:1180px){.planning-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-lower-grid{grid-template-columns:1fr}.planning-trend-panel svg{height:125px}}
@media(max-width:760px){.planning-section{padding:17px}.planning-header{flex-direction:column;gap:12px}.planning-kpi-grid,.planning-performance-grid{grid-template-columns:1fr}.planning-peer-summary,.planning-source{align-items:flex-start;flex-direction:column}.planning-source-links{margin-left:0}.planning-type-table{font-size:10px}.planning-trend-footer>div{font-size:0}.planning-trend-footer>div b{margin-left:4px}}

.section-title .btn i,
.council-actions .btn i {
    line-height: 1;
}

/* Council-aware finance status and responsive metric cards */
.audit-warning.audit-positive{border-color:#bde5d2;border-left-color:#0a9f68;background:#f2fbf7;color:#365f4d}
.audit-warning.audit-positive>i{color:#0a9f68}
.audit-warning.audit-positive strong{color:#08764f}
.audit-warning.audit-caution{border-color:#efd6a8;border-left-color:#e3a11b;background:#fffaf0;color:#6d5630}
.audit-warning.audit-caution>i{color:#d9910b}
.audit-warning.audit-caution strong{color:#8c5b08}
.finance-position-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.finance-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.finance-highlight-card{display:flex;align-items:center;gap:11px;min-width:0;padding:13px 14px;border:1px solid #dce6ea;border-radius:9px;background:#fff;box-shadow:var(--shadow)}
.finance-highlight-icon{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#e7f7f5;color:#079c98;font-size:13px}
.finance-highlight-card div{min-width:0}.finance-highlight-card small{display:block;color:#647482;font-size:9px;margin-bottom:4px}
.finance-highlight-card strong{display:block;color:#142536;font-size:15px;line-height:1.15;white-space:nowrap}
.finance-highlight-card em{display:block;color:#7b8995;font-size:8px;font-style:normal;margin-top:4px}

/* HMO and housing licensing coverage */
.hmo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.hmo-card{display:flex;align-items:center;gap:13px;padding:16px;min-height:112px}
.hmo-icon{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;font-size:17px}
.hmo-card div{min-width:0}.hmo-card small{display:block;color:#647482;font-size:9.5px;margin-bottom:6px}
.hmo-card strong{display:block;color:#142536;font-size:17px;line-height:1.15;letter-spacing:-.3px}
.hmo-card em{display:block;color:#7b8995;font-size:9px;font-style:normal;line-height:1.45;margin-top:6px}
.hmo-coverage-note{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid #d7e7e7;border-radius:8px;background:#f5fbfa;color:#526a70}
.hmo-coverage-note>i{color:#0a9f9c;margin-top:2px}.hmo-coverage-note strong{display:block;color:#176867;font-size:10.5px;margin-bottom:3px}
.hmo-coverage-note p{font-size:9.5px;line-height:1.55;margin:0}.hmo-activity-panel{margin-bottom:12px}
.hmo-title-actions{display:flex;align-items:center;gap:8px}.hmo-title-actions .btn{height:32px;min-height:32px;font-size:9px;text-decoration:none}
.hmo-activity-list{display:grid;grid-template-columns:repeat(3,1fr)}.hmo-activity-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-right:1px solid #edf1f3}
.hmo-activity-list>div:last-child{border-right:0}.hmo-activity-list b{display:block;font-size:10.5px}.hmo-activity-list small{display:block;color:#7b8995;font-size:9px;margin-top:3px}.hmo-activity-list strong{font-size:15px;white-space:nowrap}
@media(max-width:1280px){.hmo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1280px){.finance-highlight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hmo-grid,.hmo-activity-list{grid-template-columns:1fr}.hmo-activity-list>div{border-right:0;border-bottom:1px solid #edf1f3}.hmo-activity-list>div:last-child{border-bottom:0}.hmo-title-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.finance-highlight-grid{grid-template-columns:1fr}}

/* People and place context */
.people-section{margin-top:20px}.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.people-card{display:flex;align-items:center;gap:14px;padding:17px;min-height:116px}
.people-icon{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;font-size:17px}
.people-card div{min-width:0}.people-card small{display:block;color:#647482;font-size:9.5px;margin-bottom:5px}
.people-card strong{display:block;color:#142536;font-size:22px;line-height:1.1;letter-spacing:-.5px}
.people-card em{display:block;color:#7b8995;font-size:9px;font-style:normal;margin-top:5px}
.people-context{display:block;color:#087f7e;font-size:8.5px;font-weight:600;margin-top:5px}
.people-source{display:flex;align-items:center;gap:7px;margin-top:10px;padding:11px 13px;border:1px solid #d7e7e7;border-radius:8px;background:#f5fbfa;color:#61737d;font-size:9px}
.people-source>i{color:#0aa36f}.people-source a{margin-left:auto;color:#0873ce;font-weight:600}
@media(max-width:1100px){.people-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.people-grid{grid-template-columns:1fr}.people-source{align-items:flex-start;flex-wrap:wrap}.people-source a{width:100%;margin-left:22px}}

/* Derived per-resident context */
.derived-title{margin:20px 2px 10px}.derived-title h3{font-size:16px;margin:4px 0 2px}.derived-title p{font-size:9.5px;color:#74838f;margin:0}
.per-resident-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.per-resident-card{display:flex;align-items:center;gap:14px;padding:16px;min-height:104px}
.per-resident-card div{min-width:0}.per-resident-card small{display:block;color:#647482;font-size:9.5px;line-height:1.35;margin-bottom:5px}
.per-resident-card strong{display:block;color:#142536;font-size:21px;line-height:1.1;letter-spacing:-.45px}
.per-resident-card em{display:block;color:#7b8995;font-size:8.5px;font-style:normal;line-height:1.4;margin-top:5px}
@media(max-width:1100px){.per-resident-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.per-resident-grid{grid-template-columns:1fr}}

/* Five-year population sparkline */
.people-card.has-trend{align-items:flex-start}.people-card.has-trend>div{width:100%}
.population-sparkline{margin-top:7px;width:100%;max-width:190px}.population-sparkline svg{display:block;width:100%;height:38px;overflow:visible}
.population-sparkline polyline{stroke:#079c98;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.population-sparkline circle{fill:#fff;stroke:#079c98;stroke-width:1.7}.sparkline-area{display:none}
.sparkline-meta{display:flex;align-items:center;justify-content:space-between;margin-top:1px;color:#7b8995;font-size:8px}
.sparkline-meta strong{font-size:8.5px}.trend-up{color:#07865b}.trend-down{color:#b66a12}

/* Census ethnicity profile */
.ethnicity-panel{margin-top:12px;padding:18px}.ethnicity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.ethnicity-head h3{font-size:16px;margin:4px 0 2px}.ethnicity-head p{font-size:9.5px;color:#74838f;margin:0}
.ethnicity-bar{display:flex;width:100%;height:22px;overflow:hidden;border-radius:7px;background:#edf1f3;margin-bottom:13px}
.ethnicity-bar span{height:100%;border-right:2px solid #fff}.ethnicity-bar span:last-child{border-right:0}
.ethnicity-legend{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px}
.ethnicity-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 10px;border:1px solid #e7edef;border-radius:7px;background:#fafcfc}
.ethnicity-legend i{width:9px;height:9px;border-radius:50%}.ethnicity-legend span{font-size:9px;line-height:1.25}.ethnicity-legend strong{font-size:12px}
.ethnicity-note{display:flex;align-items:flex-start;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f3;color:#6d7b87;font-size:8.8px;line-height:1.45}
.ethnicity-note>i{color:#0a9f9c;margin-top:2px}.ethnicity-note a{margin-left:auto;white-space:nowrap;color:#0873ce;font-weight:600}
@media(max-width:900px){.ethnicity-legend{grid-template-columns:repeat(2,1fr)}.ethnicity-note{flex-wrap:wrap}.ethnicity-note a{width:100%;margin-left:16px}}
@media(max-width:540px){.ethnicity-head{flex-direction:column}.ethnicity-legend{grid-template-columns:1fr}}

/* Current broad age profile */
.age-panel{margin-top:12px;padding:18px}.age-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.age-head h3{font-size:16px;margin:4px 0 2px}.age-head p{font-size:9.5px;color:#74838f;margin:0}
.age-bar{display:flex;width:100%;height:22px;overflow:hidden;border-radius:7px;background:#edf1f3;margin-bottom:13px}
.age-bar span{height:100%;border-right:2px solid #fff}.age-bar span:last-child{border-right:0}
.age-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.age-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid #e7edef;border-radius:7px;background:#fafcfc}
.age-legend i{width:9px;height:9px;border-radius:50%}.age-legend b{display:block;font-size:9.5px}.age-legend small{display:block;color:#7b8995;font-size:8.5px;margin-top:2px}.age-legend strong{font-size:13px}
.age-note{display:flex;align-items:flex-start;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f3;color:#6d7b87;font-size:8.8px;line-height:1.45}
.age-note>i{color:#0a9f68;margin-top:2px}.age-note a{margin-left:auto;white-space:nowrap;color:#0873ce;font-weight:600}
@media(max-width:760px){.age-legend{grid-template-columns:1fr}.age-note{flex-wrap:wrap}.age-note a{width:100%;margin-left:16px}}
@media(max-width:540px){.age-head{flex-direction:column}}

/* Current labour-market and economic wellbeing profile */
.economy-panel{margin-top:12px;padding:18px}.economy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.economy-head h3{font-size:16px;margin:4px 0 2px}.economy-head p{font-size:9.5px;color:#74838f;margin:0}
.economy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.economy-card{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid #e7edef;border-radius:8px;background:#fafcfc}
.economy-card .people-icon{width:39px;height:39px;flex-basis:39px;font-size:14px}.economy-card>div{min-width:0}
.economy-card small{display:block;color:#647482;font-size:8.8px;line-height:1.25;margin-bottom:3px}.economy-card strong{display:block;color:#142536;font-size:19px;line-height:1.1}
.economy-card em{display:block;color:#6f7e8a;font-size:8px;font-style:normal;margin-top:3px}.economy-card span:not(.people-icon){display:block;color:#7b8995;font-size:7.8px;margin-top:4px}
.economy-card b{display:block;color:#087f7e;font-size:7.8px;line-height:1.3;margin-top:3px}
.economy-note{display:flex;align-items:flex-start;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f3;color:#6d7b87;font-size:8.8px;line-height:1.45}
.economy-note>i{color:#0a9f9c;margin-top:2px}.economy-note a{margin-left:auto;white-space:nowrap;color:#0873ce;font-weight:600}
@media(max-width:1050px){.economy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.economy-head{flex-direction:column}.economy-grid{grid-template-columns:1fr}.economy-note{flex-wrap:wrap}.economy-note a{width:100%;margin-left:16px}}

/* Dedicated People page and simplified overview snapshot */
.people-profile-link{text-decoration:none}.people-section .section-title{align-items:center}
.people-section .people-grid:has(.people-card:only-child){grid-template-columns:1fr}
.people-section .people-grid:has(.people-card:only-child) .people-card{display:grid;grid-template-columns:46px minmax(0,1fr);min-height:154px;padding:20px 24px}
.people-section .people-grid:has(.people-card:only-child) .people-card>div{display:grid;grid-template-columns:minmax(180px,270px) minmax(320px,1fr);grid-template-rows:auto auto auto auto;column-gap:42px;align-items:center;width:100%}
.people-section .people-grid:has(.people-card:only-child) .people-card small,
.people-section .people-grid:has(.people-card:only-child) .people-card>div>strong,
.people-section .people-grid:has(.people-card:only-child) .people-card em,
.people-section .people-grid:has(.people-card:only-child) .people-context{grid-column:1}
.people-section .people-grid:has(.people-card:only-child) .population-sparkline{grid-column:2;grid-row:1 / span 4;width:100%;max-width:none;margin:0}
.people-section .people-grid:has(.people-card:only-child) .population-sparkline svg{height:76px}
.people-section .people-grid:has(.people-card:only-child) .sparkline-meta{font-size:8.5px;margin-top:4px}
@media(max-width:760px){.people-section .people-grid:has(.people-card:only-child) .people-card>div{grid-template-columns:1fr;display:block}.people-section .people-grid:has(.people-card:only-child) .population-sparkline{margin-top:10px;max-width:100%}.people-section .people-grid:has(.people-card:only-child) .population-sparkline svg{height:48px}}
@media(max-width:640px){.people-section .section-title{align-items:flex-start}.people-profile-link{width:100%;justify-content:center}.people-section .people-grid:has(.people-card:only-child){grid-template-columns:1fr}.people-section .people-grid:has(.people-card:only-child) .people-card{padding:17px;grid-template-columns:46px minmax(0,1fr)}}

/* Stronger five-year population growth summary */
.sparkline-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:7px}
.sparkline-head>span{color:#516775;font-size:9px;font-weight:700;letter-spacing:.2px}.sparkline-head>div{display:flex;align-items:center;gap:9px}
.trend-count{color:#183244;font-size:11px;white-space:nowrap}.trend-pill{display:inline-flex!important;align-items:center;justify-content:center;padding:5px 9px;border-radius:20px;font-size:10px!important;font-weight:800;white-space:nowrap}
.trend-pill.trend-up{background:#dcf7ed;color:#087a54}.trend-pill.trend-down{background:#fff0ed;color:#bb4e43}
.people-section .people-grid:has(.people-card:only-child) .population-sparkline{padding:13px 16px 10px;border:1px solid #dcebea;border-radius:10px;background:linear-gradient(180deg,#f6fbfa 0%,#fff 100%)}
.people-section .people-grid:has(.people-card:only-child) .population-sparkline svg{height:65px}
.people-section .people-grid:has(.people-card:only-child) .sparkline-meta{padding-top:5px;border-top:1px solid #e6efef}
@media(max-width:760px){.sparkline-head{align-items:flex-start;flex-direction:column}.sparkline-head>div{width:100%;justify-content:space-between}.people-section .people-grid:has(.people-card:only-child) .population-sparkline{padding:12px}.people-section .people-grid:has(.people-card:only-child) .population-sparkline svg{height:52px}}


/* Regional population context */
.population-region-context {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid #e4eaee;
    border-radius: 10px;
    background: #f8fafb;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.population-region-stat,
.population-region-share {
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
}

.population-region-stat span,
.population-region-share span {
    color: #71808d;
    font-size: 12px;
    line-height: 1.4;
}

.population-region-stat strong {
    color: #172b3a;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.population-region-share strong {
    color: #17806d;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .population-region-context {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .population-region-share {
        flex-wrap: wrap;
    }
}

/* =========================================================
   Population regional comparison
   ========================================================= */

.people-card .population-region-context {
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #e3eaee;
    display: block;
    background: transparent;
    border-radius: 0;
}

/* London regional population */
.people-card .population-region-stat {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 7px;
}

.people-card .population-region-stat span {
    display: inline-block;
    margin: 0;
    color: #758494;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.01em;
}

.people-card .population-region-stat strong {
    display: inline-block;
    margin: 0;
    color: #33485c;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

/* Council share of regional population */
.people-card .population-region-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0;
}

.people-card .population-region-share span {
    display: inline;
    margin: 0;
    color: #758494;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
}

.people-card .population-region-share strong {
    display: inline-flex;
    align-items: center;
    margin: 0 2px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #dcf5ef;
    color: #087c70;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

/* Keep population details visually separate from the trend chart */
.people-card.has-trend > div:first-of-type {
    min-width: 0;
}

/* Five-year trend chart */
.people-card .population-sparkline {
    border: 1px solid #dbe7ea;
    border-radius: 12px;
    background: #fbfdfd;
    padding: 17px 19px 12px;
}

.people-card .sparkline-head {
    margin-bottom: 10px;
}

.people-card .sparkline-head > span {
    color: #52687a;
    font-size: 11px;
    font-weight: 700;
}

.people-card .sparkline-head > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.people-card .trend-count {
    color: #102d44;
    font-size: 12px;
    font-weight: 700;
}

.people-card .trend-pill {
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.people-card .trend-pill.trend-up {
    background: #dcf5ed;
    color: #087d66;
}

.people-card .trend-pill.trend-down {
    background: #fde8e7;
    color: #c64d46;
}

.people-card .sparkline-meta {
    padding-top: 8px;
    border-top: 1px solid #e8edef;
    color: #84919e;
    font-size: 10px;
}

/* Responsive */
@media (max-width: 800px) {

    .people-card .population-region-stat {
        flex-wrap: wrap;
    }

    .people-card .population-region-share {
        max-width: 260px;
    }

    .people-card .sparkline-head {
        align-items: flex-start;
        gap: 8px;
    }

    .people-card .sparkline-head > div {
        flex-wrap: wrap;
    }
}


/* =========================================================
   Population benchmark strip
   ========================================================= */

.population-benchmarks {
    margin-top: 12px;
    padding: 11px 0 4px;
    border-top: 1px solid #e5ecef;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.population-benchmark {
    min-width: 120px;
    padding: 0 18px;
    border-left: 1px solid #e4eaed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.population-benchmark:first-child {
    padding-left: 0;
    border-left: 0;
}

.population-benchmark span {
    color: #718192;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.population-benchmark strong {
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.population-benchmark strong.positive {
    color: #087d6d;
}

.population-benchmark strong.negative {
    color: #c9504b;
}

.population-benchmark.benchmark-council span,
.population-benchmark.benchmark-council strong {
    color: #102f45;
}

@media (max-width: 800px) {
    .population-benchmarks {
        flex-wrap: wrap;
        gap: 10px 0;
    }

    .population-benchmark {
        min-width: 50%;
    }

    .population-benchmark:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }
}


/* =========================================================
   Population benchmark interpretation
   ========================================================= */

.population-growth-context {
    margin-top: 11px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #f5f9fa;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.population-growth-context > i {
    margin-top: 2px;
    color: #0b9c98;
    font-size: 11px;
}

.population-growth-context > div {
    min-width: 0;
}

.population-growth-context span {
    display: block;
    margin-bottom: 2px;
    color: #607586;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.population-growth-context p {
    margin: 0;
    color: #405669;
    font-size: 11px;
    line-height: 1.5;
}

.population-growth-context p strong {
    color: #102f45;
    font-weight: 700;
}

@media (max-width: 800px) {
    .population-growth-context {
        padding: 9px 10px;
    }
}


/* =========================================================
   Growth context typography refinement
   ========================================================= */

.people-card .population-growth-context {
    margin-top: 12px;
    padding: 11px 14px;
    border-radius: 10px;
    background: #f5f9fa;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.people-card .population-growth-context > i {
    flex: 0 0 auto;
    margin-top: 3px;
    color: #0b9c98;
    font-size: 12px;
}

.people-card .population-growth-context > div {
    min-width: 0;
}

.people-card .population-growth-context span {
    display: block;
    margin: 0 0 3px;
    color: #667b8c;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.people-card .population-growth-context p {
    display: block;
    margin: 0;
    color: #43586a;
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.55;
}

/* Override the large .people-card strong rule */
.people-card .population-growth-context p strong {
    display: inline;
    margin: 0;
    padding: 0;
    color: #173247;
    background: transparent;
    font-size: 11.5px;
    font-weight: 700;
    line-height: inherit;
}



/* =========================================================
   Education section
   ========================================================= */

.education-section {
    margin-top: 22px;
}

.education-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.education-heading h2 {
    margin: 3px 0 4px;
}

.education-heading p {
    margin: 0;
    max-width: 680px;
    color: #708190;
    font-size: 12px;
    line-height: 1.55;
}

.education-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.education-card {
    padding: 18px;
}

.education-card-top {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #637687;
    font-size: 11px;
    font-weight: 700;
}

.education-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.education-icon.mint {
    background: #e4f5f1;
    color: #087c70;
}

.education-icon.blue {
    background: #e8f1f7;
    color: #356a8c;
}

.education-icon.purple {
    background: #f0ebf8;
    color: #705590;
}

.education-value {
    margin-top: 16px;
    color: #163247;
    font-size: 31px;
    font-weight: 750;
    letter-spacing: -0.04em;
}

.education-benchmarks {
    margin-top: 15px;
    padding-top: 12px;
    border-top: 1px solid #e6ecef;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.education-benchmarks div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.education-benchmarks span {
    color: #84919d;
    font-size: 10px;
    font-weight: 600;
}

.education-benchmarks strong {
    margin: 0;
    color: #43596b;
    font-size: 13px;
    font-weight: 700;
}

.education-difference {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 5px;
    margin-top: 13px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 750;
}

.education-difference.positive {
    background: #e3f5ef;
    color: #087b6c;
}

.education-difference.negative {
    background: #fff0ee;
    color: #c4564e;
}

.education-difference.neutral {
    background: #eef2f4;
    color: #627280;
}

.education-detail-grid {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.8fr);
    gap: 14px;
    margin-top: 14px;
}

.education-progress-card,
.education-trend-card {
    padding: 18px;
}

.education-detail-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.education-detail-heading h3 {
    margin: 3px 0 0;
    color: #173247;
    font-size: 16px;
}

.education-detail-heading > i {
    color: #91a0aa;
    font-size: 15px;
}

.education-progress-value {
    margin-top: 19px;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.education-progress-value.positive {
    color: #087b6c;
}

.education-progress-value.negative {
    color: #c4564e;
}

.education-progress-card p {
    margin: 6px 0 2px;
    color: #526879;
    font-size: 11px;
    line-height: 1.5;
}

.education-progress-card p strong {
    display: inline;
    margin: 0;
    color: inherit;
    font-size: inherit;
    font-weight: 700;
}

.education-progress-card small {
    color: #8996a0;
    font-size: 9.5px;
}

.education-mini-chart {
    min-height: 115px;
    margin-top: 12px;
    display: flex;
    align-items: flex-end;
    gap: 9px;
    border-bottom: 1px solid #e1e8eb;
}

.education-trend-column {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.education-bar-wrap {
    height: 73px;
    display: flex;
    align-items: flex-end;
}

.education-bar {
    width: 18px;
    max-width: 100%;
    min-height: 8px;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(
        180deg,
        #0caaa4 0%,
        #168e8a 100%
    );
}

.education-trend-column strong {
    margin: 6px 0 1px;
    color: #334b5e;
    font-size: 10px;
    font-weight: 700;
}

.education-trend-column span {
    margin-bottom: 5px;
    color: #8b98a2;
    font-size: 8.5px;
    white-space: nowrap;
}

.education-context {
    margin-top: 14px;
    padding: 13px 15px;
    border: 1px solid #e0eaed;
    border-radius: 11px;
    background: #f7fafb;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.education-context > i {
    margin-top: 3px;
    color: #0b9c98;
    font-size: 12px;
}

.education-context span {
    display: block;
    margin-bottom: 3px;
    color: #6d7e8c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.education-context p {
    margin: 0;
    color: #43596a;
    font-size: 11.5px;
    line-height: 1.55;
}

.education-source-note {
    margin-top: 9px;
    color: #929da5;
    font-size: 9.5px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.education-source-note i {
    color: #9ba7af;
    font-size: 9px;
}

@media (max-width: 1000px) {

    .education-grid {
        grid-template-columns: 1fr;
    }

    .education-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {

    .education-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .education-mini-chart {
        overflow-x: auto;
    }

    .education-trend-column {
        min-width: 46px;
    }
}



/* =========================================================
   Schools & Ofsted
   ========================================================= */

.schools-ofsted-section {
    margin-top: 42px;
}

.schools-ofsted-heading {
    margin-bottom: 20px;
}

.schools-ofsted-heading h2 {
    margin: 3px 0 7px;
}

.schools-ofsted-heading p {
    max-width: 720px;
    margin: 0;
    color: #6d7880;
    line-height: 1.55;
}


/* Headline statistics */

.school-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.school-summary-card {
    min-height: 112px;
    padding: 19px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.school-summary-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eef5f3;
    color: #41766e;
    font-size: 15px;
}

.school-summary-card span {
    display: block;
    margin-bottom: 5px;

    color: #7c878e;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}

.school-summary-card strong {
    display: block;
    color: #172b36;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -.025em;
}


/* School phase strip */

.school-phase-strip {
    margin-top: 14px;
    padding: 5px 17px;

    background: #fff;
    border: 1px solid #e7ebed;
    border-radius: 15px;
}

.school-phase-item {
    min-height: 61px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    border-bottom: 1px solid #edf0f1;
}

.school-phase-item:last-child {
    border-bottom: 0;
}

.school-phase-item strong {
    display: block;
    color: #233741;
    font-size: 12px;
}

.school-phase-item span {
    display: block;
    margin-top: 3px;

    color: #8a9499;
    font-size: 10px;
}

.school-phase-item .school-phase-pupils {
    margin: 0;
    white-space: nowrap;

    color: #627077;
    font-size: 11px;
    font-weight: 700;
}


/* Ofsted section */

.ofsted-block {
    margin-top: 28px;
}

.ofsted-block-heading {
    margin-bottom: 14px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.ofsted-block-heading h3 {
    margin: 3px 0 0;
    color: #20343f;
    font-size: 18px;
}

.ofsted-block-heading > span,
.ofsted-framework-count {
    color: #8a9499;
    font-size: 10px;
}


/* Current inspection position */

.inspection-position-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.inspection-position-card {
    padding: 16px;

    background: #fff;
    border: 1px solid #e7ebed;
    border-radius: 14px;
}

.inspection-position-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.inspection-position-top span {
    color: #627077;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

.inspection-position-top strong {
    color: #172b36;
    font-size: 20px;
    line-height: 1;
}

.inspection-position-track {
    height: 5px;
    margin-top: 16px;

    overflow: hidden;

    background: #edf0f1;
    border-radius: 10px;
}

.inspection-position-track span {
    display: block;
    height: 100%;
    border-radius: inherit;

    background: #82939b;
}

.inspection-position-card.renewed
.inspection-position-track span {
    background: #3c8276;
}

.inspection-position-card.oeif
.inspection-position-track span {
    background: #70869d;
}

.inspection-position-card.ungraded
.inspection-position-track span {
    background: #9a8a6e;
}

.inspection-position-card.none
.inspection-position-track span {
    background: #aeb7bb;
}

.inspection-position-card small {
    display: block;
    margin-top: 8px;

    color: #9aa3a7;
    font-size: 9px;
}


/* Renewed framework */

.renewed-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.renewed-metric-card {
    padding: 19px;
}

.renewed-metric-heading {
    margin-bottom: 17px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.renewed-metric-heading strong {
    color: #263b45;
    font-size: 13px;
}

.renewed-metric-heading span {
    color: #9aa3a7;
    font-size: 9px;
}

.renewed-judgement + .renewed-judgement {
    margin-top: 12px;
}

.renewed-judgement-label {
    margin-bottom: 5px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.renewed-judgement-label span {
    color: #69777d;
    font-size: 10px;
}

.renewed-judgement-label strong {
    color: #344851;
    font-size: 10px;
}

.renewed-judgement-track {
    height: 6px;

    overflow: hidden;

    background: #edf0f1;
    border-radius: 10px;
}

.renewed-judgement-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.renewed-judgement-track .exceptional {
    background: #347465;
}

.renewed-judgement-track .strong {
    background: #589184;
}

.renewed-judgement-track .expected,
.renewed-judgement-track .met {
    background: #84aaa1;
}

.renewed-judgement-track .attention {
    background: #d2a253;
}

.renewed-judgement-track .urgent {
    background: #c8675e;
}

.renewed-judgement-track .neutral {
    background: #96a3a9;
}


/* Legacy Ofsted */

.legacy-ofsted-explainer {
    max-width: 790px;
    margin: -3px 0 15px;

    color: #7d898f;
    font-size: 10px;
    line-height: 1.55;
}

.legacy-ratings-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.legacy-rating-card {
    min-height: 82px;
    padding: 15px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #fff;
    border: 1px solid #e6eaec;
    border-radius: 13px;
}

.legacy-rating-card span {
    color: #6d797f;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
}

.legacy-rating-card strong {
    margin-top: 11px;

    color: #273b45;
    font-size: 23px;
    line-height: 1;
}

.legacy-rating-card.outstanding {
    border-top: 3px solid #477f70;
}

.legacy-rating-card.good {
    border-top: 3px solid #77a194;
}

.legacy-rating-card.requires-improvement {
    border-top: 3px solid #cf9f55;
}

.legacy-rating-card.inadequate {
    border-top: 3px solid #c6675d;
}

.legacy-rating-card.not-judged {
    border-top: 3px solid #aab3b7;
}

.schools-source-note {
    margin-top: 22px;
}


/* Responsive */

@media (max-width: 1050px) {
    .school-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .inspection-position-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .legacy-ratings-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .school-summary-grid,
    .renewed-metrics-grid,
    .inspection-position-grid,
    .legacy-ratings-grid {
        grid-template-columns: 1fr;
    }

    .ofsted-block-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .school-phase-item {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;

        padding: 13px 0;
    }
}


/* =========================================================
   Schools & Ofsted — refinement
   ========================================================= */

.schools-ofsted-section {
    margin-top: 48px;
}

.schools-ofsted-heading {
    margin-bottom: 22px;
}

.schools-ofsted-heading h2 {
    font-size: 22px;
    letter-spacing: -.025em;
}

.schools-ofsted-heading p {
    font-size: 13px;
    color: #718087;
}


/* Main school metrics */

.school-summary-grid {
    gap: 12px;
}

.school-summary-card {
    min-height: 96px;
    padding: 17px 18px;
    border-radius: 14px;
}

.school-summary-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 11px;
}

.school-summary-card span {
    margin-bottom: 4px;
    font-size: 10px;
}

.school-summary-card strong {
    font-size: 22px;
}


/* Phase breakdown — compact cards rather than long rows */

.school-phase-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;

    margin-top: 13px;
    padding: 0;

    overflow: hidden;
    background: #fff;
    border: 1px solid #e3e8ea;
    border-radius: 14px;
}

.school-phase-item {
    min-height: 88px;
    padding: 18px 20px;

    display: block;

    border-bottom: 0;
    border-right: 1px solid #edf0f1;
}

.school-phase-item:last-child {
    border-right: 0;
}

.school-phase-item strong {
    font-size: 11px;
    color: #344952;
}

.school-phase-item span {
    margin-top: 5px;
    font-size: 10px;
}

.school-phase-item .school-phase-pupils {
    margin-top: 13px;

    color: #182d38;
    font-size: 14px;
    font-weight: 800;
}


/* Inspection coverage */

.ofsted-block {
    margin-top: 31px;
}

.ofsted-block-heading {
    margin-bottom: 13px;
}

.ofsted-block-heading h3 {
    margin-top: 4px;
    font-size: 17px;
}

.inspection-position-grid {
    gap: 9px;
}

.inspection-position-card {
    min-height: 106px;
    padding: 16px 15px;
    border-radius: 13px;
}

.inspection-position-top {
    min-height: 34px;
}

.inspection-position-top span {
    max-width: 125px;
    color: #65767e;

    font-size: 9px;
    font-weight: 750;
    line-height: 1.35;
}

.inspection-position-top strong {
    font-size: 21px;
    letter-spacing: -.03em;
}

.inspection-position-track {
    height: 6px;
    margin-top: 13px;
}

.inspection-position-card small {
    margin-top: 8px;
    font-size: 9px;
}


/* Give current-framework card slightly more prominence */

.inspection-position-card.renewed {
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f7fbfa 100%
    );

    border-color: #d8e8e4;
}

.inspection-position-card.renewed
.inspection-position-top strong {
    color: #26776b;
}


/* Renewed framework */

.renewed-framework-block {
    margin-top: 34px;
}

.renewed-metrics-grid {
    gap: 12px;
}

.renewed-metric-card {
    padding: 18px 19px;
    border-radius: 14px;
}

.renewed-metric-heading {
    padding-bottom: 12px;
    margin-bottom: 14px;

    border-bottom: 1px solid #edf0f1;
}

.renewed-metric-heading strong {
    font-size: 12px;
}

.renewed-judgement-track {
    height: 7px;
}


/* Legacy ratings */

.legacy-ofsted-block {
    margin-top: 35px;
}

.legacy-ofsted-explainer {
    margin-bottom: 17px;
}

.legacy-rating-card {
    min-height: 91px;
    padding: 16px;
}

.legacy-rating-card strong {
    font-size: 25px;
}


/* Source line */

.schools-source-note {
    margin-top: 20px;
    padding-top: 3px;
    font-size: 9px;
}


/* Responsive */

@media (max-width: 1100px) {
    .school-phase-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .school-phase-item:nth-child(2) {
        border-right: 0;
    }

    .school-phase-item:nth-child(-n+2) {
        border-bottom: 1px solid #edf0f1;
    }
}

@media (max-width: 720px) {
    .school-phase-strip {
        grid-template-columns: 1fr;
    }

    .school-phase-item {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #edf0f1 !important;
    }

    .school-phase-item:last-child {
        border-bottom: 0 !important;
    }
}


/* =========================================================
   School directory
   ========================================================= */

.school-directory-block {
    margin-top: 36px;
}

.school-directory-heading {
    margin-bottom: 13px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.school-directory-heading h3 {
    margin: 4px 0 0;

    color: #20343f;
    font-size: 18px;
}

.school-directory-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #178c87;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.school-directory-link:hover {
    color: #116d69;
}

.school-directory-link i {
    font-size: 9px;
}


.school-directory-table-wrap {
    overflow: hidden;

    background: #fff;
    border: 1px solid #e3e8ea;
    border-radius: 15px;
}

.school-directory-table {
    width: 100%;

    border-collapse: collapse;
}

.school-directory-table th {
    padding: 12px 15px;

    background: #f8fafb;
    border-bottom: 1px solid #e8edef;

    color: #879299;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .035em;
    text-align: left;
    text-transform: uppercase;
}

.school-directory-table td {
    padding: 14px 15px;

    border-bottom: 1px solid #edf0f1;

    color: #56676f;
    font-size: 10px;
    vertical-align: middle;
}

.school-directory-table tr:last-child td {
    border-bottom: 0;
}

.school-directory-table tbody tr {
    transition:
        background-color .15s ease,
        transform .15s ease;
}

.school-directory-table tbody tr:hover {
    background: #fafcfc;
}

.school-name-cell strong {
    display: block;

    color: #223741;
    font-size: 11px;
}

.school-name-cell span {
    display: block;
    margin-top: 4px;

    color: #98a2a7;
    font-size: 9px;
}


.school-ofsted-pill {
    display: inline-flex;
    align-items: center;

    min-height: 24px;
    padding: 4px 9px;

    border-radius: 20px;

    background: #eff2f3;
    color: #68777e;

    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.school-ofsted-pill.outstanding {
    background: #e3f2ed;
    color: #286e5b;
}

.school-ofsted-pill.good {
    background: #edf6f2;
    color: #4a7c6e;
}

.school-ofsted-pill.requires-improvement {
    background: #fff3df;
    color: #a16d18;
}

.school-ofsted-pill.inadequate {
    background: #fbe7e5;
    color: #a84d44;
}

.school-ofsted-pill.renewed {
    background: #e4f3f1;
    color: #267970;
}

.school-ofsted-pill.ungraded {
    background: #f3f0ea;
    color: #806d4e;
}


/* Responsive school directory */

@media (max-width: 820px) {
    .school-directory-table th:nth-child(4),
    .school-directory-table td:nth-child(4) {
        display: none;
    }
}

@media (max-width: 650px) {
    .school-directory-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .school-directory-table th:nth-child(2),
    .school-directory-table td:nth-child(2),
    .school-directory-table th:nth-child(3),
    .school-directory-table td:nth-child(3) {
        display: none;
    }
}


/* =========================================================
   Crime & Policing
   ========================================================= */

.crime-section {
    margin-top: 2rem;
    padding: 1.6rem;
    border: 1px solid #e6e8ec;
    border-radius: 22px;
    background: #fff;
}

.crime-heading {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
    margin-bottom: 1.3rem;
}

.crime-heading h2 {
    margin: 0.2rem 0 0.4rem;
}

.crime-heading p {
    margin: 0;
    max-width: 720px;
    color: #667085;
}

.crime-headline-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.crime-headline-card {
    padding: 1.15rem 1.2rem;
    border: 1px solid #e7e9ed;
    border-radius: 18px;
    background: #fafafa;
}

.crime-headline-primary {
    background: #f5f7f7;
}

.crime-card-label {
    display: block;
    margin-bottom: 0.35rem;
    color: #667085;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.crime-big-number {
    display: block;
    color: #1f2933;
    font-size: clamp(1.8rem, 2.4vw, 2.7rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.crime-card-note {
    display: block;
    margin-top: 0.45rem;
    color: #7b8491;
    font-size: 0.82rem;
}

.crime-change-down,
.crime-meta-down {
    color: #21815f;
}

.crime-change-up,
.crime-meta-up {
    color: #b34c44;
}

.crime-breakdown-panel {
    padding: 1.15rem;
    border: 1px solid #e7e9ed;
    border-radius: 18px;
    background: #fff;
}

.crime-breakdown-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.crime-breakdown-head h3 {
    margin: 0.15rem 0 0;
    font-size: 1rem;
}

.crime-force-pill {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #f2f4f7;
    color: #475467;
    font-size: 0.76rem;
    font-weight: 650;
}

.crime-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
}

.crime-category-card {
    padding: 0.85rem;
    border: 1px solid #eceef1;
    border-radius: 14px;
    background: #fbfbfc;
}

.crime-category-top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: baseline;
}

.crime-category-top span {
    color: #4f5967;
    font-size: 0.78rem;
}

.crime-category-top strong {
    color: #20252b;
    font-size: 1rem;
}

.crime-category-meta {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.4rem;
    color: #8a929d;
    font-size: 0.7rem;
}

.crime-scope-note,
.crime-source-note {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    margin-top: 0.9rem;
    color: #707986;
    font-size: 0.78rem;
    line-height: 1.5;
}

.crime-scope-note {
    padding: 0.8rem 0.9rem;
    border-radius: 12px;
    background: #f7f8fa;
}

.crime-source-note {
    color: #8a929d;
}

@media (max-width: 1000px) {
    .crime-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .crime-heading,
    .crime-breakdown-head {
        flex-direction: column;
    }

    .crime-headline-grid,
    .crime-category-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Crime comparison
   ========================================================= */

.crime-comparison-panel {
    margin: 1rem 0;
    padding: 1.2rem;
    border: 1px solid #e7e9ed;
    border-radius: 18px;
    background: #fff;
}

.crime-comparison-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.crime-comparison-heading h3 {
    margin: 0.15rem 0 0;
    font-size: 1rem;
}

.crime-comparison-heading > span {
    color: #8a929d;
    font-size: 0.74rem;
}

.crime-comparison-list {
    display: grid;
    gap: 0.95rem;
}

.crime-comparison-row {
    display: grid;
    grid-template-columns: 145px minmax(160px, 1fr) 105px;
    gap: 1rem;
    align-items: center;
}

.crime-comparison-name {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.crime-comparison-name strong {
    overflow: hidden;
    color: #252b32;
    font-size: 0.86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crime-comparison-name span {
    margin-top: 0.12rem;
    color: #9299a3;
    font-size: 0.68rem;
}

.crime-comparison-track {
    position: relative;
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #eef0f2;
}

.crime-comparison-bar {
    position: absolute;
    inset: 0 auto 0 0;
    min-width: 4px;
    border-radius: inherit;
    background: #b6bdc5;
}

.crime-comparison-row.is-council .crime-comparison-bar {
    background: #498383;
}

.crime-comparison-value {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.45rem;
}

.crime-comparison-value strong {
    color: #20252b;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
}

.crime-comparison-value > span {
    font-size: 0.7rem;
    font-weight: 700;
}

.crime-comparison-summary {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    margin-top: 1.15rem;
    padding: 0.85rem 0.95rem;
    border-radius: 13px;
    background: #f5f7f7;
}

.crime-comparison-summary i {
    margin-top: 0.16rem;
    color: #498383;
}

.crime-comparison-summary p {
    margin: 0;
    color: #626b76;
    font-size: 0.8rem;
    line-height: 1.55;
}

.crime-comparison-summary strong {
    color: #30383f;
}

@media (max-width: 720px) {
    .crime-comparison-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .crime-comparison-row {
        grid-template-columns: 100px minmax(70px, 1fr) 82px;
        gap: 0.65rem;
    }
}


/* =========================================================
   Housing & Affordability
   ========================================================= */

.housing-section {
    margin-top: 28px;
}

.housing-heading {
    margin-bottom: 20px;
}

.housing-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.housing-stat-card {
    position: relative;
    min-width: 0;
    padding: 22px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fff;
}

.housing-stat-featured {
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(73, 131, 131, 0.10),
            transparent 44%
        ),
        #fff;
}

.housing-stat-label {
    margin-bottom: 16px;
    color: #7b818a;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.housing-stat-value {
    color: #17191c;
    font-size: clamp(2rem, 3vw, 2.65rem);
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.045em;
    font-variant-numeric: tabular-nums;
}

.housing-stat-trend {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 17px;
}

.housing-stat-trend strong {
    color: #498383;
    font-size: 0.88rem;
    font-weight: 750;
}

.housing-stat-trend span {
    color: #969ba2;
    font-size: 0.76rem;
}


/* Comparison */

.housing-comparison-panel {
    margin-top: 14px;
    padding: 22px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fafafa;
}

.housing-comparison-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.housing-comparison-head h3 {
    margin: 5px 0 4px;
    color: #1b1d20;
    font-size: 1.08rem;
    font-weight: 650;
    letter-spacing: -0.015em;
}

.housing-comparison-head p {
    max-width: 620px;
    margin: 0;
    color: #858a91;
    font-size: 0.8rem;
    line-height: 1.5;
}

.housing-comparison-list {
    display: grid;
    gap: 15px;
}

.housing-comparison-row {
    display: grid;
    grid-template-columns: 135px minmax(100px, 1fr) 58px;
    align-items: center;
    gap: 15px;
}

.housing-comparison-name {
    overflow: hidden;
    color: #62676e;
    font-size: 0.82rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.housing-comparison-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7e9;
}

.housing-comparison-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #aeb2b7;
}

.housing-comparison-value {
    color: #62676e;
    font-size: 0.86rem;
    font-weight: 650;
    text-align: right;
    font-variant-numeric: tabular-nums;
}


/* Highlight selected council */

.housing-comparison-row.is-council .housing-comparison-name,
.housing-comparison-row.is-council .housing-comparison-value {
    color: #24272b;
    font-weight: 750;
}

.housing-comparison-row.is-council .housing-comparison-track span {
    background: #498383;
}


/* Comparison interpretation */

.housing-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #e4e6e8;
}

.housing-insight {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 13px 15px;
    border: 1px solid #e7e9eb;
    border-radius: 12px;
    background: #fff;
}

.housing-insight span {
    color: #969ba2;
    font-size: 0.72rem;
}

.housing-insight strong {
    color: #363a3f;
    font-size: 0.86rem;
    font-weight: 700;
}


/* Source */

.housing-source-note {
    margin-top: 15px;
    color: #a0a4aa;
    font-size: 0.7rem;
    line-height: 1.5;
}

.housing-source-note strong {
    color: #7b8087;
    font-weight: 650;
}


/* Responsive */

@media (max-width: 900px) {

    .housing-stat-grid {
        grid-template-columns: 1fr;
    }

    .housing-insight-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {

    .housing-stat-card,
    .housing-comparison-panel {
        padding: 18px;
    }

    .housing-comparison-row {
        grid-template-columns: 92px minmax(60px, 1fr) 50px;
        gap: 9px;
    }

    .housing-comparison-name {
        font-size: 0.76rem;
    }

    .housing-comparison-value {
        font-size: 0.8rem;
    }
}

CSScd /var/www/councilmetrics/public

cat >> assets/css/council.css <<'CSS'


/* =========================================================
   Housing & Affordability
   ========================================================= */

.housing-section {
    margin-top: 28px;
}

.housing-heading {
    margin-bottom: 20px;
}

.housing-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.housing-stat-card {
    position: relative;
    min-width: 0;
    padding: 22px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fff;
}

.housing-stat-featured {
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(73, 131, 131, 0.10),
            transparent 44%
        ),
        #fff;
}

.housing-stat-label {
    margin-bottom: 16px;
    color: #7b818a;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.housing-stat-value {
    color: #17191c;
    font-size: clamp(2rem, 3vw, 2.65rem);
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.045em;
    font-variant-numeric: tabular-nums;
}

.housing-stat-trend {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 17px;
}

.housing-stat-trend strong {
    color: #498383;
    font-size: 0.88rem;
    font-weight: 750;
}

.housing-stat-trend span {
    color: #969ba2;
    font-size: 0.76rem;
}


/* Comparison */

.housing-comparison-panel {
    margin-top: 14px;
    padding: 22px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fafafa;
}

.housing-comparison-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.housing-comparison-head h3 {
    margin: 5px 0 4px;
    color: #1b1d20;
    font-size: 1.08rem;
    font-weight: 650;
    letter-spacing: -0.015em;
}

.housing-comparison-head p {
    max-width: 620px;
    margin: 0;
    color: #858a91;
    font-size: 0.8rem;
    line-height: 1.5;
}

.housing-comparison-list {
    display: grid;
    gap: 15px;
}

.housing-comparison-row {
    display: grid;
    grid-template-columns: 135px minmax(100px, 1fr) 58px;
    align-items: center;
    gap: 15px;
}

.housing-comparison-name {
    overflow: hidden;
    color: #62676e;
    font-size: 0.82rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.housing-comparison-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7e9;
}

.housing-comparison-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #aeb2b7;
}

.housing-comparison-value {
    color: #62676e;
    font-size: 0.86rem;
    font-weight: 650;
    text-align: right;
    font-variant-numeric: tabular-nums;
}


/* Highlight selected council */

.housing-comparison-row.is-council .housing-comparison-name,
.housing-comparison-row.is-council .housing-comparison-value {
    color: #24272b;
    font-weight: 750;
}

.housing-comparison-row.is-council .housing-comparison-track span {
    background: #498383;
}


/* Comparison interpretation */

.housing-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #e4e6e8;
}

.housing-insight {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 13px 15px;
    border: 1px solid #e7e9eb;
    border-radius: 12px;
    background: #fff;
}

.housing-insight span {
    color: #969ba2;
    font-size: 0.72rem;
}

.housing-insight strong {
    color: #363a3f;
    font-size: 0.86rem;
    font-weight: 700;
}


/* Source */

.housing-source-note {
    margin-top: 15px;
    color: #a0a4aa;
    font-size: 0.7rem;
    line-height: 1.5;
}

.housing-source-note strong {
    color: #7b8087;
    font-weight: 650;
}


/* Responsive */

@media (max-width: 900px) {

    .housing-stat-grid {
        grid-template-columns: 1fr;
    }

    .housing-insight-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {

    .housing-stat-card,
    .housing-comparison-panel {
        padding: 18px;
    }

    .housing-comparison-row {
        grid-template-columns: 92px minmax(60px, 1fr) 50px;
        gap: 9px;
    }

    .housing-comparison-name {
        font-size: 0.76rem;
    }

    .housing-comparison-value {
        font-size: 0.8rem;
    }
}



/* =========================================================
   Private Renting
   ========================================================= */

.housing-rent-panel {
    margin-top: 14px;
    padding: 22px;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    background: #fff;
}

.housing-rent-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: start;
}

.housing-rent-copy h3 {
    margin: 5px 0 5px;
    color: #1b1d20;
    font-size: 1.08rem;
    font-weight: 650;
    letter-spacing: -0.015em;
}

.housing-rent-copy p {
    max-width: 560px;
    margin: 0;
    color: #858a91;
    font-size: 0.8rem;
    line-height: 1.5;
}

.housing-rent-headline {
    min-width: 190px;
    text-align: right;
}

.housing-rent-value {
    color: #17191c;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
    font-variant-numeric: tabular-nums;
}

.housing-rent-value span {
    color: #969ba2;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0;
}

.housing-rent-change {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 6px;
    margin-top: 10px;
}

.housing-rent-change strong {
    color: #498383;
    font-size: 0.9rem;
    font-weight: 750;
}

.housing-rent-change span {
    color: #969ba2;
    font-size: 0.74rem;
}

.housing-rent-period {
    margin-top: 5px;
    color: #a3a7ad;
    font-size: 0.7rem;
}


/* Rent comparison */

.housing-rent-comparison {
    display: grid;
    gap: 14px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eceef0;
}

.housing-rent-row {
    display: grid;
    grid-template-columns:
        135px
        minmax(100px, 1fr)
        75px
        60px;
    align-items: center;
    gap: 14px;
}

.housing-rent-name {
    overflow: hidden;
    color: #676c73;
    font-size: 0.82rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.housing-rent-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7e9;
}

.housing-rent-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #afb3b8;
}

.housing-rent-number {
    color: #555a61;
    font-size: 0.86rem;
    font-weight: 700;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.housing-rent-rate {
    color: #8b9096;
    font-size: 0.76rem;
    font-weight: 600;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.housing-rent-row.is-council .housing-rent-name,
.housing-rent-row.is-council .housing-rent-number {
    color: #24272b;
    font-weight: 750;
}

.housing-rent-row.is-council .housing-rent-rate {
    color: #498383;
    font-weight: 700;
}

.housing-rent-row.is-council .housing-rent-track span {
    background: #498383;
}


/* Rent insights */

.housing-rent-insights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px;
}

.housing-rent-insights > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 13px 15px;
    border: 1px solid #e7e9eb;
    border-radius: 12px;
    background: #fafafa;
}

.housing-rent-insights span {
    color: #989da3;
    font-size: 0.72rem;
}

.housing-rent-insights strong {
    color: #363a3f;
    font-size: 0.86rem;
    font-weight: 700;
}


/* Responsive */

@media (max-width: 760px) {

    .housing-rent-main {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .housing-rent-headline {
        min-width: 0;
        text-align: left;
    }

    .housing-rent-change {
        justify-content: flex-start;
    }

    .housing-rent-row {
        grid-template-columns:
            92px
            minmax(60px, 1fr)
            66px
            52px;
        gap: 9px;
    }

    .housing-rent-name {
        font-size: 0.75rem;
    }

    .housing-rent-number {
        font-size: 0.8rem;
    }

    .housing-rent-rate {
        font-size: 0.7rem;
    }

    .housing-rent-insights {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {

    .housing-rent-panel {
        padding: 18px;
    }

    .housing-rent-row {
        grid-template-columns:
            82px
            minmax(50px, 1fr)
            62px;
    }

    .housing-rent-rate {
        display: none;
    }
}



/* ==========================================================
   COUNCIL EDUCATION SNAPSHOT
   ========================================================== */

.education-snapshot {
    margin: 22px 0 28px;
    padding: 20px;
    background:
        linear-gradient(
            135deg,
            rgba(73, 131, 131, 0.055),
            rgba(255, 255, 255, 0) 55%
        ),
        #fff;
    border: 1px solid #e2e9ea;
    border-radius: 16px;
}

.education-snapshot-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 17px;
}

.education-snapshot-heading h3,
.education-subheading h3 {
    margin: 4px 0 0;
    color: #18303b;
    font-size: 17px;
    font-weight: 650;
    letter-spacing: -0.02em;
}

.education-schools-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    padding: 9px 12px;
    color: #397778;
    background: #edf5f4;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 650;
    text-decoration: none;
    transition:
        background 160ms ease,
        transform 160ms ease;
}

.education-schools-link:hover {
    background: #e3efee;
    transform: translateY(-1px);
}

.education-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.education-snapshot-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 15px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #e6ecee;
    border-radius: 12px;
}

.education-snapshot-icon {
    display: grid;
    place-items: center;
    flex: 0 0 37px;
    width: 37px;
    height: 37px;
    color: #4f8988;
    background: #edf5f4;
    border-radius: 10px;
    font-size: 13px;
}

.education-snapshot-card > div:last-child {
    min-width: 0;
}

.education-snapshot-card strong {
    display: block;
    color: #16323b;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.education-snapshot-card span {
    display: block;
    margin-top: 4px;
    color: #77878d;
    font-size: 10px;
    font-weight: 550;
    line-height: 1.3;
}

.education-subheading {
    margin: 3px 0 14px;
}

.education-subheading p {
    margin: 6px 0 0;
    color: #74858b;
    font-size: 12px;
    line-height: 1.55;
}


@media (max-width: 1050px) {
    .education-snapshot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 620px) {
    .education-snapshot {
        padding: 16px;
    }

    .education-snapshot-heading {
        display: block;
    }

    .education-schools-link {
        margin-top: 13px;
    }

    .education-snapshot-grid {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   Central MHCLG finance outturn
   ========================================================= */
.finance-section-title{align-items:flex-start}.finance-section-title p{margin:5px 0 0;color:#70818d;font-size:9.5px;line-height:1.45}.official-badge{background:#e5f7f1;color:#087956}.finance-outturn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.finance-outturn-card{padding:17px;min-width:0}.finance-outturn-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#657684;font-size:9.5px}.finance-outturn-top i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f7f5;color:#078f8b;font-size:13px}.finance-outturn-card>strong{display:block;margin-top:11px;color:#142536;font-size:22px;line-height:1.1;letter-spacing:-.55px;white-space:nowrap}.finance-outturn-card>small{display:block;margin-top:6px;color:#7b8995;font-size:8.5px}.finance-context-strip{display:grid;grid-template-columns:42px minmax(150px,1fr) minmax(220px,1.4fr);align-items:center;gap:13px;margin-bottom:12px;padding:14px 16px;border:1px solid #d7e7e7;border-radius:9px;background:linear-gradient(110deg,#f1faf8 0%,#fff 70%)}.finance-context-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dff4ef;color:#078a75}.finance-context-strip small{display:block;color:#647482;font-size:8.7px}.finance-context-strip strong{display:block;margin-top:3px;color:#142536;font-size:18px}.finance-peer-context{padding-left:18px;border-left:1px solid #dbe8e6}.finance-peer-context em{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:20px;font-size:7.8px;font-style:normal;font-weight:700}.finance-peer-context em.is-above{background:#fff3de;color:#96620b}.finance-peer-context em.is-below{background:#e5f7f1;color:#087956}.finance-service-panel{padding:18px;margin-bottom:12px}.finance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.finance-panel-head h3,.finance-local-heading h3{margin:3px 0 0;color:#1a2e3e;font-size:15px}.finance-panel-head p{margin:4px 0 0;color:#778691;font-size:8.8px}.finance-service-list{display:grid;gap:2px}.finance-service-row{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(120px,1fr) 88px;align-items:center;gap:14px;padding:9px 2px;border-top:1px solid #edf1f3}.finance-service-row:first-child{border-top:0}.finance-service-name{min-width:0}.finance-service-name strong{display:block;color:#293e4e;font-size:9.7px}.finance-service-name small{display:block;margin-top:3px;color:#82909a;font-size:7.8px}.finance-service-track{height:7px;overflow:hidden;border-radius:20px;background:#edf2f3}.finance-service-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0ba39d,#64c9bc)}.finance-service-value{text-align:right;color:#243847;font-size:10.5px;white-space:nowrap}.finance-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.finance-funding-panel,.finance-reserves-panel{padding:18px}.finance-funding-list{display:grid;gap:11px}.finance-funding-list>div>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}.finance-funding-list b{color:#405462;font-size:9px}.finance-funding-list strong{color:#213746;font-size:9.5px}.finance-funding-list>div>i{display:block;height:6px;overflow:hidden;border-radius:20px;background:#edf2f3}.finance-funding-list>div>i>em{display:block;height:100%;border-radius:inherit;background:#5ebeb5}.finance-reserve-values{display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;gap:10px;padding:16px;border-radius:8px;background:#f7fafb}.finance-reserve-values>i{color:#90a0aa;text-align:center}.finance-reserve-values div:last-child{text-align:right}.finance-reserve-values small{display:block;color:#72818d;font-size:8.5px}.finance-reserve-values strong{display:block;margin-top:4px;color:#1e3443;font-size:17px}.finance-reserve-change{display:flex;align-items:center;gap:7px;margin-top:10px;padding:9px 11px;border-radius:7px;font-size:8.8px;font-weight:600}.finance-reserve-change.is-positive{background:#eaf8f2;color:#087a54}.finance-reserve-change.is-negative{background:#fff1ee;color:#b34e45}.finance-source-note{display:flex;align-items:center;gap:8px;margin-bottom:17px;padding:11px 13px;border:1px solid #dce9e7;border-radius:8px;background:#f7fbfa;color:#62757f;font-size:8.5px;line-height:1.45}.finance-source-note>i{color:#0a9f68}.finance-source-note a{margin-left:auto;color:#0873ce;font-weight:600;white-space:nowrap}.finance-local-heading{margin:20px 2px 10px;padding-top:17px;border-top:1px solid #e3e9ec}
@media(max-width:1100px){.finance-outturn-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.finance-context-strip{grid-template-columns:42px 1fr}.finance-peer-context{grid-column:2;padding:10px 0 0;border-left:0;border-top:1px solid #dbe8e6}.finance-detail-grid{grid-template-columns:1fr}.finance-service-row{grid-template-columns:minmax(0,1fr) 78px}.finance-service-track{grid-column:1 / -1;grid-row:2}.finance-service-value{grid-column:2;grid-row:1}.finance-source-note{align-items:flex-start;flex-wrap:wrap}.finance-source-note a{width:100%;margin-left:22px}}
@media(max-width:560px){.finance-outturn-grid{grid-template-columns:1fr}.finance-outturn-card>strong{font-size:20px}.finance-service-name small{line-height:1.4}.finance-reserve-values strong{font-size:14px}}

/* Quarterly MHCLG borrowing and investment position */
.debt-section{margin:20px 0 18px;padding-top:18px;border-top:1px solid #e1e9ec}.debt-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 2px 11px}.debt-section-head h3{margin:3px 0 0;color:#1a2e3e;font-size:15px}.debt-section-head p{margin:5px 0 0;color:#778691;font-size:8.8px;line-height:1.5}.debt-headline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.debt-headline-card{position:relative;overflow:hidden;min-width:0;padding:17px}.debt-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#657684;font-size:9.5px}.debt-card-top i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3f8;color:#3e6f98;font-size:13px}.debt-headline-card>strong{display:block;margin-top:11px;color:#142536;font-size:21px;line-height:1.1;letter-spacing:-.5px;white-space:nowrap}.debt-headline-card>small{display:block;margin-top:6px;color:#7b8995;font-size:8.3px}.debt-primary-card{border-color:#cfe4e1;background:linear-gradient(135deg,#f0faf8 0%,#fff 68%)}.debt-primary-card .debt-card-top i{background:#dff4ef;color:#087f73}.debt-peer-strip{display:grid;grid-template-columns:42px minmax(170px,1fr) minmax(250px,1.45fr);align-items:center;gap:13px;margin-bottom:12px;padding:14px 16px;border:1px solid #dbe6ed;border-radius:9px;background:linear-gradient(110deg,#f5f8fb 0%,#fff 72%)}.debt-peer-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8f0f7;color:#3f729c}.debt-peer-strip small{display:block;color:#647482;font-size:8.7px}.debt-peer-strip strong{display:block;margin-top:3px;color:#142536;font-size:18px}.debt-peer-median{padding-left:18px;border-left:1px solid #dce5eb}.debt-peer-median em{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:20px;font-size:7.8px;font-style:normal;font-weight:700}.debt-peer-median em.is-higher{background:#fff0ed;color:#ae4d43}.debt-peer-median em.is-lower{background:#e5f7f1;color:#087956}.debt-composition-panel{padding:18px;margin-bottom:12px}.debt-composition-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.debt-composition-row>span{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.debt-composition-row b{color:#405462;font-size:8.8px}.debt-composition-row strong{color:#213746;font-size:9.5px;white-space:nowrap}.debt-composition-row>i{display:block;height:7px;overflow:hidden;border-radius:20px;background:#edf2f5}.debt-composition-row>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#477ca6,#78a9c8)}.debt-source-note{margin-bottom:0}
@media(max-width:1100px){.debt-headline-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.debt-peer-strip{grid-template-columns:42px 1fr}.debt-peer-median{grid-column:2;padding:10px 0 0;border-left:0;border-top:1px solid #dce5eb}.debt-composition-list{grid-template-columns:1fr}.debt-section-head{flex-wrap:wrap}}
@media(max-width:560px){.debt-headline-grid{grid-template-columns:1fr}.debt-headline-card>strong{font-size:20px}}

/* Council profile information hierarchy */
.council-content{display:flex;flex-direction:column}.council-content>.council-hero{order:1}.council-content>.profile-tabs{order:2}.council-content>.council-glance{order:3}.council-content>#politics{order:4}.council-content>.audit-warning{order:5}.council-content>#finance{order:6}.council-content>#crime{order:7}.council-content>#education{order:8}.council-content>#schools-ofsted{order:9}.council-content>#people{order:10}.council-content>#housing{order:11}.council-content>#planning{order:12}.council-content>#hmo{order:12}.council-content>#waste{order:13}.council-content>#overview{order:14}.council-content>#spending{order:15}.council-content>#contracts{order:16}.council-content>#suppliers{order:17}.council-content>#sources{order:18}.council-content>#methodology{order:19}.council-glance{margin:12px 0 18px;padding:17px 18px 18px;border:1px solid #dce7eb;border-radius:11px;background:linear-gradient(135deg,#f8fbfc 0%,#fff 72%);box-shadow:var(--shadow)}.glance-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.glance-heading h2{margin:3px 0 0;color:#172b3a;font-size:15px}.glance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.glance-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 12px;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid #e2eaed;border-radius:9px;background:#fff;color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.glance-card:hover{transform:translateY(-1px);border-color:#bdd9da;box-shadow:0 8px 22px rgba(26,57,70,.08)}.glance-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:13px}.glance-icon.politics{background:#e8eff8;color:#456f9e}.glance-icon.leader{background:#f0eafa;color:#7653a6}.glance-icon.population{background:#e4f6f1;color:#087f70}.glance-icon.finance{background:#fff1df;color:#a66a14}.glance-card div{min-width:0}.glance-card small{display:block;color:#72818d;font-size:8.2px}.glance-card strong{display:block;overflow:hidden;margin-top:3px;color:#182d3c;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.glance-card em{display:block;overflow:hidden;margin-top:4px;color:#84919a;font-size:7.7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.glance-arrow{color:#9ba8b0;font-size:8px}.profile-tabs{scrollbar-width:thin}.profile-tabs a{white-space:nowrap}
.financial-score-card{--score-color:#0a9f70;display:grid;grid-template-columns:92px minmax(250px,.9fr) minmax(360px,1.35fr);align-items:center;gap:20px;margin-bottom:12px;padding:17px 18px;border:1px solid #cfe5df;border-radius:10px;background:linear-gradient(115deg,#f3fbf8 0%,#fff 72%)}.financial-score-card.score-good{--score-color:#159c88}.financial-score-card.score-mixed{--score-color:#d39a20;border-color:#eadcb9;background:linear-gradient(115deg,#fffaf0,#fff 72%)}.financial-score-card.score-pressure{--score-color:#d4773f;border-color:#edd0bc;background:linear-gradient(115deg,#fff7f1,#fff 72%)}.financial-score-card.score-significant-pressure{--score-color:#cf5a50;border-color:#ebc9c5;background:linear-gradient(115deg,#fff5f4,#fff 72%)}.financial-score-card.score-unavailable{--score-color:#9aabb4;border-color:#dbe4e8;background:#f8fafb}.financial-score-gauge{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--score-color) calc(var(--financial-score) * 1%),#e4eaed 0)}.financial-score-gauge>span{display:grid;place-content:center;width:66px;height:66px;border-radius:50%;background:#fff;text-align:center;box-shadow:inset 0 0 0 1px #edf1f3}.financial-score-gauge strong{color:#173247;font-size:25px;line-height:1}.financial-score-gauge small{margin-top:3px;color:#75858f;font-size:8px}.financial-score-summary{min-width:0}.financial-score-summary h3{margin:4px 0;color:#173247;font-size:19px}.financial-score-summary p{margin:0;color:#637682;font-size:9.5px;line-height:1.45}.financial-score-meta{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px;color:#617681;font-size:8.5px}.financial-score-meta span,.financial-score-meta a{display:inline-flex;align-items:center;gap:5px}.financial-score-meta i{color:var(--score-color)}.financial-score-meta a{color:#087f7e;font-weight:700;text-decoration:none}.financial-score-components{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;padding-left:18px;border-left:1px solid #e3eaed}.financial-score-components>div>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}.financial-score-components b{color:#526875;font-size:8.8px}.financial-score-components strong{color:#203848;font-size:9.5px}.financial-score-components>div>i{display:block;height:6px;overflow:hidden;border-radius:8px;background:#e8edef}.financial-score-components em{display:block;height:100%;border-radius:8px;background:var(--score-color)}
@media(max-width:1180px){.glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.financial-score-card{grid-template-columns:82px 1fr}.financial-score-components{grid-column:1 / -1;padding:14px 0 0;border-top:1px solid #e3eaed;border-left:0}}
@media(max-width:650px){.council-glance{padding:15px}.glance-grid{grid-template-columns:1fr}.glance-heading h2{font-size:14px}.glance-card strong{font-size:11.5px}.financial-score-card{grid-template-columns:1fr;text-align:center}.financial-score-gauge{margin:auto}.financial-score-meta{justify-content:center}.financial-score-components{grid-template-columns:1fr;text-align:left}}

/* Financial score legibility */
.financial-score-gauge strong{font-size:28px}
.financial-score-gauge small{font-size:9.5px}
.financial-score-summary .panel-kicker{font-size:10.5px}
.financial-score-summary h3{font-size:20px}
.financial-score-summary p{font-size:11.5px;line-height:1.5}
.financial-score-meta{font-size:10px;line-height:1.4}
.financial-score-components b{font-size:10.5px}
.financial-score-components strong{font-size:11px}

.community-score-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;margin:0 0 12px;padding:13px 16px;border:1px solid #d8e7e4;border-radius:9px;background:#f6fbfa;color:inherit;text-decoration:none}.community-score-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#def4ef;color:#008f83;font-size:15px}.community-score-copy{display:grid;gap:2px}.community-score-copy small{color:#008f83;font-size:9px;font-weight:800;letter-spacing:.08em}.community-score-copy strong{color:#173247;font-size:15px}.community-score-copy strong em{color:#72838d;font-size:9px;font-style:normal;font-weight:600}.community-score-copy span{color:#657985;font-size:10px}.community-score-action{display:flex;align-items:center;gap:7px;color:#087f7e;font-size:10px;font-weight:800}.community-score-card:hover{border-color:#9dd6cc;background:#f0faf7}@media(max-width:650px){.community-score-card{grid-template-columns:42px 1fr}.community-score-action{grid-column:2}}

/* Dedicated People profile: one feature row followed by three compact KPIs */
.people-profile-page .people-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.people-profile-page .population-feature-card{grid-column:1 / -1;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;min-height:0;padding:20px 22px}.people-profile-page .population-feature-card>div{display:grid;grid-template-columns:minmax(220px,285px) minmax(0,1fr);grid-template-rows:auto auto auto auto auto;column-gap:28px;align-items:start;width:100%}.people-profile-page .population-feature-card>div>small,.people-profile-page .population-feature-card>div>strong,.people-profile-page .population-feature-card>div>em,.people-profile-page .population-feature-card .population-region-context,.people-profile-page .population-feature-card>div>.people-context{grid-column:1}.people-profile-page .population-feature-card .population-region-context{margin-top:13px;padding:13px 0 0;border-top:1px solid #e4eaee}.people-profile-page .population-feature-card .population-sparkline{grid-column:2;grid-row:1 / span 5;width:100%;max-width:none;margin:0;padding:15px 17px 11px}.people-profile-page .population-feature-card .population-sparkline svg{height:58px}.people-profile-page .population-feature-card .population-benchmarks{justify-content:flex-start}.people-profile-page .population-feature-card .population-growth-context{margin-top:10px}.people-profile-page .people-card:not(.population-feature-card){align-items:center;min-height:120px;padding:17px 20px}.people-profile-page .people-card:not(.population-feature-card)>div{width:100%}
@media(max-width:900px){.people-profile-page .people-grid{grid-template-columns:1fr}.people-profile-page .population-feature-card>div{display:block}.people-profile-page .population-feature-card .population-sparkline{margin-top:14px}.people-profile-page .people-card:not(.population-feature-card){min-height:108px}}
@media(max-width:600px){.people-profile-page .population-feature-card{grid-template-columns:40px minmax(0,1fr);padding:17px}.people-profile-page .population-feature-card .people-icon{width:40px;height:40px;flex-basis:40px}.people-profile-page .population-feature-card .population-sparkline{padding:12px}.people-profile-page .population-feature-card .population-benchmarks{display:grid;grid-template-columns:1fr}.people-profile-page .population-feature-card .population-benchmark{min-width:0;padding:7px 0;border-left:0;border-top:1px solid #e7edef}.people-profile-page .population-feature-card .population-benchmark:first-child{border-top:0}}

/* Historical borrowing and investment trend */
.debt-trend-panel{margin-bottom:12px;padding:18px}.debt-trend-head{align-items:center;margin-bottom:12px}.debt-trend-head h3{font-size:18px}.debt-trend-head p{margin-top:4px;color:#61727f;font-size:11.5px}.debt-movement-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:20px;background:#eef3f6;color:#526671;font-size:11px;font-weight:750;white-space:nowrap}.debt-movement-badge.is-higher{background:#fff0ed;color:#a8443b}.debt-movement-badge.is-lower{background:#e5f7f1;color:#087956}.debt-chart-legend{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin:0 3px 8px;color:#526671;font-size:11px;font-weight:650}.debt-chart-legend span{display:inline-flex;align-items:center;gap:6px}.debt-chart-legend i{width:18px;height:3px;border-radius:10px}.debt-chart-legend .borrowing i{background:#3e6f98}.debt-chart-legend .investments i{background:#0b9c86}.debt-chart-legend .net-debt i{background:#d06b57}.debt-chart-wrap{padding:10px 12px 8px;border:1px solid #e2e9ed;border-radius:9px;background:linear-gradient(180deg,#fbfcfd 0%,#fff 100%)}.debt-trend-chart{display:block;width:100%;height:190px;overflow:visible}.debt-chart-grid{stroke:#e9eef1;stroke-width:1}.debt-chart-zero{stroke:#cad5db;stroke-width:1;stroke-dasharray:4 5}.debt-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.debt-chart-line.borrowing{stroke:#3e6f98}.debt-chart-line.investments{stroke:#0b9c86}.debt-chart-line.net-debt{stroke:#d06b57}.debt-chart-axis{display:flex;justify-content:space-between;gap:8px;padding:8px 2px 1px;color:#637784;font-size:10.5px;font-weight:600}.debt-trend-summary{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(280px,1.6fr);gap:10px;margin-top:10px}.debt-trend-summary>div{padding:13px 15px;border-radius:8px;background:#f7fafb}.debt-trend-summary small{display:block;color:#5e727f;font-size:10.5px;font-weight:650}.debt-trend-summary strong{display:inline-block;margin-top:5px;color:#1d3444;font-size:18px}.debt-trend-summary strong.is-higher{color:#a8443b}.debt-trend-summary strong.is-lower{color:#087956}.debt-trend-summary em{display:block;margin-top:4px;color:#687c88;font-size:10px;font-style:normal}.debt-trend-reading p{margin:6px 0 0;color:#304b5c;font-size:11.5px;line-height:1.55}
@media(max-width:800px){.debt-trend-summary{grid-template-columns:1fr 1fr}.debt-trend-reading{grid-column:1 / -1}.debt-trend-head{align-items:flex-start;flex-direction:column}.debt-chart-legend{justify-content:flex-start}.debt-trend-chart{height:160px}}
@media(max-width:540px){.debt-trend-summary{grid-template-columns:1fr}.debt-trend-reading{grid-column:auto}.debt-chart-axis span:nth-child(even){display:none}.debt-trend-chart{height:140px}}

/* Historical financial-view context */
.council-title-row{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.council-title-row h1{margin-right:2px}.financial-view-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #cce5e1;border-radius:20px;background:#effaf8;color:#087f76;font-size:9px;font-weight:700;white-space:nowrap}.council-identity .financial-view-context{display:flex;align-items:center;gap:6px;margin-top:7px!important;color:#087f76!important;font-size:9px!important;font-weight:600}.historical-data-empty{display:flex;align-items:flex-start;gap:13px;margin-bottom:12px;padding:17px;border-style:dashed;background:#fafcfc}.historical-data-empty>i{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:#eef4f5;color:#66808a}.historical-data-empty strong{display:block;color:#243b49;font-size:11px}.historical-data-empty p{margin:5px 0 0;color:#687b87;font-size:9.5px;line-height:1.5}.spending-section-title{align-items:flex-start}.spending-period-note{display:flex;align-items:center;gap:6px;margin:7px 0 0;color:#087f76;font-size:9px;font-weight:600}.spending-period-note.is-latest-only{color:#9a6415}.spending-period-note.is-latest-only i{color:#c68521}
@media(max-width:640px){.council-title-row{gap:7px}.financial-view-badge{font-size:8px}.council-identity .financial-view-context{align-items:flex-start;line-height:1.4}.spending-period-note{align-items:flex-start;line-height:1.45}}

/* Compact year-on-year financial context */
.financial-comparison-panel{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,2.25fr);gap:18px;align-items:center;margin:0 0 12px;padding:14px 16px;border:1px solid #dce7e9;border-radius:9px;background:linear-gradient(115deg,#f8fbfc 0%,#fff 68%)}.financial-comparison-intro{padding-right:17px;border-right:1px solid #e2eaed}.financial-comparison-intro>strong{display:block;margin-top:4px;color:#193141;font-size:12px;line-height:1.35}.financial-comparison-intro>small{display:block;margin-top:5px;color:#71828d;font-size:8.5px;line-height:1.45}.financial-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.financial-comparison-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0}.financial-comparison-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e7f5f3;color:#078d85;font-size:11px}.financial-comparison-item>div{min-width:0}.financial-comparison-item>div>small{display:block;color:#667985;font-size:8px}.financial-comparison-item>div>strong{display:block;margin-top:2px;color:#1a3040;font-size:13px}.financial-comparison-item>div>em{display:block;overflow:hidden;margin-top:2px;color:#82909a;font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.financial-comparison-change{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:20px;font-size:8px;font-weight:800;white-space:nowrap}.financial-comparison-change small{font-size:7px}.financial-comparison-change.is-higher{background:#eaf3fb;color:#326f9d}.financial-comparison-change.is-lower{background:#fff5df;color:#94640e}.financial-comparison-change.is-flat{background:#eef3f5;color:#687b86}
@media(max-width:1100px){.financial-comparison-panel{grid-template-columns:1fr}.financial-comparison-intro{padding:0 0 10px;border-right:0;border-bottom:1px solid #e2eaed}}
@media(max-width:760px){.financial-comparison-grid{grid-template-columns:1fr}.financial-comparison-item{padding:7px 0;border-top:1px solid #edf1f3}.financial-comparison-item:first-child{border-top:0}}

/* Five-year annual finance trend */
.annual-finance-trend-panel{margin:0 0 12px;padding:17px 18px 14px;border:1px solid #d9e7e8;border-radius:10px;background:linear-gradient(125deg,#f7fbfb 0%,#fff 72%)}.annual-finance-trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.annual-finance-trend-head h3{margin:4px 0 0;color:#193141;font-size:15px}.annual-finance-trend-head p{margin:5px 0 0;color:#6d7f8a;font-size:9px;line-height:1.45}.annual-finance-trend-period{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:20px;background:#e8f6f3;color:#087d73;font-size:8.5px;font-weight:750;white-space:nowrap}.annual-finance-trend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.annual-finance-trend-card{--trend-color:#0b998d;min-width:0;padding:12px;border:1px solid #e2eaed;border-radius:9px;background:#fff}.annual-finance-trend-card.trend-blue{--trend-color:#477ca6}.annual-finance-trend-card.trend-violet{--trend-color:#8061ae}.annual-finance-trend-card.trend-amber{--trend-color:#c58324}.annual-finance-trend-summary{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px}.annual-finance-trend-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eaf5f3;color:var(--trend-color);font-size:10px}.annual-finance-trend-summary small{display:block;color:#647783;font-size:8px}.annual-finance-trend-summary strong{display:block;margin-top:2px;color:#193141;font-size:13px}.annual-finance-trend-change{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:20px;background:#eef3f5;color:#60747f;font-size:7.7px;font-weight:800;white-space:nowrap}.annual-finance-trend-change.is-higher{background:#eaf3fb;color:#326f9d}.annual-finance-trend-change.is-lower{background:#fff5df;color:#94640e}.annual-finance-sparkline{display:block;width:100%;height:58px;margin-top:9px;overflow:visible}.annual-finance-sparkline-base{stroke:#e5ebee;stroke-width:1}.annual-finance-sparkline polyline{fill:none;stroke:var(--trend-color);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.annual-finance-sparkline circle{fill:#fff;stroke:var(--trend-color);stroke-width:2;vector-effect:non-scaling-stroke}.annual-finance-sparkline circle.is-selected{fill:var(--trend-color);stroke:#fff;stroke-width:2.5}.annual-finance-card-years{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 1px 0;color:#788994;font-size:7.5px;font-weight:650}.annual-finance-card-years .is-selected{color:var(--trend-color);font-weight:850}
@media(max-width:1180px){.annual-finance-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.annual-finance-trend-panel{padding:15px}.annual-finance-trend-head{display:block}.annual-finance-trend-period{margin-top:10px}.annual-finance-trend-grid{grid-template-columns:1fr}.annual-finance-card-years{font-size:8px}}

/* Finance comparison and trend legibility */
.financial-comparison-intro .panel-kicker{font-size:10px}
.financial-comparison-intro>strong{font-size:14px;line-height:1.4}
.financial-comparison-intro>small{font-size:10px;line-height:1.5}
.financial-comparison-icon{width:34px;height:34px;font-size:12px}
.financial-comparison-item{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}
.financial-comparison-item>div>small{font-size:9.5px}
.financial-comparison-item>div>strong{font-size:15px}
.financial-comparison-item>div>em{font-size:8.5px}
.financial-comparison-change{padding:5px 8px;font-size:9px}
.financial-comparison-change small{font-size:8px}
.annual-finance-trend-head .panel-kicker{font-size:10px}
.annual-finance-trend-head h3{font-size:18px;line-height:1.3}
.annual-finance-trend-head p{font-size:11px;line-height:1.5}
.annual-finance-trend-period{padding:7px 10px;font-size:10px}
.annual-finance-trend-card{padding:14px}
.annual-finance-trend-summary{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}
.annual-finance-trend-icon{width:34px;height:34px;font-size:12px}
.annual-finance-trend-summary small{font-size:10px}
.annual-finance-trend-summary strong{font-size:16px;line-height:1.2}
.annual-finance-trend-change{padding:5px 8px;font-size:9.5px}
.annual-finance-card-years{margin-top:5px;font-size:9.5px}
@media(max-width:650px){.annual-finance-trend-head h3{font-size:17px}.annual-finance-trend-head p{font-size:10.5px}.annual-finance-trend-summary small{font-size:10.5px}.annual-finance-trend-summary strong{font-size:17px}.annual-finance-card-years{font-size:9.5px}}

/* Defra waste and recycling profile */
.waste-section{margin:0 0 18px;padding:22px;border:1px solid #cfe5df;border-radius:13px;background:linear-gradient(135deg,#f2fbf7 0%,#f8fbff 48%,#fff8ed 100%);box-shadow:0 10px 30px rgba(26,57,70,.07)}
.waste-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.waste-header h2{margin:5px 0 5px;color:#153144;font-size:24px;line-height:1.2}.waste-header p{max-width:760px;margin:0;color:#5d7481;font-size:12px;line-height:1.55}.waste-period{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border-radius:20px;background:#fff;color:#087f76;font-size:11px;font-weight:800;box-shadow:0 4px 14px rgba(17,84,82,.08)}
.waste-dashboard{display:grid;grid-template-columns:minmax(390px,1.2fr) minmax(0,1.8fr);gap:12px}.waste-rate-card{display:grid;grid-template-columns:134px minmax(0,1fr);align-items:center;gap:19px;padding:20px;border:1px solid #bfe1d6;border-radius:11px;background:linear-gradient(130deg,#e6f8ef,#fff 75%)}.waste-rate-ring{display:grid;place-items:center;width:126px;height:126px;border-radius:50%;background:conic-gradient(#08a47f calc(var(--waste-rate) * 1%),#dfecea 0)}.waste-rate-ring>span{display:grid;place-content:center;width:96px;height:96px;border-radius:50%;background:#fff;text-align:center;box-shadow:inset 0 0 0 1px #edf3f1}.waste-rate-ring strong{color:#123246;font-size:28px;line-height:1}.waste-rate-ring small{margin-top:5px;color:#53727a;font-size:11px;font-weight:700}.waste-label{color:#078a81;font-size:10px;font-weight:850;letter-spacing:.09em}.waste-rate-copy h3{margin:5px 0 9px;color:#173247;font-size:20px}.waste-change{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:20px;font-size:10px;font-weight:800}.waste-change.is-good,.waste-kpi b.is-good{background:#e3f6ed;color:#087954}.waste-change.is-warning,.waste-kpi b.is-warning{background:#fff0dc;color:#9a5b07}.waste-peer-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:13px;padding-top:12px;border-top:1px solid #dcebe6;color:#566e7a;font-size:10.5px}.waste-peer-row b{color:#173247;font-size:13px}
.waste-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.waste-kpi{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;padding:17px 14px;border:1px solid #dce7ec;border-radius:11px;background:#fff}.waste-kpi>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e4f7f3;color:#078d82;font-size:15px}.waste-kpi-blue>span{background:#e6f1fb;color:#3879aa}.waste-kpi-violet>span{background:#f0e8fb;color:#7756a5}.waste-kpi-amber>span{background:#fff0dc;color:#ad6a0e}.waste-kpi small,.waste-kpi em,.waste-kpi b{display:block}.waste-kpi small{color:#617682;font-size:10px;font-weight:700}.waste-kpi strong{display:block;margin-top:5px;color:#173247;font-size:20px;line-height:1.1}.waste-kpi em{margin-top:2px;color:#71838e;font-size:10px;font-style:normal}.waste-kpi b{width:max-content;max-width:100%;margin-top:10px;padding:5px 7px;border-radius:12px;background:#eef4f5;color:#58707b;font-size:9px;line-height:1.25}
.waste-lower-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:12px;margin-top:12px}.waste-composition,.waste-trend{padding:18px;border:1px solid #dce7eb;border-radius:11px;background:rgba(255,255,255,.9)}.waste-composition h3,.waste-trend h3{margin:5px 0 0;color:#173247;font-size:16px}.waste-composition-bar{height:18px;overflow:hidden;margin:24px 0 14px;border-radius:20px;background:#f2b35d;box-shadow:inset 0 1px 2px rgba(64,54,35,.12)}.waste-composition-bar i{display:block;height:100%;border-radius:20px 0 0 20px;background:linear-gradient(90deg,#00a78a,#36bea1)}.waste-composition-legend{display:grid;gap:8px;color:#526b78;font-size:10.5px}.waste-composition-legend span{display:grid;grid-template-columns:10px auto;column-gap:7px;align-items:center}.waste-composition-legend i{grid-row:1 / span 2;width:9px;height:9px;border-radius:50%}.waste-composition-legend i.recycled{background:#09a487}.waste-composition-legend i.residual{background:#edaa4d}.waste-composition-legend b{color:#173247;font-size:12px}.waste-trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.waste-trend-head>strong{color:#078a81;font-size:24px}.waste-trend svg{display:block;width:100%;height:108px;margin-top:7px;overflow:visible}.waste-trend svg line{stroke:#e3eaed;stroke-width:1}.waste-trend svg polyline{fill:none;stroke:#08a187;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.waste-trend svg circle{fill:#fff;stroke:#08a187;stroke-width:2;vector-effect:non-scaling-stroke}.waste-trend svg circle:last-of-type{fill:#08a187;stroke:#fff;stroke-width:3}.waste-trend-years{display:flex;justify-content:space-between;color:#71838e;font-size:9.5px;font-weight:700}.waste-source{display:flex;align-items:center;gap:9px;margin-top:12px;padding:11px 13px;border-radius:9px;background:rgba(255,255,255,.72);color:#657985;font-size:10px}.waste-source>i{color:#078f84}.waste-source strong{color:#354f5d}.waste-source a{margin-left:auto;color:#087f7e;font-weight:800;white-space:nowrap}
@media(max-width:1120px){.waste-dashboard{grid-template-columns:1fr}.waste-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.waste-lower-grid{grid-template-columns:1fr 1.4fr}}
@media(max-width:760px){.waste-section{padding:17px}.waste-header{display:block}.waste-period{margin-top:10px}.waste-header h2{font-size:21px}.waste-rate-card{grid-template-columns:110px minmax(0,1fr);padding:16px}.waste-rate-ring{width:104px;height:104px}.waste-rate-ring>span{width:79px;height:79px}.waste-rate-ring strong{font-size:23px}.waste-kpis,.waste-lower-grid{grid-template-columns:1fr}.waste-source{align-items:flex-start;flex-wrap:wrap}.waste-source a{width:100%;margin:3px 0 0 25px}}

/* Roads and highways profile */
.council-content>#roads{order:13}.council-content>#waste{order:14}.council-content>#overview{order:15}.council-content>#spending{order:16}.council-content>#contracts{order:17}.council-content>#suppliers{order:18}.council-content>#sources{order:19}.council-content>#methodology{order:20}
.roads-section{margin:0 0 18px;padding:22px;border:1px solid #c8e1e5;border-radius:13px;background:linear-gradient(135deg,#f2fbff 0%,#fbf9ff 52%,#fff8ed 100%);box-shadow:0 10px 30px rgba(26,57,70,.07)}
.roads-header,.roads-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.roads-header h2{margin:4px 0 5px;color:#122b43;font-size:24px}.roads-header p{margin:0;color:#607888;font-size:13px}.roads-period{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#e7f7f6;color:#057e78;font-size:11px;font-weight:700}.roads-headline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.roads-headline-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;position:relative;padding:15px;border:1px solid #dbe7eb;border-radius:10px;background:#fff}.roads-headline-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e6f6f3;color:#078f84}.roads-headline-card small,.roads-headline-card em,.roads-headline-card b{display:block}.roads-headline-card small{color:#667c89;font-size:11px;font-weight:700}.roads-headline-card strong{display:block;margin-top:2px;color:#142c43;font-size:25px}.roads-headline-card em{color:#6f818c;font-size:10px;font-style:normal}.roads-headline-card b{margin-top:7px;font-size:10px}.roads-headline-card b.is-good{color:#078f84}.roads-headline-card b.is-warning{color:#c45d35}.roads-headline-blue .roads-headline-icon{background:#eaf1fc;color:#527db0}.roads-headline-amber .roads-headline-icon{background:#fff1db;color:#c27d22}.roads-peer{position:absolute;right:12px;bottom:12px;color:#526d7b;font-size:10px;text-align:right}.roads-peer small{display:block;margin-top:3px;color:#93a0a8;font-size:9px}.roads-rag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.roads-rag-card{padding:14px 15px;border:1px solid #dbe7eb;border-radius:10px;background:rgba(255,255,255,.86)}.roads-rag-head,.roads-rag-legend{display:flex;justify-content:space-between;gap:10px}.roads-rag-head strong{font-size:12px;color:#173047}.roads-rag-head span{font-size:11px;font-weight:700;color:#c45d35}.roads-rag-bar{display:flex;overflow:hidden;height:9px;margin:12px 0 9px;border-radius:99px;background:#edf1f2}.roads-rag-bar i{display:block;height:100%}.roads-rag-bar .green,.roads-rag-legend .green{background:#20a78f}.roads-rag-bar .amber,.roads-rag-legend .amber{background:#e4a645}.roads-rag-bar .red,.roads-rag-legend .red{background:#d86452}.roads-rag-legend{color:#74858e;font-size:9px}.roads-rag-legend i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%}.roads-lower-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;margin-top:10px}.roads-trend-panel,.roads-treatment-panel{padding:15px;border:1px solid #dbe7eb;border-radius:10px;background:#fff}.roads-panel-head h3{margin:3px 0 0;color:#173047;font-size:16px}.roads-panel-head>span,.roads-panel-head>i{color:#82939c;font-size:10px}.roads-label{color:#078f84;font-size:9px;font-weight:800;letter-spacing:.14em}.roads-trend-chart{display:block;width:100%;height:130px;margin-top:8px;overflow:visible}.roads-trend-chart polyline{fill:none;stroke:var(--series-colour);stroke-width:3}.roads-trend-chart circle{fill:#fff;stroke:var(--series-colour);stroke-width:2}.roads-trend-years,.roads-trend-legend{display:flex;justify-content:space-between;color:#81919b;font-size:9px}.roads-trend-legend{justify-content:flex-start;gap:14px;margin-top:10px}.roads-trend-legend i{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%}.roads-trend-legend i.a{background:#078f84}.roads-trend-legend i.bc{background:#527db0}.roads-trend-legend i.u{background:#c27d22}.roads-treatment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.roads-treatment-summary div{padding:10px;border-radius:8px;background:#f4fafb}.roads-treatment-summary small,.roads-treatment-summary em{display:block;color:#71858e;font-size:10px}.roads-treatment-summary strong{display:block;margin:3px 0;color:#173047;font-size:22px}.roads-treatment-summary em{font-style:normal}.roads-treatment-bars{display:grid;grid-template-columns:90px 1fr 38px;align-items:center;gap:8px;color:#71858e;font-size:9px}.roads-treatment-bars i{height:7px;overflow:hidden;border-radius:99px;background:#edf1f2}.roads-treatment-bars b{display:block;height:100%;border-radius:99px;background:#078f84}.roads-treatment-bars em{font-style:normal;text-align:right}.roads-source{display:flex;align-items:center;gap:8px;margin-top:14px;color:#71858e;font-size:10px}.roads-source>i{color:#078f84}.roads-source span{flex:1}.roads-source strong{color:#4d6875}.roads-source a{color:#078f84;font-weight:700;text-decoration:none;white-space:nowrap}
@media(max-width:900px){.roads-headline-grid,.roads-rag-grid,.roads-lower-grid{grid-template-columns:1fr}.roads-peer{position:static;grid-column:2;text-align:left;margin-top:-5px}.roads-header{display:block}.roads-period{display:inline-block;margin-top:10px}}
@media(max-width:560px){.roads-section{padding:16px}.roads-header h2{font-size:21px}.roads-rag-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px}.roads-treatment-summary{grid-template-columns:1fr}.roads-source{align-items:flex-start;flex-wrap:wrap}.roads-source a{margin-left:24px}}
@media(max-width:480px){.waste-rate-card{grid-template-columns:1fr;text-align:center}.waste-rate-ring{margin:auto}.waste-peer-row{justify-content:center}.waste-kpi strong{font-size:19px}}

/* =========================================================
   Public Health — OHID Public Health Outcomes Framework
   ========================================================= */

.council-content>#public-health{
    order:11;
}

.council-content>#housing{
    order:12;
}

.council-content>#planning{
    order:13;
}

.council-content>#hmo{
    order:14;
}

.council-content>#roads{
    order:15;
}

.council-content>#waste{
    order:16;
}

.council-content>#overview{
    order:17;
}

.council-content>#spending{
    order:18;
}

.council-content>#contracts{
    order:19;
}

.council-content>#suppliers{
    order:20;
}

.council-content>#sources{
    order:21;
}

.council-content>#methodology{
    order:22;
}


/* Section */

.public-health-section{
    margin:0 0 18px;
    padding:22px;
    border:1px solid #d8e6e7;
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            #f4faf9 0%,
            #f8fbfd 48%,
            #ffffff 100%
        );
    box-shadow:0 10px 30px rgba(26,57,70,.06);
}

.public-health-title{
    align-items:flex-start;
    margin-bottom:17px;
}

.public-health-title h2{
    margin:5px 0 5px;
    color:#153144;
    font-size:24px;
    line-height:1.2;
}

.public-health-title p{
    max-width:760px;
    margin:0;
    color:#607783;
    font-size:12px;
    line-height:1.55;
}


/* Hero */

.public-health-hero{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
    gap:12px;
    margin-bottom:12px;
}

.public-health-life-card,
.public-health-healthy-card{
    min-width:0;
    padding:20px;
}

.public-health-life-card{
    border-color:#c9e3df;
    background:
        linear-gradient(
            125deg,
            #eef9f6 0%,
            #ffffff 72%
        );
}

.public-health-card-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.public-health-eyebrow{
    display:block;
    color:#078b82;
    font-size:9px;
    font-weight:850;
    letter-spacing:.12em;
}

.public-health-card-heading h3,
.public-health-healthy-card h3{
    margin:5px 0 0;
    color:#173247;
    font-size:17px;
    line-height:1.3;
}

.public-health-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    background:#dff4ef;
    color:#078d82;
    font-size:16px;
}

.life-expectancy-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    margin-top:22px;
}

.life-expectancy-stat{
    min-width:0;
    padding-right:22px;
}

.life-expectancy-stat + .life-expectancy-stat{
    padding-left:24px;
    padding-right:0;
    border-left:1px solid #dce9e7;
}

.life-expectancy-stat>span:first-child{
    display:block;
    color:#607581;
    font-size:10px;
    font-weight:700;
}

.life-expectancy-stat>strong{
    display:block;
    margin-top:4px;
    color:#142f42;
    font-size:35px;
    font-weight:700;
    line-height:1;
    letter-spacing:-1px;
}

.life-expectancy-stat>strong small{
    margin-left:3px;
    color:#607581;
    font-size:11px;
    font-weight:650;
    letter-spacing:0;
}

.life-expectancy-stat>em{
    display:block;
    margin-top:7px;
    color:#80909a;
    font-size:9px;
    font-style:normal;
}


/* Comparison pills */

.health-comparison{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-top:8px;
    padding:4px 7px;
    border-radius:20px;
    background:#eef3f5;
    color:#647780;
    font-size:8.5px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
}

.health-comparison-worse{
    background:#fff0ed;
    color:#a84d43;
}

.health-comparison-better{
    background:#e5f7f1;
    color:#087956;
}

.health-comparison-similar{
    background:#eaf2f8;
    color:#426f91;
}

.health-comparison-not-compared{
    background:#eef2f4;
    color:#687983;
}


/* Healthy life expectancy */

.public-health-healthy-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.public-health-healthy-card p{
    margin:7px 0 0;
    color:#70818c;
    font-size:10px;
    line-height:1.5;
}

.healthy-life-values{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:20px;
}

.healthy-life-values>div{
    padding:12px;
    border-radius:9px;
    background:#f5f8f9;
}

.healthy-life-values span{
    display:block;
    color:#667a85;
    font-size:9px;
    font-weight:700;
}

.healthy-life-values strong{
    display:inline-block;
    margin-top:4px;
    color:#173247;
    font-size:24px;
    line-height:1;
}

.healthy-life-values small{
    margin-left:3px;
    color:#71838d;
    font-size:9px;
}

.public-health-period{
    display:block;
    margin-top:12px;
    color:#87959d;
    font-size:9px;
}


/* Four supporting groups */

.public-health-groups{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.public-health-group-card{
    min-width:0;
    padding:18px;
}

.public-health-group-head{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    align-items:start;
    gap:11px;
    margin-bottom:13px;
}

.public-health-group-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#e8f5f3;
    color:#078d82;
    font-size:13px;
}

.public-health-group-head h3{
    margin:1px 0 0;
    color:#173247;
    font-size:15px;
}

.public-health-group-head p{
    margin:4px 0 0;
    color:#778892;
    font-size:9.5px;
    line-height:1.45;
}


/* Individual measures */

.public-health-measure-list{
    display:grid;
}

.public-health-measure{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    min-height:48px;
    padding:9px 2px;
    border-top:1px solid #e9eef0;
}

.public-health-measure:first-child{
    border-top:0;
}

.public-health-measure-name{
    min-width:0;
}

.public-health-measure-name>span{
    display:block;
    color:#344d5c;
    font-size:10.5px;
    font-weight:700;
    line-height:1.35;
}

.public-health-measure-name>small{
    display:block;
    margin-top:3px;
    color:#8a989f;
    font-size:8px;
}

.public-health-measure-value{
    min-width:105px;
    text-align:right;
}

.public-health-measure-value>strong{
    display:block;
    color:#173247;
    font-size:14px;
    line-height:1.15;
}

.public-health-measure-value>small{
    display:block;
    margin-top:2px;
    color:#7c8c95;
    font-size:7.5px;
}

.public-health-measure-value .health-comparison{
    margin-top:5px;
    margin-left:auto;
}


/* Source */

.public-health-source{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:12px;
    padding:11px 13px;
    border-radius:9px;
    background:rgba(255,255,255,.78);
    color:#657985;
    font-size:10px;
    line-height:1.45;
}

.public-health-source>i{
    color:#078f84;
}

.public-health-source span{
    flex:1;
}

.public-health-source a{
    color:#087f7e;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}


/* Responsive */

@media(max-width:1000px){
    .public-health-hero{
        grid-template-columns:1fr;
    }

    .public-health-groups{
        grid-template-columns:1fr;
    }
}

@media(max-width:650px){
    .public-health-section{
        padding:16px;
    }

    .public-health-title{
        display:block;
    }

    .public-health-title .data-badge{
        display:inline-flex;
        margin-top:10px;
    }

    .public-health-title h2{
        font-size:21px;
    }

    .life-expectancy-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .life-expectancy-stat{
        padding-right:0;
    }

    .life-expectancy-stat + .life-expectancy-stat{
        padding-top:16px;
        padding-left:0;
        border-top:1px solid #dce9e7;
        border-left:0;
    }

    .life-expectancy-stat>strong{
        font-size:30px;
    }

    .healthy-life-values{
        grid-template-columns:1fr 1fr;
    }

    .public-health-measure{
        gap:10px;
    }

    .public-health-source{
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .public-health-source a{
        width:100%;
        margin-left:24px;
    }
}

@media(max-width:430px){
    .healthy-life-values{
        grid-template-columns:1fr;
    }

    .public-health-measure{
        grid-template-columns:minmax(0,1fr) 100px;
    }
}


/* =========================================================
   Public Health — editorial comparison profile
   ========================================================= */

.health-profile-comparison{
    position:relative;
    margin:0 0 14px;
    padding:25px 27px 24px;
    overflow:hidden;
    border:1px solid #d7e5e5;
    border-radius:12px;
    background:#fff;
}

.health-profile-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:28px;
    padding-bottom:21px;
    border-bottom:1px solid #e6eeee;
}

.health-profile-heading h3{
    margin:5px 0 4px;
    color:#183345;
    font-size:19px;
    font-weight:700;
    line-height:1.25;
}

.health-profile-heading p{
    max-width:650px;
    margin:0;
    color:#74858e;
    font-size:10px;
    line-height:1.5;
}

.health-profile-period{
    flex:0 0 auto;
    padding:5px 9px;
    border-radius:20px;
    background:#f0f5f5;
    color:#637982;
    font-size:8px;
    font-weight:800;
}

.health-comparison-scale{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 88px;
    gap:20px;
    margin-top:18px;
    color:#89979d;
    font-size:7.5px;
    font-weight:750;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.health-comparison-scale span:first-child{
    grid-column:2;
}

.health-comparison-scale span:last-child{
    grid-column:3;
    text-align:right;
}

.health-comparison-rows{
    display:grid;
}

.health-comparison-row{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 88px;
    align-items:center;
    gap:20px;
    min-height:91px;
    border-top:1px solid #edf1f2;
}

.health-comparison-row:first-child{
    border-top:0;
}

.health-comparison-person>span{
    display:block;
    margin-bottom:4px;
    color:#627681;
    font-size:9px;
    font-weight:800;
}

.health-comparison-person>strong{
    color:#173246;
    font-size:30px;
    font-weight:700;
    line-height:1;
    letter-spacing:-.7px;
}

.health-comparison-person>strong small{
    margin-left:3px;
    color:#75858e;
    font-size:9px;
    font-weight:650;
    letter-spacing:0;
}

.health-comparison-visual{
    min-width:0;
}

.health-comparison-track{
    position:relative;
    height:3px;
    margin:10px 7px 0;
    border-radius:3px;
    background:#dfe7e8;
}

.health-track-gap{
    position:absolute;
    top:0;
    height:3px;
    background:#82bbb6;
}

.health-track-marker{
    position:absolute;
    top:50%;
    z-index:2;
    width:13px;
    height:13px;
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.health-track-local{
    background:#078c83;
    box-shadow:0 0 0 4px rgba(7,140,131,.10);
}

.health-track-england{
    width:11px;
    height:11px;
    border:2px solid #71828a;
    background:#fff;
}

.health-comparison-caption{
    display:flex;
    align-items:baseline;
    gap:4px;
    margin-top:11px;
    color:#73848c;
    font-size:8.5px;
}

.health-comparison-caption strong{
    color:#3c5664;
    font-size:9px;
}

.health-england-value{
    text-align:right;
}

.health-england-value span{
    display:block;
    margin-bottom:3px;
    color:#87959b;
    font-size:7.5px;
    font-weight:750;
    text-transform:uppercase;
}

.health-england-value strong{
    color:#516773;
    font-size:20px;
    font-weight:700;
}


/* Healthy life expectancy */

.healthy-expectancy-profile{
    display:grid;
    grid-template-columns:minmax(190px,.72fr) minmax(0,1.6fr);
    gap:34px;
    margin-top:8px;
    padding:22px 0 0;
    border-top:1px solid #dce7e7;
}

.healthy-expectancy-intro h4{
    margin:5px 0 5px;
    color:#193446;
    font-size:14px;
}

.healthy-expectancy-intro p{
    max-width:310px;
    margin:0;
    color:#74858d;
    font-size:9px;
    line-height:1.55;
}

.healthy-expectancy-rows{
    display:grid;
}

.healthy-expectancy-row{
    display:grid;
    grid-template-columns:48px 48px minmax(120px,1fr) 68px;
    align-items:center;
    gap:12px;
    min-height:53px;
    border-top:1px solid #edf1f2;
}

.healthy-expectancy-row:first-child{
    border-top:0;
}

.healthy-sex{
    color:#5f747f;
    font-size:9px;
    font-weight:800;
}

.healthy-local-value{
    color:#173247;
    font-size:18px;
}

.healthy-gap-visual{
    min-width:0;
}

.healthy-gap-track{
    position:relative;
    height:2px;
    margin:4px 5px 0;
    background:#e1e8e9;
}

.healthy-gap-fill{
    position:absolute;
    top:0;
    height:2px;
    background:#83bbb6;
}

.healthy-marker{
    position:absolute;
    top:50%;
    width:9px;
    height:9px;
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.healthy-marker.local{
    background:#078c83;
}

.healthy-marker.england{
    border:2px solid #74868e;
    background:#fff;
}

.healthy-gap-visual small{
    display:block;
    margin-top:7px;
    color:#7c8c93;
    font-size:7.5px;
}

.healthy-england{
    text-align:right;
}

.healthy-england span{
    display:block;
    color:#8a979d;
    font-size:7px;
    text-transform:uppercase;
}

.healthy-england strong{
    color:#526873;
    font-size:15px;
}

.healthy-profile-period{
    grid-column:2;
    color:#919da2;
    font-size:7.5px;
}


/* Responsive editorial health profile */

@media(max-width:800px){

    .health-profile-comparison{
        padding:20px;
    }

    .health-comparison-scale{
        display:none;
    }

    .health-comparison-row{
        grid-template-columns:105px minmax(0,1fr) 58px;
        gap:12px;
    }

    .health-comparison-person>strong{
        font-size:25px;
    }

    .healthy-expectancy-profile{
        grid-template-columns:1fr;
        gap:15px;
    }

    .healthy-profile-period{
        grid-column:1;
    }
}

@media(max-width:560px){

    .health-profile-heading{
        display:block;
    }

    .health-profile-period{
        display:inline-flex;
        margin-top:10px;
    }

    .health-comparison-row{
        grid-template-columns:82px minmax(0,1fr) 48px;
        gap:8px;
        min-height:82px;
    }

    .health-comparison-person>strong{
        font-size:21px;
    }

    .health-comparison-person>strong small{
        display:none;
    }

    .health-england-value strong{
        font-size:16px;
    }

    .health-comparison-caption span{
        display:none;
    }

    .healthy-expectancy-row{
        grid-template-columns:42px 42px minmax(90px,1fr) 52px;
        gap:7px;
    }
}


/* =========================================================
   Public Health — readability + sex indicators
   ========================================================= */

.health-profile-comparison{
    padding:28px 30px 27px;
}

.health-profile-heading h3{
    font-size:22px;
}

.health-profile-heading p{
    margin-top:5px;
    font-size:12px;
}

.public-health-eyebrow{
    font-size:10px;
}

.health-profile-period{
    padding:6px 10px;
    font-size:9px;
}


/* Main life expectancy rows */

.health-comparison-row{
    grid-template-columns:175px minmax(0,1fr) 95px;
    gap:24px;
    min-height:108px;
}

.health-comparison-person{
    display:flex;
    align-items:center;
    gap:15px;
}

.health-sex-icon{
    display:grid;
    place-items:center;
    flex:0 0 34px;
    width:34px;
    height:44px;
    font-size:31px;
    line-height:1;
}

.health-sex-icon-male{
    color:#4384c4;
}

.health-sex-icon-female{
    color:#c94b88;
}

.health-sex-value{
    min-width:0;
}

.health-sex-value>span{
    display:block;
    margin-bottom:5px;
    color:#4e6673;
    font-size:11px;
    font-weight:800;
}

.health-sex-value>strong{
    display:block;
    color:#173246;
    font-size:35px;
    font-weight:700;
    line-height:.95;
    letter-spacing:-1px;
    white-space:nowrap;
}

.health-sex-value>strong small{
    margin-left:4px;
    color:#6f828c;
    font-size:10px;
    font-weight:650;
    letter-spacing:0;
}

.health-comparison-scale{
    grid-template-columns:175px minmax(0,1fr) 95px;
    gap:24px;
    font-size:8px;
}

.health-comparison-track{
    height:4px;
}

.health-track-gap{
    height:4px;
}

.health-track-marker{
    width:15px;
    height:15px;
}

.health-track-england{
    width:12px;
    height:12px;
}

.health-comparison-caption{
    margin-top:13px;
    font-size:10px;
}

.health-comparison-caption strong{
    font-size:10px;
}

.health-england-value span{
    font-size:8px;
}

.health-england-value strong{
    font-size:24px;
}


/* Healthy life expectancy */

.healthy-expectancy-profile{
    grid-template-columns:minmax(250px,.78fr) minmax(0,1.55fr);
    gap:42px;
    padding-top:26px;
}

.healthy-expectancy-intro h4{
    margin-top:6px;
    font-size:17px;
}

.healthy-expectancy-intro p{
    max-width:360px;
    margin-top:7px;
    font-size:11px;
    line-height:1.6;
}

.healthy-expectancy-row{
    grid-template-columns:82px 58px minmax(150px,1fr) 74px;
    gap:14px;
    min-height:67px;
}

.healthy-sex{
    display:flex;
    align-items:center;
    gap:9px;
    color:#405b69;
    font-size:10px;
    font-weight:800;
}

.healthy-sex .health-sex-icon{
    flex-basis:23px;
    width:23px;
    height:31px;
    font-size:23px;
}

.healthy-local-value{
    font-size:23px;
}

.healthy-gap-track{
    height:3px;
}

.healthy-gap-fill{
    height:3px;
}

.healthy-marker{
    width:11px;
    height:11px;
}

.healthy-gap-visual small{
    margin-top:9px;
    font-size:9px;
}

.healthy-england span{
    font-size:8px;
}

.healthy-england strong{
    font-size:18px;
}

.healthy-profile-period{
    margin-top:3px;
    font-size:9px;
}


/* Responsive */

@media(max-width:800px){

    .health-comparison-row{
        grid-template-columns:145px minmax(0,1fr) 65px;
        gap:14px;
    }

    .health-sex-value>strong{
        font-size:29px;
    }

    .healthy-expectancy-profile{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){

    .health-profile-comparison{
        padding:20px 17px;
    }

    .health-comparison-row{
        grid-template-columns:115px minmax(0,1fr) 50px;
        gap:8px;
    }

    .health-sex-icon{
        flex-basis:25px;
        width:25px;
        font-size:24px;
    }

    .health-comparison-person{
        gap:8px;
    }

    .health-sex-value>strong{
        font-size:23px;
    }

    .health-sex-value>strong small{
        display:none;
    }

    .healthy-expectancy-row{
        grid-template-columns:68px 42px minmax(80px,1fr) 48px;
        gap:7px;
    }
}


/* =========================================================
   Public Health — final readability refinement
   ========================================================= */

/* Main male / female indicators */

.health-comparison-person .health-sex-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 40px;
    width:40px;
    height:52px;
}

.health-comparison-person .health-sex-icon i{
    display:block;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    font-size:36px !important;
    line-height:1 !important;
}

.health-comparison-person .health-sex-icon-male i{
    color:#4384c4;
}

.health-comparison-person .health-sex-icon-female i{
    color:#c94b88;
}


/* Supporting copy */

.health-profile-heading p{
    font-size:13px;
    line-height:1.55;
}

.health-comparison-scale{
    font-size:9px;
}

.health-sex-value>span{
    font-size:12px;
}

.health-sex-value>strong{
    font-size:38px;
}

.health-sex-value>strong small{
    font-size:11px;
}

.health-comparison-caption{
    font-size:11px;
}

.health-comparison-caption strong{
    font-size:11px;
}

.health-england-value span{
    font-size:9px;
}

.health-england-value strong{
    font-size:27px;
}


/* Healthy life expectancy */

.healthy-expectancy-intro p{
    font-size:12px;
    line-height:1.6;
}

.healthy-sex{
    font-size:11px;
}

.healthy-sex .health-sex-icon i{
    font-size:25px !important;
}

.healthy-local-value{
    font-size:25px;
}

.healthy-gap-visual small{
    font-size:10px;
}

.healthy-england span{
    font-size:9px;
}

.healthy-england strong{
    font-size:20px;
}

.healthy-profile-period{
    font-size:10px;
}


/* =========================================================
   Public Health — editorial lower profile
   ========================================================= */

.health-editorial-block{
    margin-top:14px;
    padding:25px 29px;
    border-top:1px solid #dce7e8;
    background:rgba(255,255,255,.45);
}

.health-editorial-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:25px;
    margin-bottom:20px;
}

.health-editorial-heading h3,
.health-wider-heading h3{
    margin:5px 0 4px;
    color:#173247;
    font-size:19px;
    line-height:1.25;
}

.health-editorial-heading p{
    margin:0;
    color:#70838d;
    font-size:12px;
    line-height:1.5;
}

.health-editorial-symbol{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:50%;
    background:#e5f5f2;
    color:#078e84;
    font-size:15px;
}


/* Mortality */

.mortality-table{
    border-top:1px solid #dfe8e9;
}

.mortality-row{
    display:grid;
    grid-template-columns:minmax(190px,1.5fr) 120px 95px 88px;
    align-items:center;
    gap:22px;
    min-height:66px;
    border-bottom:1px solid #e7eeee;
}

.mortality-name strong{
    display:block;
    color:#294654;
    font-size:12px;
}

.mortality-name span{
    display:block;
    margin-top:3px;
    color:#89989f;
    font-size:9px;
}

.mortality-local strong{
    display:block;
    color:#173247;
    font-size:21px;
    line-height:1;
}

.mortality-local span{
    display:block;
    margin-top:4px;
    color:#7c8d95;
    font-size:8px;
}

.mortality-england{
    text-align:right;
}

.mortality-england span{
    display:block;
    color:#89979e;
    font-size:8px;
    text-transform:uppercase;
}

.mortality-england strong{
    display:block;
    margin-top:2px;
    color:#536b77;
    font-size:16px;
}

.mortality-row>.health-comparison{
    justify-self:end;
    margin:0;
}


/* Lifestyle tracks */

.health-track-list{
    border-top:1px solid #dfe8e9;
}

.health-track-row{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    gap:28px;
    padding:18px 0;
    border-bottom:1px solid #e7eeee;
}

.health-track-label strong{
    display:block;
    color:#294654;
    font-size:12px;
}

.health-track-label span{
    display:block;
    margin-top:4px;
    color:#8a989f;
    font-size:9px;
}

.health-track-value-line{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:24px;
}

.health-track-value-line>strong{
    color:#173247;
    font-size:20px;
    line-height:1;
}

.health-track-value-line>span:not(.health-comparison){
    color:#7b8c94;
    font-size:9px;
}

.health-track-value-line .health-comparison{
    margin:0 0 0 auto;
}

.editorial-track{
    position:relative;
    height:5px;
    margin:13px 6px 0;
    border-radius:5px;
    background:#e0e8e9;
}

.editorial-track-fill{
    position:absolute;
    inset:0 auto 0 0;
    border-radius:5px;
    background:#8bc4bf;
}

.editorial-track-local,
.editorial-track-england{
    position:absolute;
    top:50%;
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.editorial-track-local{
    z-index:2;
    width:13px;
    height:13px;
    background:#078e84;
}

.editorial-track-england{
    z-index:3;
    width:10px;
    height:10px;
    border:2px solid #71858e;
    background:#fff;
}

.editorial-track-context{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:9px;
    color:#819098;
    font-size:9px;
}

.editorial-track-context span:first-child{
    color:#087f78;
}


/* Children / prevention */

.prevention-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:34px;
    border-top:1px solid #dfe8e9;
}

.prevention-item{
    padding:18px 0;
    border-bottom:1px solid #e7eeee;
}

.prevention-item-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
}

.prevention-item-head>div>strong{
    display:block;
    color:#294654;
    font-size:11.5px;
}

.prevention-item-head>div>span{
    display:block;
    margin-top:3px;
    color:#89989f;
    font-size:8.5px;
}

.prevention-value{
    color:#173247;
    font-size:19px;
    white-space:nowrap;
}

.prevention-track{
    position:relative;
    height:5px;
    margin:15px 6px 0;
    border-radius:5px;
    background:#e1e9ea;
}

.prevention-track>span{
    position:absolute;
    inset:0 auto 0 0;
    border-radius:5px;
    background:#8bc4bf;
}

.prevention-local,
.prevention-england{
    position:absolute;
    top:50%;
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.prevention-local{
    z-index:2;
    width:12px;
    height:12px;
    background:#078e84;
}

.prevention-england{
    z-index:3;
    width:9px;
    height:9px;
    border:2px solid #72858e;
    background:#fff;
}

.prevention-context{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:10px;
    color:#7d8d95;
    font-size:9px;
}

.prevention-context .health-comparison{
    margin:0;
}

.prevention-no-data{
    margin-top:14px;
    padding:8px 10px;
    border-radius:6px;
    background:#f2f5f6;
    color:#89979d;
    font-size:9px;
}


/* Wider health */

.health-wider-strip{
    display:grid;
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.7fr);
    gap:42px;
    margin-top:18px;
    padding:29px 31px;
    border-top:1px solid #dce7e8;
    border-bottom:1px solid #dce7e8;
}

.health-wider-heading{
    align-self:center;
}

.health-wider-heading h3{
    margin:5px 0 7px;
    max-width:260px;
    color:#173247;
    font-size:18px;
    line-height:1.25;
}

.health-wider-heading p{
    max-width:270px;
    margin:0;
    color:#7a8d97;
    font-size:10px;
    line-height:1.55;
}

.health-wider-measures{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.health-wider-measure{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:15px;
    align-items:start;
    min-width:0;
    padding:18px;
    border:1px solid #e1e9ea;
    border-radius:13px;
    background:rgba(255,255,255,.62);
}

.health-wider-measure + .health-wider-measure{
    border-left:1px solid #e1e9ea;
}

.health-wider-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#e7f5f3;
    color:#079488;
    font-size:17px;
}

.health-wider-content{
    min-width:0;
}

.health-wider-title{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
}

.health-wider-title>span{
    color:#445e6b;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
}

.health-wider-title>small{
    flex:0 0 auto;
    color:#91a0a7;
    font-size:8px;
}

.health-wider-value{
    display:block;
    margin-top:9px;
    color:#173247;
    font-size:27px;
    font-weight:800;
    letter-spacing:-.5px;
    line-height:1.1;
}

.health-wider-context{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:14px;
    padding-top:11px;
    border-top:1px solid #e6eded;
}

.health-wider-england{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.health-wider-england small{
    color:#8b9aa2;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.health-wider-england strong{
    color:#526b78;
    font-size:11px;
    font-weight:750;
}

.health-wider-context .health-comparison{
    margin:0;
}


/* Source now sits beneath the editorial profile */

.public-health-source{
    margin-top:14px;
}


/* Responsive */

@media(max-width:900px){

    .mortality-row{
        grid-template-columns:minmax(150px,1fr) 100px 80px 80px;
        gap:14px;
    }

    .health-track-row{
        grid-template-columns:170px minmax(0,1fr);
    }

    .health-wider-strip{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){

    .health-editorial-block,
    .health-wider-strip{
        padding:20px 17px;
    }

    .mortality-row{
        grid-template-columns:minmax(0,1fr) auto auto;
        gap:10px;
        padding:13px 0;
    }

    .mortality-england{
        display:none;
    }

    .health-track-row{
        grid-template-columns:1fr;
        gap:10px;
    }

    .prevention-grid{
        grid-template-columns:1fr;
    }

    .health-wider-measures{
        grid-template-columns:1fr;
    }

    .health-wider-measure{
        padding:14px 0;
    }

    .health-wider-measure + .health-wider-measure{
        border-top:1px solid #e3eaeb;
        border-left:0;
    }
}


/* =========================================================
   Public Health — labelled location comparison markers
   ========================================================= */

.prevention-item{
    padding-top:22px;
    padding-bottom:26px;
}

.prevention-track{
    height:6px;
    margin-top:56px;
    margin-left:7px;
    margin-right:7px;
    overflow:visible;
}


/* Shared marker */

.health-location-marker{
    position:absolute;
    top:50%;
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:center;
    transform:translate(-50%,-50%);
    pointer-events:none;
}

.health-location-marker>i{
    position:relative;
    z-index:2;
    display:block;
    margin-top:-1px;
    font-size:28px !important;
    line-height:1 !important;
}


/* Label above pin */

.health-location-label{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:37px;
    padding:5px 8px;
    margin-bottom:-2px;
    border-radius:7px;
    white-space:nowrap;
    box-shadow:0 2px 5px rgba(18,49,65,.08);
}

.health-location-label small{
    display:block;
    font-size:8px;
    font-weight:750;
    line-height:1.1;
}

.health-location-label strong{
    display:block;
    margin-top:2px;
    font-size:12px;
    font-weight:800;
    line-height:1;
}


/* Local authority */

.health-location-marker-local{
    color:#078f84;
}

.health-location-marker-local .health-location-label{
    border:1px solid #078f84;
    background:#078f84;
    color:#fff;
}

.health-location-marker-local .health-location-label small,
.health-location-marker-local .health-location-label strong{
    color:#fff;
}


/* England */

.health-location-marker-england{
    color:#748892;
}

.health-location-marker-england .health-location-label{
    border:1px solid #b7c3c8;
    background:#fff;
    color:#415a67;
}

.health-location-marker-england .health-location-label small{
    color:#687c86;
}

.health-location-marker-england .health-location-label strong{
    color:#294653;
}


/* Keep filled comparison line behind markers */

.prevention-track>span:first-child{
    height:6px;
}


/* Existing dots are superseded */

.prevention-local,
.prevention-england{
    display:none;
}


/* Give the labels room when values are close together */

@media(min-width:701px){

    .health-location-marker-local .health-location-label{
        transform:translateX(-5px);
    }

    .health-location-marker-england .health-location-label{
        transform:translateX(5px);
    }
}


/* Mobile */

@media(max-width:700px){

    .prevention-track{
        margin-top:52px;
    }

    .health-location-label{
        min-width:55px;
        padding:4px 6px;
    }

    .health-location-label small{
        font-size:7px;
    }

    .health-location-label strong{
        font-size:10px;
    }

    .health-location-marker>i{
        font-size:24px !important;
    }
}

.prevention-comparison-key{
    display:flex;
    align-items:center;
    gap:5px;
    color:#83929a;
    font-size:8.5px;
}

.prevention-comparison-key i{
    color:#078f84;
    font-size:9px;
}


/* =========================================================
   Public Health location markers — refined
   Labels sit above the scale and pins point to the value
   ========================================================= */

.prevention-item{
    padding-top:18px;
    padding-bottom:22px;
}

.prevention-track{
    position:relative;
    height:5px;
    margin-top:62px;
    margin-left:7px;
    margin-right:7px;
    overflow:visible;
}


/* Position complete marker ABOVE the track */

.prevention-track .health-location-marker{
    top:auto;
    bottom:-2px;
    transform:translateX(-50%);
}


/* Pin */

.prevention-track .health-location-marker>i{
    position:absolute;
    left:50%;
    bottom:-3px;
    z-index:4;
    margin:0;
    transform:translate(-50%, 100%);
    font-size:26px !important;
    line-height:1 !important;
}


/* Value label */

.prevention-track .health-location-label{
    position:absolute;
    left:50%;
    bottom:28px;
    min-width:66px;
    min-height:38px;
    margin:0;
    padding:5px 8px;
    transform:translateX(-50%);
    border-radius:7px;
}

.prevention-track .health-location-label small{
    font-size:8px;
}

.prevention-track .health-location-label strong{
    margin-top:2px;
    font-size:12px;
}


/* Local marker */

.prevention-track .health-location-marker-local{
    color:#078f84;
}

.prevention-track .health-location-marker-local .health-location-label{
    transform:translateX(calc(-50% - 5px));
}


/* England marker */

.prevention-track .health-location-marker-england{
    color:#748892;
}

.prevention-track .health-location-marker-england .health-location-label{
    transform:translateX(calc(-50% + 5px));
}


/* Track remains behind markers */

.prevention-track>span:first-child{
    height:5px;
}


/* We no longer need explanatory text under every chart */

.prevention-comparison-key{
    display:none;
}

.prevention-context{
    justify-content:flex-end;
    min-height:20px;
    margin-top:13px;
}


/* Give the assessment badge breathing room */

.prevention-context .health-comparison{
    margin:0;
}


/* Small screens */

@media(max-width:700px){

    .prevention-track{
        margin-top:58px;
    }

    .prevention-track .health-location-label{
        min-width:58px;
        padding:5px 6px;
    }

    .prevention-track .health-location-label small{
        font-size:7px;
    }

    .prevention-track .health-location-label strong{
        font-size:10px;
    }

    .prevention-track .health-location-marker>i{
        font-size:23px !important;
    }
}

.health-prevention-block{
    padding-top:28px;
}

.health-prevention-block .health-editorial-heading{
    margin-bottom:25px;
}


/* =========================================================
   Public Health markers — collision-safe layout
   ========================================================= */

/*
 * Both pins remain positioned at their true values.
 * Labels use two vertical levels so close values remain readable.
 */

.prevention-track{
    margin-top:76px;
}


/* Local authority label — lower tier */

.prevention-track
.health-location-marker-local
.health-location-label{
    bottom:28px;
    transform:translateX(-50%);
}


/* England label — upper tier */

.prevention-track
.health-location-marker-england
.health-location-label{
    bottom:70px;
    transform:translateX(-50%);
}


/*
 * Connect England's raised label visually back to its pin.
 */

.prevention-track
.health-location-marker-england
.health-location-label::after{
    content:"";
    position:absolute;
    left:50%;
    top:100%;
    width:1px;
    height:43px;
    background:#c5d0d4;
    transform:translateX(-50%);
}


/* Make the two labels slightly more compact */

.prevention-track .health-location-label{
    min-width:64px;
    min-height:34px;
    padding:5px 8px;
}

.prevention-track .health-location-label small{
    font-size:8px;
    line-height:1;
}

.prevention-track .health-location-label strong{
    margin-top:3px;
    font-size:12px;
}


/* Pins remain immediately below their actual scale positions */

.prevention-track .health-location-marker>i{
    bottom:-3px;
}


/*
 * Give the section itself more top clearance.
 * Useful when arriving at / linking to the section beneath
 * the sticky council navigation.
 */

.health-prevention-block{
    scroll-margin-top:145px;
}

.health-editorial-block{
    scroll-margin-top:145px;
}


/* Mobile */

@media(max-width:700px){

    .prevention-track{
        margin-top:72px;
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label{
        bottom:62px;
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label::after{
        height:35px;
    }
}


/* =========================================================
   Public Health markers — compact final positioning
   ========================================================= */

.prevention-track{
    margin-top:62px;
}


/* Council label sits close to its pin */

.prevention-track
.health-location-marker-local
.health-location-label{
    bottom:25px;
    transform:translateX(-50%);
}


/* England uses a slightly higher tier */

.prevention-track
.health-location-marker-england
.health-location-label{
    bottom:48px;
    transform:translateX(-50%);
}


/* Short connector rather than long floating stem */

.prevention-track
.health-location-marker-england
.health-location-label::after{
    top:100%;
    height:20px;
    background:#c7d1d5;
}


/* Keep both pins tight against the scale */

.prevention-track .health-location-marker>i{
    bottom:-2px;
}


/* Slightly smaller labels make close comparisons cleaner */

.prevention-track .health-location-label{
    min-width:62px;
    min-height:32px;
    padding:5px 7px;
}

.prevention-track .health-location-label small{
    font-size:7.5px;
}

.prevention-track .health-location-label strong{
    font-size:11.5px;
}


/* Reduce excess vertical space between measures */

.prevention-item{
    padding-top:16px;
    padding-bottom:19px;
}


/* Mobile */

@media(max-width:700px){

    .prevention-track{
        margin-top:60px;
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label{
        bottom:45px;
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label::after{
        height:17px;
    }
}


/* =========================================================
   Public Health markers — compact final positioning
   ========================================================= */

.prevention-track{
    margin-top:62px;
}


/* Council label sits close to its pin */

.prevention-track
.health-location-marker-local
.health-location-label{
    bottom:25px;
    transform:translateX(-50%);
}


/* England uses a slightly higher tier */

.prevention-track
.health-location-marker-england
.health-location-label{
    bottom:48px;
    transform:translateX(-50%);
}


/* Short connector rather than long floating stem */

.prevention-track
.health-location-marker-england
.health-location-label::after{
    top:100%;
    height:20px;
    background:#c7d1d5;
}


/* Keep both pins tight against the scale */

.prevention-track .health-location-marker>i{
    bottom:-2px;
}


/* Slightly smaller labels make close comparisons cleaner */

.prevention-track .health-location-label{
    min-width:62px;
    min-height:32px;
    padding:5px 7px;
}

.prevention-track .health-location-label small{
    font-size:7.5px;
}

.prevention-track .health-location-label strong{
    font-size:11.5px;
}


/* Reduce excess vertical space between measures */

.prevention-item{
    padding-top:16px;
    padding-bottom:19px;
}


/* Mobile */

@media(max-width:700px){

    .prevention-track{
        margin-top:60px;
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label{
        bottom:45px;
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label::after{
        height:17px;
    }
}


/* =========================================================
   Public Health prevention — final simplification
   Marker label is now the primary value
   ========================================================= */

.prevention-value{
    display:none;
}

.prevention-item-head{
    align-items:flex-start;
}

.prevention-item-head>div>strong{
    font-size:12px;
}

.prevention-item-head>div>span{
    margin-top:4px;
    font-size:9px;
}


/* Tighten vertical rhythm now duplicate value has gone */

.prevention-track{
    margin-top:58px;
}

.prevention-item{
    padding-top:16px;
    padding-bottom:18px;
}


/* Slightly stronger track */

.prevention-track{
    height:6px;
}

.prevention-track>span:first-child{
    height:6px;
}


/* Pins sit directly against their represented position */

.prevention-track .health-location-marker>i{
    bottom:-1px;
}


/* Classification remains visually secondary */

.prevention-context{
    min-height:18px;
    margin-top:11px;
}

.prevention-context .health-comparison{
    font-size:8px;
}


/* More separation between the two columns */

.prevention-grid{
    column-gap:40px;
}


/* =========================================================
   Public Health prevention markers — aligned final layout
   ========================================================= */

/* Less empty space is required now both labels share a level */
.prevention-track{
    margin-top:56px;
}


/* Both labels at the same height */
.prevention-track
.health-location-marker-local
.health-location-label,
.prevention-track
.health-location-marker-england
.health-location-label{
    bottom:27px;
}


/* Council label extends to the LEFT of its true position */
.prevention-track
.health-location-marker-local
.health-location-label{
    left:50%;
    transform:translateX(calc(-100% + 10px));
}


/* England label extends to the RIGHT of its true position */
.prevention-track
.health-location-marker-england
.health-location-label{
    left:50%;
    transform:translateX(-10px);
}


/* Remove the vertical England stem */
.prevention-track
.health-location-marker-england
.health-location-label::after{
    display:none;
}


/* Small pointers connect each label visually to its pin */
.prevention-track
.health-location-marker-local
.health-location-label::after,
.prevention-track
.health-location-marker-england
.health-location-label::before{
    content:"";
    position:absolute;
    top:100%;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
}

.prevention-track
.health-location-marker-local
.health-location-label::after{
    right:5px;
    border-top:6px solid #078f84;
}

.prevention-track
.health-location-marker-england
.health-location-label::before{
    left:5px;
    border-top:6px solid #b7c3c8;
}


/* Keep pins close to the actual scale */
.prevention-track .health-location-marker>i{
    bottom:-1px;
}


/* Compact labels */
.prevention-track .health-location-label{
    min-width:62px;
    min-height:33px;
    padding:5px 7px;
}


/* Mobile */
@media(max-width:700px){

    .prevention-track{
        margin-top:54px;
    }

    .prevention-track
    .health-location-marker-local
    .health-location-label{
        transform:translateX(calc(-100% + 8px));
    }

    .prevention-track
    .health-location-marker-england
    .health-location-label{
        transform:translateX(-8px);
    }
}


/* =========================================================
   Public Health prevention markers
   Entire marker sits ABOVE track, pin tip touches scale
   ========================================================= */

/* Anchor marker at the actual data position on the track */
.prevention-track .health-location-marker{
    top:auto;
    bottom:0;
    transform:translateX(-50%);
}


/* Move the pin itself above the line */
.prevention-track .health-location-marker>i{
    position:absolute;
    left:50%;
    top:auto;
    bottom:0;
    margin:0 !important;

    /* Pin point sits directly on the track */
    transform:translate(-50%, 0);

    font-size:27px !important;
    line-height:1 !important;
}


/*
 * Labels sit immediately above the pin.
 * Both use the same vertical position.
 */
.prevention-track
.health-location-marker-local
.health-location-label,
.prevention-track
.health-location-marker-england
.health-location-label{
    bottom:29px;
}


/* Local label grows leftwards */
.prevention-track
.health-location-marker-local
.health-location-label{
    left:50%;
    transform:translateX(calc(-100% + 11px));
}


/* England label grows rightwards */
.prevention-track
.health-location-marker-england
.health-location-label{
    left:50%;
    transform:translateX(-11px);
}


/* Remove all old connector behaviour */
.prevention-track
.health-location-marker-england
.health-location-label::after{
    display:none;
}


/* Small pointer beneath local label */
.prevention-track
.health-location-marker-local
.health-location-label::after{
    content:"";
    display:block;
    position:absolute;
    top:100%;
    right:5px;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #078f84;
}


/* Small pointer beneath England label */
.prevention-track
.health-location-marker-england
.health-location-label::before{
    content:"";
    position:absolute;
    top:100%;
    left:5px;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #b7c3c8;
}


/* Enough room above scale for label + pin */
.prevention-track{
    margin-top:66px;
}


/* =========================================================
   Public Health prevention markers — final spacing
   ========================================================= */

/* Smaller, cleaner pins with their point touching the scale */
.prevention-track .health-location-marker>i{
    bottom:1px;
    font-size:24px !important;
}


/* Raise labels clear of the pins */
.prevention-track
.health-location-marker-local
.health-location-label,
.prevention-track
.health-location-marker-england
.health-location-label{
    bottom:35px;
}


/* Keep labels compact */
.prevention-track .health-location-label{
    min-width:62px;
    min-height:32px;
    padding:5px 7px;
}


/*
 * Label pointers are no longer necessary:
 * the location pin itself provides the connection to the scale.
 */
.prevention-track
.health-location-marker-local
.health-location-label::after,
.prevention-track
.health-location-marker-england
.health-location-label::before{
    display:none;
}


/* Slightly reduce the space reserved above each scale */
.prevention-track{
    margin-top:62px;
}


/* Mobile */
@media(max-width:700px){

    .prevention-track
    .health-location-marker-local
    .health-location-label,
    .prevention-track
    .health-location-marker-england
    .health-location-label{
        bottom:32px;
    }

    .prevention-track .health-location-marker>i{
        font-size:22px !important;
    }
}


/* =========================================================
   Public Health prevention — close marker collision handling
   Pins retain their true positions; only labels are staggered.
   ========================================================= */

.prevention-track.markers-close{
    margin-top:76px;
}


/* Local authority remains on the normal label level */

.prevention-track.markers-close
.health-location-marker-local
.health-location-label{
    bottom:35px;
}


/* England moves to a second level only for close comparisons */

.prevention-track.markers-close
.health-location-marker-england
.health-location-label{
    bottom:72px;
}


/* Short visual guide from raised England label towards its pin */

.prevention-track.markers-close
.health-location-marker-england
.health-location-label::after{
    content:"";
    display:block;
    position:absolute;
    left:11px;
    top:100%;
    width:1px;
    height:30px;
    background:#c7d2d6;
}


/* Pins never move */

.prevention-track.markers-close
.health-location-marker>i{
    bottom:1px;
}


/* Mobile */

@media(max-width:700px){

    .prevention-track.markers-close{
        margin-top:72px;
    }

    .prevention-track.markers-close
    .health-location-marker-england
    .health-location-label{
        bottom:67px;
    }

    .prevention-track.markers-close
    .health-location-marker-england
    .health-location-label::after{
        height:26px;
    }
}


/* =========================================================
   Public Health — Health & Lifestyle location comparison
   ========================================================= */

.health-lifestyle-track-data{
    padding-top:0;
}

.lifestyle-marker-track{
    position:relative;
    height:6px;
    margin-top:54px;
    background:#e1e9eb;
    border-radius:999px;
    overflow:visible;
}

.lifestyle-marker-fill{
    position:absolute;
    inset:0 auto 0 0;
    border-radius:999px;
    background:#82c3bd;
}


/* Marker anchors */

.lifestyle-marker-track .health-location-marker{
    position:absolute;
    bottom:0;
    z-index:4;
    transform:translateX(-50%);
}

.lifestyle-marker-track .health-location-marker>i{
    position:absolute;
    left:50%;
    bottom:1px;
    margin:0;
    transform:translateX(-50%);
    font-size:24px;
    line-height:1;
}


/* Local / council */

.lifestyle-marker-track .health-location-marker-local{
    color:#078f84;
}


/* England */

.lifestyle-marker-track .health-location-marker-england{
    color:#748892;
}


/* Labels */

.lifestyle-marker-track .health-location-label{
    position:absolute;
    bottom:35px;
    min-width:64px;
    min-height:32px;
    padding:5px 8px;
    border-radius:7px;
    text-align:center;
    white-space:nowrap;
    box-sizing:border-box;
}

.lifestyle-marker-track .health-location-label small{
    display:block;
    font-size:7.5px;
    font-weight:700;
    line-height:1.1;
}

.lifestyle-marker-track .health-location-label strong{
    display:block;
    margin-top:2px;
    font-size:11.5px;
    line-height:1.1;
}


/* Council label extends left from its true marker */

.lifestyle-marker-track
.health-location-marker-local
.health-location-label{
    left:50%;
    transform:translateX(calc(-100% + 11px));
    border:1px solid #078f84;
    background:#078f84;
    color:#fff;
    box-shadow:0 2px 6px rgba(19,50,71,.08);
}


/* England label extends right from its true marker */

.lifestyle-marker-track
.health-location-marker-england
.health-location-label{
    left:50%;
    transform:translateX(-11px);
    border:1px solid #bdcbd0;
    background:#fff;
    color:#526a77;
    box-shadow:0 2px 6px rgba(19,50,71,.08);
}


/* OHID classification / rate context */

.lifestyle-marker-context{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:19px;
    margin-top:11px;
    color:#80919a;
    font-size:8px;
}


/* Close values: pins remain true, England label moves up */

.lifestyle-marker-track.markers-close{
    margin-top:72px;
}

.lifestyle-marker-track.markers-close
.health-location-marker-england
.health-location-label{
    bottom:70px;
}

.lifestyle-marker-track.markers-close
.health-location-marker-england
.health-location-label::after{
    content:"";
    position:absolute;
    left:11px;
    top:100%;
    width:1px;
    height:29px;
    background:#c7d2d6;
}


/* Responsive */

@media(max-width:700px){

    .lifestyle-marker-track{
        margin-top:52px;
    }

    .lifestyle-marker-track.markers-close{
        margin-top:68px;
    }

    .lifestyle-marker-track .health-location-marker>i{
        font-size:22px;
    }

    .lifestyle-marker-track.markers-close
    .health-location-marker-england
    .health-location-label{
        bottom:65px;
    }
}

/* Wider health editorial cards */
@media(max-width:900px){
    .health-wider-strip{
        grid-template-columns:1fr;
        gap:22px;
    }

    .health-wider-heading h3,
    .health-wider-heading p{
        max-width:none;
    }
}

@media(max-width:700px){
    .health-wider-measures{
        grid-template-columns:1fr;
    }

    .health-wider-measure{
        grid-template-columns:42px minmax(0,1fr);
        padding:16px;
    }

    .health-wider-icon{
        width:42px;
        height:42px;
    }

    .health-wider-measure + .health-wider-measure{
        border-top:1px solid #e1e9ea;
        border-left:1px solid #e1e9ea;
    }
}

/* =========================================================
   AIR QUALITY
   ========================================================= */

.air-quality-section {
  position: relative;
}

.air-quality-title p {
  max-width: 720px;
  margin: 7px 0 0;
  color: #6b7280;
  line-height: 1.55;
}

.air-quality-hero-grid,
.air-quality-lower-grid {
  display: grid;
  gap: 18px;
}

.air-quality-hero-grid {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  margin-top: 20px;
}

.air-quality-lower-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  margin-top: 18px;
}

.air-quality-headline,
.air-quality-trend-card,
.air-quality-monitor-card,
.air-quality-health-card {
  padding: 24px;
  overflow: hidden;
}

.air-quality-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.air-quality-label {
  display: block;
  margin-bottom: 7px;
  color: #8a949c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
}

.air-quality-card-head h3 {
  margin: 0;
  color: #263238;
  font-size: 18px;
  font-weight: 650;
}

.air-quality-icon,
.air-quality-health-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #edf7f5;
  color: #498383;
  font-size: 17px;
}


/* Annual headline */

.air-quality-primary-value {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 28px;
}

.air-quality-primary-value strong {
  color: #253438;
  font-size: clamp(46px, 5vw, 64px);
  font-weight: 650;
  line-height: .95;
  letter-spacing: -.045em;
}

.air-quality-primary-value span {
  color: #718086;
  font-size: 16px;
  font-weight: 600;
}

.air-quality-primary-context {
  margin: 9px 0 0;
  color: #718086;
  font-size: 13px;
}

.air-quality-composition {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 25px;
}

.air-quality-composition > div {
  padding: 13px 14px;
  border: 1px solid #edf0f1;
  border-radius: 11px;
  background: #fafbfb;
}

.air-quality-composition span,
.air-quality-composition strong {
  display: block;
}

.air-quality-composition span {
  margin-bottom: 4px;
  color: #899397;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .02em;
}

.air-quality-composition strong {
  color: #34464b;
  font-size: 13px;
  font-weight: 650;
}

.air-quality-definition {
  display: block;
  margin-top: 18px;
  color: #8a9498;
  font-size: 11px;
  line-height: 1.55;
}


/* Annual trend */

.air-quality-change {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.air-quality-change.is-improving {
  background: #eaf6f1;
  color: #33745f;
}

.air-quality-change.is-worsening {
  background: #fff0ed;
  color: #b45648;
}

.air-quality-chart-wrap {
  position: relative;
  margin-top: 25px;
  padding-left: 34px;
}

.air-quality-trend-chart,
.air-quality-live-chart svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.air-quality-trend-chart .air-quality-chart-grid,
.air-quality-live-chart line {
  stroke: #e8edee;
  stroke-width: 1;
}

.air-quality-trend-chart polyline,
.air-quality-live-chart polyline {
  fill: none;
  stroke: #498383;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.air-quality-trend-chart circle,
.air-quality-live-chart circle {
  fill: #fff;
  stroke: #498383;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
}

.air-quality-chart-scale {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 17px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #9aa3a7;
  font-size: 9px;
}

.air-quality-chart-years {
  display: flex;
  justify-content: space-between;
  margin-top: 5px;
  color: #899397;
  font-size: 10px;
  font-weight: 600;
}

.air-quality-change-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 19px;
}

.air-quality-change-grid > div {
  padding: 11px 12px;
  border-radius: 10px;
  background: #f7f9f9;
}

.air-quality-change-grid span,
.air-quality-change-grid strong {
  display: block;
}

.air-quality-change-grid span {
  margin-bottom: 3px;
  color: #899397;
  font-size: 10px;
}

.air-quality-change-grid strong {
  font-size: 15px;
  font-weight: 700;
}

.air-quality-change-grid .positive {
  color: #33745f;
}

.air-quality-change-grid .negative {
  color: #b45648;
}


/* Current monitoring */

.air-quality-live-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #657378;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
}

.air-quality-live-dot i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4c9a7c;
  box-shadow: 0 0 0 4px rgba(76, 154, 124, .10);
}

.air-quality-live-reading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-top: 23px;
}

.air-quality-live-reading > div > span {
  display: block;
  margin-bottom: 2px;
  color: #748187;
  font-size: 11px;
  font-weight: 700;
}

.air-quality-live-reading strong {
  color: #253438;
  font-size: 38px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.035em;
}

.air-quality-live-reading strong small {
  color: #7c898e;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}

.air-quality-status {
  padding: 5px 8px;
  border: 1px solid #e4e9ea;
  border-radius: 999px;
  color: #78858a;
  background: #fafbfb;
  font-size: 10px;
  font-weight: 650;
}

.air-quality-live-chart {
  margin-top: 20px;
  padding: 14px 15px 10px;
  border: 1px solid #edf0f1;
  border-radius: 12px;
  background: #fbfcfc;
}

.air-quality-live-chart-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 7px;
  color: #8b969a;
  font-size: 9px;
  font-weight: 650;
}

.air-quality-station-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 16px;
}

.air-quality-station-meta strong {
  color: #34464b;
  font-size: 13px;
}

.air-quality-station-meta span {
  color: #879297;
  font-size: 10px;
}

.air-quality-station-note {
  margin: 13px 0 0;
  color: #929b9f;
  font-size: 10px;
  line-height: 1.5;
}


/* Health impact */

.air-quality-health-icon {
  background: #f6f1ed;
  color: #9a735b;
}

.air-quality-health-value {
  margin-top: 30px;
}

.air-quality-health-value strong {
  display: block;
  color: #253438;
  font-size: 46px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.04em;
}

.air-quality-health-value > span {
  display: block;
  max-width: 270px;
  margin-top: 9px;
  color: #68767b;
  font-size: 12px;
  line-height: 1.45;
}

.air-quality-health-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 18px;
}

.air-quality-health-meta span {
  padding: 5px 8px;
  border-radius: 7px;
  background: #f5f7f7;
  color: #7b878c;
  font-size: 9px;
  font-weight: 650;
}

.air-quality-health-card > p {
  margin: 17px 0 0;
  color: #929b9f;
  font-size: 10px;
  line-height: 1.55;
}


/* Empty state + source */

.air-quality-empty {
  margin-top: 20px;
  padding: 22px;
  border: 1px dashed #dfe5e6;
  border-radius: 12px;
  background: #fafbfb;
  color: #899397;
  font-size: 12px;
  line-height: 1.55;
}

.air-quality-source {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 13px;
  color: #8b969a;
  font-size: 10px;
}

.air-quality-source > i {
  color: #6f8f8e;
}

.air-quality-source span {
  flex: 1;
}

.air-quality-source a {
  color: #557b7b;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

.air-quality-source a:hover {
  text-decoration: underline;
}


/* Responsive */

@media (max-width: 900px) {
  .air-quality-hero-grid,
  .air-quality-lower-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .air-quality-headline,
  .air-quality-trend-card,
  .air-quality-monitor-card,
  .air-quality-health-card {
    padding: 19px;
  }

  .air-quality-composition {
    grid-template-columns: 1fr;
  }

  .air-quality-change-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .air-quality-primary-value strong {
    font-size: 48px;
  }

  .air-quality-health-value strong {
    font-size: 40px;
  }

  .air-quality-source {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

/* =========================================================
   Council profile section order
   Canonical ordering — keep this block last so it overrides
   older section-order declarations above.
   ========================================================= */

.council-content > .council-hero    { order: 1; }
.council-content > .profile-tabs    { order: 2; }
.council-content > .council-glance  { order: 3; }

.council-content > #politics        { order: 4; }
.council-content > .audit-warning   { order: 5; }

.council-content > #finance         { order: 6; }
.council-content > #crime           { order: 7; }
.council-content > #education       { order: 8; }
.council-content > #schools-ofsted  { order: 9; }
.council-content > #people          { order: 10; }

.council-content > #public-health   { order: 11; }
.council-content > #air-quality     { order: 12; }

.council-content > #housing         { order: 13; }
.council-content > #planning        { order: 14; }
.council-content > #hmo             { order: 15; }
.council-content > #roads           { order: 16; }
.council-content > #waste           { order: 17; }

.council-content > #overview        { order: 18; }
.council-content > #spending        { order: 19; }
.council-content > #contracts       { order: 20; }
.council-content > #suppliers       { order: 21; }
.council-content > #sources         { order: 22; }
.council-content > #methodology     { order: 23; }

/* Community Opinion — council profile invitation */
.community-opinion-strip {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:66px;
  padding:11px 16px;
  background:linear-gradient(90deg,rgba(12,154,151,.055),rgba(12,154,151,.018) 62%,rgba(255,255,255,.72));
  border:1px solid rgba(12,154,151,.16);
  border-radius:12px;
}

.community-opinion-strip-icon {
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(12,154,151,.09);
  color:#0b918e;
  font-size:16px;
}

.community-opinion-strip-copy {
  min-width:0;
  flex:1;
}

.community-opinion-strip-kicker {
  display:block;
  margin-bottom:3px;
  color:#078c89;
  font-size:9px;
  font-weight:700;
  letter-spacing:.11em;
}

.community-opinion-strip-message {
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
}

.community-opinion-strip-message strong {
  color:#102d3b;
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
}

.community-opinion-strip-message span {
  color:#687d88;
  font-size:11px;
}

.community-opinion-strip-meta {
  display:flex;
  align-items:center;
  gap:12px;
  color:#71848d;
  font-size:10px;
  white-space:nowrap;
}

.community-opinion-strip-meta i {
  margin-right:3px;
  color:#159c99;
}

.community-opinion-strip-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding:8px 11px;
  border:1px solid rgba(12,154,151,.24);
  border-radius:8px;
  background:#fff;
  color:#087f7d;
  font-size:10px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.community-opinion-strip-link:hover {
  background:rgba(12,154,151,.055);
  border-color:rgba(12,154,151,.4);
}

@media (max-width:1100px) {
  .community-opinion-strip-meta { display:none; }
}

@media (max-width:760px) {
  .community-opinion-strip {
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .community-opinion-strip-message { display:block; }

  .community-opinion-strip-message span {
    display:block;
    margin-top:2px;
  }

  .community-opinion-strip-link {
    margin-left:52px;
  }
}

/* Community Opinion placement within ordered council profile */
.council-content > .community-opinion-strip {
  order: 1.5;
}


/* Tighten Community Opinion against council identity card */
.council-content > .community-opinion-strip {
  margin-bottom: 6px;
}


/* Community Opinion — published aggregate state */
.community-opinion-results-copy {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.community-opinion-results-heading {
  display:flex;
  align-items:baseline;
  gap:8px;
}

.community-opinion-results-heading strong {
  color:#102d3b;
  font-size:12px;
  font-weight:650;
}

.community-opinion-results-heading > span {
  color:#7a8b94;
  font-size:9px;
}

.community-opinion-results-list {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 14px;
  margin-top:2px;
}

.community-opinion-result {
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  color:#526b77;
  font-size:10px;
  white-space:nowrap;
}

.community-opinion-result strong {
  color:#163845;
  font-size:11px;
  font-weight:700;
}

.community-opinion-result-label {
  font-weight:500;
}

.community-opinion-results-note {
  margin-top:1px;
  color:#819099;
  font-size:8px;
}

@media (max-width:900px) {
  .community-opinion-results-list {
    gap:3px 10px;
  }

  .community-opinion-results-note {
    display:none;
  }
}


/* =========================================================
   Benefits & Financial Pressure
   ========================================================= */

.benefits-section {
  margin-top: 34px;
}

.benefits-title {
  align-items: flex-end;
}

.benefits-title p {
  max-width: 760px;
}


/* Summary cards */

.benefits-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.benefits-stat-card {
  min-height: 150px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px;
}

.benefits-stat-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #eef5f5;
  color: #498383;
  font-size: 18px;
}

.benefits-stat-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.benefits-stat-content small {
  margin-bottom: 7px;
  color: #7b858d;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.3;
}

.benefits-stat-content strong {
  color: #20272c;
  font-size: clamp(26px, 2.3vw, 34px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.035em;
}

.benefits-stat-content span {
  margin-top: 8px;
  color: #7a848b;
  font-size: 12px;
  font-weight: 500;
}

.benefits-stat-primary {
  position: relative;
  overflow: hidden;
}

.benefits-stat-primary::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: #498383;
}


/*
 * Directional colours are intentionally restrained.
 * An increase is not automatically described as "bad" and
 * a decrease is not automatically described as "good".
 */

.benefits-up,
.benefits-down {
  color: #20272c !important;
}


/* Trend panel */

.benefits-trend-panel {
  margin-top: 16px;
  padding: 26px 28px 24px;
}

.benefits-trend-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.benefits-trend-head h3 {
  margin: 5px 0 5px;
  color: #20272c;
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -.02em;
}

.benefits-trend-head p {
  margin: 0;
  color: #7a848b;
  font-size: 13px;
  line-height: 1.5;
}

.benefits-trend-range {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 11px;
  border: 1px solid #e6e9eb;
  border-radius: 9px;
  color: #778188;
  background: #fafbfb;
}

.benefits-trend-range small {
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.benefits-trend-range i {
  color: #a9b0b5;
  font-size: 9px;
}


/* SVG chart */

.benefits-chart-wrap {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 13px;
  min-height: 280px;
}

.benefits-axis {
  height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 17px 0 16px;
  box-sizing: border-box;
  text-align: right;
}

.benefits-axis span {
  color: #929ba1;
  font-size: 10px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.benefits-chart {
  min-width: 0;
}

.benefits-chart svg {
  display: block;
  width: 100%;
  height: 260px;
  overflow: visible;
}

.benefits-grid-line {
  stroke: #edf0f1;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.benefits-trend-line {
  fill: none;
  stroke: #498383;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.benefits-chart-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 5px;
  color: #929ba1;
}

.benefits-chart-labels span {
  font-size: 10px;
  font-weight: 500;
}


/* Definition / methodology */

.benefits-definition {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  margin-top: 14px;
  padding: 17px 19px;
  border: 1px solid #e5e9ea;
  border-radius: 12px;
  background: #f8fafa;
}

.benefits-definition > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #498383;
  background: #e9f2f2;
  font-size: 13px;
}

.benefits-definition strong {
  display: block;
  margin-bottom: 3px;
  color: #30383d;
  font-size: 12px;
  font-weight: 650;
}

.benefits-definition p {
  max-width: 900px;
  margin: 0;
  color: #727d84;
  font-size: 11px;
  line-height: 1.55;
}

.benefits-definition > span {
  color: #899298;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .04em;
  white-space: nowrap;
}


/* Responsive */

@media (max-width: 900px) {
  .benefits-summary-grid {
    grid-template-columns: 1fr;
  }

  .benefits-stat-card {
    min-height: auto;
  }
}

@media (max-width: 650px) {
  .benefits-trend-head {
    flex-direction: column;
  }

  .benefits-trend-range {
    align-self: flex-start;
  }

  .benefits-trend-panel {
    padding: 20px 16px;
  }

  .benefits-chart-wrap {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 8px;
  }

  .benefits-definition {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .benefits-definition > span {
    grid-column: 2;
  }
}


/* Benefits population context */

.benefits-stat-content .benefits-population-context {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-top: 8px;
  color: #667279;
  font-size: 11px;
  font-weight: 500;
}

.benefits-stat-content .benefits-population-context b {
  color: #498383;
  font-size: 14px;
  font-weight: 700;
}

.benefits-stat-content .benefits-period {
  margin-top: 3px;
  color: #9aa2a7;
  font-size: 10px;
}


/* =========================================================
   Benefits geographic comparison
   ========================================================= */

.benefits-comparison-panel {
  margin-top: 16px;
  padding: 24px 28px 22px;
}

.benefits-comparison-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.benefits-comparison-head h3 {
  margin: 5px 0 5px;
  color: #20272c;
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -.02em;
}

.benefits-comparison-head p {
  margin: 0;
  color: #7a848b;
  font-size: 12px;
  line-height: 1.5;
}

.benefits-comparison-period {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid #e6e9eb;
  border-radius: 8px;
  background: #fafbfb;
  color: #7b858d;
  font-size: 10px;
  font-weight: 650;
  white-space: nowrap;
}


/* Comparison rows */

.benefits-comparison-list {
  display: flex;
  flex-direction: column;
}

.benefits-comparison-row {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(180px, 1fr) 62px;
  align-items: center;
  gap: 18px;
  min-height: 55px;
  padding: 10px 0;
  border-top: 1px solid #eef0f1;
}

.benefits-comparison-row:first-child {
  border-top: 0;
}

.benefits-comparison-label {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.benefits-comparison-label > span {
  overflow: hidden;
  color: #374047;
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.benefits-comparison-label small {
  color: #a0a7ac;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
}


/* Bar */

.benefits-comparison-bar {
  position: relative;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf0f1;
}

.benefits-comparison-bar > span {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  border-radius: inherit;
  background: #aeb9ba;
}

.benefits-comparison-row.is-council .benefits-comparison-bar > span {
  background: #498383;
}


/* Percentage */

.benefits-comparison-row > strong {
  color: #5f696f;
  font-size: 16px;
  font-weight: 650;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.benefits-comparison-row.is-council > strong {
  color: #498383;
  font-size: 18px;
}


/* Explanatory note */

.benefits-comparison-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid #eef0f1;
  color: #929a9f;
  font-size: 10px;
  line-height: 1.45;
}

.benefits-comparison-note i {
  margin-top: 2px;
  color: #aab1b5;
  font-size: 10px;
}


/* Responsive */

@media (max-width: 760px) {

  .benefits-comparison-panel {
    padding: 21px 20px;
  }

  .benefits-comparison-head {
    gap: 14px;
  }

  .benefits-comparison-row {
    grid-template-columns: minmax(120px, 1fr) 1.25fr 52px;
    gap: 11px;
  }

  .benefits-comparison-label > span {
    font-size: 12px;
  }

  .benefits-comparison-row > strong {
    font-size: 14px;
  }

  .benefits-comparison-row.is-council > strong {
    font-size: 16px;
  }

}

@media (max-width: 520px) {

  .benefits-comparison-head {
    flex-direction: column;
  }

  .benefits-comparison-row {
    grid-template-columns: 1fr 50px;
    gap: 6px 12px;
    padding: 12px 0;
  }

  .benefits-comparison-label {
    grid-column: 1;
  }

  .benefits-comparison-row > strong {
    grid-column: 2;
    grid-row: 1;
  }

  .benefits-comparison-bar {
    grid-column: 1 / -1;
    height: 6px;
  }

}



/* CouncilMetrics benefits section ordering fix */

/* Keep Community Opinion below the council header */
.council-content > .community-opinion-strip {
    order: 1;
}

/* Position benefits between Public Health and Air Quality */
.council-content > #public-health {
    order: 11;
}

.council-content > #benefits {
    order: 12;
}

.council-content > #air-quality {
    order: 13;
}

