/* AVJ Journal — layout utilities beyond style.css */

.avj-skip-link:focus {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--surface);
  padding: 12px 16px;
  text-decoration: none;
}

/* ---------- Slim sticky site header (1.1.5) — desktop row / mobile 3-col ---------- */
:root {
  --avj-header-height: 64px;
}
/* Sticky on the template-part wrapper so it is not clipped by a short parent. */
header.wp-block-template-part:has(.avj-site-header),
.wp-block-template-part:has(> .avj-site-header) {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 100;
  background: var(--wp--preset--color--canvas);
  border-bottom: 1px solid var(--wp--preset--color--rule);
}
.wp-site-blocks {
  overflow: visible;
}
.avj-site-header {
  background: var(--wp--preset--color--canvas);
  border-bottom: 0;
}
.avj-header {
  width: 100%;
  max-width: 100%;
}
.avj-header__bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  column-gap: var(--avj-gutter);
  min-height: var(--avj-header-height);
  padding-block: 0;
  width: 100%;
  max-width: 100%;
}
.avj-logo-link {
  display: inline-flex;
  align-items: center;
  flex: none;
  text-decoration: none;
  color: inherit;
  padding: 4px 0;
}
.avj-logo-link img {
  display: block;
  width: auto;
  max-width: none;
}
.avj-logo-link .avj-logo--compact { display: none; }
.avj-logo-link .avj-logo--primary {
  aspect-ratio: 2320 / 510;
  height: 30px;
  width: auto;
}
.avj-logo-link .avj-logo--compact {
  aspect-ratio: 512 / 320;
  height: 28px;
  width: auto;
}
.avj-menu-toggle,
.avj-menu-close {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 10px;
  font: 600 var(--wp--preset--font-size--ui) / 1 var(--wp--preset--font-family--sans);
  background: transparent;
  color: var(--wp--preset--color--ink);
  border: 1px solid var(--wp--preset--color--control-border);
  border-radius: var(--wp--custom--radius--control);
  cursor: pointer;
}
.avj-menu-toggle__icon {
  display: block;
  width: 18px;
  height: 12px;
  border-block: 2px solid currentColor;
  background: currentColor;
  background-clip: content-box;
  padding-block: 3px;
  box-sizing: border-box;
}
.avj-menu-toggle__text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.avj-header__nav {
  flex: 1 1 auto;
  min-width: 0;
}
.avj-header__nav-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.avj-header__nav-list a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  line-height: var(--wp--custom--line-height--ui);
  white-space: nowrap;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.avj-header__nav-list a:hover {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.avj-header__nav-list a[aria-current="page"] {
  color: var(--wp--preset--color--accent);
  font-weight: 600;
}
.avj-header__subscribe {
  flex: none;
  min-height: 44px;
  min-width: 44px;
  padding-inline: 16px;
  white-space: nowrap;
  box-sizing: border-box;
}
.avj-menu-close { display: none; }
.avj-nav-backdrop { display: none; }
.avj-logo-link:focus-visible,
.avj-menu-toggle:focus-visible,
.avj-menu-close:focus-visible,
.avj-header__nav-list a:focus-visible,
.avj-header__subscribe:focus-visible {
  outline: 3px solid var(--avj-focus, var(--wp--preset--color--ink));
  outline-offset: 3px;
}

/* Desktop (≥783): logo | nav | Subscribe — shrink gaps so 1024 never overflows */
@media (min-width: 783px) {
  .avj-menu-toggle { display: none; }
  .avj-header__nav-list {
    gap: 0 clamp(8px, 1.2vw, 24px);
    flex-wrap: nowrap;
    min-width: 0;
  }
  .avj-header__nav-list li {
    min-width: 0;
    flex: 0 1 auto;
  }
  .avj-header__nav-list a {
    padding-inline: 0;
    font-size: var(--wp--preset--font-size--ui); /* 16px — guideline UI/nav */
    line-height: var(--wp--custom--line-height--ui);
  }
  .avj-header__nav-panel { display: contents; }
  .avj-header__nav {
    flex: 1 1 auto;
    min-width: 0;
    order: 0;
    overflow: hidden;
  }
  .avj-logo-link { order: -1; }
  .avj-header__subscribe { order: 1; margin-inline-start: 8px; }
}
/* Prefer drawer below ~1100 so nav never forces horizontal scroll */
@media (min-width: 783px) and (max-width: 1099px) {
  .avj-header__bar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 8px;
  }
  .avj-menu-toggle { display: inline-flex; order: 0; }
  .avj-logo-link { order: 0; justify-self: start; }
  .avj-header__subscribe { order: 0; margin-inline-start: 0; }
  .avj-header__nav {
    position: fixed;
    inset: 0;
    z-index: 100001;
    pointer-events: none;
    visibility: hidden;
    margin: 0;
    overflow: visible;
  }
  .avj-header.is-open .avj-header__nav {
    pointer-events: auto;
    visibility: visible;
  }
  .avj-header__nav-panel {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(320px, 88vw);
    max-width: 100%;
    background: var(--wp--preset--color--canvas);
    border-right: 1px solid var(--wp--preset--color--rule);
    padding: 16px 20px 32px;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 180ms ease;
    z-index: 2;
    flex-direction: column;
    gap: 8px;
  }
  .avj-header.is-open .avj-header__nav-panel { transform: translateX(0); }
  .avj-menu-close { display: inline-flex; align-self: flex-end; }
  .avj-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    justify-content: flex-start;
  }
  .avj-header__nav-list a {
    width: 100%;
    min-height: 48px;
    font-size: var(--wp--preset--font-size--ui); /* 16px — guideline UI/nav */
    line-height: var(--wp--custom--line-height--ui);
    border-top: 1px solid var(--wp--preset--color--rule);
  }
  .avj-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgba(17, 17, 17, 0.4);
    border: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .avj-header.is-open .avj-nav-backdrop:not([hidden]) {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
html, body { overflow-x: clip; }

/* Mobile (≤782): toggle | centred logo | Subscribe + drawer */
@media (max-width: 782px) {
  :root { --avj-header-height: 56px; }
  .avj-header__bar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: 8px;
  }
  .avj-menu-toggle {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .avj-logo-link {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }
  .avj-header__subscribe {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    padding-inline: 12px;
  }
  /* Compact mark on mobile (wordmark too wide at ~360) — v1.1 compact AVJ, mobile 34px (Jm 23/10) */
  .avj-logo-link .avj-logo--primary { display: none; }
  .avj-logo-link .avj-logo--compact { display: block; height: 34px; width: auto; }
  .avj-header__nav {
    position: fixed;
    inset: 0;
    z-index: 100001;
    pointer-events: none;
    visibility: hidden;
    margin: 0;
  }
  .avj-header.is-open .avj-header__nav {
    pointer-events: auto;
    visibility: visible;
  }
  .avj-header__nav-panel {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(320px, 88vw);
    max-width: 100%;
    background: var(--wp--preset--color--canvas);
    border-right: 1px solid var(--wp--preset--color--rule);
    padding: 16px 20px 32px;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 180ms ease;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .avj-header.is-open .avj-header__nav-panel {
    transform: translateX(0);
  }
  .avj-menu-close {
    display: inline-flex;
    align-self: flex-end;
  }
  .avj-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    justify-content: flex-start;
  }
  .avj-header__nav-list a {
    width: 100%;
    min-height: 48px;
    font-size: var(--wp--preset--font-size--ui); /* 16px — guideline UI/nav */
    line-height: var(--wp--custom--line-height--ui);
    border-top: 1px solid var(--wp--preset--color--rule);
  }
  .avj-header__nav-list li:last-child a {
    border-bottom: 1px solid var(--wp--preset--color--rule);
  }
  .avj-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgba(17, 17, 17, 0.4);
    border: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 180ms ease;
  }
  .avj-header.is-open .avj-nav-backdrop:not([hidden]) {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  html.avj-nav-open,
  html.avj-nav-open body {
    overflow: hidden;
  }
}
@media (max-width: 782px) and (prefers-reduced-motion: reduce) {
  .avj-header__nav-panel,
  .avj-nav-backdrop {
    transition: none;
  }
}

/* ---------- Hero (P1-3, P2-1; R5 — padding from .avj-main > .avj-section) ---------- */
.avj-hero {
  display: grid;
  gap: var(--avj-gutter);
}
@media (min-width: 1200px) {
  .avj-hero {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    column-gap: var(--avj-gutter);
  }
  .avj-hero__side {
    border-left: 1px solid var(--wp--preset--color--rule);
    padding-left: var(--avj-gutter);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .avj-hero__side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--avj-gutter);
    border-top: 1px solid var(--wp--preset--color--rule);
    padding-top: 24px;
  }
}
.avj-hero__lead h2 {
  margin: 12px 0 0;
  max-width: 16ch;
  line-height: var(--wp--custom--line-height--feature);
  font-size: var(--wp--preset--font-size--feature);
  text-wrap: balance;
}
.avj-hero__lead h2 a,
.avj-section__title a,
.avj-hero__secondary a {
  color: inherit;
  text-decoration: none;
}
.avj-hero__lead h2 a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .16em;
}
.avj-hero .avj-dek {
  margin-top: var(--avj-title-dek);
  max-width: var(--wp--custom--measure--standfirst);
  text-wrap: pretty;
}
.avj-hero .avj-meta { margin: 16px 0 24px; }
.avj-hero__side .avj-kicker,
.avj-index-empty .avj-kicker {
  color: var(--wp--preset--color--secondary);
}
.avj-hero__secondary {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--wp--preset--color--rule);
}
.avj-hero__secondary li {
  padding-block: 4px;
  border-bottom: 1px solid var(--wp--preset--color--rule);
}
.avj-hero__secondary a {
  display: block;
  padding-block: 8px;
  min-height: 44px;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--h-3);
  text-wrap: balance;
}
.avj-hero__secondary a:hover { text-decoration: underline; text-underline-offset: 0.16em; }

