/* ============================================================
   MULTIPEAK GLOBAL — Block content styles
   Loaded on every page built with the block editor (pages,
   Insights, policies) AND inside the editor via add_editor_style(),
   so what editors see is what visitors get.

   Relies only on theme.json presets (--wp--preset--*) plus the
   --mpg-* tokens below, never on main.css, because main.css is
   not loaded inside the editor.

   Content roots:
   - front end: .mpg-prose (set by the page / single templates)
   - editor:    .is-root-container (the block list root)
   ============================================================ */

:root {
  --mpg-ink:       var(--wp--preset--color--ink, #0a0e1a);
  --mpg-text:      #1d1d1f;
  --mpg-muted:     var(--wp--preset--color--muted, #6e6e76);
  --mpg-blue:      var(--wp--preset--color--blue, #0a3d91);
  --mpg-blue-2:    var(--wp--preset--color--blue-bright, #1851b8);
  --mpg-silver:    var(--wp--preset--color--silver, #c8ccd2);
  --mpg-paper:     var(--wp--preset--color--paper, #ffffff);
  --mpg-off-white: var(--wp--preset--color--off-white, #f7f7f5);
  --mpg-surface:   var(--wp--preset--color--surface, #ebebe6);
  --mpg-border:    rgba(15, 23, 42, 0.14);
  --mpg-divider:   rgba(15, 23, 42, 0.10);

  --mpg-sans: var(--wp--preset--font-family--sans, 'Outfit', system-ui, sans-serif);
  --mpg-mono: var(--wp--preset--font-family--mono, 'JetBrains Mono', ui-monospace, monospace);

  --mpg-r-md:   0.625rem;
  --mpg-r-xl:   1.125rem;
  --mpg-r-2xl:  1.5rem;
  --mpg-r-pill: 9999px;

  --mpg-ease:   cubic-bezier(0.22, 1, 0.36, 1);
  --mpg-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --mpg-sh-md:  0 12px 32px rgba(15, 23, 42, 0.10);
  --mpg-sh-lg:  0 28px 60px rgba(15, 23, 42, 0.14);

  --mpg-gutter: clamp(1.25rem, 4vw, 2.5rem);
}

/* ─── Content root (front end) ──────────────────────────────── */
.mpg-prose {
  padding-inline: var(--mpg-gutter);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.7;
  color: var(--mpg-text);
}
.mpg-prose > .alignfull {
  margin-inline: calc(var(--mpg-gutter) * -1);
  max-width: none;
}
.mpg-prose > :first-child { margin-block-start: 0; }

/* Section rhythm: wide / full-width blocks and section groups get
   generous space, like the homepage; a section heading stays close to
   the content it introduces. */
:is(.mpg-prose, .is-root-container) > :is(.alignwide, .alignfull, .wp-block-group) {
  margin-block-start: clamp(3rem, 2rem + 4vw, 6rem);
}
:is(.mpg-prose, .is-root-container) > .mpg-section-head + * {
  margin-block-start: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}
:is(.mpg-prose, .is-root-container) > :first-child { margin-block-start: 0; }

/* ─── Typography ────────────────────────────────────────────── */
:is(.mpg-prose, .is-root-container) :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--mpg-sans);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: var(--mpg-ink);
  text-wrap: balance;
}
:is(.mpg-prose, .is-root-container) h1 { font-size: var(--wp--preset--font-size--title-l); }
:is(.mpg-prose, .is-root-container) h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); }
:is(.mpg-prose, .is-root-container) h3 { font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem); letter-spacing: -0.025em; }
:is(.mpg-prose, .is-root-container) h4 { font-size: 1.25rem; letter-spacing: -0.02em; }
:is(.mpg-prose, .is-root-container) :is(h5, h6) { font-size: 1.0625rem; letter-spacing: -0.01em; }

/* Breathing room before headings in long-form content. */
:is(.mpg-prose, .is-root-container) > :is(h2, h3) { margin-block-start: clamp(2.5rem, 5vw, 3.5rem); }
:is(.mpg-prose, .is-root-container) > :is(h2, h3) + * { margin-block-start: 1rem; }

/* Brand accent: <em> inside a heading reads as blue, as on the homepage. */
:is(.mpg-prose, .is-root-container) :is(h1, h2, h3, h4) em {
  font-style: normal;
  color: var(--mpg-blue);
}

:is(.mpg-prose, .is-root-container) p { text-wrap: pretty; }
:is(.mpg-prose, .is-root-container) strong { font-weight: 600; color: var(--mpg-ink); }

/* Inline links in running text (buttons and cards excluded). */
:is(.mpg-prose, .is-root-container) :is(p, li, td, figcaption, summary, cite) a:not(.wp-element-button) {
  color: var(--mpg-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  text-decoration-color: rgba(10, 61, 145, 0.35);
  transition: text-decoration-color 200ms var(--mpg-ease), color 200ms var(--mpg-ease);
}
:is(.mpg-prose, .is-root-container) :is(p, li, td, figcaption, summary, cite) a:not(.wp-element-button):hover {
  color: var(--mpg-blue-2);
  text-decoration-color: currentColor;
}

/* Lists — main.css resets list-style globally, so restore it for content. */
:is(.mpg-prose, .is-root-container) :is(ul.wp-block-list, ol.wp-block-list, ul:not([class]), ol:not([class])) {
  padding-inline-start: 1.35em;
}
:is(.mpg-prose, .is-root-container) :is(ul.wp-block-list, ul:not([class])) { list-style: disc; }
:is(.mpg-prose, .is-root-container) :is(ol.wp-block-list, ol:not([class])) { list-style: decimal; }
:is(.mpg-prose, .is-root-container) li + li { margin-top: 0.4em; }
:is(.mpg-prose, .is-root-container) li::marker { color: var(--mpg-blue); }

/* Style: List → "Check" */
.wp-block-list.is-style-check {
  list-style: none !important;
  padding-inline-start: 0 !important;
}
.wp-block-list.is-style-check > li {
  position: relative;
  padding-inline-start: 2em;
}
.wp-block-list.is-style-check > li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.32em;
  width: 1.15em; height: 1.15em;
  border-radius: 50%;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>") center / 62% no-repeat,
    var(--mpg-blue);
}

/* ─── Paragraph styles ──────────────────────────────────────── */
/* Style: Paragraph → "Eyebrow" (small mono label above a title) */
p.is-style-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--mpg-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mpg-blue);
}
p.is-style-eyebrow::before {
  content: '';
  flex: none;
  width: 24px; height: 1px;
  background: currentColor;
}
p.is-style-eyebrow.has-text-align-center { justify-content: center; }
p.is-style-eyebrow + :is(h1, h2, h3) { margin-block-start: 1rem; }

/* Style: Paragraph → "Lede" (introductory paragraph) */
p.is-style-lede {
  font-size: var(--wp--preset--font-size--lede);
  line-height: 1.5;
  color: var(--mpg-muted);
}

/* ─── Quotes ────────────────────────────────────────────────── */
.wp-block-quote {
  border-left: 2px solid var(--mpg-blue);
  padding: 0.25rem 0 0.25rem 1.5rem;
  margin-inline: 0;
}
.wp-block-quote p {
  font-size: var(--wp--preset--font-size--lede);
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--mpg-ink);
}
.wp-block-quote cite,
.wp-block-pullquote cite {
  display: block;
  margin-top: 0.875rem;
  font-family: var(--mpg-mono);
  font-size: 0.75rem;
  font-style: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mpg-muted);
}
.wp-block-pullquote {
  border: 0;
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  text-align: left;
  border-top: 1px solid var(--mpg-divider);
  border-bottom: 1px solid var(--mpg-divider);
}
.wp-block-pullquote blockquote { margin: 0; }
.wp-block-pullquote p {
  font-size: var(--wp--preset--font-size--title-s);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--mpg-ink);
}
.wp-block-pullquote p::before {
  content: '“';
  display: block;
  font-size: 3em;
  line-height: 0.6;
  color: var(--mpg-blue);
}

