.counts-content {
  --counts-ink: #143e34;
  --counts-accent: #15594b;
  --counts-wash: #eef3eb;
  color: var(--counts-ink);
  font-family: Arial, sans-serif;
  line-height: 1.6;
  background: #f8f8f2;
}
.counts-portsmouth {
  --counts-ink: #143354;
  --counts-accent: #164e80;
  --counts-wash: #eaf1f8;
}
.counts-southampton {
  --counts-ink: #542225;
  --counts-accent: #9b343a;
  --counts-wash: #f8eeec;
}
.counts-content * {
  box-sizing: border-box;
}
.counts-content a {
  color: var(--counts-accent);
  text-underline-offset: 4px;
}
.counts-content a:focus-visible,
.counts-content summary:focus-visible {
  outline: 3px solid #bd860d;
  outline-offset: 4px;
}
.counts-content h1,
.counts-content h2,
.counts-content h3 {
  font-family: Georgia, serif;
  line-height: 1.18;
  letter-spacing: -0.025em;
  color: var(--counts-ink);
}
.counts-content h1 {
  font-size: clamp(2.1rem, 4.5vw, 3.5rem);
  max-width: 22ch;
  margin: 12px 0 22px;
}
.counts-content h2 {
  font-size: clamp(1.7rem, 3vw, 2.1rem);
  margin: 0 0 18px;
}
.counts-content h3 {
  font-size: 1.45rem;
  margin: 10px 0 16px;
}
.counts-content p {
  max-width: 80ch;
  margin: 12px 0;
}
.counts-body {
  max-width: 1200px;
  padding: 38px 28px 0;
  margin: auto;
}
.counts-body > section {
  margin: 52px 0;
}
.counts-hero {
  padding: 20px 0 28px;
}
.counts-kicker {
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}
.counts-lead {
  font-size: 1.15rem;
  line-height: 1.6;
}
.counts-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px max(20px, calc((100% - 1144px) / 2));
  border-bottom: 1px solid #cbd3cf;
  background: #fff;
  position: relative;
  z-index: 2;
}
.counts-nav > div {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.counts-nav a,
.counts-nav summary {
  display: block;
  padding: 10px 14px;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.counts-nav a[aria-current="page"],
.counts-nav .counts-help {
  background: var(--counts-accent);
  color: white;
}
.counts-nav details {
  position: relative;
}
.counts-nav details > div {
  position: absolute;
  top: 50px;
  left: 0;
  min-width: 210px;
  padding: 8px;
  background: white;
  box-shadow: 0 10px 25px #102a3522;
  border: 1px solid #cbd3cf;
  border-radius: 12px;
}
.counts-nav summary {
  border: 1px solid #cbd3cf;
}
.counts-button {
  display: inline-block;
  background: var(--counts-accent);
  color: white !important;
  padding: 12px 20px;
  border-radius: 7px;
  font-weight: bold;
  margin: 14px 0;
  text-decoration: none;
}
.counts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 20px;
}
.counts-card {
  background: white;
  border: 1px solid #d5dcd5;
  border-radius: 16px;
  padding: 24px;
  min-width: 0;
  scroll-margin-top: 120px;
}
.counts-card h2 {
  font-size: 1.4rem;
}
.counts-card .counts-lead {
  font-size: 1.03rem;
}
.counts-card details {
  margin-top: 20px;
  border-top: 1px solid #d5dcd5;
  padding-top: 14px;
}
.counts-content summary {
  font-weight: bold;
  cursor: pointer;
}
.counts-number {
  display: block;
  font-size: 2.3rem;
  line-height: 1.2;
  letter-spacing: -0.04em;
  margin: 16px 0 10px;
}
.counts-feature,
.counts-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}
.counts-feature {
  padding: 30px;
  border-radius: 20px;
  background: var(--counts-wash);
  align-items: center;
}
.counts-feature h3 {
  font-size: 1.8rem;
}
.counts-series svg {
  width: 100%;
  height: auto;
  display: block;
  color: var(--counts-accent);
}
.counts-series text {
  fill: currentColor;
}
.counts-map {
  margin: 0;
  background: var(--counts-wash);
  padding: 18px;
  border-radius: 20px;
}
.counts-map svg {
  display: block;
  width: 100%;
  height: auto;
}
.counts-map path {
  fill: #a1c4b5;
  stroke: white;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}
.counts-map a:hover path,
.counts-map a:focus path,
.counts-map path.selected {
  fill: var(--counts-accent);
}
.counts-portsmouth .counts-map path {
  fill: #93b7d6;
}
.counts-southampton .counts-map path {
  fill: #d6a5a5;
}
.counts-content figcaption,
.counts-note {
  font-size: 0.87rem;
  color: #4b6059;
}
.counts-ward-list {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: 0;
}
.counts-ward-list a {
  display: block;
  padding: 12px 15px;
  background: #fff;
  border: 1px solid #d5dcd5;
  border-radius: 10px;
  font-weight: bold;
  text-decoration: none;
}
.counts-ward-list span,
.counts-plan span {
  display: block;
  font-size: 0.82rem;
  font-weight: normal;
  color: #4b6059;
}
.counts-chip {
  display: inline-block;
  border: 1px solid #cbd3cf;
  padding: 7px 10px;
  border-radius: 8px;
  margin: 8px 8px 0 0;
  font-size: 0.85rem;
  font-weight: bold;
  text-decoration: none;
}
.counts-table {
  overflow: auto;
  max-width: 100%;
  margin: 20px 0;
}
.counts-table table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9rem;
  background: #fff;
}
.counts-table th,
.counts-table td {
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid #d5dcd5;
  vertical-align: top;
}
.counts-table caption {
  text-align: left;
  font-weight: bold;
  margin-bottom: 12px;
}
.counts-source-links {
  padding-left: 22px;
  font-size: 0.9rem;
}
.counts-source-links li {
  padding: 10px 0;
  overflow-wrap: anywhere;
}
.counts-source-links p {
  font-size: 0.84rem;
  color: #4b6059;
}
.counts-action {
  margin: 26px 0;
}
.counts-action > h2 {
  font-size: 1.9rem;
}
.counts-stages {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 24px 0;
}
.counts-stages > div {
  padding: 20px;
  background: var(--counts-wash);
  border-radius: 12px;
}
.counts-stages h3 {
  font: 700 1rem Arial;
}
.counts-stages p {
  font-size: 0.95rem;
}
.counts-plan {
  padding: 28px;
  background: var(--counts-wash);
  border-radius: 18px;
}
.counts-plan ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  padding-left: 24px;
}
.counts-plan a {
  font-weight: bold;
}
.counts-bottom {
  padding: 30px 0;
  border-top: 1px solid #cbd3cf;
  margin-top: 50px;
  font-size: 0.9rem;
}
.counts-header {
  background: #143e34;
  padding: 24px max(24px, calc((100% - 1144px) / 2));
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.counts-header.portsmouth {
  background: #143354;
}
.counts-header.southampton {
  background: #542225;
}
.counts-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  color: #fff9e9;
  font-family: Arial, sans-serif;
  font-weight: 900;
  font-size: 36px;
  line-height: 0.95;
  letter-spacing: -1px;
}
.counts-brand > img {
  width: 96px;
  height: 96px;
  object-fit: contain;
  aspect-ratio: 1;
}
.counts-brand > img.counts-existing-logo {
  width: 290px;
  height: 104px;
  object-fit: contain;
  aspect-ratio: auto;
}
.counts-header.chichester {
  gap: 12px;
}
.counts-header.chichester .counts-brand {
  flex: 0 1 330px;
  min-width: 0;
}
.counts-header.chichester .counts-chichester-badge {
  flex: 0 0 96px;
}
.counts-header.chichester .counts-chichester-wordmark {
  display: block;
  flex: 1 1 0;
  min-width: 0;
  width: 0;
  height: auto;
  aspect-ratio: 300 / 125;
}
.counts-header.chichester .counts-header-tools {
  flex-shrink: 0;
}
.counts-brand b {
  display: block;
  color: #9acb9f;
  font-size: 40px;
}
.counts-brand small {
  display: block;
  font-size: 12px;
  letter-spacing: 0.1px;
  line-height: 1.4;
  margin-top: 6px;
}
.counts-header > a:last-child {
  color: #f2d186;
  font: 700 0.85rem Arial;
}
.counts-family {
  background: #143e34;
  color: #fff9e9;
  text-align: center;
  padding: 28px;
  font: 14px Arial;
}
.counts-family a {
  color: inherit;
  display: inline-block;
  margin: 12px;
}
.counts-skip {
  position: absolute;
  left: -9999px;
}
.counts-skip:focus {
  left: 12px;
  top: 12px;
  background: white;
  color: black;
  z-index: 10;
  padding: 14px;
}
@media (max-width: 700px) {
  .counts-body {
    padding: 24px 18px 0;
  }
  .counts-feature,
  .counts-split,
  .counts-stages {
    grid-template-columns: 1fr;
  }
  .counts-feature {
    padding: 22px;
  }
  .counts-nav {
    padding: 12px;
    align-items: flex-start;
    gap: 8px;
  }
  .counts-nav > div {
    gap: 2px;
  }
  .counts-nav a,
  .counts-nav summary {
    padding: 8px 10px;
    font-size: 0.79rem;
  }
  .counts-nav details { position: static; }
  .counts-nav details > div {
    top: 100%;
    left: 12px;
    right: 12px;
    min-width: 0;
    max-height: min(65vh, 30rem);
    overflow-y: auto;
  }
  .counts-nav .counts-help {
    white-space: normal;
    min-width: 58px;
    text-align: center;
  }
  .counts-card {
    padding: 20px;
  }
  .counts-ward-list {
    grid-template-columns: 1fr 1fr;
  }
  .counts-plan ol {
    grid-template-columns: 1fr;
  }
  .counts-header {
    padding: 18px;
  }
  .counts-brand {
    font-size: 27px;
    gap: 8px;
  }
  .counts-brand b {
    font-size: 30px;
  }
  .counts-brand > img {
    width: 76px;
    height: 76px;
  }
  .counts-brand > img.counts-existing-logo {
    width: 245px;
    height: 88px;
  }
  .counts-header.chichester .counts-brand {
    flex-basis: 274px;
  }
  .counts-header.chichester .counts-chichester-badge {
    flex-basis: 76px;
  }
  .counts-header > a:last-child {
    font-size: 0.75rem;
  }
  .counts-content h1 {
    max-width: 24ch;
  }
  .counts-source-links {
    padding-left: 18px;
  }
}