/* Hero side: newsletter CTA spacing (1.1.13, Jm 23/10) — text, 16px, button, 24px, rule */
.avj-hero__side .avj-list-plain li:last-child { border-bottom: 0; }
.avj-hero__side > .avj-hero__cta { margin: 16px 0 24px; }
@media (min-width: 768px) and (max-width: 1199px) {
  .avj-hero__side {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "kicker kicker" "list secondary" "cta secondary";
    grid-template-rows: auto auto 1fr;
    align-items: start;
  }
  .avj-hero__side > .avj-kicker { grid-area: kicker; }
  .avj-hero__side > .avj-list-plain { grid-area: list; }
  .avj-hero__side > .avj-hero__cta { grid-area: cta; margin-bottom: 0; }
  .avj-hero__side > .avj-hero__secondary { grid-area: secondary; border-top: 0; }
}

/* ---------- Sections (P1-4; R5 — half token each side so content-to-content ≈ --avj-section-gap) ---------- */
.avj-main > .avj-section {
  margin-block: 0;
  padding-block: calc(var(--avj-section-gap) / 2);
}
.avj-main > .avj-section + .avj-section {
  border-top: 1px solid var(--wp--preset--color--rule);
}
.avj-section > :last-child {
  margin-bottom: 0;
}
.avj-section__title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--h-2);
  line-height: var(--wp--custom--line-height--heading);
  margin: 0;
  text-wrap: balance;
}
.avj-section__sub {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  color: var(--wp--preset--color--secondary);
  margin: 8px 0 clamp(24px, 3vw, 32px);
}

/* ---------- Pillar tiles (P1-6) ---------- */
.avj-pillar-grid {
  display: grid;
  column-gap: var(--avj-gutter);
  row-gap: 0;
  grid-template-columns: 1fr;
}
@media (min-width: 600px) { .avj-pillar-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .avj-pillar-grid { grid-template-columns: repeat(3, 1fr); } }
.avj-pillar-tile {
  display: block;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  padding: 20px 0 24px;
  border-top: 1px solid var(--wp--preset--color--rule);
}
.avj-pillar-tile h3 {
  font-size: var(--wp--preset--font-size--h-3);
  line-height: var(--wp--custom--line-height--heading);
  margin: 0 0 8px;
}
.avj-pillar-tile p {
  margin: 0;
  font-size: var(--wp--preset--font-size--ui);
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  font-family: var(--wp--preset--font-family--sans);
}
.avj-pillar-tile:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .16em;
}

.avj-list-plain { list-style: none; margin: 0; padding: 0; }
.avj-list-plain li { padding-block: 12px; border-bottom: 1px solid var(--wp--preset--color--rule); }
/* Offset 44px link height so row rhythm stays ≈ prior (~4px). */
.avj-list-plain li:has(a) { padding-block: 2px; }
.avj-list-plain a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.avj-list-plain a:hover { text-decoration: underline; text-underline-offset: 0.16em; }

/* ---------- Footer (P1-9; F2) ---------- */
.avj-footer {
  margin-top: 0;
  padding-block: clamp(40px, 5vw, 64px) 32px;
  border-top: 1px solid var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  /* Shell matches .wp-site-blocks: container + page-pad, so __inner can share hub left edge. */
  max-width: calc(var(--avj-container) + 2 * var(--avj-page-pad)) !important;
  width: 100%;
  box-sizing: border-box;
}
/* Horizontal pad lives on __inner (not has-global-padding) so columns align with header/hubs. */
.avj-footer.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
/* Shared --avj-container + page-pad: same left edge as header/hubs at 1440/1024/390. */
.avj-footer.is-layout-constrained > .avj-footer__inner,
.avj-footer__inner {
  width: 100%;
  max-width: var(--avj-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-inline: var(--avj-page-pad);
  box-sizing: border-box;
}
.avj-footer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px var(--avj-gutter);
}
@media (min-width: 1024px) {
  .avj-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.avj-footer h2 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--secondary);
  margin: 0 0 8px;
}
.avj-footer ul { list-style: none; margin: 0; padding: 0; }
.avj-footer li { margin: 0; }
.avj-footer a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  white-space: normal;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.avj-footer a:hover { text-decoration: underline; text-underline-offset: 0.16em; }
/* Border spans grid width; legal left-aligned with grid (F2). No 80ch cap — keeps one line on desktop. */
.avj-footer__legal-block {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--wp--preset--color--rule);
}
.avj-footer__legal {
  margin-top: 0;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-top: 0;
  border-top: 0;
  color: var(--wp--preset--color--secondary);
  max-width: none;
  text-wrap: pretty;
}
/* Fallback if legal is still a direct constrained child (pre-wrap / partial inject). */
.avj-footer.is-layout-constrained > .avj-footer__legal {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: var(--wp--style--global--content-size);
}
.avj-footer__legal .avj-nowrap {
  white-space: nowrap;
}
.avj-footer__legal + .avj-footer__legal {
  margin-top: 8px;
}

/* Footer social icons (1.1.19) — monochrome, currentColor; works with dark style tokens */
.avj-footer__social {
  margin-top: 28px;
  max-width: 100%;
  overflow: hidden;
}
.avj-footer__social-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.avj-footer__social-item {
  margin: 0;
}
.avj-footer__social-link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 12px;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  border-radius: var(--wp--custom--radius--control, 2px);
  transition: color var(--wp--custom--motion--hover, 120ms) ease, opacity var(--wp--custom--motion--hover, 120ms) ease;
}
.avj-footer__social-link:hover {
  color: var(--wp--preset--color--secondary);
  text-decoration: none;
  opacity: 0.85;
}
.avj-footer__social-link:focus-visible {
  outline: 3px solid var(--avj-focus, var(--wp--preset--color--ink));
  outline-offset: 3px;
}
.avj-footer__social-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ---------- A2 Article header band ---------- */
.avj-article > .avj-kicker,
.avj-article > p.avj-kicker,
.avj-article > .taxonomy-pillar {
  display: inline;
  margin: 0;
}
.avj-type-label {
  display: inline;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--wp--custom--kicker--tracking);
  color: var(--wp--preset--color--accent); /* 1.1.42 kickers/type labels accent */
  margin: 0;
}
.avj-type-label::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 12px;
  border-left: 1px solid var(--wp--preset--color--rule);
  margin-inline: 12px;
  vertical-align: middle;
}
.avj-article .wp-block-post-title,
.avj-article > h1 {
  display: block;
  font-size: var(--wp--preset--font-size--h-1);
  line-height: var(--wp--custom--line-height--h-1);
  text-wrap: balance;
  max-width: var(--wp--custom--measure--headline);
  margin: 12px 0 var(--avj-title-dek);
}
.avj-article > .avj-dek {
  font-size: var(--wp--preset--font-size--dek);
  line-height: var(--wp--custom--line-height--dek);
  color: var(--wp--preset--color--secondary);
  text-wrap: pretty;
  max-width: var(--wp--custom--measure--standfirst);
  margin: 0 0 24px;
}
.avj-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  row-gap: 4px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--secondary);
  font-variant-numeric: lining-nums tabular-nums;
  border-block: 1px solid var(--wp--preset--color--rule);
  padding-block: 12px;
  margin: 0 0 var(--avj-meta-body);
}
.avj-byline > * { min-width: 0; }
.avj-byline > * + *::before {
  content: "·";
  padding-inline: 8px;
  color: var(--wp--preset--color--secondary);
  font-weight: 400;
}
.avj-byline .wp-block-post-author__name,
.avj-byline .wp-block-post-author-name {
  color: var(--wp--preset--color--ink);
  font-weight: 600;
}
.avj-byline img,
.avj-byline .avatar,
.avj-byline .wp-block-post-author__avatar img {
  width: 32px;
  height: 32px;
  border-radius: 0;
  vertical-align: middle;
  object-fit: cover;
}
/* Byline: one baseline for name + meta, avatar centred (1.1.14); mobile grid (1.1.27) */
.avj-byline > p,
.avj-byline .wp-block-post-author__name,
.avj-byline__meta { margin: 0; font-size: inherit; line-height: inherit; }
.avj-byline .wp-block-post-author { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--space-2, 8px); margin: 0; }
.avj-byline .wp-block-post-author__avatar { margin: 0; line-height: 0; flex: none; }
.avj-byline .wp-block-post-author__content { flex: none; display: flex; align-items: center; }
.avj-byline__meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  min-width: 0;
  color: inherit;
}
.avj-byline__item {
  white-space: nowrap;
}
.avj-byline__item + .avj-byline__item::before {
  content: "·";
  padding-inline: 8px;
  color: var(--wp--preset--color--secondary);
  font-weight: 400;
}
/*
 * ≤767px: row 1 = avatar (40px) + name (centred, gap 12px); meta full-width under row 1.
 * Visual meta order: Published · N min read / Updated on its own line (CSS order only).
 * ≥768px: single-row flex with · between author and meta (unchanged).
 */
