/*
 * abundance.wales: Route A Catalogue styles for the aw-theme child theme.
 * Assembled from Saville's handoff (home.css v0.5 and inner/inner.css v0.2,
 * 24 Oct 2026) with these changes:
 *  1. The role aliases from palette-tokens.css; the --wp--preset-- values
 *     themselves come from theme.json, so they are not repeated here.
 *  2. Inner .page renamed .aw-page (WordPress adds a "page" body class).
 *  3. No CSS order property (WCAG 1.3.2 and 2.4.3: source order is visual order).
 *  4. WordPress overrides at the end (section W).
 * License: GPL-2.0-or-later.
 */

/* T. Role aliases (palette-tokens.css v0.1) */
:root {
  /* Palette, by theme.json slug */

  /* Role aliases (use these in components) */
  --paper:       var(--wp--preset--color--base);
  --paper-deep:  var(--wp--preset--color--accent-5);
  --ink:         var(--wp--preset--color--contrast);
  --ink-rule:    var(--wp--preset--color--accent-2);
  --grey:        var(--wp--preset--color--accent-4);
  --hairline:    var(--wp--preset--color--accent-6);
  --amber:       var(--wp--preset--color--accent-1);
  --amber-text:  var(--wp--preset--color--accent-3);

  --text:            var(--ink);
  --text-meta:       var(--grey);
  --text-on-ink:     var(--paper);
  --text-muted-on-ink: var(--hairline);
  --link:            var(--ink);
  --link-hover:      var(--amber-text);
  --link-hover-on-ink: var(--amber);   /* amber as text is allowed on ink only: 8.3:1 */
  --rule:            var(--hairline);
  --rule-strong:     var(--ink);
  --signal-fill:     var(--amber);     /* newsletter band, current number marker, play button */
  --correction:      var(--amber-text);
  --focus:           var(--ink);       /* 3px outline, 2px offset: 16.7:1 on paper */
  --focus-on-dark:   var(--amber);     /* 8.3:1 on ink */

  /* Chart series (static SVG, always backed by a table) */
  --chart-current:   var(--ink);
  --chart-previous:  var(--grey);
  --chart-highlight: var(--amber);     /* filled, always with a 1px ink edge */
  --chart-average:   var(--amber-text);
  --chart-grid:      var(--hairline);

  /* Type: font families (theme.json fontFamilies slugs) */

  /* Type: font sizes (theme.json fontSizes slugs; fluid ones use clamp between 390 and 1340px viewports) */

  /* Space: spacing sizes (theme.json spacingSizes slugs, 4px base) */

  /* Layout (theme.json layout) */
  --gutter: 24px;
  --margin: 50px;
}

/* H. home.css v0.5 */
/* abundance.wales home, Route A Catalogue, mockup v0.1. Uses only tokens from palette-tokens.css
   (names mirror what WordPress generates from theme.json: --wp--preset--color--<slug> etc.). */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--aw-sans);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.5;
  font-feature-settings: "lnum";
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }

/* Links, hover and focus (documented in route-A-system.md) */
a { color: inherit; text-decoration: none; }
a:hover { color: var(--wp--preset--color--accent-3); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
.site-footer a:hover, .podcast a:hover { color: var(--wp--preset--color--accent-1); }
.site-footer :focus-visible, .podcast :focus-visible { outline-color: var(--wp--preset--color--accent-1); }

.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; word-wrap: normal !important; }
.skip-link { position: absolute; left: var(--wp--preset--spacing--40); top: -100px; background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); font-weight: 600; z-index: 10; }
.skip-link:focus { top: var(--wp--preset--spacing--40); }

.wrap { max-width: calc(var(--wp--style--global--wide-size) + 2 * var(--margin)); margin: 0 auto; padding: 0 var(--margin); }

/* Shared furniture */
.section-label, .label, .meta, .catno-inline, .more, .day__date, .plate figcaption, .footer__h, .caption-line, .masthead__issue {
  font-family: var(--wp--preset--font-family--aw-mono);
  font-size: var(--wp--preset--font-size--x-small);
  letter-spacing: .08em; text-transform: uppercase; font-weight: 400; line-height: 1.4;
}
.section-head { display: flex; justify-content: space-between; align-items: baseline; border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--60); }
.section-label { font-weight: 500; color: var(--wp--preset--color--contrast); }
.more { color: var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--contrast); padding-bottom: 1px; }
.more:hover { text-decoration: none; border-bottom-color: var(--wp--preset--color--accent-3); }
.more::after { content: " \2192"; }
.label { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--30); }
.label__type { font-weight: 500; color: var(--wp--preset--color--contrast); }
.label__topic { color: var(--wp--preset--color--accent-4); }
.label--correction .label__type { color: var(--wp--preset--color--accent-3); }
.meta { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50); color: var(--wp--preset--color--accent-4); text-transform: none; letter-spacing: .02em; }
.meta__alias { color: var(--wp--preset--color--accent-4); }
.catno-inline { color: var(--wp--preset--color--accent-4); letter-spacing: .04em; }

.plate img { width: 100%; background: var(--wp--preset--color--accent-5); }
.plate figcaption { color: var(--wp--preset--color--accent-4); text-transform: none; letter-spacing: .02em; padding-top: var(--wp--preset--spacing--20); border-top: 1px solid var(--wp--preset--color--accent-6); margin-top: var(--wp--preset--spacing--20); display: flex; gap: var(--wp--preset--spacing--40); }
.plate__no { color: var(--wp--preset--color--contrast); }

/* Masthead (C1) */
.site-header { border-top: 8px solid var(--wp--preset--color--contrast); }
.masthead { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--50); }
.masthead__line { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--contrast); line-height: 1.3; max-width: 30ch; border-left: 1px solid var(--wp--preset--color--accent-6); padding-left: var(--wp--preset--spacing--50); }
.masthead__issue { text-align: right; color: var(--wp--preset--color--accent-4); display: flex; flex-direction: column; gap: 2px; text-transform: none; letter-spacing: .02em; }
.masthead__issue span { color: var(--wp--preset--color--contrast); }
.menu { display: none; }

.primary-nav { border-top: 1px solid var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.primary-nav__inner { display: flex; justify-content: space-between; align-items: center; }
.primary-nav__list { display: flex; gap: var(--wp--preset--spacing--60); }
.primary-nav__list a { display: inline-block; padding: var(--wp--preset--spacing--40) 0; font-weight: 500; font-size: var(--wp--preset--font-size--small); min-height: 44px; }
.primary-nav__list a:hover { text-decoration: none; color: var(--wp--preset--color--contrast); box-shadow: inset 0 -3px 0 var(--wp--preset--color--accent-1); }

/* Lead (C2, C4) */
.lead { display: grid; grid-template-columns: 104px minmax(0, 1fr); column-gap: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--80); }
.catno { font-family: var(--wp--preset--font-family--aw-mono); display: flex; flex-direction: column; align-items: flex-start; line-height: 1; border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); }
.catno__aw { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .1em; color: var(--wp--preset--color--accent-4); }
.catno__n { font-size: 34px; font-weight: 500; margin-top: var(--wp--preset--spacing--20); letter-spacing: -.01em; }
.catno__new { margin-top: var(--wp--preset--spacing--40); background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 6px; }
.lead__text { border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); display: flex; flex-direction: column; }
.lead__headline { font-size: var(--wp--preset--font-size--xxx-large); line-height: 1.04; font-weight: 600; letter-spacing: -.022em; margin-top: var(--wp--preset--spacing--40); max-width: 21ch; text-wrap: balance; }
.lead__standfirst { font-size: var(--wp--preset--font-size--large); line-height: 1.45; margin-top: var(--wp--preset--spacing--50); max-width: 34ch; }
.lead__plate { margin-top: var(--wp--preset--spacing--60); }

/* Catalogue strip */
.catalogue { padding-bottom: var(--wp--preset--spacing--80); }
.catalogue .section-head { margin-bottom: 0; border-top-width: 1px; }
.catalogue__strip { display: grid; grid-template-columns: repeat(10, 1fr); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.catalogue__strip li { border-right: 1px solid var(--wp--preset--color--accent-6); }
.catalogue__strip li:last-child { border-right: 0; }
.catalogue__strip a { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); min-height: 92px; }
.catalogue__strip a:hover { text-decoration: none; background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--contrast); }
.catalogue__n { font-family: var(--wp--preset--font-family--aw-mono); font-size: 26px; font-weight: 500; line-height: 1; }
.catalogue__aw { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; color: var(--wp--preset--color--accent-4); font-weight: 400; vertical-align: 4px; }
.catalogue__t { font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.catalogue__strip .is-current a { background: var(--wp--preset--color--accent-1); }
.catalogue__strip .is-current .catalogue__aw, .catalogue__strip .is-current .catalogue__t { color: var(--wp--preset--color--contrast); }
.catalogue__strip .is-correction .catalogue__n, .catalogue__strip .is-correction .catalogue__t { color: var(--wp--preset--color--accent-3); }

/* Latest, grouped by date (C3) */
.latest { padding-bottom: var(--wp--preset--spacing--80); }
.day { display: grid; grid-template-columns: 104px 1fr; column-gap: var(--wp--preset--spacing--60); padding: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--accent-6); }
.day:first-of-type { border-top: 0; padding-top: 0; }
.day__date { color: var(--wp--preset--color--contrast); font-weight: 500; text-transform: none; letter-spacing: .02em; }
.stubs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--60); align-items: start; }
.stub .plate { margin-bottom: var(--wp--preset--spacing--40); }
.stub .plate img { aspect-ratio: 3 / 2; object-fit: cover; }
.stub__headline { font-size: var(--wp--preset--font-size--x-large); line-height: 1.18; font-weight: 600; letter-spacing: -.012em; }
.stub__standfirst { color: var(--wp--preset--color--contrast); margin-top: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--medium); }
.stub__no { margin-top: var(--wp--preset--spacing--30); }
.stub--correction { border-left: 3px solid var(--wp--preset--color--accent-1); padding-left: var(--wp--preset--spacing--50); }
.stub--correction .stub__headline a { color: var(--wp--preset--color--accent-3); }
.corrected { display: block; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-3); margin-top: var(--wp--preset--spacing--10); letter-spacing: .02em; }
.all-link { padding-left: calc(104px + var(--wp--preset--spacing--60)); }
.more--big { font-family: var(--wp--preset--font-family--aw-sans); font-size: var(--wp--preset--font-size--small); text-transform: none; letter-spacing: 0; font-weight: 500; }