/* ─── Separator ─────────────────────────────────────────────── */
.wp-block-separator {
  border: 0;
  height: 1px;
  background: var(--mpg-divider);
  opacity: 1;
  margin-block: clamp(2.5rem, 5vw, 4rem);
}
.wp-block-separator.is-style-dots {
  background: none;
  height: auto;
  text-align: center;
  color: var(--mpg-silver);
}

/* ─── Images & media ────────────────────────────────────────── */
.wp-block-image img,
.wp-block-video video,
.wp-block-embed iframe {
  border-radius: var(--mpg-r-xl);
}
.wp-block-image.is-style-rounded img { border-radius: 9999px; }
.wp-block-image figcaption,
.wp-block-video figcaption,
.wp-block-embed figcaption,
.wp-block-table figcaption {
  margin-top: 0.75rem;
  font-family: var(--mpg-mono);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--mpg-muted);
  text-align: left;
}
/* Style: Image → "Soft shadow" */
.wp-block-image.is-style-soft-shadow img {
  box-shadow: var(--mpg-sh-lg);
}
.wp-block-cover {
  border-radius: var(--mpg-r-2xl);
  overflow: hidden;
}
.wp-block-cover.alignfull { border-radius: 0; }

/* ─── Table ─────────────────────────────────────────────────── */
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--wp--preset--font-size--small);
}
.wp-block-table :is(th, td) {
  padding: 0.875rem 1rem 0.875rem 0;
  border: 0;
  border-bottom: 1px solid var(--mpg-divider);
  text-align: left;
  vertical-align: top;
}
.wp-block-table thead { border-bottom: 0; }
.wp-block-table th {
  font-family: var(--mpg-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mpg-blue);
  border-bottom-color: var(--mpg-ink);
}

