/* Norfolk Living Guide - format fix pack 2026-05-06.
   Fixes two site-wide bugs introduced by older lead-in/trust-strip styles:
   1. <strong> as first-child of <p> was rendered 11px uppercase letterspaced -
      meant for "Top tip:" callouts, was killing bold numbers in body copy.
   2. .nlg-trust-strip items had label and value display:inline with no separator,
      so "Data sources" + "HM Land Registry..." merged into one run-on string.
   Loaded site-wide via mu-plugin enqueue at priority 999 so it beats design-overrides.
*/

/* === STRONG IN BODY: restore normal bold rendering === */
html body.nlg-narrative .entry-content p > strong:first-child,
html body.nlg-narrative .entry-content li > strong:first-child,
html body.nlg-narrative .entry-content p strong,
html body.nlg-narrative .entry-content li strong{
  font-size: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  color: inherit !important;
}
/* Preserve the lead-in callout styling ONLY when paragraph belongs to a callout */
html body.nlg-narrative .entry-content .nlg-callout p > strong:first-child,
html body.nlg-narrative .entry-content .nlg-tip p > strong:first-child,
html body.nlg-narrative .entry-content .nlg-aside p > strong:first-child,
html body.nlg-narrative .entry-content .nlg-warning p > strong:first-child,
html body.nlg-narrative .entry-content .nlg-note p > strong:first-child{
  color: var(--accent-deep, #6E2A2A) !important;
}

/* === TRUST STRIP: stack label above value, with separator rule === */
html body.nlg-narrative .entry-content .nlg-trust-strip,
.nlg-trust-strip{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 0 1.6em !important;
  border-top: 1px solid rgba(26,26,26,.18) !important;
  border-bottom: 1px solid rgba(26,26,26,.18) !important;
  padding: 1em 0 !important;
  margin: 1.6em 0 2.2em !important;
  background: transparent !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #1a1a1a !important;
}
html body.nlg-narrative .entry-content .nlg-trust-strip .nlg-trust-item,
.nlg-trust-strip .nlg-trust-item{
  display: block !important;
  padding: 0.2em 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
html body.nlg-narrative .entry-content .nlg-trust-strip .nlg-trust-label,
.nlg-trust-strip .nlg-trust-label{
  display: block !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  font-weight: 600 !important;
  margin-bottom: 0.25em !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-style: normal !important;
}
html body.nlg-narrative .entry-content .nlg-trust-strip .nlg-trust-value,
.nlg-trust-strip .nlg-trust-value{
  display: block !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-style: normal !important;
  line-height: 1.45 !important;
}
html body.nlg-narrative .entry-content .nlg-trust-strip .nlg-trust-value a,
.nlg-trust-strip .nlg-trust-value a{
  color: #6E2A2A !important;
  text-decoration: underline !important;
}

/* === LEAD PARAGRAPH: keep italic feel but ensure bold numbers are bold not tiny === */
html body.nlg-narrative .entry-content p.nlg-lead strong{
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: inherit !important;
}

/* === Q1 CHART HEADINGS: hold our intended sans-serif over Kadence/Playfair === */
html body.nlg-narrative .entry-content .nlg-q1 .chart h4,
.nlg-q1 .chart h4{
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  margin: 0 0 0.9em !important;
}

/* Chart numbers right-aligned consistently */
html body.nlg-narrative .entry-content .nlg-q1 .bar-num,
.nlg-q1 .bar-num{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1a1a !important;
}
html body.nlg-narrative .entry-content .nlg-q1 .bar-label,
.nlg-q1 .bar-label{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1a1a !important;
}
html body.nlg-narrative .entry-content .nlg-q1 .chart-foot,
.nlg-q1 .chart-foot{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-style: normal !important;
}

/* Scenario boxes: tidy up dl labels */
html body.nlg-narrative .entry-content .nlg-q1 .scenario h4,
.nlg-q1 .scenario h4{
  font-family: 'Source Serif 4', 'Newsreader', Georgia, serif !important;
  font-size: 1.05em !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1a1a !important;
  margin: 0 0 .6em !important;
}
html body.nlg-narrative .entry-content .nlg-q1 .scenario dt,
.nlg-q1 .scenario dt{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #5b5b5b !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body.nlg-narrative .entry-content .nlg-q1 .scenario dd,
.nlg-q1 .scenario dd{
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Editor's note signoff line: small caps but proper, no weird shrink */
html body.nlg-narrative .entry-content .nlg-q1 .editor-note .signoff,
.nlg-q1 .editor-note .signoff{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #5b5b5b !important;
  font-weight: 500 !important;
  font-style: normal !important;
  margin-top: 0.6em !important;
}

/* === STATS ROW: town-guide stats row stacking fix === */
/* The pre-existing town content uses .nlg-stats and .nlg-stats-row containers.
   Without explicit display rules they render block, stacking the cards vertically.
   Force flex-row with wrap, give each card a clean card frame. */
html body.nlg-narrative .entry-content .nlg-stats,
html body.nlg-narrative .entry-content .nlg-stats-row,
.nlg-stats, .nlg-stats-row{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 1em !important;
  margin: 1.4em 0 1.8em !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-stats > .nlg-stat,
html body.nlg-narrative .entry-content .nlg-stats-row > .nlg-stat,
.nlg-stats > .nlg-stat, .nlg-stats-row > .nlg-stat{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 0.9em 1em !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(26,26,26,.18) !important;
  border-radius: 0 !important;
  text-align: left !important;
}
html body.nlg-narrative .entry-content .nlg-stats .nlg-stat-num,
html body.nlg-narrative .entry-content .nlg-stats-row .nlg-stat-num,
.nlg-stats .nlg-stat-num, .nlg-stats-row .nlg-stat-num{
  display: block !important;
  font-family: 'Source Serif 4', 'Newsreader', Georgia, serif !important;
  font-size: 1.25em !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 0.15em !important;
  line-height: 1.15 !important;
}
html body.nlg-narrative .entry-content .nlg-stats .nlg-stat-label,
html body.nlg-narrative .entry-content .nlg-stats-row .nlg-stat-label,
.nlg-stats .nlg-stat-label, .nlg-stats-row .nlg-stat-label{
  display: block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* Empty .nlg-guide divs left as siblings of stats - hide */
html body.nlg-narrative .entry-content .nlg-guide:empty,
.nlg-guide:empty{ display: none !important; }

/* === SCENARIO CARDS: ensure they style outside the .nlg-q1 wrapper too === */
html body.nlg-narrative .entry-content .scenario,
.scenario{
  border: 1px solid rgba(26,26,26,.18) !important;
  padding: 1.2em 1.4em !important;
  margin: 1em 0 !important;
  background: #fff !important;
}
html body.nlg-narrative .entry-content .scenario h4,
.scenario h4{
  font-family: 'Source Serif 4', 'Newsreader', Georgia, serif !important;
  font-size: 1.05em !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1a1a !important;
  margin: 0 0 .6em !important;
}
html body.nlg-narrative .entry-content .scenario dl,
.scenario dl{
  display: grid !important;
  grid-template-columns: max-content 1fr !important;
  gap: 0.2em 1.2em !important;
  margin: 0 !important;
}
html body.nlg-narrative .entry-content .scenario dt,
.scenario dt{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #5b5b5b !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body.nlg-narrative .entry-content .scenario dd,
.scenario dd{
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
}

/* === EDITOR NOTE: ensure styling outside .nlg-q1 wrapper === */
html body.nlg-narrative .entry-content .editor-note,
.editor-note{
  border-top: 1px solid rgba(26,26,26,.18) !important;
  border-bottom: 1px solid rgba(26,26,26,.18) !important;
  padding: 1.2em 0 !important;
  margin: 1.6em 0 !important;
  font-family: 'Source Serif 4', 'Newsreader', Georgia, serif !important;
  font-size: 1.05em !important;
  line-height: 1.6 !important;
  font-style: italic !important;
  background: transparent !important;
}
html body.nlg-narrative .entry-content .editor-note .signoff,
.editor-note .signoff{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #5b5b5b !important;
  font-weight: 500 !important;
  font-style: normal !important;
  margin-top: 0.6em !important;
}

/* === CHART STYLES outside .nlg-q1 wrapper - mirror the q1 chart CSS === */
html body.nlg-narrative .entry-content .chart,
.chart{
  margin: 1.6em 0 1.2em !important;
}
html body.nlg-narrative .entry-content .chart h4,
.chart h4{
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  margin: 0 0 0.9em !important;
}
html body.nlg-narrative .entry-content .chart .bar-row,
.chart .bar-row{
  display: grid !important;
  grid-template-columns: 9.5em 1fr 5em !important;
  gap: 0.6em !important;
  align-items: center !important;
  margin: 0.32em 0 !important;
  font-variant-numeric: tabular-nums !important;
}
html body.nlg-narrative .entry-content .chart .bar-track,
.chart .bar-track{
  position: relative !important;
  height: 18px !important;
  background: rgba(110,42,42,.07) !important;
  border: 1px solid rgba(26,26,26,.18) !important;
  overflow: hidden !important;
}
html body.nlg-narrative .entry-content .chart .bar-fill,
.chart .bar-fill{
  position: absolute !important;
  top: 0 !important; bottom: 0 !important; left: 0 !important;
  background: #6E2A2A !important;
}
html body.nlg-narrative .entry-content .chart .bar-fill.neg,
.chart .bar-fill.neg{ background: #7A6A2E !important; }
html body.nlg-narrative .entry-content .chart .bar-fill.pos,
.chart .bar-fill.pos{ background: #4F6A4A !important; }
html body.nlg-narrative .entry-content .chart .bar-num,
.chart .bar-num{
  font-family: Inter, system-ui, sans-serif !important;
  text-align: right !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1a1a !important;
}
html body.nlg-narrative .entry-content .chart .bar-label,
.chart .bar-label{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1a1a !important;
}
html body.nlg-narrative .entry-content .chart .chart-foot,
.chart .chart-foot{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  color: #5b5b5b !important;
  font-style: normal !important;
  margin-top: 0.6em !important;
  border-top: 1px solid rgba(26,26,26,.18) !important;
  padding-top: 0.5em !important;
}

/* === POSTCODE CHIP: hide on any v2-augmented post (which has the trust strip
   already showing area metadata); also hide site-wide since the new lead
   paragraphs always state Norwich distance + price band, making the chip
   redundant.  CSS-only hide is safe because PHP-FPM opcache holds the legacy
   filter and we cannot force it to refresh from this end. */
html body.nlg-narrative .entry-content .nlg-postcode-chip,
.nlg-postcode-chip{
  display: none !important;
}

/* === AREA RATINGS: convert to inline grid (label | score) === */
html body.nlg-narrative .entry-content .nlg-ratings,
.nlg-ratings{
  margin: 1.6em 0 1.8em !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body.nlg-narrative .entry-content .nlg-ratings > h4,
.nlg-ratings > h4{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  margin: 0 0 0.8em !important;
}
html body.nlg-narrative .entry-content .nlg-rating-row,
.nlg-rating-row{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 0.8em !important;
  align-items: center !important;
  padding: 0.4em 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(26,26,26,.10) !important;
  font-variant-numeric: tabular-nums !important;
}
/* Hide the empty rating bar - the score speaks for itself */
html body.nlg-narrative .entry-content .nlg-rating-bar,
.nlg-rating-bar{ display: none !important; }
html body.nlg-narrative .entry-content .nlg-rating-row:last-child,
.nlg-rating-row:last-child{ border-bottom: 0 !important; }
html body.nlg-narrative .entry-content .nlg-rating-label,
.nlg-rating-label{
  display: block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
/* Bar hidden - the previous rule earlier in the file already handles display:none.
   The fill width was never set anyway, so the bar was always empty. */
html body.nlg-narrative .entry-content .nlg-rating-fill,
.nlg-rating-fill{
  display: none !important;
  position: absolute !important;
  top: 0 !important; bottom: 0 !important; left: 0 !important;
  background: #6E2A2A !important;
  width: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-rating-score,
.nlg-rating-score{
  display: block !important;
  text-align: right !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* === PROS / CONS: replace + / – markers with proper check / cross === */
html body.nlg-narrative .entry-content .nlg-pros li::before,
.nlg-pros li::before{
  content: "\2714" !important; /* heavy check */
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #4F6A4A !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  top: 0.3rem !important;
}
html body.nlg-narrative .entry-content .nlg-cons li::before,
.nlg-cons li::before{
  content: "\2716" !important; /* heavy multiplication x */
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #a0322a !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  top: 0.3rem !important;
}

/* Pros/Cons headings: small caps with accent */
html body.nlg-narrative .entry-content .nlg-pros > h4,
html body.nlg-narrative .entry-content .nlg-cons > h4,
.nlg-pros > h4, .nlg-cons > h4{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 0.6em !important;
}
html body.nlg-narrative .entry-content .nlg-pros > h4,
.nlg-pros > h4{ color: #4F6A4A !important; }
html body.nlg-narrative .entry-content .nlg-cons > h4,
.nlg-cons > h4{ color: #a0322a !important; }

/* === BEST FOR list (any flavour) === */
html body.nlg-narrative .entry-content .nlg-bestfor > h4,
.nlg-bestfor > h4{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  margin: 0 0 0.6em !important;
}
html body.nlg-narrative .entry-content .nlg-bestfor ul,
.nlg-bestfor ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-bestfor li,
.nlg-bestfor li{
  position: relative !important;
  padding: 0.3em 0 0.3em 1.6em !important;
  border-bottom: 1px solid rgba(26,26,26,.08) !important;
  font-size: 0.97rem !important;
  line-height: 1.55 !important;
}
html body.nlg-narrative .entry-content .nlg-bestfor li:last-child,
.nlg-bestfor li:last-child{ border-bottom: 0 !important; }
html body.nlg-narrative .entry-content .nlg-bestfor li::before,
.nlg-bestfor li::before{
  content: "\2022" !important;
  position: absolute !important;
  left: 0.3rem !important;
  top: 0.3rem !important;
  color: #6E2A2A !important;
  font-weight: 700 !important;
}

/* === FINAL VERDICT block: editorial - border-top rule, no left stripe, no fill === */
html body.nlg-narrative .entry-content .nlg-final-verdict,
.nlg-final-verdict{
  margin: 2em 0 !important;
  padding: 1em 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(26,26,26,.22) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-final-verdict > h3,
.nlg-final-verdict > h3{
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  margin: 0 0 0.6em !important;
}

/* === SERVICES CTA: editorial - no fill, no left stripe, just spacing + arrow markers === */
html body.nlg-narrative .entry-content .nlg-services-cta,
.nlg-services-cta{
  margin: 2em 0 !important;
  padding: 1em 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(26,26,26,.22) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-services-cta > p,
.nlg-services-cta > p{
  font-style: normal !important;
  margin: 0 0 0.6em !important;
  color: #1a1a1a !important;
}
html body.nlg-narrative .entry-content .nlg-services-cta > ul,
.nlg-services-cta > ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-services-cta > ul > li,
.nlg-services-cta > ul > li{
  position: relative !important;
  padding: 0.25em 0 0.25em 1.2em !important;
  font-size: 0.97rem !important;
  border: 0 !important;
}
html body.nlg-narrative .entry-content .nlg-services-cta > ul > li::before,
.nlg-services-cta > ul > li::before{
  content: "\2192" !important; /* right arrow */
  position: absolute !important;
  left: 0 !important;
  top: 0.25em !important;
  color: #6E2A2A !important;
  font-weight: 700 !important;
}

/* === SITE-WIDE BAN: any element that has a left-border stripe + filled background.
   Per editorial rule (memory 2026-04-25): NO left-border stripe cards anywhere.
   Replace with border-top thin rule + transparent background.
   This sweeps up legacy callouts/asides/highlight boxes that may still ship the pattern. */
html body.nlg-narrative .entry-content [class*="callout"],
html body.nlg-narrative .entry-content [class*="aside"]:not(.nlg-trust-strip):not(.nlg-share-rail):not(.nlg-sidebar):not(.editor-note):not(.nlg-services-cta),
html body.nlg-narrative .entry-content [class*="tip"],
html body.nlg-narrative .entry-content [class*="note"]:not(.nlg-data-sources):not(.nlg-printable-note),
html body.nlg-narrative .entry-content [class*="highlight"],
html body.nlg-narrative .entry-content [class*="warning"]{
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Also kill inline-style left-border on legacy town-post divs */
html body.nlg-narrative .entry-content div[style*="border-left"]{
  border-left: 0 !important;
  background: transparent !important;
  padding-left: 0 !important;
}

/* And any div with inline-style background gradient or pastel fill */
html body.nlg-narrative .entry-content div[style*="background:linear-gradient"],
html body.nlg-narrative .entry-content div[style*="background-color:#"],
html body.nlg-narrative .entry-content div[style*="background:#"]{
  background: transparent !important;
  background-image: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
}

/* ============================================================
   EDITORIAL TYPOGRAPHY — clean, confident, no ornaments.
   System-serif stack so fonts load instantly. Disciplined hierarchy
   carries the page; no fleurons, no drop caps, no decoration.
   ============================================================ */

/* === Hide all decorative ornaments anywhere in entry-content === */
html body.nlg-narrative .entry-content h2::before,
html body.nlg-narrative .entry-content h2::after,
html body.nlg-narrative .entry-content h3::before,
html body.nlg-narrative .entry-content h3::after{
  content: none !important;
  display: none !important;
  background: transparent !important;
}

/* Hide drop caps anywhere */
html body.nlg-narrative .entry-content p::first-letter,
html body.nlg-narrative .entry-content .nlg-lead::first-letter,
html body.nlg-narrative .entry-content .nlg-q1 p::first-letter{
  font-size: inherit !important;
  line-height: inherit !important;
  float: none !important;
  margin: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
}

/* === Quieter section separators: hide stray <hr> rules === */
html body.nlg-narrative .entry-content .nlg-article-main > hr,
html body.nlg-narrative .entry-content > hr{
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* === H2: confident display serif, system-stack so it loads instantly === */
html body.nlg-narrative .entry-content h2,
html body.nlg-narrative .entry-content .wp-block-heading,
html body.nlg-narrative .entry-content h2.wp-block-heading{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', 'Source Serif Pro', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 1.7rem !important;
  line-height: 1.18 !important;
  letter-spacing: -0.014em !important;
  color: #1a1410 !important;
  margin: 2.2em 0 0.55em !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  text-align: left !important;
}

/* === H3: smaller serif sub-section === */
html body.nlg-narrative .entry-content h3,
html body.nlg-narrative .entry-content h3.wp-block-heading{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', 'Source Serif Pro', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 1.18rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.008em !important;
  color: #1a1410 !important;
  margin: 1.8em 0 0.4em !important;
  padding: 0 !important;
  border: 0 !important;
}

/* === First sentence of every section paragraph: small caps lead-in optional ===
   Use a span.kickoff or just bold the first words. We are NOT using a heavy box
   so this is a no-op unless content authors mark it up. === */

/* === Pull-quote: indented italic, no quote ornament, no box === */
html body.nlg-narrative .entry-content blockquote,
html body.nlg-narrative .entry-content .nlg-pullquote{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.22rem !important;
  line-height: 1.45 !important;
  color: #1a1410 !important;
  margin: 1.8em 2.5em 1.8em 2.5em !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
  position: static !important;
}
/* Strip any quote ornament */
html body.nlg-narrative .entry-content blockquote::before,
html body.nlg-narrative .entry-content blockquote::after,
html body.nlg-narrative .entry-content .nlg-pullquote::before,
html body.nlg-narrative .entry-content .nlg-pullquote::after{
  content: none !important;
  display: none !important;
}

/* === Editor's note: italic indented block, no quote ornament, no box === */
html body.nlg-narrative .entry-content .editor-note,
.editor-note{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.08rem !important;
  line-height: 1.6 !important;
  color: #1a1410 !important;
  margin: 2.2em 2.5em 2.2em 2.5em !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  position: static !important;
}
html body.nlg-narrative .entry-content .editor-note::before,
html body.nlg-narrative .entry-content .editor-note::after,
.editor-note::before,
.editor-note::after{
  content: none !important;
  display: none !important;
}
html body.nlg-narrative .entry-content .editor-note .signoff,
.editor-note .signoff{
  font-family: 'Inter', system-ui, sans-serif !important;
  font-style: normal !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  font-weight: 600 !important;
  margin-top: 0.9em !important;
}

/* === Body paragraphs: clean serif reading column === */
html body.nlg-narrative .entry-content p{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', 'Source Serif Pro', Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  color: #1a1410 !important;
  margin: 0 0 1.1em !important;
}

/* === Lead paragraph: not larger or italic, just normal serif === */
html body.nlg-narrative .entry-content p.nlg-lead{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
  font-style: normal !important;
  font-size: 1.18rem !important;
  line-height: 1.55 !important;
  color: #1a1410 !important;
  margin: 1.2em 0 1.6em !important;
  letter-spacing: -0.005em !important;
}

/* === Stats card row: keep but make it more editorial, less templated === */
html body.nlg-narrative .entry-content .nlg-stats,
html body.nlg-narrative .entry-content .nlg-stats-row,
.nlg-stats, .nlg-stats-row{
  background: transparent !important;
  border-top: 1px solid rgba(26,20,16,.22) !important;
  border-bottom: 1px solid rgba(26,20,16,.22) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  padding: 1.1em 0 !important;
  margin: 2em 0 2em !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  gap: 1.4em !important;
}
html body.nlg-narrative .entry-content .nlg-stats > .nlg-stat,
html body.nlg-narrative .entry-content .nlg-stats-row > .nlg-stat,
.nlg-stats > .nlg-stat, .nlg-stats-row > .nlg-stat{
  background: transparent !important;
  border: 0 !important;
  border-left: 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: left !important;
}
html body.nlg-narrative .entry-content .nlg-stats .nlg-stat-num,
html body.nlg-narrative .entry-content .nlg-stats-row .nlg-stat-num,
.nlg-stats .nlg-stat-num, .nlg-stats-row .nlg-stat-num{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #1a1410 !important;
  line-height: 1.05 !important;
  margin: 0 0 0.2em !important;
  letter-spacing: -0.012em !important;
  display: block !important;
}
html body.nlg-narrative .entry-content .nlg-stats .nlg-stat-label,
html body.nlg-narrative .entry-content .nlg-stats-row .nlg-stat-label,
.nlg-stats .nlg-stat-label, .nlg-stats-row .nlg-stat-label{
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6E2A2A !important;
  display: block !important;
}

/* === Bullet lists: tighter, editorial spacing === */
html body.nlg-narrative .entry-content ul:not(.wp-block-list--inline):not(.nlg-share-list):not([class*='nlg-rating']):not([class*='nlg-services-cta']),
html body.nlg-narrative .entry-content ol:not(.wp-block-list--inline){
  margin: 1em 0 1.4em !important;
  padding-left: 1.6em !important;
}
html body.nlg-narrative .entry-content ul li,
html body.nlg-narrative .entry-content ol li{
  margin: 0.35em 0 !important;
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
}

/* === Strong / italic in body: keep editorial === */
html body.nlg-narrative .entry-content p strong,
html body.nlg-narrative .entry-content li strong{
  color: #1a1410 !important;
  font-weight: 700 !important;
}
html body.nlg-narrative .entry-content p em,
html body.nlg-narrative .entry-content li em{
  font-style: italic !important;
  color: inherit !important;
}

/* === FAQ as Q&A in proper magazine style === */
html body.nlg-narrative .entry-content section.nlg-faq{
  margin: 2.5em 0 !important;
}
html body.nlg-narrative .entry-content .nlg-faq h3,
html body.nlg-narrative .entry-content .nlg-faq-q{
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  margin: 1.4em 0 0.4em !important;
  color: #1a1410 !important;
}
/* No Q. prefix - just clean question + answer */
html body.nlg-narrative .entry-content .nlg-faq h3::before,
html body.nlg-narrative .entry-content .nlg-faq-q::before{
  content: none !important;
  display: none !important;
}
html body.nlg-narrative .entry-content .nlg-faq p,
html body.nlg-narrative .entry-content .nlg-faq-a{
  margin: 0 0 0.8em !important;
  font-family: 'Charter', 'Iowan Old Style', 'Hoefler Text', 'Source Serif 4', Georgia, serif !important;
}

/* === MOBILE: stats grid stacks more aggressively === */
@media (max-width: 640px){
  html body.nlg-narrative .entry-content .nlg-stats,
  html body.nlg-narrative .entry-content .nlg-stats-row,
  .nlg-stats, .nlg-stats-row{
    grid-template-columns: repeat(2, 1fr) !important;
  }
  html body.nlg-narrative .entry-content .chart .bar-row,
  .chart .bar-row{
    grid-template-columns: 7em 1fr 4.5em !important;
    gap: 0.4em !important;
    font-size: 13px !important;
  }
  html body.nlg-narrative .entry-content .scenario dl,
  .scenario dl{
    grid-template-columns: 1fr !important;
  }
  html body.nlg-narrative .entry-content .scenario dd,
  .scenario dd{ margin-bottom: 0.5em !important; }
}