/* Topic strip (C3 topic mode) */
.topics { padding-bottom: var(--wp--preset--spacing--80); }
/* Topics: a WordPress taxonomy of any length. Columns are at least 200px wide, so six fit one row
   at 1340px; a seventh and later topics wrap onto new rows of the same grid. Each item carries its
   own top rule, so wrapped rows stay ruled without extra markup. */
.topics__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); column-gap: var(--wp--preset--spacing--50); }
.topics__list li { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); padding: var(--wp--preset--spacing--40) 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
.topics__name { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.topics__latest { font-weight: 500; line-height: 1.3; }

/* Research band on paper deep (C2 pin, C13) */
.research { background: var(--wp--preset--color--accent-5); padding: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--80); }
.research__grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: var(--wp--preset--spacing--80); }
.scorecard__title { font-size: var(--wp--preset--font-size--xx-large); font-weight: 600; line-height: 1.1; letter-spacing: -.015em; max-width: 20ch; }
.scorecard__figure { display: grid; grid-template-columns: auto 1fr; gap: var(--wp--preset--spacing--50); align-items: end; margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--50); border-bottom: 2px solid var(--wp--preset--color--contrast); padding-bottom: var(--wp--preset--spacing--40); }
.figure__n { font-family: var(--wp--preset--font-family--aw-mono); font-weight: 500; font-size: var(--wp--preset--font-size--display); line-height: .85; letter-spacing: -.04em; display: block; }
.figure__text { font-size: var(--wp--preset--font-size--large); max-width: 20ch; line-height: 1.3; padding-bottom: 4px; }
.chart__svg { width: 100%; height: auto; font-family: var(--wp--preset--font-family--aw-mono); }
.chart__grid line { stroke: var(--wp--preset--color--accent-6); stroke-width: 1; }
.chart__axis text { font-size: 13px; fill: var(--wp--preset--color--accent-4); text-anchor: middle; }
.chart__labels text { font-family: var(--wp--preset--font-family--aw-sans); font-size: 14px; fill: var(--wp--preset--color--contrast); }
.chart__labels .is-all, .chart__values .is-all { font-weight: 600; }
.chart__bars rect { fill: var(--wp--preset--color--contrast); }
.chart__bars rect.is-all { fill: var(--wp--preset--color--accent-1); stroke: var(--wp--preset--color--contrast); stroke-width: 1; }
.chart__values text { font-size: 13px; fill: var(--wp--preset--color--contrast); }
.chart__avg { stroke: var(--wp--preset--color--accent-3); stroke-width: 2; stroke-dasharray: 3 3; }
.chart figcaption { font-size: 14px; color: var(--wp--preset--color--accent-4); margin-top: var(--wp--preset--spacing--30); }
.data-table { margin-top: var(--wp--preset--spacing--50); }
.data-table summary { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; padding: var(--wp--preset--spacing--20) 0; min-height: 24px; }
.data-table table { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: var(--wp--preset--spacing--20); font-variant-numeric: tabular-nums; }
.data-table th, .data-table td { text-align: left; padding: 7px var(--wp--preset--spacing--30); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.data-table thead th { font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); font-weight: 400; border-bottom: 1px solid var(--wp--preset--color--contrast); }
.data-table td { text-align: right; font-family: var(--wp--preset--font-family--aw-mono); }
.data-table th[scope=row] { font-weight: 400; }
.data-table tbody tr:nth-child(even) { background: var(--wp--preset--color--base); }
.data-table tr.is-all th, .data-table tr.is-all td { font-weight: 600; box-shadow: inset 3px 0 0 var(--wp--preset--color--accent-1); }
.data-table tr.is-all td { box-shadow: none; }
.downloads { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); margin-top: var(--wp--preset--spacing--50); }
.downloads a { font-weight: 500; font-size: var(--wp--preset--font-size--small); border-bottom: 1px solid currentColor; padding: 2px 0; }
.downloads a:hover { text-decoration: none; }

.paper__cover { display: grid; grid-template-rows: auto 1fr auto; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); aspect-ratio: 1 / 1.25; position: relative; overflow: hidden; margin-bottom: var(--wp--preset--spacing--50); }
.paper__cover:hover { text-decoration: none; color: var(--wp--preset--color--base); }
.paper__band { height: 14px; background: var(--wp--preset--color--accent-1); }
.paper__no { font-family: var(--wp--preset--font-family--aw-mono); font-weight: 500; font-size: 56px; line-height: .95; padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) 0; letter-spacing: -.02em; }
.paper__title { position: absolute; left: var(--wp--preset--spacing--50); right: var(--wp--preset--spacing--50); top: 200px; font-size: 22px; font-weight: 500; border-top: 1px solid var(--wp--preset--color--accent-2); padding-top: var(--wp--preset--spacing--30); color: var(--wp--preset--color--accent-6); }
.paper__cover img { filter: grayscale(1) contrast(1.05); align-self: end; }
.paper__headline { font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.18; }
.paper__standfirst { margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40); }
.caption-line { margin-top: var(--wp--preset--spacing--40); color: var(--wp--preset--color--accent-4); text-transform: none; letter-spacing: .02em; }

/* Podcast on ink + corrections */
.pair { display: grid; grid-template-columns: 1.55fr 1fr; gap: var(--wp--preset--spacing--80); padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.podcast { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding: var(--wp--preset--spacing--60); }
.section-label--on-ink { color: var(--wp--preset--color--base); border-bottom: 1px solid var(--wp--preset--color--accent-2); padding-bottom: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--60); }
.podcast__body { display: grid; grid-template-columns: 220px 1fr; gap: var(--wp--preset--spacing--60); }
.plate--on-ink figcaption { color: var(--wp--preset--color--accent-6); border-top-color: var(--wp--preset--color--accent-2); }
.catno-inline--on-ink { color: var(--wp--preset--color--accent-6); display: flex; gap: var(--wp--preset--spacing--40); }
.podcast__title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.1; font-weight: 600; letter-spacing: -.015em; margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40); }
.podcast__notes { color: var(--wp--preset--color--accent-6); }
.facade { display: flex; align-items: center; gap: var(--wp--preset--spacing--50); margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--wp--preset--color--accent-2); }
.facade__play { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--30); background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); border: 0; font: 600 var(--wp--preset--font-size--small)/1 var(--wp--preset--font-family--aw-sans); padding: 14px 20px 14px 16px; min-height: 48px; cursor: pointer; }
.facade__play svg { fill: currentColor; }
.facade__play:hover { background: var(--wp--preset--color--base); }
.facade__play:focus-visible { outline: 3px solid var(--wp--preset--color--accent-1); outline-offset: 3px; }
.facade__meta { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); display: flex; gap: var(--wp--preset--spacing--40); color: var(--wp--preset--color--accent-6); letter-spacing: .04em; }
.facade__meta a { color: var(--wp--preset--color--base); border-bottom: 1px solid currentColor; }
.facade__note { font-size: 14px; color: var(--wp--preset--color--accent-6); margin-top: var(--wp--preset--spacing--40); }

.corrections__intro { margin-bottom: var(--wp--preset--spacing--50); }
.corrections__list li { padding: var(--wp--preset--spacing--40) 0; border-top: 1px solid var(--wp--preset--color--accent-6); display: grid; gap: 4px; }
.corrections__no { font-family: var(--wp--preset--font-family--aw-mono); font-size: 14px; color: var(--wp--preset--color--accent-3); letter-spacing: .02em; }
.corrections__no span { font-weight: 500; }
.corrections__no a { color: var(--wp--preset--color--accent-3); border-bottom: 1px solid currentColor; }
.corrections__list time { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); }

/* Ad slot (C9) */

/* Abundance Signal band on amber (C14) */
.signal { background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); }
.signal__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--80); padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); align-items: end; }
.signal__kicker { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .1em; text-transform: uppercase; border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); }
.signal__title { font-size: clamp(44px, calc(26px + 4.6vw), 88px); font-weight: 600; letter-spacing: -.035em; line-height: .95; margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--50); }
.signal__text { font-size: var(--wp--preset--font-size--large); max-width: 32ch; }
.signal :focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 3px; }
.signal a:hover { color: var(--wp--preset--color--contrast); text-decoration-thickness: 2px; }
.signal__note { margin-top: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); }
.signal__note a { border-bottom: 1px solid currentColor; }

/* Footer on ink */
.site-footer { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding: var(--wp--preset--spacing--80) 0 var(--wp--preset--spacing--70); }
.footer__top { display: flex; justify-content: space-between; align-items: center; padding-bottom: var(--wp--preset--spacing--60); border-bottom: 1px solid var(--wp--preset--color--accent-2); }
.footer__follow { background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); font-weight: 600; padding: 12px 20px; }
.site-footer .footer__follow:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); text-decoration: none; }
.footer__cols { display: grid; grid-template-columns: 1fr 1.3fr 1fr 2fr; gap: var(--wp--preset--spacing--60); padding: var(--wp--preset--spacing--60) 0; }
.footer__h { color: var(--wp--preset--color--accent-6); font-weight: 500; margin-bottom: var(--wp--preset--spacing--40); }
.footer__cols li a { display: inline-block; padding: 4px 0; min-height: 24px; }
.footer__statement p { color: var(--wp--preset--color--accent-6); margin-bottom: var(--wp--preset--spacing--40); max-width: 52ch; }
.footer__statement a, .footer__base a { color: var(--wp--preset--color--base); border-bottom: 1px solid var(--wp--preset--color--accent-2); }
.footer__base { border-top: 1px solid var(--wp--preset--color--accent-2); padding-top: var(--wp--preset--spacing--50); display: grid; gap: var(--wp--preset--spacing--30); font-size: 14px; color: var(--wp--preset--color--accent-6); }