@media (max-width: 767px) {
  body .avj-byline.is-layout-flex,
  .avj-byline {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 0;
    align-items: center;
  }
  .avj-byline > * + *::before {
    content: none;
  }
  .avj-byline .wp-block-post-author,
  .avj-byline .wp-block-post-author__content {
    display: contents;
  }
  .avj-byline .wp-block-post-author__avatar {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
  }
  .avj-byline img,
  .avj-byline .avatar,
  .avj-byline .wp-block-post-author__avatar img {
    width: 40px;
    height: 40px;
  }
  .avj-byline .wp-block-post-author__name,
  .avj-byline .wp-block-post-author-name {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    min-width: 0;
  }
  .avj-byline .wp-block-post-author__name a,
  .avj-byline .wp-block-post-author-name a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .avj-byline__meta {
    grid-column: 1 / -1;
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 0;
    row-gap: 2px;
    line-height: var(--wp--custom--line-height--meta);
  }
  /* DOM: Published, Updated?, reading-time — visual: Published · read / Updated */
  .avj-byline__item + .avj-byline__item::before {
    content: none;
  }
  .avj-byline__item:nth-child(1) {
    order: 1;
  }
  .avj-byline__item.avj-reading-time {
    order: 2;
  }
  .avj-byline__item.avj-reading-time::before {
    content: "·";
    padding-inline: 8px;
    color: var(--wp--preset--color--secondary);
    font-weight: 400;
  }
  .avj-byline__item:nth-child(2):not(.avj-reading-time) {
    order: 3;
    flex-basis: 100%;
  }
}

/* ---------- A4 Key takeaways ---------- */
.avj-key-takeaways {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--rule);
  border-left: 3px solid var(--wp--preset--color--accent);
  border-radius: 0 var(--wp--custom--radius--panel) var(--wp--custom--radius--panel) 0;
  padding: 24px 28px;
  margin-block: 32px 40px;
}
.avj-key-takeaways ul {
  margin: 0;
  padding-left: 1.25em;
  font-family: var(--wp--preset--font-family--serif);
  font-size: 18px;
  line-height: 1.55;
}
.avj-key-takeaways li + li { margin-top: 12px; }

/* ---------- A5 Sticky TOC ---------- */
.avj-toc summary {
  cursor: pointer;
  font-family: var(--wp--preset--font-family--sans);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--meta);
  text-transform: uppercase;
  letter-spacing: var(--wp--custom--kicker--tracking);
  color: var(--wp--preset--color--secondary);
  min-height: 44px;
  display: flex;
  align-items: center;
  border-block: 1px solid var(--wp--preset--color--rule);
  list-style: none;
}
.avj-toc summary::-webkit-details-marker { display: none; }
.avj-toc nav ul {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  font-variant-numeric: tabular-nums;
}
.avj-toc nav a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0 8px 12px;
  border-left: 1px solid var(--wp--preset--color--rule);
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  line-height: 1.4;
}
.avj-toc nav a:hover { text-decoration: underline; text-underline-offset: 0.16em; }
.avj-toc nav a[aria-current="true"],
.avj-toc nav a.is-active {
  border-left: 2px solid var(--wp--preset--color--accent);
  color: var(--wp--preset--color--ink);
  font-weight: 600;
  padding-left: 11px;
}
@media (min-width: 600px) and (max-width: 1199px) {
  .avj-toc details[open] nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--avj-gutter);
  }
}
.avj-toc--empty { display: none; }
@media (min-width: 1200px) {
  .avj-toc summary {
    border: 0;
    min-height: 0;
    margin-bottom: 8px;
    pointer-events: none;
    cursor: default;
  }
  /* Fallback when closed <details> still hides slot content (Chrome/Safari). */
  @supports selector(::details-content) {
    .avj-toc details::details-content {
      content-visibility: visible;
      display: contents;
    }
  }
  .avj-toc details > nav,
  .avj-toc details:not([open]) > :not(summary) {
    display: block;
  }
}

/* ---------- A6 Figures ---------- */
figure.wp-block-image,
.avj-figure {
  margin-block: var(--wp--custom--space--article--figure);
  border-radius: 0;
}
figure.wp-block-image img,
.avj-figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
}
.avj-figure--chart {
  background: var(--wp--preset--color--canvas);
  border: 0;
  padding: 0;
}
figcaption,
.wp-element-caption {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--secondary);
  margin-top: var(--wp--custom--figure--caption-gap);
  max-width: var(--wp--custom--measure--reading);
  text-wrap: pretty;
  font-variant-numeric: lining-nums tabular-nums;
}
figcaption strong:first-child,
.wp-element-caption strong:first-child {
  color: var(--wp--preset--color--ink);
  font-weight: 600;
}
.avj-figure__source {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  color: var(--wp--preset--color--secondary);
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--wp--preset--color--rule);
}