/* ─── Code ──────────────────────────────────────────────────── */
:is(.mpg-prose, .is-root-container) :is(code, kbd) {
  font-family: var(--mpg-mono);
  font-size: 0.875em;
  background: var(--mpg-surface);
  padding: 0.15em 0.4em;
  border-radius: 0.375rem;
}
.wp-block-code {
  background: var(--mpg-ink);
  color: #e7ebf3;
  padding: 1.25rem 1.5rem;
  border-radius: var(--mpg-r-xl);
  overflow-x: auto;
}
.wp-block-code code { background: none; padding: 0; color: inherit; }

/* ─── Buttons ───────────────────────────────────────────────── */
/* Base colours / radius / padding come from theme.json (elements.button). */
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  letter-spacing: -0.005em;
  transition: background-color 380ms var(--mpg-ease), color 380ms var(--mpg-ease),
              border-color 380ms var(--mpg-ease), transform 380ms var(--mpg-spring),
              box-shadow 380ms var(--mpg-ease);
}
.wp-block-button__link:hover { transform: translateY(-1px); }

/* Outline = the template's "ghost" pill. */
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  color: var(--mpg-ink);
  border: 1px solid var(--mpg-border);
  padding: calc(0.875rem - 1px) calc(1.5rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: rgba(10, 61, 145, 0.08);
  border-color: rgba(10, 61, 145, 0.3);
  color: var(--mpg-blue);
}

/* Style: Button → "Arrow" — primary pill with a trailing arrow. */
.wp-block-button.is-style-arrow > .wp-block-button__link::after {
  content: '→';
  transition: transform 380ms var(--mpg-spring);
}
.wp-block-button.is-style-arrow > .wp-block-button__link:hover::after { transform: translateX(3px); }