/* Phone (390) and narrow */
@media (max-width: 760px) {
  :root { --margin: 20px; }
  .masthead { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); align-items: center; }
  .masthead__line { grid-column: 1 / -1; grid-row: 2; border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--30); max-width: none; font-size: var(--wp--preset--font-size--small); }
  .masthead__issue { display: none; }
  .menu { display: block; }
  .menu summary { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; border: 1px solid var(--wp--preset--color--contrast); padding: 10px 12px; min-height: 44px; list-style: none; cursor: pointer; line-height: 22px; }
  .menu summary::-webkit-details-marker { display: none; }
  .menu__list { position: absolute; left: 0; right: 0; top: 100%; background: var(--wp--preset--color--base); border-bottom: 2px solid var(--wp--preset--color--contrast); padding: 0 var(--margin); z-index: 5; }
  .menu__list li { border-top: 1px solid var(--wp--preset--color--accent-6); }
  .menu__list a { display: block; padding: 12px 0; min-height: 44px; font-weight: 500; }
  /* The one Main nav sits over the logo row on phones: same landmark, no second menu */
  .site-header { position: relative; }
  .primary-nav { position: absolute; top: 0; left: 0; right: 0; border: 0; pointer-events: none; }
  .primary-nav__inner { justify-content: flex-end; padding-top: var(--wp--preset--spacing--50); }
  .primary-nav__list { display: none; }
  .menu { pointer-events: auto; }
  .menu[open] summary { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
  .masthead .logo { min-height: 44px; display: flex; align-items: center; padding-right: 96px; }
  .lead { grid-template-columns: 1fr; padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--70); }
  .lead__number { flex-direction: row; align-items: baseline; gap: var(--wp--preset--spacing--30); border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); }
  .catno__n { font-size: 22px; margin-top: 0; }
  .catno__new { margin-top: 0; margin-left: auto; }
  .lead__text { border-top: 0; padding-top: var(--wp--preset--spacing--40); }
  .lead__plate { margin-top: var(--wp--preset--spacing--50); }
  .lead__headline { margin-top: var(--wp--preset--spacing--20); }
  .lead__text .meta { padding-top: var(--wp--preset--spacing--50); }
  .catalogue__strip { grid-template-columns: repeat(10, 108px); overflow-x: auto; }
  .catalogue { overflow: hidden; }
  .day { grid-template-columns: 1fr; row-gap: var(--wp--preset--spacing--50); }
  .stubs { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--50); }
  .stub + .stub { border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--50); }
  .stub--correction + .stub, .stub + .stub--correction { border-top: 0; }
  .stubs--images .stub:not(:first-child) .plate { display: none; }
  .all-link { padding-left: 0; }
  .topics__list { grid-template-columns: 1fr; }
  .topics__list li:last-child { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
  .research__grid, .pair, .signal__inner { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--70); }
  .figure__text { font-size: var(--wp--preset--font-size--medium); }
  .chart__labels text { font-size: 17px; } .chart__values text { font-size: 16px; } .chart__axis text { font-size: 15px; }
  .data-table th, .data-table td { padding: 7px 6px; }
  .paper { display: grid; grid-template-columns: 120px 1fr; column-gap: var(--wp--preset--spacing--50); }
  .paper .label { grid-column: 1 / -1; }
  .paper__cover { grid-row: span 4; margin-bottom: 0; }
  .paper__no { font-size: 22px; padding: 12px 10px 0; }
  .paper__title { display: none; }
  .paper__band { height: 6px; }
  .paper .downloads, .paper .caption-line { grid-column: 1 / -1; }
  .paper .meta { grid-column: 2; }
  .pair { padding-left: 0; padding-right: 0; }
  .podcast { padding: var(--wp--preset--spacing--60) var(--margin); }
  .podcast__body { grid-template-columns: 1fr; }
  .podcast .plate img { aspect-ratio: 16 / 9; object-fit: cover; }
  .corrections { padding: 0 var(--margin); }
  .footer__top { flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--50); }
  .footer__cols { grid-template-columns: 1fr 1fr; row-gap: var(--wp--preset--spacing--60); }
  .footer__statement { grid-column: 1 / -1; }
}

/* v0.2 refinements */
.logo { display: inline-block; line-height: 0; }
.logo img { height: 52px; width: auto; }
.logo:hover { text-decoration: none; }
.logo--footer img { height: 44px; }
.lead__text .meta { margin-top: 0; padding-top: var(--wp--preset--spacing--50); }
.lead__contents { margin-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--accent-6); max-width: 40ch; }
.lead__contents li { display: grid; grid-template-columns: 40px 1fr; padding: var(--wp--preset--spacing--30) 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--small); }
.lead__contents span { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-3); padding-top: 2px; }
.section-head + .day { border-top: 0; padding-top: 0; }
.figure__n { font-family: var(--wp--preset--font-family--aw-sans); font-weight: 600; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.chart__values text { paint-order: stroke; stroke: var(--wp--preset--color--accent-5); stroke-width: 4px; }
.chart__svg--narrow { display: none; }
@media (max-width: 760px) {
  .logo img { height: 38px; }
  .chart__svg--wide { display: none; }
  .chart__svg--narrow { display: block; }
  .chart__svg--narrow .chart__labels text { font-size: 15px; }
  .chart__svg--narrow .chart__axis text { font-size: 13px; }
  .chart__svg--narrow .chart__values text { font-size: 14px; }
  .masthead { grid-template-columns: 1fr; }
  .lead__contents { margin-top: var(--wp--preset--spacing--50); }
}
.chart__labels text { paint-order: stroke; stroke: var(--wp--preset--color--accent-5); stroke-width: 4px; }
.masthead .logo { align-self: center; }

/* v0.3 FR-42 final masthead (24 Oct 2026): line plus descriptor. The divider moves from the line to a
   wrapper; the block is centred on the logo; line stays on one row at 1440; descriptor balanced on two. */
.masthead__lines { align-self: center; border-left: 1px solid var(--wp--preset--color--accent-6); padding-left: var(--wp--preset--spacing--50); }
.masthead__lines .masthead__line { border-left: 0; padding-left: 0; max-width: none; text-wrap: balance; }
@media (min-width: 1024px) { .masthead__lines .masthead__line { white-space: nowrap; } }
/* 761 to 1023px (and 200% zoom on laptops): logo and issue on row 1, line and descriptor full width below */
@media (min-width: 761px) and (max-width: 1023px) {
  .masthead { grid-template-columns: auto 1fr; row-gap: var(--wp--preset--spacing--50); }
  .masthead__issue { align-self: center; }
  .masthead__lines { grid-column: 1 / -1; grid-row: 2; border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--40); }
}
.masthead__desc { font-family: var(--wp--preset--font-family--aw-sans); font-size: var(--wp--preset--font-size--small); line-height: 1.4; color: var(--wp--preset--color--accent-4); margin-top: var(--wp--preset--spacing--10); max-width: 88ch; text-wrap: balance; }
@media (max-width: 760px) {
  .masthead__lines { grid-column: 1 / -1; grid-row: 2; border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--30); }
  .masthead__lines .masthead__line { white-space: normal; text-wrap: balance; border-top: 0; padding-top: 0; font-size: var(--wp--preset--font-size--small); }
  .masthead__desc { font-size: var(--wp--preset--font-size--x-small); margin-top: 2px; max-width: none; text-wrap: pretty; }
}

/* v0.4 Sylvian review (24 Oct 2026) */
/* C14 follow prompt on amber (replaces the email band; no email capture at launch) */
.signal__links { border-top: 2px solid var(--wp--preset--color--contrast); }
.signal__links li { border-bottom: 1px solid var(--wp--preset--color--contrast); }
.signal__links a { display: grid; grid-template-columns: 104px 1fr auto; align-items: baseline; gap: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20); min-height: 44px; font-weight: 600; font-size: var(--wp--preset--font-size--large); }
.signal__links a::after { content: "\2192"; }
.signal__links a:hover { text-decoration: none; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-1); }
.signal__via { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.signal__note a { display: inline-block; min-height: 24px; font-weight: 600; }
.footer__base a { display: inline-block; min-height: 24px; }
/* 24px minimum targets (WCAG 2.5.8) on small standalone links */
.more, .meta__alias, .label__topic, .corrections__no a, .facade__meta a { display: inline-block; min-height: 24px; line-height: 22px; }
/* Motion: none today; keep any later transitions off for people who ask */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media (max-width: 760px) {
  .signal__links a { grid-template-columns: 72px 1fr auto; font-size: var(--wp--preset--font-size--medium); }
}
.footer__legal { white-space: nowrap; }

/* v0.5 catalogue strip scroll cue and keyboard stop (Sylvian, 24 Oct 2026) */
.catalogue__cue { display: none; }
.catalogue__scroller { position: relative; }
/* Inset 3px ink outline: never clipped by .catalogue overflow; ink vs paper 16.73, vs paper deep 15.01, vs amber cell 8.27 (all >= 5:1) */
.catalogue__scroller:focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: -3px; }
@media (max-width: 760px) {
  .catalogue__cue { display: block; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
  .catalogue__cue span { color: var(--wp--preset--color--contrast); }
  .catalogue__scroller { overflow-x: auto; }
  .catalogue__strip { overflow-x: visible; }
  /* Edge fade on the right: paper over the last 32px, so a cut cell reads as "more this way" */
  .catalogue { position: relative; }
  .catalogue::after { content: ""; position: absolute; top: 40px; bottom: var(--wp--preset--spacing--80); right: var(--margin); width: 32px; pointer-events: none; background: linear-gradient(to right, rgb(244 242 236 / 0), var(--wp--preset--color--base)); }
  .catalogue:has(.catalogue__scroller:focus-visible)::after { display: none; } /* keep the focus outline whole */
}


/* I. inner/inner.css v0.2 */
/* abundance.wales inner templates, Route A Catalogue, v0.1 (24 Oct 2026, Saville).
   Load after palette-tokens.css and home.css. Reuses home.css classes (.label, .meta, .catno, .plate,
   .section-head, .section-label, .more, .stub, .data-table, .corrected, .site-footer ...) and adds only
   what the inner templates need. Uses only --wp--preset-- tokens; no new colours. */

/* 1. Header, inner variant (C1): logo lockup and nav on one row; no masthead line or descriptor */
.site-header--inner { border-bottom: 1px solid var(--wp--preset--color--contrast); }
.masthead--inner { grid-template-columns: auto 1fr; align-items: center; gap: var(--wp--preset--spacing--70); padding-top: 20px; padding-bottom: 20px; }
.masthead--inner .logo img { height: 44px; }
.primary-nav--inline { border: 0; }
.primary-nav--inline .primary-nav__inner { justify-content: flex-end; }
.primary-nav--inline .primary-nav__list a { padding: 10px 0; }
.primary-nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--wp--preset--color--contrast); font-weight: 600; }
.menu__list a { display: block; padding: 12px 0; min-height: 44px; font-weight: 500; border-top: 1px solid var(--wp--preset--color--accent-6); }
.menu__list a[aria-current="page"] { font-weight: 600; }