/* ---------- A7 Tables ---------- */
/* Classic/raw HTML tables in guide/glossary imports: keep page width stable; scroll inside content */
.avj-article :where(.wp-block-post-content, .entry-content) {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.avj-article :where(.wp-block-post-content, .entry-content) table {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  line-height: 1.45;
  font-variant-numeric: lining-nums tabular-nums;
  border-collapse: collapse;
}
.avj-article :where(.wp-block-post-content, .entry-content) :where(th, td) {
  vertical-align: top;
  padding: 12px;
  border-bottom: 1px solid var(--wp--preset--color--rule);
}
.avj-article :where(.wp-block-post-content, .entry-content) th {
  font-weight: 600;
  border-bottom: 1px solid var(--wp--preset--color--ink);
  text-align: left;
}

.wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.wp-block-table:focus-visible {
  outline: 3px solid var(--avj-focus);
  outline-offset: 3px;
}
.wp-block-table table {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui); /* 16px */
  line-height: 1.45;
  font-variant-numeric: lining-nums tabular-nums;
  border-collapse: collapse;
  width: 100%;
}
.wp-block-table th,
.wp-block-table td {
  vertical-align: top;
}
.wp-block-table th {
  font-weight: 600;
  border-bottom: 1px solid var(--wp--preset--color--ink);
  text-align: left;
  padding: 12px;
}
.wp-block-table td {
  border-bottom: 1px solid var(--wp--preset--color--rule);
  padding: 12px;
}
.wp-block-table .has-text-align-right,
.wp-block-table td:where([data-align="right"]),
.wp-block-table th:where([data-align="right"]) {
  text-align: right;
}
.wp-block-table figcaption,
.wp-block-table caption {
  caption-side: bottom;
}
/* Narrow viewports: hint when a wide table scrolls inside the figure */
@media (max-width: 767.98px) {
  .wp-block-table {
    position: relative;
    /* Right-edge fade while scrolling; solid covers hide fade when scrolled fully */
    background:
      linear-gradient(to right, var(--wp--preset--color--canvas, #F7F6F2) 30%, transparent) 0 0 / 28px 100% local,
      linear-gradient(to left, var(--wp--preset--color--canvas, #F7F6F2) 30%, transparent) 100% 0 / 28px 100% local,
      linear-gradient(to left, rgba(17, 17, 17, 0.14), transparent) 100% 0 / 18px 100% scroll,
      linear-gradient(to right, rgba(17, 17, 17, 0.06), transparent) 0 0 / 12px 100% local;
    background-repeat: no-repeat;
  }
  .wp-block-table::after {
    content: "Scroll →";
    display: block;
    margin-top: 6px;
    font-family: var(--wp--preset--font-family--sans);
    font-size: var(--wp--preset--font-size--meta);
    line-height: 1.4;
    color: var(--wp--preset--color--secondary);
    text-align: right;
    pointer-events: none;
  }
}

/* ---------- A8 Footnotes, sources, cite ---------- */
sup.fn {
  line-height: 0;
  vertical-align: super;
  font-size: 0.7em;
}
sup.fn a,
a[href^="#"][id^="fnref"],
.wp-block-post-content a.fn-ref {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 1em;
  vertical-align: baseline;
  line-height: inherit;
  color: var(--wp--preset--color--accent);
  text-decoration: none;
  display: inline;
  position: relative;
  padding: 0 0.1em;
  font-variant-numeric: tabular-nums;
}
/* 44×44 hit area without inflating the line box */
sup.fn a::after,
a[href^="#"][id^="fnref"]::after,
.wp-block-post-content a.fn-ref::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
}
sup.fn a:hover,
a[href^="#"][id^="fnref"]:hover {
  text-decoration: underline;
}
sup.fn a:focus-visible,
a[href^="#"][id^="fnref"]:focus-visible,
.wp-block-post-content a.fn-ref:focus-visible {
  outline: var(--wp--custom--focus--width, 3px) solid var(--wp--preset--color--accent);
  outline-offset: var(--wp--custom--focus--offset, 3px);
}
ol.wp-block-footnotes {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--secondary);
  border-top: 1px solid var(--wp--preset--color--rule);
  padding-top: 24px;
  margin-top: 48px;
  font-variant-numeric: tabular-nums;
}
ol.wp-block-footnotes li::marker {
  color: var(--wp--preset--color--ink);
  font-variant-numeric: tabular-nums;
}
ol.wp-block-footnotes a[href^="#fnref"],
.wp-block-footnotes .footnote-backref {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
}
.avj-sources ol {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  line-height: var(--wp--custom--line-height--meta);
  padding-left: 2em;
  list-style-position: outside;
}
.avj-sources a { overflow-wrap: anywhere; }
/* Long mailto / URL tokens must wrap at 320px rather than force page scroll */
.wp-block-post-content a[href^="mailto:"],
.wp-block-post-content a[href^="http://"],
.wp-block-post-content a[href^="https://"] {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.avj-cite {
  margin-block: 40px;
  padding: 24px;
  border: 1px solid var(--wp--preset--color--rule);
  border-radius: var(--wp--custom--radius--panel);
  background: var(--wp--preset--color--surface);
}
.avj-cite pre {
  white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: var(--wp--preset--font-size--meta);
  line-height: var(--wp--custom--line-height--meta);
  margin: 8px 0 12px;
}
.avj-cite .avj-button--secondary,
.avj-cite button.wp-element-button {
  min-height: 44px;
  background: transparent;
  color: var(--wp--preset--color--ink);
  border: 1px solid var(--wp--preset--color--control-border);
}

/* ---------- A9 Pull quotes / block quotes ---------- */
.wp-block-pullquote {
  border-block: 1px solid var(--wp--preset--color--ink);
  border-inline: 0;
  padding-block: 24px;
  margin-block: 48px;
  text-align: left;
  max-width: 26ch;
}
.wp-block-pullquote blockquote,
.wp-block-pullquote p {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--h-2);
  line-height: 1.25;
  color: var(--wp--preset--color--ink);
  text-wrap: balance;
  margin: 0;
}
.wp-block-pullquote cite,
blockquote.wp-block-quote cite {
  display: block;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  font-style: normal;
  color: var(--wp--preset--color--secondary);
  margin-top: 12px;
}
blockquote.wp-block-quote {
  border-left: 3px solid var(--wp--preset--color--rule);
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
  padding-left: 24px;
  margin-inline: 0;
  font-family: var(--wp--preset--font-family--serif);
  font-size: var(--wp--preset--font-size--body);
  line-height: var(--wp--custom--line-height--body);
}

/* ---------- A10 End-matter panels / author ---------- */
.avj-corrections {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--rule);
  border-left: 3px solid var(--wp--preset--color--error);
  border-radius: 0 var(--wp--custom--radius--panel) var(--wp--custom--radius--panel) 0;
  padding: 24px 28px;
  margin-block: 40px;
}
.avj-corrections__label { color: var(--wp--preset--color--error); }
.avj-author-box {
  margin-block: 40px;
}
.avj-author-box img,
.avj-author-box .avatar,
.avj-author-box .wp-block-post-author__avatar img {
  width: 48px;
  height: 48px;
  border-radius: 0;
  object-fit: cover;
}
.avj-author-box .wp-block-post-author__name {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: 20px;
  color: var(--wp--preset--color--ink);
}
.avj-author-box .wp-block-post-author__bio {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  color: var(--wp--preset--color--secondary);
}

/* ---------- A11 Archive list ---------- */
.avj-archive {
  max-width: 760px;
  margin-inline: auto;
}
.avj-archive-header {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--wp--preset--color--rule);
}
.avj-archive-header .wp-block-query-title,
.avj-archive-header h1 {
  font-size: var(--wp--preset--font-size--h-1);
  line-height: var(--wp--custom--line-height--h-1);
  text-wrap: balance;
  margin: 0 0 12px;
}
.avj-archive-header .wp-block-term-description,
.avj-archive-header .avj-dek {
  margin: 0;
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--dek);
  line-height: var(--wp--custom--line-height--dek);
  text-wrap: pretty;
}
.avj-section-intro,
.avj-archive-intro {
  margin: 0;
  max-width: 68ch;
  font-family: var(--wp--preset--font-family--serif); /* Source Serif 4 */
  font-size: var(--wp--preset--font-size--body);
  line-height: var(--wp--custom--line-height--body);
  color: var(--wp--preset--color--ink);
  text-wrap: pretty;
}

/*
 * Archive intro / term description: constrained layout centers children with
 * margin:auto. A 68ch max-width intro then sits inset vs the H1 and topic row
 * at tablet/desktop (and mid-mobile). Left-align under the H1 at all widths;
 * keep max-width ~68ch from .avj-section-intro / .avj-archive-intro.
 */
.avj-archive-header .avj-section-intro,
.avj-archive-header .avj-archive-intro,
.avj-archive-header .wp-block-term-description {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ---------- Topic chips (1.1.22) ---------- */
.avj-topics {
  margin: 32px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--wp--preset--color--rule);
}
.avj-topics__label,
.avj-topicnav__label {
  margin: 0 0 12px;
  font-family: var(--wp--preset--font-family--sans);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--meta); /* 14px kicker */
  line-height: var(--wp--custom--line-height--meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}
.avj-topics__list,
.avj-topicnav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.avj-topics__item,
.avj-topicnav__item {
  margin: 0;
  padding: 0;
}
.avj-topics__link,
.avj-topicnav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  min-width: 44px;
  padding: 8px 14px;
  border: 1px solid var(--wp--preset--color--rule);
  background: var(--wp--preset--color--surface, #fff);
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui, 0.875rem);
  line-height: 1.25;
  text-decoration: none;
  text-wrap: balance;
}
.avj-topics__link:hover,
.avj-topicnav__link:hover {
  border-color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.avj-topics__link:focus-visible,
.avj-topicnav__link:focus-visible {
  outline: 3px solid var(--wp--preset--color--ink);
  outline-offset: 3px;
}
.avj-topicnav {
  margin: 20px 0 0;
  max-width: 100%;
  overflow-x: visible;
}
@media (max-width: 480px) {
  .avj-topicnav,
  .avj-topics {
    overflow-x: visible;
  }
  .avj-topicnav__list,
  .avj-topics__list {
    flex-wrap: wrap;
  }
}
.avj-section-empty,
.avj-archive-empty {
  margin: 12px 0 0;
  max-width: 68ch;
  min-height: 1.5em; /* reserve line → no CLS when posts appear */
  font-family: var(--wp--preset--font-family--sans);
  font-size: 16px;
  line-height: 1.5;
  color: #555550;
}
.avj-section-empty a,
.avj-archive-empty a {
  color: var(--wp--preset--color--accent, #0b57d0);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.avj-archive-row {
  border-top: 1px solid var(--wp--preset--color--rule);
  padding-block: 24px;
}
.avj-archive-row .avj-kicker { margin: 0 0 8px; }
.avj-archive-row .wp-block-post-title,
.avj-archive-row h2,
.avj-archive-row h3 {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--h-3);
  line-height: var(--wp--custom--line-height--heading);
  margin: 0 0 8px;
  text-wrap: balance;
}
.avj-archive-row .wp-block-post-title a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.avj-archive-row .wp-block-post-title a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.16em;
}
.avj-archive-row .wp-block-post-excerpt,
.avj-archive-row .avj-archive-excerpt {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 18px;
  line-height: 1.55;
  color: var(--wp--preset--color--secondary);
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.avj-archive-row .wp-block-post-date,
.avj-archive-row .avj-archive-date {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  color: var(--wp--preset--color--secondary);
  font-variant-numeric: tabular-nums;
}
.wp-block-query-pagination {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  margin-top: 24px;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-inline: 8px;
}

/* ---------- A12 Static / policy page — same grid as single-article body (1.1.45) ---------- */
.avj-main--page {
  padding-top: clamp(32px, 4vw, 48px);
  padding-bottom: var(--space-8, 64px);
  box-sizing: border-box;
}
/* Title + body live in .avj-article-grid middle track (TOC left / balance right), matching singles. */
.avj-main--page .avj-article .wp-block-post-title,
.avj-main--page .avj-article > h1 {
  font-size: var(--wp--preset--font-size--h-1);
  line-height: var(--wp--custom--line-height--h-1);
  text-wrap: balance;
  margin-top: 0; /* pages have no kicker above the title */
  margin-bottom: var(--avj-title-dek);
  max-width: 100%;
}
.avj-main--page .avj-article .wp-block-post-content {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
.avj-main--page .wp-block-post-content > :first-child {
  margin-top: 0;
}
/* Policy/static tables match article table rhythm (scale padding, rule hairlines). */
.avj-main--page .wp-block-post-content table,
.avj-main--page .entry-content table {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  line-height: 1.45;
  font-variant-numeric: lining-nums tabular-nums;
  border-collapse: collapse;
  width: 100%;
  max-width: 100%;
}
.avj-main--page .wp-block-post-content :where(th, td),
.avj-main--page .entry-content :where(th, td) {
  vertical-align: top;
  padding: 12px;
  border-bottom: 1px solid var(--wp--preset--color--rule);
}
.avj-main--page .wp-block-post-content th,
.avj-main--page .entry-content th {
  font-weight: 600;
  border-bottom: 1px solid var(--wp--preset--color--ink);
  text-align: left;
}
.avj-main--page .wp-block-post-content h2 {
  margin-top: var(--space-8, 64px);
  margin-bottom: var(--space-4, 16px);
}
.avj-main--page .wp-block-post-content h2:first-child {
  margin-top: var(--space-6, 32px);
}
#ownership-and-funding,
#masthead {
  scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--avj-header-height) + 16px);
}