/* ─── Group styles ──────────────────────────────────────────── */
/* Style: Group → "Card" (white tile, like the homepage pillars) */
.wp-block-group.is-style-card {
  background: var(--mpg-paper);
  border: 1px solid var(--mpg-border);
  border-radius: var(--mpg-r-2xl);
  padding: clamp(1.5rem, 3vw, 2rem);
  transition: transform 500ms var(--mpg-spring), border-color 380ms var(--mpg-ease), box-shadow 500ms var(--mpg-spring);
}
.wp-block-group.is-style-card:hover {
  transform: translateY(-3px);
  border-color: rgba(10, 61, 145, 0.22);
  box-shadow: var(--mpg-sh-md);
}
.wp-block-group.is-style-card > :first-child { margin-top: 0; }

/* Style: Group → "Ink" (dark section, like Industries / Contact) */
.wp-block-group.is-style-ink {
  position: relative;
  isolation: isolate;
  background: var(--mpg-ink);
  color: #c9d1de;
  padding: clamp(3rem, 8vw, 7rem) var(--mpg-gutter);
  overflow: hidden;
}
.wp-block-group.is-style-ink:not(.alignfull) { border-radius: var(--mpg-r-2xl); }
.wp-block-group.is-style-ink::before {
  content: '';
  position: absolute; inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 80% 0%, rgba(10, 61, 145, 0.38) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 0% 100%, rgba(200, 204, 210, 0.07) 0%, transparent 60%);
}
.wp-block-group.is-style-ink :is(h1, h2, h3, h4, h5, h6, strong) { color: #fff; }
.wp-block-group.is-style-ink :is(h1, h2, h3, h4) em {
  font-style: italic;
  font-weight: 400;
  color: var(--mpg-silver);
}
.wp-block-group.is-style-ink p.is-style-eyebrow { color: var(--mpg-silver); }
.wp-block-group.is-style-ink p.is-style-lede { color: #a9b3c4; }
.wp-block-group.is-style-ink a:not(.wp-element-button) { color: #fff; }
.wp-block-group.is-style-ink .wp-block-button__link {
  background: var(--mpg-blue);
  color: #fff;
}
.wp-block-group.is-style-ink .wp-block-button__link:hover {
  background: #1a5cc0;
  box-shadow: 0 24px 60px rgba(10, 61, 145, 0.34);
}
.wp-block-group.is-style-ink .wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.25);
}
.wp-block-group.is-style-ink .wp-block-group.is-style-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.10);
}
.wp-block-group.is-style-ink .wp-block-separator { background: rgba(255, 255, 255, 0.12); }

/* Style: Group → "Mesh" (light section with the blue ambient glow) */
.wp-block-group.is-style-mesh {
  position: relative;
  isolation: isolate;
  background: var(--mpg-off-white);
  padding: clamp(3rem, 8vw, 7rem) var(--mpg-gutter);
  overflow: hidden;
}
.wp-block-group.is-style-mesh:not(.alignfull) { border-radius: var(--mpg-r-2xl); }
.wp-block-group.is-style-mesh::before {
  content: '';
  position: absolute; inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 45% at 85% 0%, rgba(10, 61, 145, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 45% 40% at 0% 100%, rgba(200, 204, 210, 0.45) 0%, transparent 60%);
}

/* ─── Key takeaways (Insights "TL;DR" pattern) ─────────────── */
.wp-block-group.is-style-card.mpg-tldr {
  background: rgba(10, 61, 145, 0.04);
  border-color: rgba(10, 61, 145, 0.18);
}
.wp-block-group.is-style-card.mpg-tldr:hover { transform: none; box-shadow: none; }
.mpg-tldr .wp-block-list { font-size: var(--wp--preset--font-size--body); }