/* 2. Page grid: the 104px hanging rail from the home lead, then content */
.aw-page { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--90); }
.grid { display: grid; grid-template-columns: 104px minmax(0, 1fr); column-gap: var(--wp--preset--spacing--60); }
.grid > * { grid-column: 2; min-width: 0; }
.grid > .rail { grid-column: 1; }
.rail-label { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); line-height: 1.4; }
.rail-big { font-family: var(--wp--preset--font-family--aw-mono); font-size: 34px; font-weight: 500; line-height: 1; display: block; margin-top: var(--wp--preset--spacing--20); letter-spacing: -.01em; text-transform: none; }

/* 3. Item and page head */
.head { border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); }
.head .label { margin-bottom: 0; }
.back { margin-bottom: var(--wp--preset--spacing--40); }
.more--back::after { content: none; }
.more--back::before { content: "\2190\00a0"; }
.title { font-size: var(--wp--preset--font-size--xxx-large); line-height: 1.04; font-weight: 600; letter-spacing: -.022em; margin-top: var(--wp--preset--spacing--40); max-width: 21ch; text-wrap: balance; }
.title--page { max-width: 24ch; }
.title--query { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.12; letter-spacing: -.015em; max-width: 30ch; }
.standfirst { font-size: var(--wp--preset--font-size--large); line-height: 1.45; margin-top: var(--wp--preset--spacing--50); max-width: 645px; text-wrap: pretty; }
.head .meta { margin-top: var(--wp--preset--spacing--50); }
/* Catalogue number (C4). Source order: straight after the H1, a paragraph, not a heading.
   On wide screens it hangs in the 104px rail beside the head, aligned with the head's top rule */
.head { position: relative; }
.head .catno--head { position: absolute; top: -2px; left: calc(-104px - var(--wp--preset--spacing--60)); width: 104px; margin: 0; }
/* Empty search state */
.empty__tip { max-width: 645px; font-size: var(--wp--preset--font-size--medium); line-height: 1.5; margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--50); }
.meta__k { color: var(--wp--preset--color--contrast); }
.updated { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); margin-top: var(--wp--preset--spacing--40); letter-spacing: .02em; }

/* 4. Notice under the headline (C6): significant correction or withdrawal. Word first, not colour */
.notice { margin-top: var(--wp--preset--spacing--50); max-width: 645px; background: var(--wp--preset--color--accent-5); border-left: 4px solid var(--wp--preset--color--accent-1); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.notice__word { font-weight: 600; color: var(--wp--preset--color--accent-3); }
.notice a, .ul { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 500; }

/* 5. Lead image */
.item-lead { margin-top: var(--wp--preset--spacing--70); max-width: 800px; }

/* 6. Prose: body typography for articles, research text and standard pages */
.prose { max-width: 645px; margin-top: var(--wp--preset--spacing--70); }
.prose > * + * { margin-top: 20px; }
.prose p, .prose li { line-height: 1.6; }
.prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose h2 { display: flex; gap: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; margin-top: var(--wp--preset--spacing--70); padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--contrast); text-wrap: balance; }
.prose > h2:first-child { margin-top: 0; }
.h-no { flex: none; width: 28px; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); font-weight: 400; color: var(--wp--preset--color--accent-3); padding-top: 6px; letter-spacing: .04em; }
.prose h3 { font-size: var(--wp--preset--font-size--large); font-weight: 600; line-height: 1.3; margin-top: var(--wp--preset--spacing--60); }
.prose h2 + *, .prose h3 + * { margin-top: var(--wp--preset--spacing--30); }
.prose ul > li { position: relative; padding-left: 24px; }
.prose ul > li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 7px; height: 7px; background: var(--wp--preset--color--accent-1); box-shadow: 0 0 0 1px var(--wp--preset--color--contrast); }
.prose ol { counter-reset: n; }
.prose ol > li { counter-increment: n; display: grid; grid-template-columns: 40px 1fr; }
.prose ol > li::before { content: counter(n, decimal-leading-zero); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-3); padding-top: 4px; }
.prose li + li { margin-top: var(--wp--preset--spacing--20); }
.ref { font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; line-height: 0; vertical-align: super; margin-left: 1px; }
.prose .ref a { text-decoration: none; color: var(--wp--preset--color--accent-3); padding: 0 2px; }
.prose .ref a:hover { text-decoration: underline; }

/* 7. Pull quote: repeats a line from the text, so hidden from screen readers; hangs into the margin on wide screens */
.pullquote { border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--40); margin: var(--wp--preset--spacing--60) 0; }
.pullquote p { font-size: var(--wp--preset--font-size--xx-large); font-weight: 600; line-height: 1.14; letter-spacing: -.015em; text-wrap: balance; }
.pullquote p::before { content: ""; display: block; width: 32px; height: 8px; background: var(--wp--preset--color--accent-1); margin-bottom: var(--wp--preset--spacing--40); }
@media (min-width: 1120px) {
  .pullquote { float: right; clear: right; width: 340px; margin: 4px -404px var(--wp--preset--spacing--40) 0; }
  .pullquote p { font-size: 26px; }
}

/* 8. Figures: chart (HTML bars backed by a table and CSV) and tables */
.fig { border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); margin: var(--wp--preset--spacing--60) 0 !important; }
.fig__cap { display: grid; gap: 4px; }
.fig__no { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-3); font-weight: 500; }
.fig__title { font-weight: 600; font-size: var(--wp--preset--font-size--medium); line-height: 1.35; }
.fig__summary { font-size: var(--wp--preset--font-size--small); line-height: 1.5; margin-top: var(--wp--preset--spacing--20); }
.bars { margin-top: var(--wp--preset--spacing--50); display: grid; gap: var(--wp--preset--spacing--40); }
.bar__label { display: block; font-size: 15px; line-height: 1.3; margin-bottom: 4px; }
.bar__track { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); border-left: 1px solid var(--wp--preset--color--contrast); }
.bar__fill { display: block; height: 20px; width: calc(var(--v) * .86); background: var(--wp--preset--color--contrast); }
.bar.is-key .bar__fill { background: var(--wp--preset--color--accent-1); box-shadow: inset 0 0 0 1px var(--wp--preset--color--contrast); }
.bar.is-key .bar__label { font-weight: 600; }
.bar__value { font-family: var(--wp--preset--font-family--aw-mono); font-size: 14px; }
.bars__axis { font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; color: var(--wp--preset--color--accent-4); margin-top: var(--wp--preset--spacing--20); }
.fig .data-table { margin-top: var(--wp--preset--spacing--50); }
.fig__foot { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); margin-top: var(--wp--preset--spacing--30); display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50); letter-spacing: .02em; }
.fig__foot a { color: var(--wp--preset--color--contrast); }
.table-scroll { overflow-x: auto; }
.data-table caption { caption-side: top; text-align: left; padding-bottom: var(--wp--preset--spacing--20); }
.data-table thead th + th { text-align: right; }
.data-table caption .fig__no { display: block; margin-bottom: 4px; }
.prose .data-table tbody tr:nth-child(even) { background: var(--wp--preset--color--accent-5); }
/* Text tables on the legal pages: left aligned, body face, scroll sideways on phones */
.data-table--text table { min-width: 560px; }
.data-table--text thead th + th, .data-table--text td { text-align: left; font-family: inherit; }
.data-table--text th[scope=row] { font-weight: 600; }
.data-table--text th, .data-table--text td { vertical-align: top; }
.legal .ph-inline { white-space: normal; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.with-toc, .with-toc > * { min-width: 0; }
.legal h3 { margin-top: var(--wp--preset--spacing--50); }

/* 9. Item furniture (C11, C5, C6): AI-use line, Sources, Corrections, How to cite */
.furn { margin-top: var(--wp--preset--spacing--70); max-width: 645px; }
.furn--wide { max-width: none; }
.furn .section-head { margin-bottom: var(--wp--preset--spacing--40); }
.furn a { overflow-wrap: anywhere; }
.sources { counter-reset: s; }
/* Hanging number, not a grid: an item mixes text nodes and links, and a grid made each piece its own cell, so URLs fell into the 40px column. */
.sources li { counter-increment: s; position: relative; min-width: 0; padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) 40px; border-bottom: 1px solid var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--small); line-height: 1.45; overflow-wrap: anywhere; }
.sources li::before { content: counter(s, decimal-leading-zero); position: absolute; left: 0; top: var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-3); padding-top: 2px; }
.sources a { font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.sources__meta { display: block; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); margin-top: 4px; letter-spacing: .02em; }
.corr-note { border-left: 4px solid var(--wp--preset--color--accent-1); padding: 2px 0 2px var(--wp--preset--spacing--50); }
.corr-note__head { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .04em; display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); align-items: center; color: var(--wp--preset--color--accent-4); }
.corr-note__no { color: var(--wp--preset--color--accent-3); font-weight: 500; font-size: 14px; }
.sig { font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 3px 7px; line-height: 1.3; color: var(--wp--preset--color--contrast); border: 1px solid var(--wp--preset--color--contrast); }
.sig--significant { background: var(--wp--preset--color--accent-1); border-color: var(--wp--preset--color--accent-1); }
.wr { margin-top: var(--wp--preset--spacing--30); display: grid; grid-template-columns: 128px 1fr; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.wr dt { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); padding-top: 2px; }
.wr dd { margin: 0; }
.corr-note__link { margin-top: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); }
.corr-note__link a, .linkline a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 500; }
.cite { background: var(--wp--preset--color--accent-5); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.cite__alias { font-family: var(--wp--preset--font-family--aw-mono); font-size: 14px; }
.share { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50); margin-top: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); align-items: baseline; }
.share__k { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.share a { font-weight: 500; border-bottom: 1px solid currentColor; padding: 2px 0; }
.share a:hover { text-decoration: none; }
.reuse { margin-top: var(--wp--preset--spacing--30); font-size: 14px; color: var(--wp--preset--color--accent-4); }
.reuse a { color: var(--wp--preset--color--contrast); border-bottom: 1px solid currentColor; }

/* 10. Ladder ask (C14): one per item page, after How to cite. Amber is a fill; text and button are ink */
.ask { margin-top: var(--wp--preset--spacing--80); max-width: 800px; background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); display: grid; grid-template-columns: 1fr auto; gap: var(--wp--preset--spacing--50); align-items: center; }
.ask__kicker { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .1em; text-transform: uppercase; font-weight: 500; }
.ask__text { font-size: var(--wp--preset--font-size--large); font-weight: 500; line-height: 1.35; margin-top: 4px; max-width: 36ch; }
.ask__link { display: inline-block; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); font-weight: 600; padding: 14px 22px; min-height: 48px; white-space: nowrap; }
.ask__link:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); text-decoration: none; }
.ask :focus-visible { outline-color: var(--wp--preset--color--contrast); outline-offset: 3px; }