/* About masthead portrait (page 12) */
.avj-masthead-photo img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border: 1px solid var(--wp--preset--color--rule); /* #D9D8D2 */
  border-radius: 0; /* theme author avatars are square */
}
.avj-masthead-photo figcaption,
.avj-masthead-photo .wp-element-caption {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 14px;
  color: var(--wp--preset--color--secondary); /* #555550 */
  margin-top: 8px;
}
@media (max-width: 782px) {
  .avj-masthead-photo img {
    width: 120px;
    height: 120px;
  }
}

/* Author archive photo (core avatar block + local URL) */
.author .wp-block-avatar,
body.author .wp-block-avatar {
  margin: 0 0 16px;
}
.author .wp-block-avatar img,
body.author .avatar {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 0;
}
.author .avj-author-job-title,
body.author .avj-author-job-title {
  margin: 8px 0 0;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 14px;
  line-height: 1.4;
  color: var(--wp--preset--color--secondary); /* #555550 */
}

/* ---------- 404 (P1-10) ---------- */
.avj-404 {
  padding-block: var(--avj-section-gap);
  text-align: left;
  max-width: min(680px, 64ch);
}
.avj-404 h1 {
  font-size: var(--wp--preset--font-size--h-1);
  margin: 0 0 var(--avj-title-dek);
}
.avj-404 .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ---------- More from AVJ (1.1.17 internal links on single news) ---------- */
.avj-more-from {
  margin-block: calc(var(--avj-section-gap) / 2);
  padding-top: 8px;
  border-top: 1px solid var(--wp--preset--color--rule);
}
.avj-more-from__title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--h-3);
  line-height: var(--wp--custom--line-height--heading);
  margin: 0 0 8px;
}
.avj-more-from__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.avj-more-from__item-title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--h-3);
  line-height: var(--wp--custom--line-height--heading);
  margin: 0 0 8px;
  text-wrap: balance;
}
.avj-more-from__item-title a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.avj-more-from__item-title a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.16em;
}

/* ---------- Index empty + newsletter (P1-4, P1-5, P1-8; R5) ---------- */
.avj-index-empty {
  border-bottom: 0;
}
.avj-newsletter-block {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--rule);
  border-radius: var(--wp--custom--radius--panel);
  padding: clamp(24px, 4vw, 48px);
  margin-block: calc(var(--avj-section-gap) / 2);
}
.avj-main > .avj-newsletter-block + .avj-section { border-top: 0; }
.avj-newsletter-block > p { max-width: 60ch; }
.avj-newsletter-block form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  max-width: 560px;
  align-items: end;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .avj-newsletter-block form { grid-template-columns: 1fr auto; }
}
.avj-newsletter-block label {
  display: block;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  margin-bottom: 4px;
}
.avj-newsletter-block input[type="email"],
.avj-newsletter-block input[type="text"] {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 12px;
}
.avj-newsletter-block .wp-element-button { height: 48px; }
.avj-fineprint {
  margin-top: 12px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 14px;
  color: var(--wp--preset--color--secondary);
}

/* Newsletter block: balanced two columns at ≥1024 (1.1.16); CTA link uses form area */
@media (min-width: 1024px) {
  .avj-newsletter-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "title form" "dek form" "dek fine";
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(40px, 5vw, 80px);
    align-items: start;
  }
  .avj-newsletter-block > .avj-section__title { grid-area: title; margin: 0 0 12px; }
  .avj-newsletter-block > p:not(.avj-fineprint):not(.avj-cta):not(.avj-newsletter-block__cta) {
    grid-area: dek;
    margin: 0;
  }
  .avj-newsletter-block form,
  .avj-newsletter-block > .avj-cta,
  .avj-newsletter-block > .avj-newsletter-block__cta {
    grid-area: form;
    margin: 0;
    max-width: none;
    align-self: end;
  }
  .avj-newsletter-block > .avj-fineprint { grid-area: fine; margin: 12px 0 0; }
}
.avj-newsletter-block__cta {
  position: static;
  margin-top: var(--space-4, 16px);
}
.avj-newsletter-block__cta a.wp-element-button {
  display: inline-flex;
  text-decoration: none;
  white-space: nowrap;
  word-spacing: normal;
}

.wp-block-query-no-results p {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  color: var(--wp--preset--color--secondary);
  margin: 0;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* ---------- Tufte sidenotes (≥1200 right rail; <1200 endnotes) ---------- */
.avj-article-grid {
  position: relative;
}
sup.avj-sidenote-ref {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7em;
  font-variant-numeric: lining-nums tabular-nums;
  color: var(--wp--preset--color--accent);
  line-height: 0;
  vertical-align: super;
}
sup.avj-sidenote-ref a {
  color: inherit;
  text-decoration: none;
  display: inline;
  position: relative;
  padding: 0 0.1em;
  font-size: 1em;
  line-height: inherit;
  vertical-align: baseline;
}
/* 44×44 hit area via absolute overlay — zero line-box inflation */
sup.avj-sidenote-ref a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
}
sup.avj-sidenote-ref a:focus-visible {
  outline: var(--wp--custom--focus--width, 3px) solid var(--wp--preset--color--accent);
  outline-offset: var(--wp--custom--focus--offset, 3px);
}
.avj-sidenote {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--secondary);
  font-variant-numeric: lining-nums proportional-nums;
  max-width: 200px;
}
.avj-sidenote__num {
  font-weight: 600;
  color: var(--wp--preset--color--ink);
  margin-right: 0.25em;
}
.avj-sidenote__back {
  color: inherit;
  text-decoration: none;
}
.avj-sidenote__back:focus-visible {
  outline: var(--wp--custom--focus--width, 3px) solid var(--wp--preset--color--accent);
  outline-offset: var(--wp--custom--focus--offset, 3px);
}
/* <1200: end-of-article footnotes (in flow — zero CLS) */
@media (max-width: 1199px) {
  .avj-sidenote {
    max-width: none;
    margin: 0;
    padding: 8px 0 8px 0;
    border-top: 1px solid var(--wp--preset--color--rule);
  }
  .avj-sidenote:first-of-type {
    margin-top: 48px;
    padding-top: 24px;
    border-top-width: 1px;
  }
}
/* ≥1200: absolute in right grid track; JS sets left/top/width + collision push */
@media (min-width: 1200px) {
  .avj-sidenote.avj-sidenote--placed {
    position: absolute;
    right: auto;
    margin: 0;
    border-top: 0;
    padding: 0;
    z-index: 1;
  }
}

