/* v5.4: scoped narrative, civic group, mobile map-first. Do not restyle unrelated chrome. */

/* --- Home Richland spotlight --- */
.spot54-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.spot54-bars .dek{margin:0 0 12px}
.spot54 .local-voice52{margin:0}
.spot54-cta{margin:6px 0 0}
.spot54-cta a{font-weight:700}

/* --- Two-workforces narrative (never inherit site footer) --- */
.story54{
  background:#fff;
  color:#14171f;
  border:1px solid #dcd8cf;
  border-radius:12px;
  padding:20px 22px;
  margin:0 0 22px;
}
.story54 .story54-kicker{
  font:700 12px Inter,system-ui,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#454c5e;
  margin:0 0 10px;
  background:transparent;
}
.story54 p{
  color:#14171f;
  background:transparent;
  font-size:17px;
  line-height:1.55;
  margin:0 0 12px;
}
.story54 h3{
  color:#0b1020;
  background:transparent;
  font-size:18px;
  margin:18px 0 8px;
}
.story54 blockquote{
  margin:14px 0;
  padding:0;
  border:0;
  background:transparent;
}
.story54 blockquote p{
  font-size:20px;
  line-height:1.4;
  color:#14171f;
  margin:0;
}
.story54 .lv52-attr,
.story54 p.lv52-attr{
  background:#fff;
  color:#303747;
  padding:0;
  margin:8px 0 0;
  font-size:14px;
  line-height:1.45;
}
.story54 .lv52-attr a,
.story54 .lv52-attr a:visited{
  background:transparent;
  color:#0b4bb3;
}
.story54 .lv52-attr a:hover,
.story54 .lv52-attr a:focus,
.story54 .lv52-attr a:focus-visible{
  color:#082f70;
  text-decoration:underline;
  background:transparent;
  outline:3px solid #0b4bb3;
  outline-offset:2px;
}
.story54 .story54-ask,
.story54 .story54-known{background:transparent;color:#14171f}
.story54 .story54-ask ul{margin:0;padding-left:1.2em}
.story54 .story54-ask li{margin:6px 0}
.story54 .story54-ask a{color:#0b4bb3;font-weight:700}
.story54 .story54-ask a:hover,
.story54 .story54-ask a:focus,
.story54 .story54-ask a:focus-visible{color:#082f70;outline:3px solid #0b4bb3;outline-offset:2px}

/* Home quote attribution stays on a white card */
.local-voice52 .lv52-kicker{color:#454c5e;background:transparent}
.local-voice52 p.lv52-attr,
.home-voice53 p.lv52-attr{
  background:#fff;
  color:#303747;
}
.local-voice52 p.lv52-attr a,
.home-voice53 p.lv52-attr a,
.local-voice52 p.lv52-attr a:visited,
.home-voice53 p.lv52-attr a:visited{color:#0b4bb3;background:transparent}
.local-voice52 p.lv52-attr a:hover,
.local-voice52 p.lv52-attr a:focus,
.local-voice52 p.lv52-attr a:focus-visible,
.home-voice53 p.lv52-attr a:hover,
.home-voice53 p.lv52-attr a:focus,
.home-voice53 p.lv52-attr a:focus-visible{
  color:#082f70;
  background:transparent;
  outline:3px solid #0b4bb3;
  outline-offset:2px;
}

/* --- Hyperion civic group --- */
.civic54{
  background:#fff;
  color:#14171f;
  border:1px solid #dcd8cf;
  border-left:4px solid #0b1020;
  border-radius:12px;
  padding:16px 18px;
  margin:16px 0;
}
.civic54 h2{
  margin:0 0 12px;
  font-size:22px;
  color:#0b1020;
  background:transparent;
}
.civic54 h3{
  margin:14px 0 6px;
  font-size:17px;
  color:#0b1020;
  background:transparent;
}
.civic54 p,
.civic54 li{color:#14171f;background:transparent}
.civic54 ul{margin:0 0 10px;padding-left:1.2em}
.civic54 li{margin:6px 0}
.civic54 a,
.civic54 a:visited{color:#0b4bb3;background:transparent}
.civic54 a:hover,
.civic54 a:focus,
.civic54 a:focus-visible{
  color:#082f70;
  background:transparent;
  outline:3px solid #0b4bb3;
  outline-offset:2px;
}
.civic54 .civic54-copy,
.civic54 button.qb{
  background:#ffb020;
  color:#0b1020;
  border:0;
  border-radius:999px;
  min-height:48px;
  padding:10px 18px;
  font:800 16px Inter,system-ui,sans-serif;
  cursor:pointer;
}
.civic54 .civic54-copy:hover,
.civic54 .civic54-copy:focus,
.civic54 .civic54-copy:focus-visible,
.civic54 button.qb:hover,
.civic54 button.qb:focus,
.civic54 button.qb:focus-visible,
.civic54 button.qb-big:hover,
.civic54 button.qb-big:focus,
.civic54 button.qb-big:focus-visible{
  background:#c67800 !important;
  color:#0b1020 !important;
  outline:3px solid #0b1020;
  outline-offset:2px;
}
.civic54 .civic54-gap{
  margin:16px 0 0;
  padding-top:12px;
  border-top:1px solid #dcd8cf;
  color:#303747;
  font-size:15px;
}
.civic54 .civic54-actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 0}

/* --- Mobile map-first on /map/ --- */
@media (max-width:700px){
  body.map-page51 header.hero>.wrap{
    display:flex;
    flex-direction:column;
  }
  body.map-page51 header.hero .top{display:contents}
  body.map-page51 .map-intro54{order:1}
  body.map-page51 header.hero #msq{order:2}
  body.map-page51 header.hero .mapgrid{order:3;width:100%;max-width:100%;min-width:0;margin-top:10px}
  body.map-page51 header.hero .mapgrid #map{min-height:52vh}
  body.map-page51 header.hero #scale{order:4;margin-top:12px}
  body.map-page51 header.hero #fstatus{order:5}
  body.map-page51 header.hero #ftags{order:6}
  body.map-page51 header.hero .legend{order:7}
  body.map-page51 header.hero .map-att{order:8}
  body.map-page51 header.hero .mapskip{order:9}
  body.map-page51 header.hero #who-pays-grid{order:10}
  body.map-page51 header.hero #conf-note{order:11}
  .spot54-grid{display:flex;flex-direction:column;gap:16px}
}

/* Top-five disclosure looks like a control, sits after the map */
@media (max-width:900px){
  .chgrid{display:flex;flex-direction:column}
  .chgrid .chwrap{order:0}
  .chgrid .chtop-d,
  .chgrid #chtop,
  .chgrid .chtop{order:2}
  .chtop-d summary{
    background:#fff;
    color:#0b1020;
    border:1px solid #454c5e;
    border-radius:8px;
    padding:10px 14px;
    font-weight:700;
    min-height:44px;
    display:flex;
    align-items:center;
    cursor:pointer;
  }
  .chtop-d summary::after{content:" \25be";font-weight:400;margin-left:6px}
  .chtop-d summary:hover,
  .chtop-d summary:focus,
  .chtop-d summary:focus-visible{
    outline:3px solid #0b4bb3;
    outline-offset:2px;
  }
}