/* 11. Related, More on this topic, Previous and Next (C12) */
.onward { margin-top: var(--wp--preset--spacing--80); }
.onward .stubs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.onward .stub { border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--40); }
.onward__more { margin-top: var(--wp--preset--spacing--60); }
.prevnext { display: grid; grid-template-columns: 1fr 1fr; margin-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.prevnext a { display: block; padding: var(--wp--preset--spacing--40) 0; min-height: 44px; }
.prevnext a + a { border-left: 1px solid var(--wp--preset--color--accent-6); padding-left: var(--wp--preset--spacing--50); }
.prevnext__k { display: block; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); margin-bottom: 4px; }
.prevnext__t { font-weight: 500; line-height: 1.3; }

/* 12. Listings (C2 pin, C4, C7): entries, pinned research, pagination, RSS */
.intro { font-size: var(--wp--preset--font-size--large); line-height: 1.45; margin-top: var(--wp--preset--spacing--40); max-width: 645px; }
.ph { margin-top: var(--wp--preset--spacing--40); border-left: 3px solid var(--wp--preset--color--accent-6); padding-left: var(--wp--preset--spacing--40); }
.ph__label { display: inline-block; font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; background: var(--wp--preset--color--accent-5); border: 1px dashed var(--wp--preset--color--contrast); padding: 2px 7px; margin-bottom: var(--wp--preset--spacing--20); line-height: 1.4; }
.prose .ph > * + * { margin-top: var(--wp--preset--spacing--30); }
.ph-inline { font-family: var(--wp--preset--font-family--aw-mono); font-size: 14px; background: var(--wp--preset--color--accent-5); border: 1px dashed var(--wp--preset--color--contrast); padding: 1px 6px; white-space: nowrap; }
.block { margin-top: var(--wp--preset--spacing--80); }
.block .section-head { margin-bottom: var(--wp--preset--spacing--40); }
.pins { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); }
.pin { background: var(--wp--preset--color--accent-5); border-top: 8px solid var(--wp--preset--color--accent-1); padding: var(--wp--preset--spacing--50); display: grid; grid-template-columns: 1fr auto; column-gap: var(--wp--preset--spacing--50); align-content: start; }
.pin > * { grid-column: 1; }
.pin__no { grid-column: 2; grid-row: 1 / span 4; font-family: var(--wp--preset--font-family--aw-mono); font-weight: 500; font-size: 34px; line-height: .95; text-align: right; }
.pin__no small { display: block; font-size: var(--wp--preset--font-size--x-small); font-weight: 400; letter-spacing: .1em; color: var(--wp--preset--color--accent-4); margin-bottom: 4px; }
.pin__h { font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.18; letter-spacing: -.012em; }
.pin__s { margin-top: var(--wp--preset--spacing--30); }
.pin .meta { margin-top: var(--wp--preset--spacing--40); }
.entries > li { display: grid; grid-template-columns: minmax(0, 645px) minmax(160px, 1fr); column-gap: var(--wp--preset--spacing--70); padding: var(--wp--preset--spacing--50) 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
.entries > li:first-child { border-top: 0; padding-top: 0; }
.entries > li > * { grid-column: 1; }
.entry__h { font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.18; letter-spacing: -.012em; text-wrap: balance; }
.entry__s { margin-top: var(--wp--preset--spacing--30); max-width: 60ch; }
.entry__meta { grid-column: 2 !important; grid-row: 1 / span 3; align-self: start; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); letter-spacing: .03em; display: grid; gap: 4px; padding-top: 2px; }
.entry__meta .catno-inline { color: var(--wp--preset--color--contrast); font-weight: 500; font-size: 14px; }
.entry__meta .corrected { margin-top: 0; }
.label--withdrawn .label__type { color: var(--wp--preset--color--accent-3); }
.entry--withdrawn .entry__h a { text-decoration: line-through; text-decoration-thickness: 1px; }
.entry--withdrawn .entry__h a:hover { text-decoration: underline; }
.list-head { display: flex; justify-content: space-between; align-items: baseline; border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--50); }
.list-head p { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.list-head p + p { font-weight: 400; color: var(--wp--preset--color--accent-4); }
.pagination { margin-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--40); }
.pagination ul { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); align-items: center; }
.pg { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; font-family: var(--wp--preset--font-family--aw-mono); font-size: 14px; border: 1px solid var(--wp--preset--color--accent-6); }
a.pg:hover { border-color: var(--wp--preset--color--contrast); text-decoration: none; background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--contrast); }
.pg[aria-current] { background: var(--wp--preset--color--accent-1); border-color: var(--wp--preset--color--accent-1); font-weight: 500; }
.pg--word { font-family: var(--wp--preset--font-family--aw-sans); font-weight: 500; font-size: var(--wp--preset--font-size--small); border-color: var(--wp--preset--color--contrast); }
.pg-gap { padding: 0 4px; color: var(--wp--preset--color--accent-4); }
.rss { margin-top: var(--wp--preset--spacing--50); }
.count { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .04em; color: var(--wp--preset--color--accent-4); }

/* 13. Search form (core search, search landmark) */
.search-form { margin-top: var(--wp--preset--spacing--60); max-width: 645px; }
.search-form label { display: block; font-weight: 600; margin-bottom: var(--wp--preset--spacing--20); }
.search-form__row { display: flex; }
.search-form input { flex: 1; min-width: 0; font: inherit; padding: 12px 14px; border: 2px solid var(--wp--preset--color--contrast); border-right: 0; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); min-height: 52px; }
.search-form button { font: 600 var(--wp--preset--font-size--medium)/1 var(--wp--preset--font-family--aw-sans); background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border: 2px solid var(--wp--preset--color--contrast); padding: 0 26px; cursor: pointer; min-height: 52px; }
.search-form button:hover { background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); }
.search-form input:focus-visible, .search-form button:focus-visible { outline-offset: 3px; }

/* 14. Catalogue index (/catalogue/): one row per number, newest first */
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.stats > div { padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 0; }
.stats > div + div { border-left: 1px solid var(--wp--preset--color--accent-6); padding-left: var(--wp--preset--spacing--40); }
.stats dt { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.stats dd { margin: 4px 0 0; font-family: var(--wp--preset--font-family--aw-mono); font-size: 26px; font-weight: 500; line-height: 1.1; }
.stats dd small { display: block; font-size: var(--wp--preset--font-size--x-small); font-weight: 400; color: var(--wp--preset--color--accent-4); margin-top: 4px; letter-spacing: .02em; }

/* 15. Contents list (standard pages with more than four H2s) and link lists */
.toc { border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); }
.toc__h { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; margin-bottom: var(--wp--preset--spacing--20); }
.toc ol { counter-reset: t; }
.toc li { counter-increment: t; display: grid; grid-template-columns: 36px 1fr; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.toc li::before { content: counter(t, decimal-leading-zero); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-3); padding-top: 12px; }
.toc a { display: block; padding: 9px 0; font-size: var(--wp--preset--font-size--small); min-height: 24px; }
.with-toc { display: grid; grid-template-columns: minmax(0, 645px) minmax(220px, 300px); column-gap: var(--wp--preset--spacing--80); align-items: start; margin-top: var(--wp--preset--spacing--70); }
.with-toc .toc { grid-column: 2; grid-row: 1; }
.with-toc .prose { grid-column: 1; grid-row: 1; margin-top: 0; }
.links { border-top: 1px solid var(--wp--preset--color--contrast); }
.links li { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.links a { display: grid; grid-template-columns: 1fr auto; gap: var(--wp--preset--spacing--40); align-items: baseline; padding: var(--wp--preset--spacing--40) 0; min-height: 44px; font-weight: 500; }
.links a::after { content: "\2192"; font-family: var(--wp--preset--font-family--aw-mono); }
.links__url { display: block; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); font-weight: 400; margin-top: 2px; letter-spacing: .02em; overflow-wrap: anywhere; }
.prose .links { margin-top: var(--wp--preset--spacing--40); }
.prose .links li { padding: 0; display: block; }
.prose .links li::before { content: none; }
.prose .links li + li { margin-top: 0; }
.prose .links a { text-decoration: none; }
.prose .links a:hover .links__t { text-decoration: underline; text-underline-offset: 3px; }
.mission { font-size: var(--wp--preset--font-size--large); line-height: 1.45; margin-top: var(--wp--preset--spacing--50); max-width: 645px; border-left: 4px solid var(--wp--preset--color--accent-1); padding-left: var(--wp--preset--spacing--50); }

/* 16. Podcast episode (C10): native player on ink, transcript */
.listen { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding: var(--wp--preset--spacing--60); display: grid; grid-template-columns: 180px 1fr; gap: var(--wp--preset--spacing--60); max-width: 800px; }
.listen .plate img { aspect-ratio: 3 / 4; object-fit: cover; }
/* Native player: browser controls, no custom skin (deferred). Only accent-color is set; ink, because amber
   on the light native control fails 3:1 non-text contrast. width and margin are the Route A layout only. */