/* ---------- Homepage v2 mockup (1.1.14) — shared container + 1.1.42 spacing rhythm ---------- */
.avj-home2{
  max-width: var(--avj-container, 1280px);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--avj-page-pad, 20px);
  box-sizing: border-box;
}
/* Section gaps on scale: 48 mobile / 64 tablet / 96 desktop (content-to-content). */
.avj-home2 .avj-section{
  padding-block: var(--space-5, 24px); /* 24+24 = 48 */
  border-top: 1px solid var(--wp--preset--color--rule);
}
@media (min-width: 768px) {
  .avj-home2 .avj-section { padding-block: var(--space-6, 32px); } /* 32+32 = 64 */
}
@media (min-width: 1200px) {
  .avj-home2 .avj-section { padding-block: var(--space-7, 48px); } /* 48+48 = 96 */
}
.avj-home2 .avj-section:first-child{border-top:0;padding-top:var(--space-4, 16px)}
.avj-home2 img{display:block;width:100%;height:auto;border:1px solid var(--wp--preset--color--rule);border-radius:0;background:var(--wp--preset--color--canvas)}
.avj-topic{display:inline-flex;align-items:center;gap:var(--space-2, 8px);font-family:var(--wp--preset--font-family--sans);font-weight:600;font-size:var(--wp--preset--font-size--meta);letter-spacing:.08em;text-transform:uppercase;color:var(--topic)}
.avj-topic::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--topic)}
.avj-kicker2{margin:0 0 var(--space-2, 8px);display:flex;gap:var(--space-3, 12px);align-items:center}
.avj-type{font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--meta);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wp--preset--color--accent)}
.avj-lead{display:grid;gap:var(--space-4, 16px)}
.avj-lead__title{margin:0;font-size:clamp(1.6rem,4.5vw,2.6rem);line-height:1.15;text-wrap:balance}
.avj-lead__title a,.avj-card__title a,.avj-numbers a{color:inherit;text-decoration:none}
.avj-lead__title a:hover,.avj-card__title a:hover{text-decoration:underline;text-underline-offset:.16em}
.avj-lead .avj-dek{margin:var(--avj-title-dek) 0 0;font-size:var(--wp--preset--font-size--dek)}
.avj-home2 .avj-meta{margin:var(--space-3, 12px) 0 0;color:var(--wp--preset--color--secondary);font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--meta)}
.avj-sechead{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4, 16px);margin-bottom:var(--space-4, 16px)}
.avj-sechead .avj-section__title{margin:0}
.avj-more{font-family:var(--wp--preset--font-family--sans);font-weight:600;color:var(--wp--preset--color--ink)}
.avj-cardgrid{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6, 32px)}
.avj-card{display:flex;flex-direction:column;background:none;box-shadow:none}
.avj-card__media{margin-bottom:var(--space-3, 12px)}
.avj-card__title{margin:0;font-size:1.25rem;line-height:1.25;text-wrap:balance}
.avj-card__stat{margin:var(--space-2, 8px) 0 0;font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--ui);color:var(--wp--preset--color--secondary)}
.avj-card__stat strong{font-family:var(--wp--preset--font-family--serif);font-size:1.125rem;margin-right:var(--space-1, 4px)}
.avj-numbers .avj-kicker{margin:0 0 var(--space-3, 12px);font-size:var(--wp--preset--font-size--meta);color:var(--wp--preset--color--accent)}
.avj-numbers__list{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;border-block:1px solid var(--wp--preset--color--rule)}
.avj-numbers__list li{scroll-snap-align:start;border-left:1px solid var(--wp--preset--color--rule)}
.avj-numbers__list li:first-child{border-left:0}
.avj-numbers__list a{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-4, 16px);min-height:44px}
.avj-numbers__list strong{font-family:var(--wp--preset--font-family--serif);font-size:1.75rem;line-height:1.05}
.avj-numbers__list span{font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--meta);color:var(--wp--preset--color--secondary)}
.avj-index-teaser{display:grid;gap:var(--space-5, 24px)}
.avj-index-teaser__fig{margin:0;padding:var(--space-4, 16px);background:none;border:1px solid var(--wp--preset--color--rule);border-radius:0}
.avj-index-teaser__fig svg{width:100%;height:auto}
.avj-badge{display:inline-block;margin:0 0 var(--space-3, 12px);padding:var(--space-1, 4px) var(--space-2, 8px);border:1px solid var(--wp--preset--color--warning, #795512);color:var(--wp--preset--color--warning, #795512);font-family:var(--wp--preset--font-family--sans);font-weight:600;font-size:var(--wp--preset--font-size--meta);letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
.avj-index-teaser__fig figcaption{font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--meta);color:var(--wp--preset--color--secondary);margin-top:var(--space-2, 8px)}
.avj-hero--lower .avj-hero__lead h2{font-size:1.75rem}
@media (min-width:768px){
 .avj-home2{padding-inline: var(--avj-page-pad, 24px);}
 .avj-cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .avj-index-teaser{grid-template-columns:1fr 1fr;align-items:center}
}
@media (min-width:1200px){
 .avj-lead{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--avj-meta-body, 40px);align-items:center}
 .avj-cardgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .avj-cardgrid .avj-card:nth-child(n+4){grid-column:span 1}
 .avj-numbers__list{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}
}
@media (max-width:767px){
 .avj-cardgrid{gap:0}
 .avj-card{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:var(--space-4, 16px);padding-block:var(--space-4, 16px);border-top:1px solid var(--wp--preset--color--rule)}
 .avj-card:first-child{border-top:0;padding-top:0}
 .avj-card__media{grid-row:1 / span 4;margin:0}
 .avj-card .avj-kicker2{margin-bottom:var(--space-1, 4px)}
 .avj-card__title{font-size:1.0625rem}
 .avj-card__stat{font-size:var(--wp--preset--font-size--meta)}
}

/* ---------- Section hubs 1.1.37 — shared layout system ---------- */
.avj-hub {
  width: 100%;
  max-width: var(--avj-container, 1280px);
  margin-inline: 0;
  box-sizing: border-box;
}
.avj-hub-header {
  margin-bottom: var(--space-5, 24px);
  padding-bottom: var(--space-4, 16px);
  border-bottom: 1px solid var(--wp--preset--color--rule);
}
.avj-hub-title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--avj-type-hub-h1, var(--wp--preset--font-size--h-2));
  line-height: var(--wp--custom--line-height--heading);
  margin: 0 0 var(--avj-title-dek); /* 24 desktop / 16 mobile */
  text-wrap: balance;
}
.avj-hub-intro,
.avj-hub .avj-section-intro {
  margin: 0 0 var(--space-4, 16px);
  max-width: var(--avj-hub-intro-measure, 68ch);
  font-size: var(--avj-type-hub-intro, var(--wp--preset--font-size--dek));
  line-height: var(--wp--custom--line-height--dek);
  color: var(--wp--preset--color--secondary);
}
.avj-hub-meta {
  margin: 0 0 var(--space-1, 4px);
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--avj-type-hub-meta, var(--wp--preset--font-size--meta));
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--secondary);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1, 4px) var(--space-2, 8px);
  align-items: center;
}
.avj-hub-meta__updated,
.avj-hub-meta__links {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: inherit;
}
.avj-hub-meta a {
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-underline-offset: 0.12em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-inline: 2px;
}
.avj-hub-meta a:focus-visible,
.avj-hub-item__title a:focus-visible,
.avj-hub-az__link:focus-visible,
.avj-hub-filter__option-link:focus-visible,
.avj-topicnav__link:focus-visible {
  outline: 3px solid var(--wp--preset--color--ink);
  outline-offset: 3px;
}
.avj-hub-meta__sep { margin-inline: 0.15em; }

.avj-hub-filters {
  margin: var(--space-2, 8px) 0 var(--space-5, 24px);
}

/*
 * Hub body: single left-aligned content column (~8/12 of container).
 * Lead row keeps 8+4 for Also today / Latest rail only.
 * Date river (--river) spans full container; news --with-rail uses 8+4 like lead.
 * Glossary spans full container width.
 */
.avj-hub-layout {
  display: block;
  width: 100%;
  max-width: calc(100% * 8 / 12);
  margin-bottom: var(--space-6, 32px);
  box-sizing: border-box;
}
.avj-hub-layout--river,
.avj-hub--glossary .avj-hub-layout {
  max-width: 100%;
}
.avj-hub-main {
  min-width: 0;
  width: 100%;
}
.avj-hub-leadrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5, 24px);
  align-items: start;
  margin-bottom: var(--space-6, 32px);
}
@media (min-width: 1025px) {
  .avj-hub-leadrow {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--avj-gutter, 24px);
  }
  .avj-hub-leadrow__main {
    grid-column: 1 / span 8;
    min-width: 0;
  }
  .avj-hub-leadrow > .avj-hub-rail {
    grid-column: 9 / span 4;
    min-width: 0;
    align-self: start;
    margin-top: 0;
    padding-top: 0;
  }
  /* News date river: same 8+4 columns as Also today rail (1.1.43). */
  .avj-hub-layout--river.avj-hub-layout--with-rail {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--avj-gutter, 24px);
    align-items: start;
  }
  .avj-hub-layout--river.avj-hub-layout--with-rail > .avj-hub-main {
    grid-column: 1 / span 8;
    min-width: 0;
  }
  .avj-hub-layout--river.avj-hub-layout--with-rail > .avj-hub-rail--news {
    grid-column: 9 / span 4;
    min-width: 0;
    align-self: start;
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--avj-header-height) + 16px);
    max-height: calc(100vh - var(--avj-header-height) - 48px);
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-margin-top: calc(var(--avj-header-height) + 16px);
    margin-top: 0;
    /* Match Also today rail content edge (no inset padding / left rule). */
    padding-top: 0;
    padding-left: 0;
    border-left: 0;
    box-sizing: border-box;
  }
}
/* ≤1024 / 390: rail stacks below river; full content width; no overflow. */
@media (max-width: 1024px) {
  .avj-hub-rail--news {
    width: 100%;
    max-width: 100%;
    margin-top: var(--space-6, 32px);
    padding-top: var(--space-5, 24px);
    border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
    box-sizing: border-box;
  }
  /* Hide rail newsletter when another newsletter block already sits in the hub main. */
  .avj-hub--news:has(.avj-hub-main .avj-newsletter-block) .avj-hub-rail__newsletter {
    display: none;
  }
}
/* Lead kicker / first line and Also today title share the same top edge */
.avj-hub-leadrow__main > .avj-hub-item--lead {
  margin-top: 0;
  padding-top: 0;
}
.avj-hub-rail--also .avj-hub-rail__title {
  margin-top: 0;
  margin-bottom: var(--space-3, 12px);
}
.avj-hub-rail--also .avj-hub-rail__item:first-child {
  padding-top: 0;
}