/* ─── Key figures (used by the "Key figures" pattern) ──────── */
.mpg-stat-value {
  font-size: clamp(2.5rem, 1.8rem + 3vw, 4.5rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--mpg-ink);
}
.mpg-stat-value em { font-style: normal; color: var(--mpg-blue); }
.is-style-ink .mpg-stat-value { color: #fff; }
.mpg-stat-label {
  font-family: var(--mpg-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mpg-muted);
}

/* ─── Numbered steps (used by the "Steps" pattern) ─────────── */
.mpg-step-num {
  display: inline-grid;
  place-items: center;
  width: 3rem; height: 3rem;
  border-radius: 50%;
  border: 1px solid rgba(10, 61, 145, 0.3);
  font-family: var(--mpg-mono);
  font-size: 0.8125rem;
  color: var(--mpg-blue);
}

/* ─── Details / FAQ ─────────────────────────────────────────── */
.wp-block-details {
  border-bottom: 1px solid var(--mpg-divider);
  padding-block: 1.25rem;
}
.wp-block-details + .wp-block-details { margin-block-start: 0; }
.wp-block-details summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding-right: 2.5rem;
  font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--mpg-ink);
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
  content: '+';
  position: absolute;
  right: 0; top: 50%;
  translate: 0 -50%;
  display: grid;
  place-items: center;
  width: 1.75rem; height: 1.75rem;
  border-radius: 50%;
  border: 1px solid var(--mpg-border);
  font-family: var(--mpg-mono);
  font-size: 0.875rem;
  color: var(--mpg-blue);
  transition: transform 380ms var(--mpg-spring), background-color 200ms var(--mpg-ease);
}
.wp-block-details[open] summary::after { transform: rotate(45deg); background: rgba(10, 61, 145, 0.08); }
.wp-block-details > :not(summary) { margin-top: 0.875rem; color: var(--mpg-muted); }
.is-style-ink .wp-block-details { border-color: rgba(255, 255, 255, 0.12); }
.is-style-ink .wp-block-details summary { color: #fff; }

/* ─── Query loop (Insights grid pattern) ───────────────────── */
.wp-block-post-template.is-layout-grid { gap: 1.25rem; }
.wp-block-post-template > li.wp-block-post {
  display: flex;
  flex-direction: column;
  background: var(--mpg-paper);
  border: 1px solid var(--mpg-border);
  border-radius: var(--mpg-r-2xl);
  overflow: hidden;
  transition: transform 500ms var(--mpg-spring), border-color 380ms var(--mpg-ease), box-shadow 500ms var(--mpg-spring);
}
.wp-block-post-template > li.wp-block-post:hover {
  transform: translateY(-3px);
  border-color: rgba(10, 61, 145, 0.22);
  box-shadow: var(--mpg-sh-md);
}
.wp-block-post-template .wp-block-post-featured-image { margin: 0; }
.wp-block-post-template .wp-block-post-featured-image img {
  aspect-ratio: 16 / 10;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 0;
}
.wp-block-post-template li.wp-block-post > :not(.wp-block-post-featured-image) {
  margin-inline: 1.5rem;
}
.wp-block-post-template li.wp-block-post > :last-child { margin-bottom: 1.5rem; }
.wp-block-post-template .wp-block-post-terms,
.wp-block-post-template .wp-block-post-date {
  font-family: var(--mpg-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mpg-muted);
}
.wp-block-post-template .wp-block-post-terms a { color: var(--mpg-blue); text-decoration: none; }
.wp-block-post-template .wp-block-post-title {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
}
.wp-block-post-template .wp-block-post-title a { color: inherit; text-decoration: none; }
.wp-block-post-template .wp-block-post-excerpt__excerpt {
  font-size: var(--wp--preset--font-size--small);
  color: var(--mpg-muted);
  line-height: 1.55;
}
.wp-block-query-pagination {
  gap: 0.5rem;
  font-family: var(--mpg-mono);
  font-size: 0.8125rem;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
  padding: 0.5rem 0.875rem;
  border-radius: var(--mpg-r-pill);
  color: var(--mpg-ink);
  text-decoration: none;
}
.wp-block-query-pagination .page-numbers.current { background: var(--mpg-ink); color: #fff; }

/* ─── Columns ───────────────────────────────────────────────── */
.wp-block-columns { gap: clamp(1.25rem, 3vw, 2.5rem); }

/* ════════════════════════════════════════════════════════════
   ARTICLE BLOCKS (2.1) — the "Multipeak — Article blocks"
   patterns, chained by the article layouts. Markup lives in
   inc/article-blocks/; every block works on its own.
   ════════════════════════════════════════════════════════════ */

/* Rhythm: article blocks sit closer together than page sections, with
   the same space above and below a boxed or ruled block, so it never
   crowds the text that follows. Headings keep their own, larger space. */
:is(.mpg-prose, .is-root-container) > :is(.mpg-tldr, .mpg-figures, .mpg-facts, .mpg-callout, .mpg-faq, .mpg-sources, .mpg-cta-card, .mpg-boilerplate, .mpg-media-contact, .mpg-quote, .wp-block-pullquote),
:is(.mpg-prose, .is-root-container) > :is(.mpg-lead-photo, .mpg-tldr, .mpg-figures, .mpg-facts, .mpg-callout, .mpg-faq, .mpg-cta-card, .mpg-quote, .wp-block-pullquote) + :not(h2, h3) {
  margin-block-start: clamp(2rem, 1.5rem + 2vw, 3rem);
}
:is(.mpg-prose, .is-root-container) > :first-child { margin-block-start: 0; }

/* ─── Lead photo (opens the article, replaces the featured image) */
.wp-block-image.mpg-lead-photo img {
  width: 100%;
  border-radius: var(--mpg-r-2xl);
}

/* ─── Key figures ───────────────────────────────────────────── */
.mpg-figures {
  border-block: 1px solid var(--mpg-divider);
  padding-block: clamp(1.5rem, 3vw, 2.25rem);
}
.mpg-figures > .wp-block-columns { margin-block-start: 1.25rem; }
.mpg-figures .wp-block-column > * { margin-block: 0; }
.mpg-figures .mpg-stat-value { font-size: clamp(2.25rem, 1.7rem + 2vw, 3.25rem); }
.mpg-figures .mpg-stat-label { margin-block-start: 0.6rem; }

/* ─── Fact box (at a glance, event details, key information) ── */
.wp-block-group.is-style-card.mpg-facts:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--mpg-border);
}
.wp-block-list.mpg-facts-list {
  list-style: none !important;
  padding-inline-start: 0 !important;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: 1.25rem 2rem;
  margin-block-start: 1rem;
}
.wp-block-list.mpg-facts-list > li {
  margin: 0 !important;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
  color: var(--mpg-ink);
}
.wp-block-list.mpg-facts-list > li strong {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--mpg-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mpg-blue);
}
@media (max-width: 600px) {
  .wp-block-list.mpg-facts-list { grid-template-columns: 1fr 1fr; gap: 1.25rem 1.5rem; }
}
.mpg-facts > .wp-block-buttons { margin-block-start: 1.75rem; }