.listen audio { display: block; width: 100%; margin-top: var(--wp--preset--spacing--20); accent-color: var(--wp--preset--color--contrast); }
.listen__k { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-6); border-bottom: 1px solid var(--wp--preset--color--accent-2); padding-bottom: var(--wp--preset--spacing--30); }
.listen__note { font-size: 14px; color: var(--wp--preset--color--accent-6); margin-top: var(--wp--preset--spacing--40); line-height: 1.5; }
.listen__dl { margin-top: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); }
.listen a { color: var(--wp--preset--color--base); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.listen a:hover { color: var(--wp--preset--color--accent-1); text-decoration: none; }
.listen :focus-visible { outline-color: var(--wp--preset--color--accent-1); }
.disclosure { margin-top: var(--wp--preset--spacing--50); max-width: 645px; font-size: var(--wp--preset--font-size--small); line-height: 1.5; border-left: 4px solid var(--wp--preset--color--accent-1); padding-left: var(--wp--preset--spacing--40); }
.disclosure a { text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
.transcript { display: grid; gap: var(--wp--preset--spacing--40); }
.transcript p { display: grid; grid-template-columns: 104px 1fr; gap: var(--wp--preset--spacing--40); line-height: 1.6; }
.speaker { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); padding-top: 3px; line-height: 1.4; }
.srcitems li { display: grid; grid-template-columns: 104px 1fr; gap: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--30) 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); align-items: baseline; }
.srcitems .catno-inline { color: var(--wp--preset--color--contrast); font-weight: 500; font-size: 14px; }
.srcitems a { font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* 17. Research item (C13): cover, key findings, downloads */
.head-row { display: grid; grid-template-columns: minmax(0, 1fr) 280px; column-gap: var(--wp--preset--spacing--80); align-items: start; }
.cover-fig .paper__cover { margin-bottom: 0; }
.cover-fig .paper__title { top: 180px; }
.cover-fig figcaption { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); border-top: 1px solid var(--wp--preset--color--accent-6); margin-top: var(--wp--preset--spacing--20); padding-top: var(--wp--preset--spacing--20); letter-spacing: .02em; }
.dl-list { border-top: 1px solid var(--wp--preset--color--contrast); }
.dl-list li { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.dl-list a { display: grid; grid-template-columns: 64px 1fr auto; gap: var(--wp--preset--spacing--40); align-items: baseline; padding: var(--wp--preset--spacing--40) 0; min-height: 44px; }
.dl-list__fmt { font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; letter-spacing: .1em; border: 1px solid var(--wp--preset--color--contrast); padding: 2px 6px; justify-self: start; }
.dl-list__t { font-weight: 500; }
.dl-list__size { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); }
.findings { counter-reset: f; border-top: 1px solid var(--wp--preset--color--contrast); }
.findings li { counter-increment: f; display: grid; grid-template-columns: 56px 1fr; padding: var(--wp--preset--spacing--40) 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--large); line-height: 1.4; }
.findings li::before { content: counter(f, decimal-leading-zero); font-family: var(--wp--preset--font-family--aw-mono); font-size: 22px; font-weight: 500; color: var(--wp--preset--color--contrast); line-height: 1.1; }
.prose .findings li { padding-left: 0; }
.prose .findings li::before { position: static; width: auto; height: auto; background: none; box-shadow: none; }

/* 18. Corrections log and single correction (C6) */
.log > li + li { margin-top: var(--wp--preset--spacing--60); }
.log-entry { display: grid; grid-template-columns: minmax(0, 645px) 1fr; column-gap: var(--wp--preset--spacing--70); border-top: 1px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--40); }
.log-entry > * { grid-column: 1; }
.log-entry__h { font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; }
.log-entry__h .num { font-family: var(--wp--preset--font-family--aw-mono); font-weight: 500; letter-spacing: 0; }
.log-entry__h .num--own { color: var(--wp--preset--color--accent-3); }
.log-entry__h .verb { color: var(--wp--preset--color--accent-4); font-weight: 400; }
.log-entry__item { font-size: var(--wp--preset--font-size--small); margin-top: 4px; }
.log-entry__meta { grid-column: 2 !important; grid-row: 1 / span 4; display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); align-items: center; align-content: start; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); letter-spacing: .02em; }
.log-entry .wr { margin-top: var(--wp--preset--spacing--40); }
.log-entry .corr-note__link { margin-top: var(--wp--preset--spacing--40); }
.single-corr { max-width: 645px; margin-top: var(--wp--preset--spacing--60); }
.single-corr .meta-row { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40); align-items: center; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-4); }
.single-corr .wr { margin-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--medium); }
.orig { margin-top: var(--wp--preset--spacing--60); border: 1px solid var(--wp--preset--color--contrast); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); display: grid; gap: 4px; }
.orig__k { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.orig__t { font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.2; }
.orig .catno-inline { color: var(--wp--preset--color--contrast); }

/* 19. Not found */
.nf-no { font-family: var(--wp--preset--font-family--aw-mono); font-weight: 500; font-size: 44px; line-height: 1; letter-spacing: -.02em; color: var(--wp--preset--color--contrast); border-top: 2px solid var(--wp--preset--color--contrast); padding-top: var(--wp--preset--spacing--30); }
.nf .links { max-width: 645px; margin-top: var(--wp--preset--spacing--70); }

/* 20. Footer additions: Terms of use link sits beside Privacy */
.footer__base a + a { margin-left: var(--wp--preset--spacing--40); }

/* Phone (390) and narrow */
@media (max-width: 760px) {
  /* Inner header on phones: logo and Menu share one row; the menu panel drops below the header */
  .masthead--inner { grid-template-columns: 1fr auto; gap: var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--40); }
  .masthead--inner .logo { padding-right: 0; }
  .list-head, .block .section-head { flex-wrap: wrap; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); }
  .list-head > *, .block .section-head > * { white-space: nowrap; }
  .masthead--inner .logo img { height: 38px; }
  .primary-nav--inline { position: static; pointer-events: auto; }
  .primary-nav--inline .primary-nav__inner { padding-top: 0; }
  .aw-page { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--80); }
  .grid { grid-template-columns: 1fr; }
  .grid > *, .grid > .rail { grid-column: 1; }
  /* Catalogue number folds into the meta line under the headline: nothing sits to the side */
  .head { position: static; }
  .head .catno--head { position: static; width: auto; flex-direction: row; align-items: baseline; gap: .4em; border-top: 0; padding-top: 0; margin-top: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .04em; color: var(--wp--preset--color--contrast); }
  .head .catno--head .catno__aw { font-size: inherit; letter-spacing: inherit; color: inherit; }
  .head .catno--head .catno__n { font-size: inherit; font-weight: 500; margin-top: 0; letter-spacing: inherit; }
  .rail + .head, .rail + * { border-top: 0; padding-top: var(--wp--preset--spacing--30); }
  .rail-label { display: flex; gap: var(--wp--preset--spacing--30); align-items: baseline; }
  .rail-big { font-size: 22px; margin-top: 0; }
  .title { margin-top: var(--wp--preset--spacing--30); }
  .item-lead { margin-top: var(--wp--preset--spacing--50); }
  .prose { margin-top: var(--wp--preset--spacing--60); }
  .prose h2 { margin-top: var(--wp--preset--spacing--60); }
  .wr { grid-template-columns: 1fr; gap: 2px; }
  .wr dd + dt { margin-top: var(--wp--preset--spacing--30); }
  .ask { grid-template-columns: 1fr; padding: var(--wp--preset--spacing--50); }
  .ask__link { justify-self: start; }
      .onward .stubs { grid-template-columns: 1fr; gap: 0; }
  .onward .stub { padding: var(--wp--preset--spacing--40) 0; }
  .onward .stub + .stub { border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--40); }
  .prevnext { grid-template-columns: 1fr; }
  .prevnext a + a { border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
  .pins { grid-template-columns: 1fr; }
  .pin { padding: var(--wp--preset--spacing--40); }
  .pin__no { font-size: 22px; }
  .entries > li { grid-template-columns: 1fr; }
  .entry__meta { grid-column: 1 !important; grid-row: auto; display: flex; flex-wrap: wrap; gap: 4px var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--30); align-items: baseline; }
  .stats { grid-template-columns: 1fr; }
  .stats > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
  .stats > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--30) 0; }
  .stats dd { font-size: 20px; text-align: right; margin: 0; }
  .with-toc { grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--50); row-gap: var(--wp--preset--spacing--60); }
  .with-toc .toc, .with-toc .prose { grid-column: 1; grid-row: auto; }
  .listen { grid-template-columns: 1fr; padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); gap: var(--wp--preset--spacing--40); }
  .listen .plate img { aspect-ratio: 16 / 9; }
  .transcript p, .srcitems li { grid-template-columns: 1fr; gap: 2px; }
  .head-row { grid-template-columns: 1fr; row-gap: var(--wp--preset--spacing--50); }
  .cover-fig { max-width: 200px; }
  .cover-fig .paper__no { font-size: 30px; padding: 14px 14px 0; }
  .cover-fig .paper__title { display: block; top: 92px; left: 14px; right: 14px; font-size: 15px; }
  .cover-fig .paper__band { height: 8px; }
  .dl-list a { grid-template-columns: 56px 1fr; }
  .dl-list__size { grid-column: 2; }
  .findings li { grid-template-columns: 44px 1fr; font-size: var(--wp--preset--font-size--medium); }
  .findings li::before { font-size: 18px; }
  .log-entry { grid-template-columns: 1fr; }
  .log-entry__meta { grid-column: 1 !important; grid-row: auto; margin-top: var(--wp--preset--spacing--30); }
  .nf-no { font-size: 72px; line-height: .9; border-top: 0; padding-top: 0; }
  .footer__base a + a { margin-left: var(--wp--preset--spacing--30); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }


/* W. WordPress overrides and steering additions */

/* Block wrappers carry no spacing of their own; components set their own. */
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks .wp-block-template-part,
.wp-site-blocks .wp-block-group { margin-block: 0; }
.wp-block-post-content:not(.prose) > * + * { margin-block-start: 0; }

/* No page-level sideways scroll at 320px: only the catalogue strip scrolls. */
html, body { max-width: 100%; }
.catalogue { max-width: 100%; }
.catalogue__scroller { max-width: 100%; }

/* Podcast: native audio, styled only through accent-color (ink, per inner.css and style guide C10). */
.listen audio, .wp-block-audio audio { accent-color: var(--wp--preset--color--contrast); }
.audio-download { font-size: var(--wp--preset--font-size--small); margin-top: var(--wp--preset--spacing--20); }

/* Embed click facade: a plain link, nothing loads until it is followed. */
.embed-facade a { text-decoration: underline; }

/* The legal line printed by aw-core if a template drops the footer part. */
.site-footer--fallback { padding: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--small); }