/* News date-river side rail (1.1.43/1.1.44): kicker blocks, stacked newsletter, links row. */
.avj-hub-rail--news {
  min-width: 0;
  max-width: 100%;
}
.avj-hub-rail--news > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.avj-hub-rail--news .avj-hub-rail__block + .avj-hub-rail__block {
  margin-top: var(--space-5, 24px);
  padding-top: var(--space-4, 16px);
  border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
}
.avj-hub-rail--news .avj-hub-rail__kicker {
  margin: 0 0 var(--space-3, 12px);
}
.avj-hub-rail__list--sections .avj-hub-rail__item {
  padding-block: var(--space-2, 8px);
}
.avj-hub-rail__list--sections .avj-hub-rail__item:first-child {
  padding-top: 0;
}
.avj-hub-rail__list--sections a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3, 12px);
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--avj-type-hub-meta, 0.875rem);
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  min-height: 44px;
  padding-block: 4px;
  box-sizing: border-box;
}
.avj-hub-rail__list--sections a:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.avj-hub-rail__list--sections a[aria-current="page"] {
  font-weight: 600;
}
.avj-hub-rail__list--sections a[aria-current="page"] .avj-hub-rail__sec-label {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.avj-hub-rail__count {
  flex: none;
  font-variant-numeric: tabular-nums;
  color: var(--wp--preset--color--secondary);
}
/* Stacked narrow newsletter (1.1.44): never inherit homepage two-col / bordered CTA. */
.avj-hub-rail--news .avj-hub-rail__newsletter,
.avj-hub-rail--news .avj-hub-rail__newsletter.avj-newsletter-block {
  display: block;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-block: 0;
  max-width: 100%;
  min-width: 0;
}
.avj-hub-rail--news .avj-newsletter-form,
.avj-hub-rail--news .avj-hub-rail__newsletter form.avj-newsletter-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: none;
  gap: var(--space-2, 8px);
  margin: 0;
  max-width: 100%;
  min-width: 0;
  width: 100%;
  align-items: stretch;
}
/* wpautop may still inject <br>/empty <p> around hidden fields before scrub runs. */
.avj-hub-rail--news .avj-newsletter-form > br,
.avj-hub-rail--news .avj-newsletter-form > p:empty {
  display: none;
}
.avj-hub-rail--news .avj-newsletter-form > p:has(> .wp-element-button) {
  margin: 0;
  min-width: 0;
  max-width: 100%;
}
.avj-hub-rail--news .avj-newsletter-form .avj-nl-fields,
.avj-hub-rail--news .avj-newsletter-form > .wp-element-button,
.avj-hub-rail--news .avj-newsletter-form .avj-nl-status,
.avj-hub-rail--news .avj-newsletter-form .avj-nl-consent {
  grid-area: auto;
  min-width: 0;
  max-width: 100%;
}
.avj-hub-rail--news .avj-newsletter-form .avj-nl-fields label {
  display: block;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  margin-bottom: 4px;
}
.avj-hub-rail--news .avj-newsletter-form input[type="email"] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 2px;
  box-sizing: border-box;
}
.avj-hub-rail--news .avj-newsletter-form .wp-element-button {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  height: auto;
  border-radius: 2px;
  box-sizing: border-box;
  white-space: normal;
}
.avj-hub-rail--news .avj-nl-consent {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 14px;
  line-height: 1.4;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* RSS + Corrections: compact 14px links row under newsletter. */
.avj-hub-rail--news .avj-hub-rail__list--links-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.75em;
  list-style: none;
  margin: 0;
  padding: 0;
}
.avj-hub-rail--news .avj-hub-rail__list--links-row .avj-hub-rail__item {
  border-top: 0;
  padding: 0;
  display: inline-flex;
  align-items: baseline;
}
.avj-hub-rail--news .avj-hub-rail__list--links-row .avj-hub-rail__item + .avj-hub-rail__item::before {
  content: "·";
  margin-right: 0.75em;
  color: var(--wp--preset--color--secondary);
}
.avj-hub-rail--news .avj-hub-rail__list--links-row a {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 14px;
  line-height: 1.4;
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-underline-offset: 0.12em;
  min-height: 0;
  display: inline;
}

/* Lead: image 16:9 cover, text beside on wide; tops align with rail */
.avj-hub-item--lead {
  display: grid;
  gap: var(--space-4, 16px);
  padding-top: 0;
  align-items: start;
}
@media (min-width: 1025px) {
  /* Lead within 8-col main: image 4 + text 4 (was ~5+3 — text too narrow / 5-line wraps). */
  .avj-hub-item--lead {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--space-5, 24px);
  }
  .avj-hub-item--lead > .avj-hub-item__media-col {
    margin-bottom: 0;
  }
  .avj-hub-item--lead > .avj-hub-item__body {
    min-width: 0;
  }
}
.avj-hub-item--lead .avj-hub-item__media {
  aspect-ratio: 16 / 9;
  width: 100%;
  border: 0;
}
.avj-hub-item--lead .avj-hub-item__title {
  font-size: var(--avj-type-hub-h2, var(--wp--preset--font-size--h-2));
  line-height: var(--wp--custom--line-height--heading);
}

.avj-hub-item {
  display: grid;
  gap: var(--space-4, 16px);
  padding-block: var(--space-4, 16px);
  border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
  min-width: 0;
}
.avj-hub-item:first-child,
.avj-hub-group .avj-hub-item:first-of-type,
.avj-hub-item--lead {
  border-top: 0;
}
.avj-hub-item--river {
  grid-template-columns: var(--avj-thumb-w, 160px) minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-4, 16px);
}
/*
 * River 2-col placement is explicit so stray wpautop <p> (incl. whitespace-only)
 * cannot steal column 2. Media left, body right.
 */
.avj-hub-item--river > p {
  display: none !important;
}
.avj-hub-item--lead > p:empty {
  display: none !important;
}
.avj-hub-item--river > .avj-hub-item__media-col,
.avj-hub-item--river > a.avj-hub-item__media {
  grid-column: 1;
  grid-row: 1;
  width: var(--avj-thumb-w, 160px);
  min-width: 0;
}
.avj-hub-item--river > .avj-hub-item__body {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  max-width: 100%;
}
.avj-hub-item--river .avj-hub-item__media {
  width: 100%;
  flex: none;
  aspect-ratio: 3 / 2;
}
.avj-hub-item--lead > .avj-hub-item__media-col {
  min-width: 0;
}
.avj-hub-item--lead > .avj-hub-item__media-col .avj-hub-item__media {
  width: 100%;
}
.avj-hub-item--river .avj-hub-item__title,
.avj-hub-item--guide .avj-hub-item__title,
.avj-hub-item--glossary .avj-hub-item__title {
  max-width: 100%;
}
/* River full width; title/dek reading measure ~68ch (thumb stays left). */
@media (min-width: 1025px) {
  .avj-hub-river .avj-hub-item--river .avj-hub-item__title,
  .avj-hub-river .avj-hub-item--river .avj-hub-item__dek {
    max-width: min(100%, 68ch);
  }
}
.avj-hub-item--guide,
.avj-hub-item--glossary {
  padding-block: var(--space-3, 12px);
  display: block;
}
.avj-hub-item__kicker,
.avj-hub .avj-kicker {
  margin: 0 0 var(--space-2, 8px);
  font-family: var(--wp--preset--font-family--sans);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--meta); /* 14px kicker */
  line-height: var(--wp--custom--line-height--meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent); /* 1.1.42 — kickers use accent everywhere */
}
.avj-hub-item__title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--avj-type-hub-item, 1.125rem);
  line-height: 1.3;
  margin: 0 0 var(--space-2, 8px);
  text-wrap: balance;
}
.avj-hub-item__title a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.avj-hub-item__title a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.16em;
}
.avj-hub-item__dek {
  margin: 0 0 var(--space-2, 8px);
  max-width: 100%;
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.0625rem;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.avj-hub-item--glossary .avj-hub-item__dek {
  -webkit-line-clamp: 3;
}
.avj-hub-item__meta {
  margin: 0;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--avj-type-hub-meta, var(--wp--preset--font-size--meta));
  color: var(--wp--preset--color--secondary);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1, 4px) 0;
  align-items: center;
}
.avj-hub-item__meta-item {
  white-space: nowrap;
}
/* Section kicker links: inherit kicker look (text only). */
.avj-hub-section-link,
.avj-kicker .avj-hub-section-link {
  color: inherit;
  text-decoration: none;
}
.avj-hub-section-link:hover,
.avj-kicker .avj-hub-section-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.avj-hub-section-block {
  margin-top: var(--space-6, 32px);
  padding-top: var(--space-4, 16px);
  border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
}
.avj-hub-item__media {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--wp--preset--color--rule, #D9D8D2);
  border: 0;
}
.avj-hub-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* River thumbs: crop into card headline/stat (top-left), not full social chrome */
.avj-hub-item__img--thumb {
  object-fit: cover;
  object-position: left 12% top 18%;
}
/* ≤600px: fixed 96×64 beside title (lead stays full width) */
@media (max-width: 1024px) {
  .avj-hub-item--river {
    grid-template-columns: var(--avj-thumb-w-sm, 96px) minmax(0, 1fr);
    column-gap: var(--space-3, 12px);
  }
  .avj-hub-item--river > .avj-hub-item__media-col,
  .avj-hub-item--river > a.avj-hub-item__media {
    width: var(--avj-thumb-w-sm, 96px);
  }
}
@media (max-width: 600px) {
  .avj-hub-item--river {
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: var(--space-3, 12px);
  }
  .avj-hub-item--river > .avj-hub-item__media-col,
  .avj-hub-item--river > a.avj-hub-item__media {
    grid-column: 1;
    grid-row: 1;
    width: 96px;
    min-width: 96px;
  }
  .avj-hub-item--river > .avj-hub-item__body {
    grid-column: 2;
    grid-row: 1;
  }
  .avj-hub-item--river .avj-hub-item__media {
    width: 96px;
    height: 64px;
    aspect-ratio: 3 / 2;
  }
}