/* ─── Callout ───────────────────────────────────────────────── */
.mpg-callout {
  background: rgba(10, 61, 145, 0.05);
  border-left: 3px solid var(--mpg-blue);
  border-radius: 0 var(--mpg-r-xl) var(--mpg-r-xl) 0;
  padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
}
.mpg-callout > * + * { margin-block-start: 0.6rem; }
.mpg-callout > p.is-style-eyebrow + * { margin-block-start: 0.75rem; }

/* ─── Programme / timeline ──────────────────────────────────── */
.wp-block-list.mpg-timeline {
  list-style: none !important;
  padding-inline-start: 0 !important;
  border-left: 1px solid var(--mpg-border);
}
.wp-block-list.mpg-timeline > li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 1.25rem 1.75rem;
}
.wp-block-list.mpg-timeline > li:last-child { padding-bottom: 0.25rem; }
.wp-block-list.mpg-timeline > li::before {
  content: '';
  position: absolute;
  left: -5px; top: 0.35rem;
  box-sizing: border-box;
  width: 9px; height: 9px;
  border-radius: 50%;
  border: 2px solid var(--mpg-blue);
  background: var(--mpg-paper);
}
.wp-block-list.mpg-timeline > li strong {
  display: block;
  margin-bottom: 0.15rem;
  font-family: var(--mpg-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--mpg-blue);
}