/* Search: "Go to AW NNNN" link above the results. */
.search__goto { margin-bottom: var(--wp--preset--spacing--50); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--small); }
.search__goto span { color: var(--wp--preset--color--accent-4); margin-left: var(--wp--preset--spacing--30); }

/* Type filter on /articles/ and /research/ (?type=). */
.type-filter ul { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); margin-top: var(--wp--preset--spacing--50); }
.type-filter a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--small); }
.type-filter a[aria-current] { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast); }

/* Topics index (/topics/). */
.topics__list--index li { display: grid; gap: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--40) 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
.topics__list--index .topics__name { font-size: var(--wp--preset--font-size--x-large); }

/* Reduced motion: no smooth scrolling or transitions. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* /search/ page: the core Search block (form to /?s=, no script) set like .search-form. */
.wp-block-search.search-form .wp-block-search__label { display: block; font-weight: 600; margin-bottom: var(--wp--preset--spacing--20); }
.wp-block-search.search-form .wp-block-search__inside-wrapper { display: flex; width: 100% !important; padding: 0; border: 0; }
.wp-block-search.search-form .wp-block-search__input { flex: 1; min-width: 0; font: inherit; padding: 12px 14px; margin: 0; border: 2px solid var(--wp--preset--color--contrast); border-right: 0; border-radius: 0; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); min-height: 52px; }
.wp-block-search.search-form .wp-block-search__button { font: 600 var(--wp--preset--font-size--medium)/1 var(--wp--preset--font-family--aw-sans); background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border: 2px solid var(--wp--preset--color--contrast); border-radius: 0; margin: 0; padding: 0 26px; min-height: 52px; cursor: pointer; }
.wp-block-search.search-form .wp-block-search__button:hover { background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--contrast); }
.wp-block-search.search-form :focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 3px; }

/* V. Saville v0.7 soft launch (27 Oct 2026): home.css v0.7 block and inner/inner.css v0.7 OPINION
   block, copied as they are. Only change: --cells comes from a catalogue--cells-N class set by the
   template, not an inline style, so the CSP needs no style exception. */
.catalogue--cells-1 { --cells: 1; }
.catalogue--cells-2 { --cells: 2; }
.catalogue--cells-3 { --cells: 3; }
.catalogue--cells-4 { --cells: 4; }
.catalogue--cells-5 { --cells: 5; }
.catalogue--cells-6 { --cells: 6; }
.catalogue--cells-7 { --cells: 7; }
.catalogue--cells-8 { --cells: 8; }
.catalogue--cells-9 { --cells: 9; }
/* Opinion type label (C7): ink keyline box, ink text. Word first, never colour alone */
.label__type--opinion { border: 1px solid var(--wp--preset--color--contrast); padding: 0 6px; line-height: 20px; }
.meta__type { color: var(--wp--preset--color--contrast); font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
/* Sparse lead: more air, no contents list; plate may be the fallback catalogue plate */
.lead--sparse { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--90); }
.lead--sparse .lead__headline { max-width: 16ch; text-wrap: balance; }
.lead--sparse .lead__standfirst { max-width: 36ch; }
.plate--fallback img { filter: none; background: var(--wp--preset--color--base); outline: 1px solid var(--wp--preset--color--accent-6); outline-offset: -1px; }
/* Sparse catalogue strip: the strip is laid on the ten-cell grid of the full strip and fills
   from the left as numbers are added (--cells set by the template, 1 to 9). The empty track to
   the right carries a short Mono "Catalogue begins" line and hairline ticks, one per future cell.
   At 10 or more items the template switches back to the normal strip (.catalogue without --sparse). */
.catalogue--sparse { padding-bottom: var(--wp--preset--spacing--90); }
.catalogue__row { display: flex; align-items: stretch; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.catalogue--sparse .catalogue__scroller { flex: none; width: max(calc(var(--cells) * 108px), calc(var(--cells) * 10%)); max-width: 100%; }
.catalogue--sparse .catalogue__strip { grid-template-columns: repeat(var(--cells), minmax(108px, 1fr)); border-bottom: 0; }
.catalogue--sparse .catalogue__strip li:last-child { border-right: 1px solid var(--wp--preset--color--accent-6); }
.catalogue--sparse .catalogue__strip a { min-height: 144px; justify-content: space-between; }
.catalogue__begins { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; gap: 4px; padding: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); line-height: 1.4; text-align: right;
  background-image: repeating-linear-gradient(to right, var(--wp--preset--color--accent-6) 0 1px, transparent 1px 100%); background-size: calc(100% / (10 - var(--cells))) 8px; background-repeat: repeat-x; background-position: left bottom; }
.catalogue__begins strong { font-weight: 500; color: var(--wp--preset--color--contrast); }
.catalogue--sparse::after { display: none; } /* no edge fade: the sparse strip never needs to scroll on desktop */
@media (min-width: 1060px) {
  .catalogue--sparse .catalogue__n { font-size: 44px; letter-spacing: -.02em; }
  .catalogue--sparse .catalogue__aw { display: block; vertical-align: 0; margin-bottom: 6px; }
}
/* Narrow desktop and phones: the sparse strip keeps 108px cells; the line drops under it */
@media (max-width: 1059px) {
  .catalogue--sparse .catalogue__cue { display: none; }
  .catalogue__row { flex-wrap: wrap; }
  .catalogue--sparse .catalogue__scroller { width: auto; flex: 0 1 auto; }
  .catalogue--sparse .catalogue__strip { grid-template-columns: repeat(var(--cells), 108px); }
  .catalogue__begins { flex: 1 0 200px; }
}
@media (max-width: 760px) {
  .catalogue__begins { flex-basis: 100%; align-items: flex-start; text-align: left; padding-left: 0; background-image: none; border-top: 1px solid var(--wp--preset--color--accent-6); }
  .lead--sparse { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--80); }
}
/* A sparse strip with more cells than fit (phones, 3 or more cells at 320px) scrolls inside its region as usual */
@media (max-width: 1059px) { .catalogue--sparse.is-scrolling .catalogue__cue { display: block; } }
/* Fallback plate drawn as inline SVG (the number and topic come from the item): same treatment as the img */
.plate--fallback .plate__svg { display: block; width: 100%; height: auto; background: var(--wp--preset--color--base); outline: 1px solid var(--wp--preset--color--accent-6); outline-offset: -1px; }
/* Opinion notice under the meta line: reuses .notice (paper deep, 4px amber left rule); the word
   "Opinion:" carries the meaning, so colour is never the only signal */
.notice--opinion .notice__word { color: var(--wp--preset--color--contrast); }
/* C15 Room for disagreement: a ruled block after the body and before the AI-use line.
   2px ink rule top and bottom, paper deep ground, counterpoints numbered 01 to 03 in AW Mono */
.disagree { margin-top: var(--wp--preset--spacing--70); max-width: 645px; background: var(--wp--preset--color--accent-5); border-top: 2px solid var(--wp--preset--color--contrast); border-bottom: 2px solid var(--wp--preset--color--contrast); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) var(--wp--preset--spacing--50); }
.disagree .section-head { border-top: 0; padding-top: 0; margin-bottom: var(--wp--preset--spacing--30); gap: var(--wp--preset--spacing--40); }
.disagree__region { font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .04em; color: var(--wp--preset--color--accent-4); white-space: nowrap; }
.disagree__intro { font-size: var(--wp--preset--font-size--small); line-height: 1.5; max-width: var(--wp--custom--measure); color: var(--wp--preset--color--contrast); }
.disagree__list { counter-reset: d; margin-top: var(--wp--preset--spacing--40); }
.disagree__list > li { counter-increment: d; display: grid; grid-template-columns: 40px minmax(0, 1fr); padding: var(--wp--preset--spacing--40) 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
.disagree__list > li::before { content: counter(d, decimal-leading-zero); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent-3); padding-top: 4px; }
.disagree__point { font-size: var(--wp--preset--font-size--medium); line-height: 1.55; max-width: var(--wp--custom--measure); }
.disagree__src { margin-top: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); line-height: 1.45; overflow-wrap: anywhere; }
.disagree__src a { font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; display: inline-block; min-height: 24px; }
.disagree__src .sources__meta { margin-top: 2px; }
@media (max-width: 760px) {
  .disagree { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); }
  .disagree .section-head { flex-wrap: wrap; gap: 4px var(--wp--preset--spacing--40); }
  .disagree__list > li { grid-template-columns: 32px minmax(0, 1fr); }
}

/* Article sections (Rhys 29 Oct 2026: "Section openers / Small images beside sections / Pull quotes and end marks").
   Values from Saville, 29 Oct 2026. Single posts only; pages keep the plain numbered h2.
   Decoration is either the existing aria-hidden .h-no span or CSS generated content, so screen readers skip it. */
:root {
  --aw-sec-rule: 1px solid #C9C6BC;
  --aw-sec-rule-gap: 32px;
  --aw-sec-num-size: clamp(2.5rem, 6vw, 4rem);
  --aw-sec-num-weight: 500;
  --aw-sec-num-color: #121212;
  --aw-sec-num-gap: 8px;
  --aw-sec-tag-size: 13px;
  --aw-sec-tag-track: .08em;
  --aw-sec-tag-color: #5E5E5A;
  --aw-spot-w: 280px;
  --aw-spot-w-mid: 240px;
  --aw-spot-max-stacked: 360px;
  --aw-spot-gap: 40px;
  --aw-pq-size: 1.5rem;
  --aw-pq-lh: 1.35;
  --aw-pq-color: #121212;
  --aw-pq-bar: 4px solid #E0A100;
  --aw-pq-pad: 20px;
  --aw-pq-cite-color: #5E5E5A;
  --aw-end-size: .55em;
  --aw-end-color: #E0A100;
  --aw-end-gap: .35em;
}
/* 1. Section opener: rule, big numeral on its own line, tag on the numeral's baseline, right aligned. */
.single-post .prose { counter-reset: aw-sec; }
.single-post .prose h2:has(> .h-no) { display: block; counter-increment: aw-sec; border-top: var(--aw-sec-rule); padding-top: var(--aw-sec-rule-gap); }
.single-post .prose .h-no { display: flex; justify-content: space-between; align-items: baseline; gap: var(--wp--preset--spacing--40); width: auto; padding-top: 0; margin-bottom: var(--aw-sec-num-gap); font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--aw-sec-num-size); font-weight: var(--aw-sec-num-weight); line-height: 1; letter-spacing: 0; color: var(--aw-sec-num-color); }
.single-post .prose .h-no::after { content: "AW " var(--aw-no) " / " counter(aw-sec, decimal-leading-zero); font-size: var(--aw-sec-tag-size); font-weight: 400; letter-spacing: var(--aw-sec-tag-track); text-transform: uppercase; color: var(--aw-sec-tag-color); }
.single-post .prose:not([style*="--aw-no"]) .h-no::after { content: none; }
/* 3. Spot image (core Image block, style "Spot", straight after the h2, alt="" as decoration, no caption).
   Rhys 29 Oct 2026: C on desktop (drop image in the first paragraph), D on phones (thumbnail beside the opener).
   The class pair aw-spot-c aw-spot-pd comes from AW_THEME_SPOT_VARIANT in functions.php.
   A container query on the column holding .prose switches to D, so text resize and zoom behave like a phone. */