.avj-hub-rail__title,
.avj-hub-group__title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--avj-type-hub-h2, var(--wp--preset--font-size--h-2));
  line-height: var(--wp--custom--line-height--heading);
  margin: 0 0 var(--space-3, 12px);
}
.avj-hub-group__title--letter {
  font-size: var(--avj-type-hub-letter, 1.5rem);
  margin: 0 0 var(--space-2, 8px);
}
.avj-hub-group {
  margin-top: var(--space-5, 24px);
  padding-top: var(--space-2, 8px);
}
.avj-hub-group--letter {
  margin-top: var(--space-4, 16px);
  padding-top: 0;
}
.avj-hub-group__desc {
  margin: 0 0 var(--space-4, 16px);
  max-width: var(--avj-hub-intro-measure, 68ch);
  color: var(--wp--preset--color--secondary);
}
.avj-hub-rail__kicker {
  margin: 0 0 var(--space-3, 12px);
}
.avj-hub-rail__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.avj-hub-rail__list--about .avj-hub-rail__item {
  padding-block: var(--space-2, 8px);
}
.avj-hub-rail__list--about a {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--avj-type-hub-meta, 0.875rem);
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-underline-offset: 0.12em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.avj-hub-rail__item {
  padding-block: var(--space-3, 12px);
  border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
}
.avj-hub-rail__item:first-child { border-top: 0; padding-top: 0; }
.avj-hub-rail__headline {
  font-family: var(--wp--preset--font-family--serif);
  font-size: var(--avj-type-hub-item, 1.125rem);
  margin: 0;
  line-height: 1.3;
}
.avj-hub-rail__headline a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.avj-hub-rail__headline a:hover { text-decoration: underline; }

/* Glossary A–Z: compact even cells, ≤2 rows at 390 (1.1.46) */
.avj-hub-az {
  margin: 0 0 var(--space-4, 16px);
  width: 100%;
}
.avj-hub-az__list {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  gap: var(--space-1, 4px);
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.avj-hub-az__list > li {
  min-width: 0;
}
.avj-hub-az__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 36px;
  min-height: 36px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  border: 1px solid var(--wp--preset--color--rule, #D9D8D2);
  box-sizing: border-box;
}
.avj-hub-az__link--disabled,
.avj-hub-az__link--dim {
  color: #9a9993;
  cursor: default;
  pointer-events: none;
}
.avj-hub-az__link--disabled {
  border-color: transparent;
}
.avj-hub-az__link--dim {
  border-color: var(--wp--preset--color--rule, #D9D8D2);
}
@media (max-width: 1024px) {
  .avj-hub-az__list { grid-template-columns: repeat(13, minmax(0, 1fr)); }
}
@media (max-width: 390px) {
  .avj-hub-az__list { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .avj-hub-az__link {
    height: 28px;
    min-height: 28px;
    font-size: var(--wp--preset--font-size--meta); /* 14px */
  }
}
/* Glossary Find-a-term: full content-column width, 48px field (1.1.46) */
.avj-hub-filter {
  margin: 0 0 var(--space-5, 24px);
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 8px);
  max-width: 100%;
  width: 100%;
  position: relative;
}
.avj-hub-filter__label {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta); /* 14px kicker */
  line-height: var(--wp--custom--line-height--meta);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
}
.avj-hub-filter__control {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 48px;
  min-height: 48px;
  border: 1px solid var(--wp--preset--color--rule, #D9D8D2);
  background: var(--wp--preset--color--surface);
  box-sizing: border-box;
}
.avj-hub-filter__control:focus-within {
  outline: 3px solid var(--wp--preset--color--ink);
  outline-offset: 3px;
}
.avj-hub-filter__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 100%;
  color: var(--wp--preset--color--secondary, #555550);
  pointer-events: none;
}
.avj-hub-filter__icon svg {
  display: block;
}
.avj-hub-filter__input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0 8px 0 0;
  border: 0;
  border-radius: 0;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  background: transparent;
  color: var(--wp--preset--color--ink);
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
.avj-hub-filter__input::-webkit-search-decoration,
.avj-hub-filter__input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}
.avj-hub-filter__input:focus,
.avj-hub-filter__input:focus-visible {
  outline: none;
}
.avj-hub-filter__clear {
  flex: 0 0 44px;
  width: 44px;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wp--preset--color--secondary, #555550);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 1.375rem;
  line-height: 1;
  cursor: pointer;
}
.avj-hub-filter__clear:focus-visible {
  outline: 3px solid var(--wp--preset--color--ink);
  outline-offset: -3px;
}
.avj-hub-filter__suggest {
  position: absolute;
  left: -1px;
  right: -1px;
  top: calc(100% + 1px);
  z-index: 30;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--wp--preset--color--rule, #D9D8D2);
  background: var(--wp--preset--color--surface, #fff);
  max-height: min(320px, 70vh);
  overflow: auto;
  box-sizing: border-box;
}
.avj-hub-filter__suggest[hidden] {
  display: none;
}
.avj-hub-filter__option {
  margin: 0;
  border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
}
.avj-hub-filter__option:first-child {
  border-top: 0;
}
.avj-hub-filter__option-link {
  display: block;
  padding: 12px 14px 12px 48px;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  line-height: 1.35;
}
.avj-hub-filter__option--active,
.avj-hub-filter__option:hover {
  background: #f3f2ec;
}
.avj-hub-filter__hl {
  font-weight: 700;
  background: transparent;
  color: inherit;
  padding: 0;
}
.avj-hub-filter__status {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--meta);
  line-height: var(--wp--custom--line-height--meta);
  color: var(--wp--preset--color--secondary, #555550);
  min-height: 1.2em;
}
.avj-hub-filter__empty {
  margin: 0 0 var(--space-5, 24px);
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--ui);
  color: var(--wp--preset--color--ink);
}
.avj-hub-filter__empty[hidden] {
  display: none;
}
.avj-hub-filter__empty a {
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.avj-hub-glossary-terms {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
@media (min-width: 1024px) {
  .avj-hub-glossary-terms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--avj-gutter, 24px);
  }
}
/* Top rule on every term (both columns) — first-child reset made only the right column look ruled. */
.avj-hub-glossary-terms > .avj-hub-item--glossary,
.avj-hub-group .avj-hub-glossary-terms > .avj-hub-item--glossary:first-of-type,
.avj-hub-glossary-terms > .avj-hub-item--glossary:first-child {
  border-top: 1px solid var(--wp--preset--color--rule, #D9D8D2);
}

.avj-hub-related {
  margin-top: var(--space-6, 32px);
  padding-top: var(--space-2, 8px);
}
.avj-hub-related__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 8px);
}
.avj-hub-chip,
.avj-hub-related__list a {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--avj-type-hub-meta, 0.875rem);
  font-weight: 600;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--wp--preset--color--control-border);
  border-radius: var(--wp--custom--radius--control, 2px);
  background: transparent; /* no card fill */
}
.avj-hub-chip:hover,
.avj-hub-related__list a:hover {
  border-color: var(--wp--preset--color--ink);
  text-decoration: none;
}

.avj-hub-empty { margin-top: var(--space-3, 12px); max-width: var(--avj-hub-intro-measure, 68ch); }
.avj-hub-empty__links { margin-top: var(--space-4, 16px); }
.avj-hub-empty__links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.avj-hub-status.avj-panel {
  margin-top: var(--space-5, 24px);
  padding: var(--space-5, 24px) var(--space-5, 24px);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* Keep Status h2 on the shared serif hub scale (not panel kicker/meta). */
.avj-hub-status.avj-panel > .avj-hub-group__title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: var(--avj-type-hub-h2, var(--wp--preset--font-size--h-2));
  line-height: var(--wp--custom--line-height--heading);
  text-transform: none;
  letter-spacing: normal;
  color: var(--wp--preset--color--ink);
  margin: 0 0 var(--space-3, 12px);
}
.avj-hub-method-card {
  margin-top: var(--space-5, 24px);
  padding: var(--space-4, 16px) 0;
}
.avj-hub-status__label {
  margin: var(--space-3, 12px) 0 var(--space-1, 4px);
}
.avj-hub-status__label:first-of-type {
  margin-top: var(--space-2, 8px);
}
.avj-hub-status__quote {
  margin: 0 0 var(--space-3, 12px);
  padding: 0;
  border: 0;
  max-width: var(--avj-hub-intro-measure, 68ch);
  font-family: var(--wp--preset--font-family--serif);
  color: var(--wp--preset--color--ink);
}
.avj-hub-method-card__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.avj-hub-pagination {
  margin-top: var(--space-6, 32px);
}
.avj-hub-pagination .page-numbers {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Singles: align kicker / dek / byline with hub system */
.avj-article > .avj-kicker,
.avj-article > p.avj-kicker {
  font-family: var(--wp--preset--font-family--sans);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--meta); /* 14px kicker */
  line-height: var(--wp--custom--line-height--meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent); /* 1.1.42 accent kickers */
}
.avj-article > .avj-dek {
  max-width: var(--avj-hub-intro-measure, 68ch);
}
.avj-byline__meta {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--avj-type-hub-meta, var(--wp--preset--font-size--meta));
  color: var(--wp--preset--color--secondary);
}

@media (prefers-reduced-motion: reduce) {
  .avj-hub *,
  .avj-hub *::before,
  .avj-hub *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