/* ─── Numbered steps ────────────────────────────────────────── */
.wp-block-list.mpg-steps-list {
  list-style: none !important;
  padding-inline-start: 0 !important;
  counter-reset: mpg-step;
}
.wp-block-list.mpg-steps-list > li {
  position: relative;
  counter-increment: mpg-step;
  min-height: 2.5rem;
  margin: 0 !important;
  padding: 0.35rem 0 0 3.5rem;
}
.wp-block-list.mpg-steps-list > li + li { margin-top: 1.25rem !important; }
.wp-block-list.mpg-steps-list > li::before {
  content: counter(mpg-step, decimal-leading-zero);
  position: absolute;
  left: 0; top: 0;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 2.5rem; height: 2.5rem;
  border-radius: 50%;
  border: 1px solid rgba(10, 61, 145, 0.3);
  font-family: var(--mpg-mono);
  font-size: 0.75rem;
  color: var(--mpg-blue);
}

/* ─── Interview questions ───────────────────────────────────── */
:is(.mpg-prose, .is-root-container) h3.mpg-qa-question {
  position: relative;
  padding-inline-start: 2.75rem;
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  line-height: 1.25;
}
:is(.mpg-prose, .is-root-container) > h3.mpg-qa-question { margin-block-start: clamp(2rem, 4vw, 2.75rem); }
h3.mpg-qa-question::before {
  content: 'Q';
  position: absolute;
  left: 0; top: -0.1em;
  display: grid;
  place-items: center;
  width: 1.9rem; height: 1.9rem;
  border-radius: 50%;
  background: var(--mpg-blue);
  font-family: var(--mpg-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
}

/* ─── Sources ───────────────────────────────────────────────── */
.mpg-sources {
  border-top: 1px solid var(--mpg-divider);
  padding-top: 1.5rem;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
  color: var(--mpg-muted);
}
.mpg-sources > .wp-block-list { margin-block-start: 0.75rem; }

/* ─── Call to action card (compact ink card) ────────────────── */
.wp-block-group.is-style-ink.mpg-cta-card { padding: clamp(1.75rem, 4vw, 3rem); }

/* ─── Press release: "Ends", About boilerplate, media contact ─ */
p.mpg-ends {
  text-align: center;
  font-family: var(--mpg-mono);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mpg-muted);
}
:is(.mpg-prose, .is-root-container) > p.mpg-ends { margin-block: clamp(2rem, 4vw, 3rem); }

.mpg-boilerplate {
  border-top: 1px solid var(--mpg-divider);
  padding-top: 1.5rem;
}
.mpg-boilerplate > * + * { margin-block-start: 0.5rem; }
.mpg-boilerplate h2 {
  font-size: 1.0625rem;
  letter-spacing: -0.01em;
}
.mpg-boilerplate p {
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
  color: var(--mpg-muted);
}
:is(.mpg-prose, .is-root-container) > .mpg-boilerplate + .mpg-boilerplate { margin-block-start: 1.5rem; }

.mpg-media-contact {
  background: var(--mpg-paper);
  border: 1px solid var(--mpg-border);
  border-radius: var(--mpg-r-xl);
  padding: 1.25rem 1.5rem;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
}
.mpg-media-contact > * + * { margin-block-start: 0.5rem; }

@media (prefers-reduced-motion: reduce) {
  .wp-block-group.is-style-card,
  .wp-block-post-template > li.wp-block-post,
  .wp-block-button__link { transition: none; }
}