.single-post :has(> .prose) { container: aw-prose / inline-size; }
.single-post .prose { --aw-spot-gap-x: 1em; --aw-thumb: 5.25rem; --aw-drop-lines: 5; }
.single-post .prose > h2, .single-post .prose > .wp-block-pullquote { clear: both; }
.single-post .prose > .is-style-aw-spot img { display: block; aspect-ratio: 1; object-fit: cover; }
.single-post .prose > .is-style-aw-spot figcaption { display: none; }
.single-post .prose > .is-style-aw-spot + p { margin-top: var(--wp--preset--spacing--30); }
/* C. Drop image: initial-letter only applies to ::first-letter, so this is float maths on the paragraph metrics:
   size = cap height + 5 lines, top lifted to the cap line of line 1, bottom on the baseline of line 6.
   1.25em below the float so a short paragraph never lets the next block butt up against it. */
.single-post .prose.aw-spot-c > .is-style-aw-spot { clear: both; float: left; line-height: 1.6; margin: var(--wp--preset--spacing--30) var(--aw-spot-gap-x) 1.25em 0; }
.single-post .prose.aw-spot-c > .is-style-aw-spot img { width: calc(1cap + var(--aw-drop-lines) * 1lh); height: calc(1cap + var(--aw-drop-lines) * 1lh); max-width: 40cqi; max-height: 40cqi; margin-top: calc((1lh - 1em) / 2 + .78em - 1cap); }
/* D. Header row, below 30em (phones, high zoom): thumbnail beside the numeral, tag and heading, paragraph full width.
   CSS grid with dense packing pulls each spot into its own h2's row. */
@container aw-prose (width < 30em) {
  .single-post .prose.aw-spot-pd { display: grid; grid-template-columns: var(--aw-thumb) minmax(0, 1fr); column-gap: 0; grid-auto-flow: row dense; }
  .single-post .prose.aw-spot-pd > * { grid-column: 1 / -1; }
  .single-post .prose.aw-spot-pd > h2:has(+ .is-style-aw-spot) { grid-column: 2; margin-top: var(--wp--preset--spacing--60); }
  .single-post .prose.aw-spot-pd > .is-style-aw-spot { grid-column: 1; float: none; align-self: start; margin: var(--wp--preset--spacing--60) 0 0; padding-right: 16px; padding-top: var(--aw-sec-rule-gap); border-top: var(--aw-sec-rule); }
  .single-post .prose.aw-spot-pd > .is-style-aw-spot img { width: 100%; height: auto; max-width: none; max-height: none; margin: 0; }
}
/* 4. Pullquote (core block): ink text, amber bar, no quote marks, no italics. Max 2 per article (house style, not code). */
.prose .wp-block-pullquote { font-size: var(--aw-pq-size); font-weight: 600; line-height: var(--aw-pq-lh); margin: 2em 0; padding: 0 0 0 var(--aw-pq-pad); border: 0; border-left: var(--aw-pq-bar); text-align: left; max-width: 60ch; }
.prose .wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; quotes: none; }
.prose .wp-block-pullquote blockquote::before, .prose .wp-block-pullquote blockquote::after { content: none; }
.prose .wp-block-pullquote p { font-family: var(--wp--preset--font-family--aw-sans); font-size: var(--aw-pq-size); font-weight: 600; font-style: normal; line-height: var(--aw-pq-lh); letter-spacing: -.005em; color: var(--aw-pq-color); margin: 0; }
.prose .wp-block-pullquote cite { display: block; margin-top: var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--aw-mono); font-size: 13px; font-style: normal; text-transform: none; color: var(--aw-pq-cite-color); }
/* 5. End mark: a small amber square after each section's last paragraph and the last paragraph of the content. */
.single-post .prose > h2 ~ p:has(+ h2)::after,
.single-post .prose > h2 ~ p:has(+ .is-style-aw-glossary)::after,
.single-post .prose > h2 ~ p:last-child::after { content: ""; display: inline-block; width: var(--aw-end-size); height: var(--aw-end-size); margin-left: var(--aw-end-gap); vertical-align: baseline; background: var(--aw-end-color); }
/* Home: the catalogue strip sits after Latest and the "All articles" link follows it (Rhys, 30 Oct 2026).
   The link lines up with the strip's left edge, sits close under it, and keeps the old Latest bottom space. */
.all-link--home { padding-left: var(--margin); padding-bottom: var(--wp--preset--spacing--80); }
.catalogue:has(+ .all-link--home) { padding-bottom: var(--wp--preset--spacing--50); }
/* Explainers (Rhys 2 Nov 2026: "Explainer plan approved, glossary optional per explainer").
   Label: the word "Explainer", plain like Analysis; it is a link (underlined) only once /articles/explainers/ is live.
   In brief: core Group, style "In brief", first in the piece, the notice look (paper panel, amber keyline).
   Words used here: core Group, style "Words used here", at the end, the ruled panel look of "Where we disagree";
   aw-core turns its list of "Term: meaning" items into a <dl>. Both carry a visible heading, never colour alone. */
a.label__type--explainer { display: inline-block; min-height: 24px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a.label__type--explainer:hover { color: var(--wp--preset--color--accent-3); }
.prose > .is-style-aw-in-brief, .prose > .is-style-aw-glossary { max-width: 645px; background: var(--wp--preset--color--accent-5); }
.prose > .is-style-aw-in-brief { border-left: 4px solid var(--wp--preset--color--accent-1); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.prose > .is-style-aw-in-brief:first-child { margin-top: 0; }
.prose > .is-style-aw-in-brief + * { margin-top: var(--wp--preset--spacing--60); }
.prose > .is-style-aw-glossary { clear: both; margin-top: var(--wp--preset--spacing--70); border-top: 2px solid var(--wp--preset--color--contrast); border-bottom: 2px solid var(--wp--preset--color--contrast); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
.prose .aw-box__h { display: block; margin: 0; padding: 0; border: 0; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); font-weight: 500; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--contrast); text-wrap: wrap; }
.prose .is-style-aw-in-brief ul { margin: var(--wp--preset--spacing--30) 0 0; padding: 0; list-style: none; }
.prose .is-style-aw-in-brief li { line-height: 1.5; }
.prose .is-style-aw-in-brief li + li { margin-top: var(--wp--preset--spacing--20); }
.prose .glossary { margin: var(--wp--preset--spacing--30) 0 0; }
.prose .glossary__row { display: grid; grid-template-columns: minmax(7rem, 30%) minmax(0, 1fr); gap: 0 var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--30) 0; border-top: 1px solid var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.prose .glossary dt { font-weight: 600; }
.prose .glossary dd { margin: 0; }
@media (max-width: 600px) {
  .prose .glossary__row { grid-template-columns: minmax(0, 1fr); }
  .prose .glossary dd { margin-top: 2px; }
}
.meta__updated time { font-weight: 500; }
/* Infographics (Rhys 2 Nov 2026: "extensive use of infographics in the explainers"). Core Image, style "Infographic".
   Wide ones (aw-infographic--wide): full column on phones and tablets, up to 800px (the header and cover width) on desktop.
   Tall ones (aw-infographic--tall, set by aw-core when height > 1.25 x width): within the 645px text measure and,
   from 761px, no taller than 1200px. aw-core sets sizes to match. The image links to its full size file; the link is
   named by the alt text plus the visible line "Open full size infographic". Caption, then a smaller Source or Credit line. */
.prose > .is-style-aw-infographic { clear: both; margin-top: var(--wp--preset--spacing--60); margin-bottom: var(--wp--preset--spacing--60); margin-left: 0; margin-right: 0; width: 100%; max-width: 100%; }
@media (min-width: 761px) {
  .single-post .prose > .is-style-aw-infographic.aw-infographic--wide { width: min(800px, calc(100cqi - 104px - var(--wp--preset--spacing--60))); max-width: none; }
  .prose > .aw-infographic--tall img { max-height: 1200px; }
}
.prose > .is-style-aw-infographic a { display: block; width: fit-content; max-width: 100%; color: inherit; text-decoration: none; }
.prose > .is-style-aw-infographic a:focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 4px; }
.prose > .is-style-aw-infographic img { display: block; width: 100%; max-width: 100%; height: auto; border: 1px solid var(--wp--preset--color--accent-6); background: #fff; }
.prose > .aw-infographic--tall img { width: auto; }
.prose > .aw-infographic--wide a { width: 100%; }
.aw-infographic__open { display: inline-block; min-height: 24px; margin-top: var(--wp--preset--spacing--20); padding-top: 2px; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .02em; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose > .is-style-aw-infographic a:hover .aw-infographic__open { color: var(--wp--preset--color--accent-3); }
.prose > .is-style-aw-infographic figcaption { max-width: 645px; margin: var(--wp--preset--spacing--20) 0 0; padding-top: var(--wp--preset--spacing--20); border-top: 1px solid var(--wp--preset--color--accent-6); font-size: var(--wp--preset--font-size--small); line-height: 1.5; color: var(--wp--preset--color--contrast); text-align: left; }
.aw-infographic__cap { display: block; }
.aw-infographic__credit { display: block; margin-top: 4px; font-family: var(--wp--preset--font-family--aw-mono); font-size: var(--wp--preset--font-size--x-small); line-height: 1.5; letter-spacing: .02em; color: var(--wp--preset--color--accent-4); }