@media (max-width: 360px) {
  .counts-header.chichester {
    flex-wrap: wrap;
  }
  .counts-header.chichester .counts-brand {
    flex-basis: 100%;
  }
  .counts-header.chichester .counts-header-tools {
    margin-left: auto;
  }
}

.counts-library-group {
  margin: 16px 0;
  padding: 18px;
  border: 1px solid #d5dcd5;
  border-radius: 10px;
  background: white;
}
.counts-library-group small {
  display: block;
}
.counts-library-group td {
  min-width: 140px;
}

.counts-content .counts-map path.selected,
.counts-content .counts-map a:focus path,
.counts-content .counts-map a:hover path {
  fill: var(--counts-accent);
  stroke: #f5d277;
  stroke-width: 2.5;
}

.counts-header-tools {
  display: flex;
  gap: 18px;
  align-items: center;
  font: 700 14px Arial;
}
.counts-header-tools a {
  color: #f2d186;
}
.counts-header-tools a:focus-visible {
  outline: 3px solid #f2d186;
  outline-offset: 4px;
}
@media (max-width: 700px) {
  .counts-header-tools {
    gap: 10px;
    flex-direction: column;
    font-size: 12px;
  }
}

/* A compact, keyboard-accessible starting point for the Portsmouth briefing. */
.counts-content .counts-quick-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; padding: 0; list-style: none; }
.counts-content .counts-quick-links a { display: block; height: 100%; padding: 1rem; border: 1px solid #cbd5e1; border-radius: .65rem; background: #fff; font-weight: 700; text-decoration: none; }
.counts-content .counts-quick-links a:hover { border-color: #1d4ed8; text-decoration: underline; }
.counts-content .counts-quick-links a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.counts-content .counts-quick-links span { display: block; margin-top: .3rem; color: #475569; font-size: .875rem; font-weight: 400; }
.counts-content .counts-follow-links { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; padding-left: 1.2rem; }
@media (max-width: 720px) { .counts-content .counts-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 340px) { .counts-content .counts-quick-links { grid-template-columns: 1fr; } }

.counts-content .counts-context-lead strong { font-size: 1.5rem; color: #123252; }
.counts-content .counts-context-chart { margin: 1rem 0; padding: .9rem; background: #f2f6f8; border-radius: .5rem; }
.counts-content .counts-context-chart figcaption { font-size: .9rem; font-weight: 700; }
.counts-content .counts-context-chart ul { list-style: none; padding: 0; margin: .7rem 0 0; }
.counts-content .counts-context-chart li + li { margin-top: .65rem; }
.counts-content .counts-context-label { display: flex; justify-content: space-between; gap: .5rem; font-size: .85rem; }
.counts-content .counts-context-track { height: .55rem; margin-top: .25rem; background: #dce6ec; border-radius: 1rem; overflow: hidden; }
.counts-content .counts-context-track span { display: block; height: 100%; background: #1d5d88; border-radius: 1rem; }

.counts-content .counts-social > div { display:flex; flex-wrap:wrap; gap:.65rem; }
.counts-content .counts-social a { display:inline-flex; align-items:center; gap:.4rem; min-height:44px; padding:.35rem .65rem; border:1px solid currentColor; border-radius:.5rem; font-weight:700; text-decoration:none; }
.counts-content .counts-social a:hover { text-decoration:underline; }
.counts-content .counts-social svg { width:20px; height:20px; flex:none; fill:currentColor; }
/* Portsmouth: compact navigation and clearer evidence hierarchy. */
.counts-portsmouth .counts-topic-nav { padding:1.1rem; margin:1.5rem 0; border-radius:.8rem; background:#e4f4f0; border-left:5px solid #147d79; }
.counts-portsmouth .counts-topic-nav > p:first-child { margin-top:0; }
.counts-portsmouth .counts-topic-nav > div,.counts-portsmouth .counts-jump { display:flex; flex-wrap:wrap; gap:.55rem; }
.counts-portsmouth .counts-topic-nav a,.counts-portsmouth .counts-jump a { display:inline-flex; align-items:center; min-height:44px; padding:.45rem .75rem; border:1px solid #9abcb9; border-radius:.45rem; background:#fff; color:#123b5b; font-weight:700; text-decoration:none; }
.counts-portsmouth .counts-topic-nav a:hover,.counts-portsmouth .counts-jump a:hover { text-decoration:underline; }
.counts-portsmouth .counts-jump { margin:1rem 0 1.5rem; }
.counts-portsmouth .counts-evidence-disclosure > summary { cursor:pointer; padding:.9rem 1rem; background:#edf4f7; border-radius:.5rem; color:#143c5d; font-weight:700; }
.counts-portsmouth .counts-context-grid > .counts-card:nth-child(1) { border-top:5px solid #df7354; }
.counts-portsmouth .counts-context-grid > .counts-card:nth-child(2) { border-top:5px solid #16847c; }
.counts-portsmouth .counts-context-grid > .counts-card:nth-child(3) { border-top:5px solid #8661a8; }
.counts-portsmouth .counts-context-lead strong { display:inline-block; font-size:clamp(2rem,4vw,2.6rem); line-height:1.1; color:#113b5d; }
.counts-portsmouth .counts-context-grid > .counts-card:nth-child(2) .counts-context-track span { background:#16847c; }
.counts-portsmouth .counts-context-grid > .counts-card:nth-child(3) .counts-context-track span { background:#765199; }
@media(max-width:720px){.counts-portsmouth .counts-quick-links{gap:.45rem}.counts-portsmouth .counts-quick-links a{padding:.7rem .8rem;min-height:3.1rem}.counts-portsmouth .counts-quick-links span{display:none}}
.counts-portsmouth .counts-homes-infographic { margin:1rem 0; padding:1rem; background:#fdf2e9; border-radius:.6rem; }
.counts-portsmouth .counts-homes-infographic figcaption { font-weight:700; font-size:.9rem; }
.counts-portsmouth .counts-homes-infographic p { margin:.5rem 0 0; font-size:.85rem; }
.counts-portsmouth .counts-homes-squares { display:grid; grid-template-columns:repeat(20,minmax(0,1fr)); gap:3px; margin-top:.7rem; }
.counts-portsmouth .counts-homes-squares span { aspect-ratio:1; border-radius:2px; background:#e3c9bd; }
.counts-portsmouth .counts-homes-squares span.delivered { background:#b94c36; }
.counts-portsmouth .community-question { margin:.6rem 0; border:1px solid #c7dcd8; border-radius:.5rem; overflow:hidden; }
.counts-portsmouth .community-question > summary { padding:.85rem 1rem; background:#eef7f5; color:#123b5b; font-weight:700; cursor:pointer; }
.counts-portsmouth .community-question .community-grid { padding:1rem; }
@media(max-width:700px){.counts-portsmouth .counts-constituency-table{overflow:visible}.counts-portsmouth .counts-constituency-table table,.counts-portsmouth .counts-constituency-table tbody,.counts-portsmouth .counts-constituency-table caption{display:block;min-width:0}.counts-portsmouth .counts-constituency-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.counts-portsmouth .counts-constituency-table tr{display:block;margin:.8rem 0;padding:.8rem;border:1px solid #cbd5e1;border-radius:.5rem}.counts-portsmouth .counts-constituency-table th,.counts-portsmouth .counts-constituency-table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.35rem}.counts-portsmouth .counts-constituency-table td::before{content:attr(data-label);font-weight:600}}
.portsmouth-people section,.portsmouth-living section{margin-block:2.5rem}
.ethnicity-explorer{padding:1rem;border:1px solid #cbd3cf;border-radius:12px;background:white}
.ethnicity-explorer>input{position:absolute;opacity:0;width:1px;height:1px}
.ethnicity-choices{display:flex;gap:.5rem;flex-wrap:wrap}
.ethnicity-choices label{cursor:pointer;padding:.5rem .7rem;border:1px solid #82999b;border-radius:1rem}
.ethnicity-explorer>input:focus-visible~.ethnicity-choices{outline:3px solid #e8a519;outline-offset:4px}
.ethnicity-panel{display:none;margin:1.25rem 0 0}
.ethnicity-explorer>input:nth-of-type(1):checked~.ethnicity-panel-0,.ethnicity-explorer>input:nth-of-type(2):checked~.ethnicity-panel-1,.ethnicity-explorer>input:nth-of-type(3):checked~.ethnicity-panel-2,.ethnicity-explorer>input:nth-of-type(4):checked~.ethnicity-panel-3,.ethnicity-explorer>input:nth-of-type(5):checked~.ethnicity-panel-4{display:block}
.ethnicity-bar{display:grid;grid-template-columns:3.5rem 1fr 4.5rem;align-items:center;gap:.5rem;margin:.6rem 0}
.ethnicity-track{height:1rem;background:#e6f0ef;border-radius:1rem;overflow:hidden}
.ethnicity-track>span{display:block;height:100%;background:#176ea6}
.ethnicity-explorer>input:nth-of-type(1):checked~.ethnicity-choices label:nth-child(1),.ethnicity-explorer>input:nth-of-type(2):checked~.ethnicity-choices label:nth-child(2),.ethnicity-explorer>input:nth-of-type(3):checked~.ethnicity-choices label:nth-child(3),.ethnicity-explorer>input:nth-of-type(4):checked~.ethnicity-choices label:nth-child(4),.ethnicity-explorer>input:nth-of-type(5):checked~.ethnicity-choices label:nth-child(5){background:#164e79;color:white;border-color:#164e79}
.portsmouth-people,.portsmouth-living{--nc-brand-ink:#173553;--nc-brand-accent:#f3c759}
/* Portsmouth: a compact local briefing and clear routes into each story. */
.counts-portsmouth .counts-hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.25rem 0 1rem}
.counts-portsmouth .counts-hero-actions .counts-button{margin:0}
.counts-portsmouth .counts-briefing{background:#eaf3f4;border-radius:1rem;padding:clamp(1.1rem,3vw,2rem)}
.counts-portsmouth .counts-story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.8rem}
.counts-portsmouth .counts-story{background:#fff;border-radius:.7rem;padding:1.15rem;border-top:4px solid #147d82}
.counts-portsmouth .counts-story-housing{border-color:#d2704e}.counts-portsmouth .counts-story-council{border-color:#8263a6}.counts-portsmouth .counts-story-port{border-color:#13857c}
.counts-portsmouth .counts-story h3{font-size:1.24rem;margin:.5rem 0}.counts-portsmouth .counts-story p{font-size:.95rem;line-height:1.5}
.counts-portsmouth .counts-story-tag{font-size:.75rem!important;font-weight:700;color:#395b6d}
.counts-portsmouth .counts-more-topics{margin-top:.8rem}.counts-portsmouth .counts-more-topics>summary{font-weight:700;cursor:pointer;color:#174b73;padding:.6rem 0}
.counts-portsmouth .counts-issue-action{border-left:3px solid #16847c;padding-left:.8rem;margin:1rem 0;font-size:.93rem}
.counts-portsmouth .counts-issue-action p{margin:.4rem 0}
@media(max-width:700px){.counts-portsmouth .counts-briefing{padding:1.1rem}.counts-portsmouth .counts-story-grid{gap:.65rem}.counts-portsmouth .counts-story{padding:1rem}.counts-portsmouth .counts-hero-actions{align-items:flex-start;flex-direction:column;gap:.6rem}}
.portsmouth-crime{--nc-brand-ink:#173553;--nc-brand-accent:#f3c759}.portsmouth-crime>section{margin-block:2.5rem}
.crime-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}.crime-rate-figure{margin:0;padding:1rem;border:1px solid #cbd9dc;background:#fff;border-radius:.75rem}.crime-rate-figure figcaption{font-weight:700}.crime-rate-figure ul{padding:0;list-style:none}.crime-rate-figure li{margin:.75rem 0}.crime-rate-figure li>div:first-child{display:flex;justify-content:space-between;gap:1rem}.crime-rate-track{height:.6rem;background:#e5eff0;border-radius:1rem;overflow:hidden}.crime-rate-track span{display:block;height:100%;background:#157f83}

/* Portsmouth's topic directory is shared by the primary menu and the homepage. */
.pompey-nav { --counts-accent:#164e80; color:#143354; font-family:Arial,sans-serif; position:relative; z-index:20; }
.pompey-nav .pompey-nav-main { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.pompey-nav .pompey-nav-topics { position:static; }
.pompey-nav .pompey-nav-topics summary { border-color:#95b3cc; background:#edf5fa; color:#153c60; }
.pompey-nav .pompey-nav-topics[open] summary { background:#164e80; color:#fff; }
.pompey-nav .pompey-nav-topics summary span { display:inline-block; margin-left:4px; }
.pompey-nav .pompey-nav-panel { position:absolute; top:calc(100% - 1px); left:max(12px,calc((100% - 1144px)/2)); right:max(12px,calc((100% - 1144px)/2)); min-width:0; width:auto; max-height:min(75vh,42rem); overflow:auto; padding:1.2rem 1.4rem 1.4rem; border:1px solid #bfd0df; border-radius:0 0 14px 14px; box-shadow:0 14px 28px #102a3530; background:#fff; }
.pompey-nav-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .8rem; padding:0 .3rem .8rem; border-bottom:1px solid #dfebf2; }
.pompey-nav-heading strong { font-family:Georgia,serif; font-size:1.3rem; }
.pompey-nav-heading span { font-size:.85rem; color:#506476; }
.pompey-nav .pompey-nav-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding-top:.85rem; }
.pompey-nav .pompey-nav-columns h2 { margin:.2rem .45rem .4rem; font:700 .72rem/1.3 Arial,sans-serif; letter-spacing:.07em; text-transform:uppercase; color:#496579; }
.pompey-nav .pompey-nav-columns a { display:block; padding:.55rem .45rem; border-radius:.4rem; color:#153f64; font-size:.88rem; line-height:1.3; white-space:normal; }
.pompey-nav .pompey-nav-columns a:hover { background:#eaf4f7; text-decoration:underline; }
.pompey-nav .pompey-nav-columns a:focus-visible,.pompey-nav summary:focus-visible { outline:3px solid #bd860d; outline-offset:2px; }
.pompey-directory { margin:3rem 0; }
.pompey-directory-kicker { color:#087c78; font-size:.76rem; font-weight:800; letter-spacing:.1em; }
.pompey-directory h2 { margin-bottom:.4rem; }
.pompey-directory-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.3rem; }
.pompey-directory-group { padding:1.15rem; background:#eef5f8; border-radius:12px; border-top:4px solid #1b648b; }
.pompey-directory-group-1 { background:#eaf6f2; border-color:#138477; }
.pompey-directory-group-2 { background:#fcf2e9; border-color:#d78642; }
.counts-content .pompey-directory-group h3 { margin:0 0 .7rem; font:700 1rem/1.3 Arial,sans-serif; }
.pompey-directory-links { display:grid; gap:.45rem; }
.counts-content .pompey-directory-links a { display:block; min-height:3.6rem; padding:.65rem .8rem; border:1px solid #d7e3e8; border-radius:.55rem; background:white; color:#164e80; text-decoration:none; line-height:1.3; }
.pompey-directory-links a:hover { border-color:#164e80; text-decoration:underline; }
.pompey-directory-links strong { display:flex; justify-content:space-between; gap:.5rem; font-size:.9rem; }
.pompey-directory-links small { display:block; margin-top:.2rem; color:#526476; font-size:.77rem; }
.pompey-directory-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem 1rem; margin-top:1rem; padding:1rem 1.2rem; border:1px solid #d1dee8; border-radius:12px; background:#fff; }
.pompey-directory-actions p { margin:.2rem 0; max-width:30rem; }
.pompey-directory-actions div { display:flex; flex-wrap:wrap; gap:.3rem 1rem; }
.pompey-directory-actions a { font-weight:700; font-size:.88rem; }
@media(max-width:850px){.pompey-nav .pompey-desktop-link{display:none}.pompey-nav .pompey-nav-panel{left:10px;right:10px;max-height:min(70vh,36rem)}.pompey-nav .pompey-nav-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.pompey-directory-groups{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pompey-nav{padding:10px;gap:4px;align-items:center}.pompey-nav .pompey-nav-main{gap:1px}.pompey-nav a,.pompey-nav summary{padding:9px 8px;font-size:.78rem}.pompey-nav .counts-help{min-width:0;white-space:nowrap}.pompey-nav .pompey-nav-panel{padding:.8rem}.pompey-nav .pompey-nav-columns{gap:.7rem}.pompey-nav .pompey-nav-columns a{font-size:.8rem;padding:.5rem .35rem}.pompey-directory-groups{grid-template-columns:1fr}.pompey-directory-group{padding:.9rem}.pompey-directory-links{grid-template-columns:1fr 1fr}.pompey-directory-links small{display:none}.counts-content .pompey-directory-links a{min-height:3rem;padding:.65rem}.pompey-directory-actions{align-items:flex-start}}
@media(max-width:350px){.pompey-nav a,.pompey-nav summary{padding:8px 6px;font-size:.72rem}}

/* Portsmouth domain pages: a short overview, local section menu and progressive evidence. */
.counts-portsmouth .counts-body h1 { font-size:clamp(1.9rem,3.2vw,2.75rem); line-height:1.15; max-width:26ch; }
.counts-portsmouth .counts-lead { max-width:76ch; color:#304b64; }
.pompey-domain { --nc-brand-ink:#173b58; --nc-brand-accent:#147e7b; }
.pompey-domain section { scroll-margin-top:9rem; }
.pompey-breadcrumb { font-size:.8rem; color:#627584; margin:0 0 1.2rem; }
.pompey-domain-menu { position:sticky; top:0; z-index:8; margin:1.5rem 0 2rem; padding:.7rem .85rem; background:#fff; border:1px solid #c7d8e3; border-top:3px solid #15847e; border-radius:.6rem; box-shadow:0 3px 8px #173b5810; }
.pompey-domain-menu > span { display:block; color:#477082; font-size:.65rem; font-weight:800; letter-spacing:.1em; margin:0 0 .35rem .4rem; }
.pompey-domain-menu > div { display:flex; flex-wrap:wrap; gap:.25rem; }
.counts-content .pompey-domain-menu a { padding:.5rem .65rem; border-radius:.4rem; text-decoration:none; font-size:.83rem; font-weight:700; line-height:1.3; min-height:36px; }
.counts-content .pompey-domain-menu a[aria-current="page"] { background:#164e80; color:#fff; }
.pompey-domain-menu a:hover { background:#e9f3f5; }
.pompey-domain .pompey-on-page { margin-bottom:1.7rem; }
.pompey-on-page { display:flex; flex-wrap:wrap; gap:.4rem 1.25rem; padding:.7rem 0; margin:1rem 0; border-bottom:1px solid #cedde6; font-size:.85rem; }
.pompey-on-page a { min-height:32px; display:inline-flex; align-items:center; }
.pompey-signal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; margin:1rem 0; }
.pompey-signal-grid > a,.pompey-signal-grid > div { display:block; padding:1.1rem; background:#edf5f8; border-top:4px solid #17628b; border-radius:.65rem; text-decoration:none; }
.pompey-signal-grid > :nth-child(2) { background:#edf7f3; border-color:#148679; }
.pompey-signal-grid > :nth-child(3) { background:#fcf1e8; border-color:#cf7941; }
.pompey-signal-grid > :nth-child(4) { background:#f1eef8; border-color:#795da0; }
.pompey-signal-grid span { display:block; font-size:.8rem; font-weight:700; }
.pompey-signal-grid strong { display:block; font:800 clamp(2.1rem,4vw,3rem)/1.2 Arial,sans-serif; color:#153c60; margin:.4rem 0; font-variant-numeric:tabular-nums; }
.pompey-signal-grid p { font-size:.88rem; margin:.5rem 0; line-height:1.45; }
.pompey-signal-grid small { display:block; font-size:.72rem; color:#526476; }
.pompey-question-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:.8rem; margin:1.2rem 0 2rem; }
.counts-content .pompey-question-grid > a { display:block; padding:1.1rem 1.2rem; border:1px solid #c8d9e4; border-radius:.65rem; background:#fff; text-decoration:none; }
.counts-content .pompey-question-grid h3 { font:700 1rem/1.4 Arial,sans-serif; margin:0 0 .4rem; }
.pompey-question-grid p { font-size:.88rem; color:#4e6476; margin:.3rem 0; }
.pompey-question-grid a:hover { border-color:#164e80; box-shadow:0 2px 5px #14335414; }
.pompey-question-grid small { color:#507080; }
.pompey-comparison { margin:1rem 0 1.5rem; padding:1.2rem 1.4rem; background:#fff; border:1px solid #d3e0e6; border-radius:.7rem; }
.pompey-comparison figcaption strong,.pompey-comparison figcaption > span { display:block; }
.pompey-comparison figcaption > span { color:#586e7c; font-size:.78rem; margin-top:.25rem; }
.pompey-comparison ul { list-style:none; padding:0; margin:1rem 0 0; }
.pompey-comparison li { margin:.65rem 0; }
.pompey-comparison li > div { display:flex; justify-content:space-between; gap:1rem; font-size:.88rem; line-height:1.35; margin-bottom:.3rem; }
.pompey-comparison .pompey-local > div { font-weight:800; color:#164e80; }
.pompey-bar-track { display:block; height:8px; border-radius:4px; overflow:hidden; background:#edf2f5; }
.pompey-bar-track > span { display:block; height:100%; background:#36a49c; border-radius:4px; }
.pompey-local .pompey-bar-track > span { background:#164e80; }
.pompey-comparison small { color:#647580; font-size:.75rem; }
.pompey-two-up { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.pompey-education-history { margin:1.3rem 0 2rem; }
.counts-portsmouth .nc-history-date-options > summary { font-size:.78rem; padding:.35rem .2rem; cursor:pointer; }
.counts-portsmouth .nc-history-date-options { margin:.25rem 0; }
.counts-portsmouth .nc-history-controls { gap:.4rem; }
.counts-portsmouth .nc-chart .nc-history-comparison-scope,.counts-portsmouth .nc-chart .nc-history-mode-label { font-size:.75rem; }
.counts-portsmouth .nc-chart .nc-history-plot { margin-top:.7rem; }
.counts-portsmouth .nc-chart .nc-history-comparison-note { margin-bottom:.3rem; }
.pompey-chart-definition { font-size:.88rem; color:#4a6271; }
.pompey-source-details { margin:1rem 0; padding:.6rem .9rem; border:1px solid #d8e3e9; border-radius:.5rem; background:#f2f6f8; }
.pompey-source-details > summary { font-size:.85rem; font-weight:700; cursor:pointer; }
.pompey-gap-note { padding:.9rem 1rem; background:#fff5e7; border-left:4px solid #ce8a3b; font-size:.88rem; }
.pompey-next-step { padding:1.2rem 1.4rem; margin:2rem 0; background:#e9f4f2; border-radius:.65rem; }
.counts-content .pompey-next-step h2 { font-size:1.3rem; margin:0 0 .5rem; }
.pompey-next-step div { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; font-weight:700; font-size:.9rem; }
.pompey-domain-records { margin:2.5rem 0 1.5rem; padding-top:1.3rem; border-top:1px solid #c5d7e1; }
.pompey-domain-records > details { border:1px solid #d1dfe6; padding:.7rem 1rem; border-radius:.5rem; background:#fff; }
.pompey-domain-records > p { font-size:.88rem; color:#496271; }
.pompey-measure-record { padding:.7rem .4rem; border-bottom:1px solid #e0e9ef; }
.pompey-measure-record small { display:block; }
.pompey-extra-trends > details { padding:.7rem 0; border-bottom:1px solid #d8e3e9; }
@media(max-width:720px){.pompey-signal-grid{grid-template-columns:1fr 1fr}.pompey-two-up{grid-template-columns:1fr}.counts-portsmouth .counts-body h1{font-size:2rem}.pompey-domain-menu{padding:.5rem;margin:1.1rem 0 1.5rem}.counts-content .pompey-domain-menu a{padding:.45rem .5rem;font-size:.74rem}.pompey-comparison{padding:1rem}.pompey-comparison li>div{font-size:.82rem}.pompey-signal-grid>a,.pompey-signal-grid>div{padding:.9rem}.pompey-signal-grid strong{font-size:2rem}.pompey-education-history .nc-chart{padding:1rem}.pompey-domain section{scroll-margin-top:11rem}}
@media(max-width:350px){.pompey-signal-grid{grid-template-columns:1fr}.counts-portsmouth .counts-body h1{font-size:1.75rem}.pompey-domain-menu{position:relative}}
.counts-portsmouth .nc-site { --nc-brand-ink:#173b58; --nc-accent:#164e80; --nc-muted:#536b7a; --nc-paper:#f8f8f2; }
.pompey-chart-credit { font-size:.78rem; margin:-.7rem 0 1.2rem; }
@media(max-width:720px){.counts-portsmouth .counts-body .pompey-domain h1{font-size:1.8rem}.counts-portsmouth .pompey-domain>.counts-lead{font-size:1rem;line-height:1.55}}
/* Full action delivery plans (Portsmouth, November 2026): components/counts/CountsActionPlan.tsx */
.counts-stages ul {
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 0.95rem;
}
.counts-stages li + li {
  margin-top: 8px;
}
.counts-plan-lead {
  color: #4b6059;
}
.counts-plan-detail > summary {
  padding: 12px 0;
}
.counts-plan-block {
  margin: 22px 0;
}
.counts-plan-block h3 {
  font: 700 1.1rem Arial;
  margin: 0 0 8px;
}
.counts-plan-table {
  overflow-x: auto;
  margin: 12px 0;
}
.counts-plan-table table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.counts-plan-table caption {
  text-align: left;
  font-size: 0.88rem;
  color: #4b6059;
  padding-bottom: 6px;
}
.counts-plan-table th,
.counts-plan-table td {
  border-top: 1px solid #d5dcd5;
  padding: 8px 10px 8px 0;
  text-align: left;
  vertical-align: top;
}
.counts-plan-table thead th {
  font-size: 0.85rem;
}
.counts-plan-note,
.counts-plan-gap {
  display: block;
  font-weight: normal;
  font-size: 0.85rem;
  color: #4b6059;
}
.counts-plan-gap {
  color: #7a3b12;
}
.counts-plan-dl {
  display: grid;
  grid-template-columns: minmax(9rem, max-content) 1fr;
  gap: 6px 16px;
}
.counts-plan-dl dt {
  font-weight: bold;
}
.counts-plan-dl dd {
  margin: 0;
}
.counts-plan-options li + li {
  margin-top: 6px;
}
@media (max-width: 700px) {
  .counts-plan-dl {
    grid-template-columns: 1fr;
  }
  .counts-plan-dl dd {
    margin-bottom: 8px;
  }
}

/* Reusable city gateway; all stories and dates are supplied by each city. */
.local-gateway{display:grid;gap:2.5rem;padding-bottom:2rem}.local-gateway section{margin:0}.local-gateway-hero{padding:2.5rem;border-radius:20px;color:#fff;background:linear-gradient(120deg,#102b45,#165c7e 70%,#168b91)}.local-gateway-hero h1{color:#fff;max-width:18ch;margin:.3rem 0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.03}.local-gateway-hero p{max-width:45rem}.local-gateway-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.local-gateway-actions a,.local-gateway-contact{display:inline-block;background:#fff;color:#123e60;padding:.75rem 1rem;border-radius:8px;font-weight:700;text-decoration:none}.local-gateway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.local-gateway-card{display:block;border:1px solid #cad9de;border-radius:15px;background:#fff;padding:1.25rem;color:#15354e;text-decoration:none;box-shadow:0 4px 15px #12354a0d}.local-gateway-card:hover,.local-gateway-card:focus-visible{border-color:#147f8a;box-shadow:0 6px 20px #12354a26}.local-gateway-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#286078}.local-gateway-card h3{margin:.5rem 0;font-size:1.35rem}.local-gateway-card p{margin:.5rem 0 1rem}.local-gateway-card b{color:#14557d}.local-gateway-update{background:#ecf4f5}.local-gateway-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.local-gateway-links a{padding:.8rem;border-radius:8px;background:#e8f0f2;font-weight:700;color:#153e5a}.local-gateway-contribute{padding:2rem;border-radius:18px;background:#123b58;color:#fff}.local-gateway-contribute h2,.local-gateway-contribute .counts-kicker{color:#fff}.local-gateway-contribute a:not(.local-gateway-contact){color:#fff}.local-gateway-small{font-size:.9rem;max-width:65rem}.local-gateway section h2{margin-top:.2rem}@media(max-width:750px){.local-gateway-hero{padding:1.5rem}.local-gateway-grid{grid-template-columns:1fr}.local-gateway-links{grid-template-columns:repeat(2,minmax(0,1fr))}.local-gateway{gap:2rem}}

/* Pompey resident topic pages (components/counts/PompeyTopicPage.tsx) */
.counts-portsmouth .pompey-topic-hero { margin:0 0 1.2rem; border-radius:.8rem; overflow:hidden; background:#113b5d; }
.counts-portsmouth .pompey-topic-hero img { display:block; width:100%; height:auto; max-height:340px; object-fit:cover; }
.counts-portsmouth .pompey-topic-hero figcaption { padding:.45rem .8rem; color:#e9f2f6; font-size:.78rem; line-height:1.35; }
.counts-portsmouth .pompey-topic h1 { font-size:clamp(1.6rem,4.6vw,2.4rem); line-height:1.15; margin:.3rem 0 .7rem; color:#113b5d; }
.counts-portsmouth .pompey-measure-card h3 { margin:.2rem 0 .4rem; font-size:1.08rem; color:#113b5d; }
.counts-portsmouth .pompey-measure-value { margin:.2rem 0 .5rem; }
.counts-portsmouth .pompey-measure-value strong { font-size:clamp(1.7rem,5vw,2.2rem); line-height:1.1; color:#147d79; }
.counts-portsmouth .pompey-measure-value span { color:#4b5d6b; font-weight:600; margin-left:.3rem; }
.counts-portsmouth .pompey-evidence-badge { font-size:.85rem; color:#4b5d6b; }
.counts-portsmouth .pompey-badge-plain { display:inline-block; padding:.12rem .5rem; border-radius:.35rem; background:#edf4f7; color:#143c5d; font-weight:700; }
.counts-portsmouth .pompey-responsible,.counts-portsmouth .pompey-help-list { padding-left:1.1rem; }
.counts-portsmouth .pompey-responsible li,.counts-portsmouth .pompey-help-list li { margin:.45rem 0; line-height:1.45; }
.counts-portsmouth .pompey-context-grid > .counts-card { border-top:5px solid #16847c; }
.counts-portsmouth .pompey-topic section { margin:1.8rem 0; }
@media (max-width:640px){ .counts-portsmouth .pompey-topic-hero img { max-height:220px; } }
.counts-portsmouth .pompey-topic-hero figcaption a { color:#e9f2f6; text-decoration:underline; }
@media (max-width:640px){ .counts-portsmouth .pompey-topic-hero img { max-height:150px; } .counts-portsmouth .pompey-topic-hero figcaption { font-size:.72rem; padding:.3rem .6rem; } }
.counts-portsmouth .pompey-postcode { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:.8rem 0; }
.counts-portsmouth .pompey-postcode label { font-weight:700; }
.counts-portsmouth .pompey-postcode input { min-height:44px; padding:.4rem .7rem; border:2px solid #147d79; border-radius:.45rem; font-size:1rem; width:11rem; }
.counts-portsmouth .pompey-postcode button { min-height:44px; padding:.4rem 1rem; border:0; border-radius:.45rem; background:#147d79; color:#fff; font-weight:700; font-size:1rem; cursor:pointer; }
.counts-portsmouth .nc-interactive-history select { max-width:100%; min-width:0; text-overflow:ellipsis; }
/* Graded results: colour follows the published order only; the grade word is always shown. */
.counts-portsmouth .pompey-grades td { font-weight:600; }
.counts-portsmouth .pompey-grade-0 { background:#d7efe4; }
.counts-portsmouth .pompey-grade-1 { background:#e8f4dc; }
.counts-portsmouth .pompey-grade-2 { background:#fbf1d2; }
.counts-portsmouth .pompey-grade-3 { background:#fbe1cf; }
.counts-portsmouth .pompey-grade-4 { background:#f6d2d2; }
.counts-portsmouth th.pompey-grade-local, .counts-portsmouth td.pompey-grade-local { outline:2px solid #113b5d; outline-offset:-2px; }
.counts-portsmouth .pompey-count-lines { list-style:none; padding:0; margin:.4rem 0 .6rem; }
.counts-portsmouth .pompey-count-lines li { margin:.2rem 0; }
.counts-portsmouth .pompey-count-lines strong { color:#113b5d; }
.counts-portsmouth .pompey-support-group { margin:1.6rem 0; padding:1rem 1.1rem; border-radius:.8rem; background:#fff; border-left:5px solid #147d79; }
.counts-portsmouth .pompey-support-group h2 { margin-top:0; color:#113b5d; }
.counts-portsmouth .pompey-support-more a { font-weight:700; }
/* What matters to residents */
.counts-portsmouth .pompey-priorities { margin:1.5rem 0 2rem; }
.counts-portsmouth .pompey-priorities > h2 { font-size:clamp(1.5rem,4.2vw,2rem); color:#113b5d; margin-bottom:.3rem; }
.counts-portsmouth .pompey-pri-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:.9rem; margin:1rem 0; }
.counts-portsmouth .pompey-pri-card { background:#fff; border-radius:.8rem; padding:1rem; border-top:5px solid #9aa9b5; box-shadow:0 1px 3px rgba(17,59,93,.08); }
.counts-portsmouth .pompey-pri-improving { border-top-color:#16847c; }
.counts-portsmouth .pompey-pri-deteriorating { border-top-color:#df7354; }
.counts-portsmouth .pompey-pri-card h3 { margin:.2rem 0 .4rem; font-size:1.12rem; }
.counts-portsmouth .pompey-pri-card h3 a { color:#113b5d; }
.counts-portsmouth .pompey-pri-theme { font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:#4b5d6b; display:flex; justify-content:space-between; gap:.5rem; margin:0; }
.counts-portsmouth .pompey-pri-state { text-transform:none; letter-spacing:0; font-weight:700; color:#113b5d; }
.counts-portsmouth .pompey-pri-figure { margin:.3rem 0; }
.counts-portsmouth .pompey-pri-figure strong { display:block; font-size:clamp(1.6rem,5vw,2rem); line-height:1.1; color:#147d79; }
.counts-portsmouth .pompey-pri-figure span { font-size:.9rem; color:#33495a; }
.counts-portsmouth .pompey-pri-compare,.counts-portsmouth .pompey-pri-resident,.counts-portsmouth .pompey-pri-action { font-size:.92rem; margin:.35rem 0; }
.counts-portsmouth .pompey-spark { display:block; margin:.2rem 0; }
.counts-portsmouth .pompey-filters { display:flex; flex-wrap:wrap; gap:.8rem; padding:.8rem 1rem; background:#edf4f7; border-radius:.6rem; margin:1rem 0; }
.counts-portsmouth .pompey-filters select { min-height:44px; font-size:1rem; }
/* Counts 2.0 menu: five items; on narrow phones the logo is the home link and labels wrap to two rows. */
.pompey-nav .pompey-nav-done .pompey-nav-panel { right:auto; }
@media(max-width:520px){
 .pompey-nav { flex-wrap:wrap; }
 .pompey-nav .pompey-nav-home { display:none; }
 .pompey-nav .pompey-nav-main { flex:1 1 100%; justify-content:space-between; }
 .pompey-nav .counts-help { flex:1 1 100%; text-align:center; margin-top:4px; }
}
@media(max-width:520px){
 .pompey-nav .pompey-nav-main { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
 .pompey-nav .pompey-nav-main > a, .pompey-nav .pompey-nav-main > details > summary { display:flex; align-items:center; justify-content:center; min-height:44px; text-align:center; border:1px solid #c9d8e0; border-radius:.5rem; background:#fff; font-size:.88rem; }
 .pompey-nav .pompey-nav-main > details { position:static; }
 .pompey-nav .counts-help { display:flex; align-items:center; justify-content:center; min-height:44px; }
}
@media(max-width:520px){ .pompey-nav .pompey-nav-main > a.pompey-nav-home { display:none; } }
.counts-portsmouth .pompey-commitments { list-style:none; padding:0; }
.counts-portsmouth .pompey-commitments li { margin:.55rem 0; line-height:1.45; }
.counts-portsmouth .pompey-status { display:inline-block; min-width:6.5rem; padding:.1rem .45rem; border-radius:.35rem; font-size:.8rem; font-weight:700; background:#edf4f7; color:#143c5d; text-align:center; }
.counts-portsmouth .pompey-status-completed { background:#d7efe4; }
.counts-portsmouth .pompey-status-in-progress, .counts-portsmouth .pompey-status-funded, .counts-portsmouth .pompey-status-approved { background:#e8f4dc; }
.counts-portsmouth .pompey-status-delayed, .counts-portsmouth .pompey-status-cancelled { background:#fbe1cf; }
.counts-portsmouth .pompey-status-not-verified { background:#eee; color:#4b5d6b; }
.counts-portsmouth .pompey-bars { margin:.8rem 0 1rem; }
.counts-portsmouth .pompey-bar-row { display:grid; grid-template-columns:minmax(7rem,11rem) 1fr auto; gap:.5rem; align-items:center; margin:.25rem 0; font-size:.92rem; }
.counts-portsmouth .pompey-bar-track { background:#e6eef2; border-radius:.3rem; height:.9rem; overflow:hidden; }
.counts-portsmouth .pompey-bar { display:block; height:100%; background:#147d79; }
.counts-portsmouth .pompey-bar-value { font-weight:700; color:#113b5d; white-space:nowrap; }
.counts-portsmouth .pompey-quotes { list-style:none; padding:0; }
.counts-portsmouth .pompey-quotes blockquote { margin:.6rem 0 .2rem; padding-left:.8rem; border-left:4px solid #147d79; font-style:italic; }
@media (max-width:520px){ .counts-portsmouth .pompey-bar-row { grid-template-columns:6.5rem 1fr auto; font-size:.85rem; } }
.counts-portsmouth .pompey-filters label { display:flex; flex-direction:column; min-width:0; max-width:100%; } .counts-portsmouth .pompey-filters select { max-width:100%; width:100%; }

.community-evidence{max-width:1132px;margin:40px auto;padding:0 24px;color:#183e3c;font:16px/1.6 system-ui,sans-serif}.community-evidence h1{font-size:clamp(28px,4vw,44px);line-height:1.15}.community-evidence h2{font-size:28px;margin:28px 0 12px}.community-evidence h3{font-size:21px;margin:26px 0 12px}.community-evidence h4{font-size:17px;line-height:1.4;margin:0 0 12px}.community-evidence a{color:#075e55;text-decoration:underline;text-underline-offset:3px}.community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.community-card{padding:22px;border:1px solid #cddbd6;border-radius:16px;background:white;min-width:0}.community-number{font-size:36px;line-height:1.2;display:block}.community-card p{font-size:14px}.community-badge{display:inline-block;border-left:3px solid #7731bd;background:#f2ebfb;padding:3px 10px;font-weight:700;font-size:13px}.community-key{font-size:14px;color:#075e55}.community-key span{color:#825f24}.community-evidence details{border-top:1px solid #d5dedb;margin-top:14px;padding-top:12px}.community-evidence summary{cursor:pointer;font-weight:700}.community-evidence :focus-visible{outline:3px solid #b97800;outline-offset:4px}.community-table{overflow:auto}.community-table td,.community-table th{padding:12px;text-align:left;border-bottom:1px solid #ccd8d3}.community-table table{border-collapse:collapse;width:100%}.community-history svg{width:100%;height:auto;display:block}.community-history .community-card{margin:16px 0}.community-history .history-range{font-size:14px}.community-history caption{text-align:left}.community-history{scroll-margin-top:80px}@media(max-width:480px){.community-evidence{padding:0 16px}.community-card{padding:18px}}

.community-question { border: 1px solid #bdc7c6; border-radius: .5rem; padding: 1rem; margin: .75rem 0; }
.community-question > summary { cursor: pointer; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.community-question p { overflow-wrap: anywhere; }
.community-question table { min-width: 680px; }
.community-question :focus-visible { outline: 3px solid #b66b1b; outline-offset: 3px; }
.nc-site {
  --nc-ink: var(--nc-brand-ink, #173e38);
  --nc-muted: #516960;
  --nc-line: #d6dfd3;
  --nc-paper: #f8f8f1;
  color: var(--nc-ink);
  background: var(--nc-paper);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
.nc-site * {
  box-sizing: border-box;
}
.nc-site a {
  color: var(--nc-ink);
  text-underline-offset: 3px;
}
.nc-site a:hover {
  color: #8b580e;
}
.nc-site h1,
.nc-site h2,
.nc-site h3 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.16;
  letter-spacing: -0.025em;
  color: var(--nc-ink);
}
.nc-site h1 {
  font-size: clamp(36px, 5.2vw, 62px);
  max-width: 920px;
  margin: 14px 0 24px;
}
.nc-site h2 {
  font-size: clamp(27px, 3vw, 36px);
  margin: 0 0 25px;
}
.nc-site h3 {
  font-size: 25px;
  margin: 9px 0 16px;
}
.nc-site p {
  margin: 12px 0;
}
.nc-site section {
  margin: 48px 0;
}
.nc-body {
  max-width: 1220px;
  margin: auto;
  padding: 42px 28px 0;
}
.nc-intro {
  padding: 18px 0 38px;
  border-bottom: 1px solid var(--nc-line);
}
.nc-lead {
  font-size: clamp(18px, 2.3vw, 23px);
  max-width: 850px;
}
.nc-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 12px;
  font-weight: 800;
}
.nc-caption {
  font-size: 13px;
  color: var(--nc-muted);
}
.nc-statistics { padding-top: 22px; }
.nc-statistic-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: end; }
.nc-statistic-heading h2 { margin-bottom: 12px; }
.nc-statistic-value { font-size: clamp(30px, 5vw, 48px); font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
.nc-statistic-trend { border-bottom: 1px solid var(--nc-line); padding-bottom: 30px; }
.nc-statistic-trend > .nc-chart { margin-top: 24px; }
.nc-statistic-snapshots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.nc-statistic-snapshot { background: #fff; padding: 26px; border: 1px solid var(--nc-line); border-radius: 14px; min-width: 0; }
.nc-statistic-snapshot h3 { font-size: 23px; }
.nc-census-earlier { border-left: 3px solid var(--nc-ink); padding: 2px 16px; margin: 20px 0; background: var(--nc-paper); }
.nc-statistic-comparisons { width: 100%; border-collapse: collapse; font-size: 14px; }
.nc-statistic-comparisons caption { text-align: left; padding: 12px 0; color: var(--nc-muted); }
.nc-statistic-comparisons th, .nc-statistic-comparisons td { vertical-align: top; padding: 12px; border-bottom: 1px solid var(--nc-line); text-align: left; }
.nc-statistic-comparisons th:first-child { min-width: 130px; }
.nc-statistic-comparisons td { min-width: 100px; }
.nc-statistic-all-places, .nc-statistic-workings { margin-top: 14px; }
.nc-statistics-next a { display: block; padding: 13px 0; border-bottom: 1px solid var(--nc-line); font-weight: 700; }
@media (max-width: 700px) {
  .nc-statistic-heading, .nc-statistic-snapshots { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .nc-statistic-snapshot { padding: 20px; }
  .nc-statistic-comparisons th, .nc-statistic-comparisons td { padding: 10px 6px; }
}
.nc-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  background: var(--nc-brand-ink, #173f36);
  background-image: linear-gradient(115deg, #ffffff06, #00000018);
  color: #fff6d8;
  padding: 26px max(24px, calc((100vw - 1164px) / 2));
  font-family: Arial, Helvetica, sans-serif;
}
.nc-header > a:last-child {
  color: var(--nc-brand-accent, #f6d279);
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
}
.nc-brand {
  display: flex;
  flex: 0 1 360px;
  min-width: 0;
  align-items: center;
  color: #fff6d8;
  text-decoration: none;
}
.nc-brand img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 440 / 145;
  object-fit: contain;
}
.nc-nav {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  white-space: nowrap;
  border-bottom: 1px solid var(--nc-line);
  padding: 16px max(24px, calc((100vw - 1164px) / 2));
  scrollbar-width: thin;
  background: #fff;
}
.nc-nav a {
  display: inline-block;
  flex: none;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 15px;
  border: 1px solid transparent;
  border-radius: 24px;
}
.nc-nav a[aria-current="page"] {
  background: var(--nc-ink);
  color: #fff;
  border-color: var(--nc-ink);
}
.nc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 20px;
  align-items: start;
}
.nc-metric,
.nc-card,
.nc-chart {
  background: #fff;
  border: 1px solid var(--nc-line);
  border-radius: 15px;
  padding: 25px 27px;
  overflow-wrap: anywhere;
  box-shadow: 0 2px 3px #1d4e3206;
}
.nc-metric > strong {
  font-size: 38px;
  line-height: 1.2;
  letter-spacing: -0.035em;
  display: block;
  margin: 18px 0 12px;
}
.nc-metric .nc-eyebrow {
  min-height: 36px;
  margin: 0;
}
.nc-site details {
  margin-top: 18px;
  border-top: 1px solid var(--nc-line);
  padding-top: 14px;
  font-size: 14px;
}
.nc-site summary {
  font-weight: 700;
  cursor: pointer;
  color: var(--nc-ink);
  min-height: 30px;
}
.nc-site details p {
  line-height: 1.6;
}
.nc-scope,
.nc-callout {
  padding: 22px 26px;
  margin: 34px 0;
  background: #edf1e6;
  border-left: 4px solid var(--nc-brand-accent, #b08423);
  border-radius: 0 15px 15px 0;
}
.nc-scope p {
  margin: 5px 0 10px;
}
.nc-charts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr));
  gap: 20px;
}
.nc-history-plot {
  --nc-plot-height: clamp(180px, 24vw, 240px);
  display: grid;
  grid-template-columns: 5em minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 14px;
  margin: 30px 0 22px;
  color: var(--nc-ink);
  font-size: 12px;
  font-family: Arial, Helvetica, sans-serif;
}
.nc-history-values {
  position: relative;
  height: var(--nc-plot-height);
  color: #456156;
  line-height: 1.3;
}
.nc-history-values span {
  position: absolute;
  right: 0;
  transform: translateY(-50%);
  white-space: nowrap;
}
.nc-history-plot svg {
  display: block;
  width: 100%;
  height: var(--nc-plot-height);
  margin: 0;
  overflow: visible;
}
.nc-history-periods {
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #456156;
  line-height: 1.4;
}
.nc-history-periods span {
  max-width: calc(50% - 5px);
}
.nc-history-periods span:last-child {
  text-align: right;
}
.nc-table-wrap {
  overflow: auto;
  max-width: 100%;
  margin: 20px 0;
  border: 1px solid var(--nc-line);
  border-radius: 12px;
  background: #fff;
}
.nc-site table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
  text-align: left;
  line-height: 1.5;
}
.nc-site th,
.nc-site td {
  padding: 13px 15px;
  border-bottom: 1px solid #e6ebe1;
  vertical-align: top;
}
.nc-site td {
  text-align: right;
}
.nc-site th {
  font-weight: 600;
}
.nc-site thead {
  background: #eaf0e7;
}
.nc-site caption {
  text-align: left;
  padding: 14px 15px;
  font-size: 13px;
  color: #4e665b;
}
.nc-current {
  background: #edf4d7;
}
.nc-country {
  background: #edf1f4;
}
.nc-comparison-discovery {
  font-weight: 700;
}
.nc-comparison-peers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 14px;
  padding: 0;
  list-style: none;
  margin: 24px 0;
}
.nc-comparison-peers li {
  padding: 15px 18px;
  border: 1px solid var(--nc-line);
  border-radius: 12px;
  background: #fff;
}
.nc-comparison-peers a {
  font-weight: 700;
}
.nc-comparison-peers span,
.nc-comparison-scope,
.nc-comparison-gap {
  display: block;
  margin-top: 5px;
  font-weight: 400;
  font-size: 13px;
  color: var(--nc-muted);
}
.nc-comparison-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 28px 0;
  font-size: 14px;
}
.nc-comparison-table {
  table-layout: fixed;
}
.nc-comparison-table th:first-child {
  width: 46%;
}
.nc-comparison-table th,
.nc-comparison-table td {
  overflow-wrap: anywhere;
}
.nc-comparison-table thead th:last-child {
  text-align: right;
}
.nc-comparison-gap {
  text-align: left;
}
.nc-ward-map {
  margin: 25px 0;
  padding: 20px;
  border: 1px solid var(--nc-line);
  border-radius: 18px;
  background: #fff;
}
.nc-ward-map svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 450px;
  color: var(--nc-ink);
}
.nc-ward-map a:hover path,
.nc-ward-map a:focus path {
  fill: var(--nc-brand-accent, #d6b577);
  fill-opacity: 0.85;
  stroke-width: 2.5px;
}
.nc-ward-map figcaption {
  margin-top: 16px;
  font-size: 13px;
  color: var(--nc-muted);
}
.nc-ward-contrasts .nc-eyebrow {
  color: var(--nc-ink);
}
.nc-ward-contrasts h3 {
  font-size: 35px;
}
.nc-response-links .nc-caption {
  display: block;
  margin-top: 9px;
  font-weight: 400;
}
.nc-response-links table {
  min-width: 650px;
}
.nc-response-links td {
  text-align: left;
}
.nc-response-links ul {
  padding-left: 16px;
  margin: 0;
}
.nc-depth-coverage {
  border-top: 1px solid var(--nc-line);
  padding-top: 36px;
}
.nc-trend-finding {
  padding-bottom: 10px;
}
.nc-trend-finding > p:first-child {
  font-size: 20px;
  line-height: 1.5;
}
.nc-steps {
  padding-left: 22px;
}
.nc-steps li {
  padding: 8px 0;
}
.nc-steps p {
  margin: 3px 0;
  font-size: 15px;
}
.nc-plan-summary {
  background: #eaf0e7;
  border-radius: 18px;
  padding: 25px 25px 25px 48px;
  columns: 2;
  gap: 30px;
}
.nc-plan-summary li {
  padding: 8px 0;
  break-inside: avoid;
}
.nc-page-footer {
  border-top: 1px solid var(--nc-line);
  padding: 30px 0 40px;
  margin-top: 55px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 25px;
  font-size: 13px;
}
.nc-page-footer p {
  flex-basis: 100%;
  font-weight: 700;
}
.nc-source {
  padding: 28px 0;
  border-bottom: 1px solid var(--nc-line);
  max-width: 900px;
}
.nc-source h3 {
  font-size: 23px;
}
.nc-source code {
  display: block;
  word-break: break-all;
  font-size: 10px;
  color: #52675d;
}
.nc-source li {
  margin: 12px 0;
}
.nc-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 24px 0;
}
.nc-downloads a {
  padding: 13px 18px;
  background: var(--nc-ink);
  color: #fff;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}
.nc-site dt {
  font-weight: 700;
  margin-top: 12px;
}
.nc-site dd {
  margin: 3px 0;
}
.nc-site :target {
  scroll-margin-top: 30px;
}
.nc-site :focus-visible,
.nc-header :focus-visible {
  outline: 3px solid #c27c13;
  outline-offset: 4px;
}
.nc-directory {
  max-width: 1200px;
  margin: auto;
  padding: 30px 24px;
}
.nc-directory h1 {
  font-family: Georgia, serif;
  font-size: 48px;
  margin: 24px 0;
}
.nc-directory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 15px;
  margin: 30px 0;
}
.nc-directory-grid a {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 15px;
  background: #fff;
  border: 1px solid #d6dfd3;
  border-radius: 14px;
  text-decoration: none;
  color: #174438;
  font-weight: 700;
}
.nc-directory-grid img {
  width: 54px;
  height: 54px;
}
.nc-directory-grid small {
  display: block;
  font-size: 11px;
  font-weight: 400;
  margin-top: 5px;
  color: #52675d;
}
.nc-directory-country {
  margin-top: 40px;
}
.nc-directory-country h2 {
  font:
    32px Georgia,
    serif;
}
@media (max-width: 650px) {
  .nc-header {
    padding: 18px 16px;
    gap: 12px;
  }
  .nc-brand {
    flex: 0 1 calc(100% - 90px);
    width: calc(100% - 90px);
    max-width: 270px;
    min-width: 240px;
  }
  .nc-header > a:last-child {
    font-size: 12px;
    margin-left: auto;
  }
  .nc-body {
    padding: 26px 20px 0;
  }
  .nc-nav {
    padding: 12px 18px;
  }
  .nc-metric,
  .nc-card,
  .nc-chart {
    padding: 23px 22px;
  }
  .nc-site section {
    margin: 38px 0;
  }
  .nc-plan-summary {
    columns: 1;
  }
  .nc-site th,
  .nc-site td {
    padding: 11px 10px;
  }
  .nc-directory h1 {
    font-size: 36px;
  }
  .nc-ward-map {
    padding: 12px;
  }
}

/* Shared by static Counts and UK Facts; labels remain CSS pixels on narrow screens. */
.nc-interactive-history [hidden] { display: none !important; }
.nc-history-controls { margin: 1rem 0; }
.nc-history-presets { display: flex; flex-wrap: wrap; gap: .45rem; }
.nc-history-presets button { font: inherit; font-size: .875rem; font-weight: 650; min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--nc-accent, #15594c); color: var(--nc-accent, #15594c); background: white; border-radius: 8px; cursor: pointer; }
.nc-history-presets button[aria-pressed="true"] { background: var(--nc-accent, #15594c); color: white; }
.nc-history-presets button:disabled { opacity: .46; cursor: not-allowed; }
.nc-history-controls :is(button, select, input):focus-visible, .nc-history-explore input:focus-visible { outline: 3px solid #db9700; outline-offset: 3px; }
.nc-history-dates { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin-top: .8rem; }
.nc-history-dates label { display: flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 600; min-width: 0; }
.nc-history-dates select { max-width: 100%; min-height: 44px; padding: .5rem; border: 1px solid #a5b4b0; border-radius: 7px; background: white; color: inherit; font: inherit; }
.nc-history-comparisons { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1rem; margin-bottom: 1rem; }
.nc-history-comparisons label { display: grid; gap: .35rem; min-width: 0; font-size: .875rem; font-weight: 650; }
.nc-history-comparisons select { max-width: 100%; min-height: 44px; padding: .5rem; border: 1px solid #a5b4b0; border-radius: 7px; background: white; color: inherit; font: inherit; }
.nc-history-legend { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; font-size: .875rem; }
.nc-history-legend > span { display: inline-flex; align-items: center; gap: .4rem; }
.nc-history-legend i { display: inline-block; width: 1.7rem; flex-shrink: 0; border-top: 3px solid currentColor; }
.nc-history-legend .nc-history-benchmark-key { border-top: 3px dashed #9b5700; }
.nc-history-benchmark-line { stroke: #9b5700; }
.nc-history-benchmark-isolated, .nc-history-benchmark-marker { color: #9b5700; }
.nc-history-mode-label { font-size: .875rem; font-weight: 650; }
.nc-interactive-history .nc-history-plot { position: relative; margin-top: 2.4rem; margin-bottom: 3.4rem; }
.nc-history-canvas { position: relative; min-width: 0; height: var(--nc-plot-height); }
.nc-interactive-history .nc-history-plot svg { display: block; overflow: visible; touch-action: pan-y; }
.nc-interactive-history .nc-history-values { pointer-events: none; }
.nc-history-isolated, .nc-history-crosshair, .nc-history-marker, .nc-history-tooltip { pointer-events: none; }
.nc-history-isolated { position: absolute; inset: 0; }
.nc-history-isolated span, .nc-history-marker { position: absolute; width: 8px; height: 8px; transform: translate(-50%, -50%); border-radius: 50%; background: currentColor; }
.nc-history-marker { width: 12px; height: 12px; border: 2px solid white; box-shadow: 0 0 0 1px currentColor; z-index: 2; }
.nc-history-crosshair { position: absolute; top: 0; bottom: 0; border-left: 1px dashed currentColor; opacity: .7; }
.nc-history-tooltip { position: absolute; top: -1rem; transform: translate(-50%, -100%); width: max-content; max-width: min(250px, 100%); padding: .55rem .7rem; background: #102f30; color: white; border-radius: 6px; font-size: .875rem; line-height: 1.35; box-shadow: 0 2px 6px #0003; z-index: 3; }
.nc-history-tooltip[data-edge="left"] { transform: translate(0, -100%); }
.nc-history-tooltip[data-edge="right"] { transform: translate(-100%, -100%); }
.nc-history-window-finding { font-size: .95rem; }
.nc-history-explore { display: grid; gap: .5rem; margin: .8rem 0 1.25rem; }
.nc-history-explore label { display: grid; gap: .3rem; font-weight: 600; font-size: .875rem; }
.nc-history-explore input { width: 100%; min-height: 44px; margin: 0; accent-color: var(--nc-accent, #15594c); touch-action: pan-y; }
.nc-history-explore output { font-size: .95rem; font-weight: 650; min-height: 1.5em; }
.nc-history-explore .nc-caption { margin: 0; }
.nc-history-full-context { margin-top: .7rem; }
.nc-history-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 420px) {
  .nc-history-presets { gap: .35rem; }
  .nc-history-presets button { padding: .45rem .55rem; }
  .nc-history-dates { display: grid; grid-template-columns: 1fr; gap: .4rem; }
  .nc-history-dates label { display: grid; grid-template-columns: 2.25rem 1fr; }
  .nc-history-tooltip { font-size: .8rem; }
  .nc-history-comparisons { display: grid; grid-template-columns: 1fr; }
}
/* Long comparison names (e.g. NHS trusts) must not widen the page on phones. */
.nc-interactive-history select { max-width:100%; min-width:0; text-overflow:ellipsis; }

.area-context { --nc-ink: var(--nc-brand-ink, #173e38); --nc-line: #d6dfd3; --nc-muted: #516960; }
.area-context > section { margin: 2.5rem 0; }
.area-context .nc-chart { margin-block: 1.5rem; }
.area-context .context-census { border: 1px solid var(--nc-line); border-radius: 14px; padding: 1rem 1.25rem; margin: 1rem 0; background: white; }
.area-context .context-census summary { cursor: pointer; font-weight: 750; padding-block: .5rem; }
.area-context .nc-table-wrap { max-width: 100%; overflow-x: auto; }
.area-context table { width: 100%; border-collapse: collapse; }
.area-context th, .area-context td { padding: .7rem .6rem; text-align: left; border-bottom: 1px solid var(--nc-line); vertical-align: top; }
.area-context th { min-width: 8rem; }
.area-context .context-gaps { margin: 2rem 0; border-top: 1px solid var(--nc-line); padding-top: 1rem; }
.area-context .context-gaps summary { cursor: pointer; font-weight: 700; }
.area-context :is(a, summary, button):focus-visible { outline: 3px solid #bd820c; outline-offset: 4px; }
.area-context .context-note { border-left: 4px solid #b48b32; padding: .8rem 1.2rem; background: #f5f0df; }
.area-context .context-summary { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.area-context .context-summary article { border: 1px solid var(--nc-line); border-radius: 14px; padding: 1.25rem; background: white; }
.area-context .context-summary strong { display: block; font-size: 1.75rem; }
.area-context .context-chart-choice { margin: 1rem 0; padding: 1rem; border: 1px solid var(--nc-line); border-radius: 14px; }
.area-context .context-chart-choice > summary { cursor: pointer; font-weight: 700; }
.area-context .context-region { margin: 1.5rem 0; }
@media (max-width: 500px) { .area-context th, .area-context td { font-size: .9rem; } .area-context .context-census { padding: .75rem; } }

.area-context .context-share-track { display:block; width:100%; min-width:5rem; height:.45rem; background:#e5ebe5; border-radius:1rem; margin-top:.4rem; overflow:hidden; }
.area-context .context-share-track > span { display:block; height:100%; background:var(--nc-brand-ink,#175849); border-radius:1rem; }
