/* Hallmark · genre: editorial · macrostructure: Marquee Hero / Long Document / Catalogue
 * design-system: design.md · designed-as-app · N6 / Ft5 · motion: none
 * Audience: homeowners and plumbing businesses. Bold industrial editorial.
 * Restored Newsreader headings, Figtree body/UI and native copper masthead.
 * Hallmark · pre-emit critique: P5 H5 E4 S5 R4 V5
 */
body.af-exchange-design {
  --color-publication-paper: oklch(97.5% .01 75);
  --color-publication-surface: oklch(99% .007 70);
  --color-publication-soft: oklch(94% .016 65);
  --color-publication-ink: oklch(23% .012 55);
  --color-publication-ink-2: oklch(38% .014 55);
  --color-publication-muted: oklch(47% .016 55);
  --color-publication-rule: oklch(82% .017 65);
  --color-publication-rule-strong: oklch(49% .018 55);
  --color-publication-accent: oklch(48% .14 45);
  --color-publication-accent-hover: oklch(40% .12 45);
  --color-publication-accent-soft: oklch(92% .03 65);
  --color-publication-reverse-muted: oklch(81% .018 65);
  --color-plumbing-signal: oklch(73% .16 48);
  --color-plumbing-signal-hover: oklch(81% .12 55);
  --color-plumbing-index-rule: color-mix(in oklch, var(--color-publication-rule) 45%, var(--color-publication-paper));
  --font-plumbing-display: var(--font-publication-display);
  --text-plumbing-hero: clamp(3rem, 7.4vw, 7.5rem);
  --text-plumbing-title: clamp(2.125rem, 4vw, 3.75rem);
  --text-plumbing-section: clamp(1.875rem, 3.1vw, 3rem);
  --text-publication-discovery: var(--text-plumbing-title);
}
html:has(body.af-exchange-design), body.af-exchange-design { overflow-x: clip; }

/* Native masthead layout and its original plumbing palette come from the shared shell. */
body.af-exchange-design #wpforo.af-publication #wpforo-wrap,
body.af-exchange-design.aigenforums-directory {
  :is(.af-publication-nav, .af-dir-primary-nav) a:last-child { font-weight: 600; }
  .af-plumbing-kicker { margin: 0 0 var(--space-xs); font: 650 var(--text-xs)/1.4 var(--font-publication-body); letter-spacing: .075em; text-transform: uppercase; }
}

body.af-exchange-design #wpforo.af-publication #wpforo-wrap {
  /* Keep native member controls legible against the plumbing paper palette. */
  .wpforo-rcn-dismiss-button { display: inline-flex; align-items: center; min-height: var(--control-height); padding: var(--space-2xs) var(--space-sm); color: var(--color-ink); background: var(--color-surface); border: var(--rule-hair) solid var(--color-rule-strong); }
  .wpforo-rcn-dismiss-button:hover { background: var(--color-accent-soft); }
  :is(.wpf-subscribe-topic, .wpf-unsubscribe-topic, .wpf-subscribe-forum, .wpf-unsubscribe-forum) { color: var(--color-accent) !important; }
  .af-reply-composer input[type="file"] { min-height: var(--control-height); max-width: 100%; }
  .af-reply-composer input[type="file"]::file-selector-button { min-height: var(--control-height); padding-inline: var(--space-xs); font: inherit; color: var(--color-ink); background: var(--color-surface); border: var(--rule-hair) solid var(--color-rule-strong); }
  :is(#wpforo-title, .af-journal-opening h1, .af-journal-opening h1 span, .af-plumbing-conversations h2, .af-journal-index-head h2, .af-journal-directory-intro h2, .af-provider-finder h2, .af-plumbing-membership h2, .af-plumbing-membership h2 span) { font-family: var(--font-plumbing-display) !important; letter-spacing: -.025em !important; }
  .af-journal-opening h1 span { font-weight: inherit; }
  .af-journal-category > .af-journal-forum-head :is(h3,h4,h5,h6,a:not(.af-journal-all)) { font-family: var(--font-plumbing-display) !important; letter-spacing: -.025em !important; }
  .af-journal-home { max-width: none; }
  .af-journal-home > :is(.af-journal-shortcuts, .af-journal-layout) { max-width: calc(90rem - var(--publication-gutter) * 2); margin-inline: auto; }
  .af-journal-opening {
    --text-plumbing-hero: clamp(6rem, 9.5vw, 12rem);
    --space-plumbing-opening: clamp(var(--space-xl), 5vw, 6rem);
    --color-ink: var(--color-publication-paper);
    --color-ink-2: var(--color-publication-reverse-muted);
    --color-focus: var(--color-plumbing-signal);
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 0; background: var(--color-publication-ink); min-height: clamp(38rem, calc(100svh - 6.5rem), 56rem);
    padding: 0; margin: 0 calc(-1 * var(--publication-gutter)) var(--space-xl);
    border: 0;
  }
  .af-journal-opening-copy { padding: var(--space-plumbing-opening); align-self: center; }
  .af-journal-opening h1 { max-width: 11ch; color: var(--color-publication-paper); font: 450 var(--text-plumbing-hero)/1.04 var(--font-plumbing-display); letter-spacing: -.035em; text-transform: none; text-wrap: initial; }
  .af-journal-opening h1 span { display: block; color: var(--color-plumbing-signal); }
  .af-journal-opening p { max-width: 46ch; margin-top: var(--space-lg); color: var(--color-publication-reverse-muted); font-size: clamp(var(--text-lg), 1.25vw, 1.375rem); line-height: 1.6; }
  .af-journal-opening-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin-top: var(--space-lg); }
  .af-journal-opening .af-journal-invitation { margin: 0; min-height: 52px; padding-inline: var(--space-md); background: var(--color-plumbing-signal); color: var(--color-publication-ink); }
  .af-journal-opening .af-journal-invitation:hover { background: var(--color-plumbing-signal-hover); color: var(--color-publication-ink); }
  .af-journal-opening .af-journal-invitation:active { background: var(--color-publication-paper); }
  .af-journal-opening .af-journal-opening-link { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: var(--control-height); color: var(--color-publication-paper); font: 600 var(--text-sm)/1.3 var(--font-body); white-space: nowrap; text-decoration: underline; text-underline-offset: .3em; }
  .af-journal-opening-art { min-height: 0; }
  .af-journal-opening-art img { object-position: 48% 55%; }
  .af-journal-opening-art figcaption { padding: var(--space-2xs) var(--space-xs); font-size: var(--text-2xs); }
  .af-journal-layout { grid-template-columns: minmax(0, 1fr) minmax(17rem, .32fr); gap: var(--space-xl); }
  .af-plumbing-conversations { margin-bottom: var(--space-xl); }
  .af-plumbing-conversations__head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-sm); }
  .af-plumbing-conversations h2 { font: 500 var(--text-plumbing-section)/1 var(--font-plumbing-display); letter-spacing: -.025em; text-transform: none; }
  .af-plumbing-conversations__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-block: var(--rule-hair) solid var(--color-rule); }
  .af-plumbing-conversations article { min-width: 0; padding: var(--space-lg) var(--space-lg) var(--space-lg) 0; }
  .af-plumbing-conversations article + article { padding-left: var(--space-lg); border-left: var(--rule-hair) solid var(--color-rule); }
  .af-plumbing-conversations article h3 { margin-bottom: var(--space-md); font: 500 1.875rem/1.14 var(--font-display); letter-spacing: -.025em; }
  .af-plumbing-conversations article h3 a { color: var(--color-ink); text-decoration: none; }
  .af-plumbing-conversations article h3 a:hover { color: var(--color-accent); text-decoration: underline; }
  .af-plumbing-conversations__meta { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-sm); align-items: center; color: var(--color-muted); font: 400 var(--text-xs)/1.5 var(--font-body); }
  .af-plumbing-conversations .af-avatar { width: var(--space-lg); min-width: var(--space-lg); height: var(--space-lg); }
  .af-journal-index-head { padding: 0 0 var(--space-md); }
  .af-journal-index-head h2 { font: 500 clamp(1.625rem, 2.5vw, 2.5rem)/1.05 var(--font-plumbing-display); letter-spacing: -.025em; }
  .af-journal-contents { display: flex; flex-wrap: wrap; align-items: center; padding: 0; gap: 0 var(--space-lg); background: var(--color-transparent); border: 0; margin-bottom: var(--space-xl); }
  .af-journal-contents a { justify-content: start; gap: var(--space-2xs); padding: 0; font-size: var(--text-sm); }
  .af-journal-contents-count { color: var(--color-muted); font-variant-numeric: tabular-nums; }
  .af-journal-category { margin-bottom: var(--space-xl); }
  .af-journal-category + .af-journal-category { margin-top: var(--space-2xl); padding-top: 0; border: 0; }
  .af-journal-category > .af-journal-forum-head > :is(h3,h4,h5,h6) { max-width: 40ch; font: 500 clamp(1.375rem, 2.2vw, 2rem)/1.18 var(--font-plumbing-display); letter-spacing: -.025em; }
  .af-journal-forum { padding: 0; margin-top: var(--space-md); margin-bottom: 0; border: 0; background: var(--color-transparent); }
  .af-journal-forum + .af-journal-forum { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-plumbing-index-rule); }
  .af-journal-forum > .af-journal-forum-head { padding-bottom: var(--space-xs); }
  .af-journal-forum > .af-journal-forum-head :is(h3,h4,h5,h6,a:not(.af-journal-all)) { color: var(--color-accent); font-size: var(--text-md); font-weight: 650; }
  .af-journal-threads > .af-conversation { grid-template-columns: minmax(0, 1fr) auto; align-items: end; padding-block: var(--space-xs); gap: var(--space-xs) var(--space-sm); border: 0; }
  .af-journal-threads > .af-conversation + .af-conversation { margin-top: var(--space-lg); border: 0; }
  .af-journal-threads .af-conversation__main { display: contents; }
  .af-journal-threads .af-journal-topic-heading { grid-column: 1 / -1; margin: 0 !important; }
  .af-journal-home .af-journal-topic { font-size: clamp(1.375rem, 1.85vw, 1.75rem); line-height: 1.25; }
  .af-journal-threads .af-conversation__main > p { grid-column: 1 / -1; max-width: 65ch; margin: 0; }
  .af-journal-threads .af-conversation__activity { flex-direction: row; justify-content: end; gap: var(--space-xs); align-self: end; }
  .af-journal-threads .af-conversation__replies { flex-direction: row-reverse; gap: var(--space-3xs); min-width: 0; white-space: nowrap; }
  .af-journal-threads .af-conversation__replies dd { color: var(--color-muted); font: 500 var(--text-xs)/1.5 var(--font-publication-body); }
  .af-journal-threads .af-conversation__open { background: var(--color-transparent); border: 0; color: var(--color-muted); }
  .af-journal-threads .af-conversation__open:is(:hover,:focus-visible) { background: var(--color-transparent); color: var(--color-accent); }
  .af-journal-directory { border: 0; padding: 0; }
  .af-journal-directory-intro { padding: var(--space-lg) var(--space-md) var(--space-md); border: 0; background: var(--color-publication-ink); }
  .af-journal-directory-intro h2 { color: var(--color-publication-paper); font: 500 2.5rem/1 var(--font-plumbing-display); letter-spacing: -.025em; text-transform: none; }
  .af-journal-directory-intro p, .af-journal-directory-intro .af-journal-kicker { color: var(--color-publication-reverse-muted); }
  .af-journal-directory-intro .af-journal-directory-hint { color: var(--color-publication-paper); }
  .af-journal-country-jumps { margin-top: var(--space-sm); }
  .af-journal-country-jumps a { color: var(--color-publication-paper); }
  .af-journal-country-jumps a:hover { color: var(--color-publication-paper); }
  .af-journal-country-jumps a:focus-visible { outline-color: var(--color-publication-paper) !important; }
  .af-journal-country { margin-top: var(--space-lg); }
  .af-journal-country h3 { border-bottom-width: var(--rule-hair); }
  .af-journal-state li { border: 0; }
  .af-journal-state li a { padding-inline: 0; min-height: 36px; font-size: var(--text-sm); }
  .af-journal-business { padding: var(--space-lg) 0; margin-top: var(--space-md); border-block: var(--rule-hair) solid var(--color-rule); }
  .af-journal-business h3 { margin: 0 0 var(--space-xs); font-size: 1.75rem; }
  .af-journal-business p { font-size: var(--text-sm); }
  .af-journal-business .af-journal-all { margin-top: var(--space-xs); }

  /* A discussion is a composed reading page: title, opening post, then replies. */
  #wpforo-title { font-family: var(--font-plumbing-display); font-weight: 500; letter-spacing: -.025em; }
  .af-workspace--thread .af-thread-header #wpforo-title { font: 500 var(--text-plumbing-title)/1.04 var(--font-plumbing-display); max-width: 27ch; letter-spacing: -.025em; }
  .af-workspace--thread .af-thread-header { margin-bottom: var(--space-lg); }
  /* wpForo emits a non-interactive blank placeholder when subscription is unavailable. */
  .af-thread-header__actions .wpf-subscribe-topic:not([data-type]) { display: none; }
  .af-thread-header__actions:has(> .wpf-subscribe-topic:only-child:not([data-type])) { display: none; }
  .af-workspace--thread :is(.wpfl-2,.wpfl-4) .af-post--starter { padding: var(--space-lg); background: var(--color-publication-surface); border-top: var(--rule-strong) solid var(--color-publication-rule-strong); }
  .af-workspace--thread :is(.wpfl-2,.wpfl-4) .af-post--starter .wpforo-post-content { font-size: var(--text-md) !important; line-height: 1.75; }
  .af-workspace--thread :is(.wpfl-2,.wpfl-4) .reply-wrap:not(.wpfp-first) { padding-block: var(--space-lg); }
  .af-workspace--thread .af-post-list .reply-wrap + .reply-wrap:not(.wpfp-first) { border-top: var(--rule-hair) solid var(--color-rule); }
  .af-workspace--thread :is(.wpfl-2,.wpfl-4) .af-replies-separator.wpf-replies-sep { font-size: var(--text-plumbing-section); font-weight: 500; margin-top: var(--space-lg); }
  .af-workspace--thread .af-reply-composer { padding: var(--space-lg); background: var(--color-publication-accent-soft); }
  .af-workspace--discover #wpforo-title { font-size: var(--text-plumbing-title); font-weight: 500; }
  .af-workspace--discover .af-topic-feed { padding: var(--space-md) var(--space-lg); background: var(--color-publication-surface); }
  .af-workspace--discover .af-topic-feed .af-conversation { padding-block: var(--space-md); }
  .af-search-page .af-view-header, .af-members-page .af-view-header { padding-block: var(--space-md); }
  .af-auth-view { border: 0; border-radius: 0; background: var(--color-publication-surface); box-shadow: none; }
  .af-auth-main { padding: var(--space-xl); }
  .af-auth-header #wpforo-title { font: 500 var(--text-plumbing-title)/1 var(--font-plumbing-display); }
  .af-auth-context { border: 0; background: var(--color-publication-soft); padding: var(--space-xl) var(--space-lg); }
  .af-auth-context h2 { font-size: var(--text-plumbing-section); font-weight: 500; }
  .af-auth-context__signal, .af-auth-context__marker { display: none; }
  .af-auth-context__list:not(ol) > li { display: block; }
  .af-auth-form input.af-auth-submit { background: var(--color-ink) !important; color: var(--color-publication-paper) !important; min-height: 48px; border-radius: 0; }
  .af-auth-form input.af-auth-submit:hover { background: var(--color-accent-hover) !important; }
  .af-member-browser__tools { background: var(--color-publication-soft); padding: var(--space-md); border: 0; }
  .af-search-view .af-results-search { padding: var(--space-md); background: var(--color-publication-soft); }
}

/* Directory, profile and membership pages use the same publication hierarchy. */
body.af-exchange-design #wpforo.af-publication #wpforo-wrap,
body.af-exchange-design.aigenforums-directory {
  .af-platform-directory-hero { padding: var(--space-xl); gap: var(--space-xl); background: var(--color-publication-ink); margin-bottom: var(--space-lg); }
  .af-platform-directory-hero h1 { max-width: 23ch; color: var(--color-publication-paper); font: 450 var(--text-plumbing-hero)/1.04 var(--font-plumbing-display); letter-spacing: -.035em; text-transform: none; }
  .af-platform-directory-hero > div > p { max-width: 48ch; color: var(--color-publication-reverse-muted); line-height: 1.65; }
  .af-platform-directory-hero > div > .af-plumbing-kicker { color: var(--color-plumbing-signal); }
  .af-platform-directory-actions { margin-top: var(--space-md); }
  .af-platform-directory-actions a { color: var(--color-publication-accent); text-decoration: underline; text-underline-offset: .3em; }
  .af-platform-directory-hero .af-platform-directory-actions a { color: var(--color-publication-paper); }
  .af-platform-directory-hero .af-platform-directory-actions a:focus-visible { outline-color: var(--color-plumbing-signal) !important; }
  .af-platform-country-select { gap: 0; border-block: var(--rule-hair) solid var(--color-rule); }
  .af-platform-country-select a { border: 0; padding: var(--space-md); }
  .af-platform-country-select a + a { border-left: var(--rule-hair) solid var(--color-rule); }
  .af-platform-country-select a:hover { background: var(--color-publication-soft); }
  .af-platform-country-select strong { font-family: var(--font-plumbing-display); font-weight: 500; letter-spacing: -.035em; }
  .af-platform-section-head h2 { font: 500 var(--text-plumbing-section)/1.05 var(--font-plumbing-display); letter-spacing: -.025em; }
  .af-platform-section-head p { max-width: 60ch; }
  .af-platform-region-grid h4, .af-platform-region-grid h4 a { color: var(--color-publication-ink); }
  .af-platform-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
  .af-dir-premium-card { border: var(--rule-hair) solid var(--color-publication-rule); border-top: var(--rule-strong) solid var(--color-publication-ink); background: var(--color-publication-surface); box-shadow: none; }
  .af-dir-premium-card__body { padding: var(--space-lg); }
  .af-dir-premium-card__body h3 { font: 500 1.75rem/1.1 var(--font-plumbing-display); letter-spacing: -.035em; }
  .af-dir-premium-card__body > p { font-size: var(--text-sm); line-height: 1.65; }
  .af-dir-premium-card:has(.af-provider-monogram) { display: block; position: relative; padding: var(--space-lg); }
  .af-dir-premium-card:has(.af-provider-monogram) .af-dir-premium-card__media { display: flex; float: right; width: 4rem; height: 4rem; aspect-ratio: 1; margin: 0 0 var(--space-sm) var(--space-md); border: var(--rule-hair) solid var(--color-rule); background: var(--color-publication-soft); }
  .af-dir-premium-card:has(.af-provider-monogram) .af-dir-premium-card__body { display: block; padding: 0; }
  .af-dir-premium-card:has(.af-provider-monogram) .af-dir-label-row { min-height: 2rem; margin-bottom: var(--space-sm); padding-right: 5rem; }
  .af-dir-premium-card:has(.af-provider-monogram) .af-dir-premium-card__body > div:has(h3) { min-height: 6rem; }
  .af-dir-premium-card:has(.af-provider-monogram) .af-dir-premium-card__body > p { margin-block: var(--space-sm); }
  .af-provider-monogram { font: 500 1.5rem/1 var(--font-plumbing-display); color: var(--color-accent); }
  .af-dir-premium-card .af-dir-specialties { clear: both; gap: var(--space-2xs) var(--space-sm); margin-block: var(--space-md); }
  .af-dir-premium-card .af-dir-specialties li { padding: 0; background: var(--color-transparent); border: 0; color: var(--color-muted); font-size: var(--text-xs); }
  .af-dir-premium-card .af-dir-specialties li + li::before { content: '·'; margin-right: var(--space-sm); }
  .af-dir-premium-card .af-dir-actions { clear: both; padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); gap: var(--space-xs); }
  .af-dir-premium-card .af-dir-text-link { margin-left: auto; }
  .af-platform-market-header { padding-block: var(--space-xl); }
  .af-platform-market-header h1 { font: 500 var(--text-plumbing-title)/1.04 var(--font-plumbing-display); letter-spacing: -.025em; }
  .af-platform-market-header aside { background: var(--color-publication-soft); border: 0; padding: var(--space-lg); }
  .af-platform-provider-filters { padding: var(--space-md); background: var(--color-publication-soft); border: 0; }
  .af-platform-results-count { margin-block: var(--space-md); color: var(--color-muted); }
  .af-dir-profile-hero--text { padding: var(--space-xl); background: var(--color-publication-surface); border-block: var(--rule-strong) solid var(--color-publication-ink); }
  .af-dir-profile-hero--text h1 { font: 500 var(--text-plumbing-title)/1.02 var(--font-plumbing-display); letter-spacing: -.025em; }
  .af-dir-profile-logo { width: 4.5rem; height: 4.5rem; min-width: 4.5rem; background: var(--color-publication-soft); font-size: 1.75rem; }
  .af-platform-profile-summary { padding-left: var(--space-xl); }
  .af-dir-profile-layout { column-gap: var(--space-xl); }
  .af-dir-profile-main h2 { font: 500 var(--text-plumbing-section)/1.08 var(--font-plumbing-display); letter-spacing: -.035em; }
  .af-dir-profile-facts { background: var(--color-publication-soft); padding: var(--space-lg); border: 0; }
  .af-dir-upgrade-hero { padding: var(--space-xl); gap: var(--space-xl); background: var(--color-publication-ink); color: var(--color-publication-paper); }
  .af-dir-upgrade-hero h1 { color: var(--color-publication-paper); font: 450 clamp(2.5rem, 6vw, 6rem)/1.04 var(--font-plumbing-display); max-width: 16ch; letter-spacing: -.035em; text-transform: none; }
  .af-dir-upgrade-hero p, .af-dir-upgrade-hero .af-dir-upgrade-hero__label { color: var(--color-publication-reverse-muted); }
  .af-dir-upgrade-hero .af-dir-price { border-left: var(--rule-hair) solid var(--color-publication-rule-strong); padding-left: var(--space-xl); }
  .af-dir-upgrade-hero .af-dir-price strong { color: var(--color-plumbing-signal); font: 500 clamp(4rem, 8vw, 8rem)/1 var(--font-plumbing-display); letter-spacing: -.035em; }
  .af-dir-upgrade-hero .af-dir-upgrade-hero__label { color: var(--color-plumbing-signal); font-size: var(--text-xs); letter-spacing: .075em; text-transform: uppercase; }
  .af-dir-upgrade-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin-top: var(--space-md); }
  .af-dir-upgrade-actions a { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: var(--control-height); color: var(--color-publication-paper); font: 600 var(--text-sm)/1.3 var(--font-body); white-space: nowrap; text-decoration: underline; text-underline-offset: .25em; }
  .af-dir-upgrade-actions a:hover { color: var(--color-publication-paper); text-decoration-thickness: var(--rule-strong); }
  .af-dir-upgrade-actions a:focus-visible { outline-color: var(--color-publication-paper); }
  .af-dir-capacity { background: var(--color-publication-soft); padding: var(--space-lg); }
  .af-dir-comparison__row > :last-child { background: var(--color-publication-soft); }
  .af-dir-billing, .af-dir-checkout, .af-dir-waitlist { padding: var(--space-lg); background: var(--color-publication-surface); }
  .af-dir-billing { --color-ink: var(--color-publication-ink); --color-ink-2: var(--color-publication-ink-2); --color-muted: var(--color-publication-muted); color: var(--color-publication-ink); }
  .af-dir-billing :is(h2,li,strong) { color: var(--color-publication-ink); }
  .af-dir-form-layout { gap: var(--space-xl); }
}

body.af-exchange-design #wpforo.af-publication #wpforo-wrap,
body.af-exchange-design.aigenforums-directory {
  .af-provider-finder { padding: var(--space-lg); background: var(--color-publication-soft); border: var(--rule-hair) solid var(--color-publication-rule); }
  .af-provider-finder h2 { font-family: var(--font-plumbing-display); font-weight: 500; letter-spacing: -.035em; }
  .af-provider-finder input[type="search"] { min-height: 48px; }
  .af-provider-finder button { min-height: 48px; }
  .af-plumbing-footer { background: var(--color-publication-ink); color: var(--color-publication-paper); margin-top: var(--space-xl); padding: 0; border: 0; }
  .af-plumbing-footer__inner { max-width: 90rem; margin: 0 auto; padding: var(--space-xl) var(--publication-gutter) var(--space-lg); }
  .af-plumbing-footer :is(h2,h3,p) { margin: 0; padding: 0; }
  .af-plumbing-footer a { color: var(--color-publication-paper); text-decoration: none; }
  .af-plumbing-footer a:hover { color: var(--color-publication-paper); text-decoration: underline; text-underline-offset: .25em; }
  .af-plumbing-footer a:focus-visible { outline: var(--rule-strong) solid var(--color-publication-paper) !important; outline-offset: var(--space-3xs); }
  .af-plumbing-membership { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: var(--space-xl); padding-bottom: var(--space-xl); border-bottom: var(--rule-hair) solid var(--color-publication-rule-strong); }
  .af-plumbing-membership h2 { color: var(--color-publication-paper); font: 450 clamp(2.25rem, 5.7vw, 5.5rem)/1.04 var(--font-plumbing-display); letter-spacing: -.035em; text-transform: none; overflow-wrap: anywhere; }
  .af-plumbing-membership h2 span { color: var(--color-plumbing-signal); font-weight: inherit; }
  .af-plumbing-membership p { max-width: 49ch; margin-top: var(--space-md); color: var(--color-publication-reverse-muted); font: 400 var(--text-sm)/1.65 var(--font-publication-body); }
  .af-plumbing-membership__actions { justify-self: end; display: flex; align-items: start; flex-direction: column; gap: var(--space-xs); }
  .af-plumbing-membership__actions p { margin: 0; font-size: var(--text-xs); }
  .af-plumbing-footer .af-plumbing-button { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: 48px; padding: var(--space-xs) var(--space-md); background: var(--color-publication-paper); color: var(--color-publication-ink); font: 600 var(--text-sm)/1.2 var(--font-publication-body); white-space: nowrap; }
  .af-plumbing-footer .af-plumbing-button:hover { background: var(--color-publication-accent-soft); text-decoration: none; }
  .af-plumbing-footer .af-plumbing-button:active { background: var(--color-publication-soft); }
  .af-plumbing-text-link { display: inline-flex; align-items: center; gap: var(--space-lg); min-height: var(--control-height); font: 500 var(--text-sm)/1.2 var(--font-publication-body); white-space: nowrap; }
  .af-plumbing-footer__directory { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, .5fr)); gap: var(--space-xl); padding-block: var(--space-xl); }
  .af-plumbing-footer__identity > a { display: inline-block; font: 450 clamp(1.625rem, 3vw, 2.5rem)/1 var(--font-plumbing-display); font-family: var(--font-plumbing-display) !important; letter-spacing: -.025em; text-transform: none; }
  .af-plumbing-footer__identity p { color: var(--color-publication-reverse-muted); margin-top: var(--space-sm); font: 400 var(--text-sm)/1.6 var(--font-publication-body); }
  .af-plumbing-footer__directory h3 { margin-bottom: var(--space-xs); color: var(--color-publication-reverse-muted); font: 500 var(--text-xs)/1.4 var(--font-publication-body); font-family: var(--font-publication-body) !important; }
  .af-plumbing-footer__directory nav a { display: flex; align-items: center; min-height: var(--control-height); font: 400 var(--text-sm)/1.3 var(--font-publication-body); white-space: nowrap; }
  .af-plumbing-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); border-top: var(--rule-hair) solid var(--color-publication-rule-strong); padding-top: var(--space-md); }
  .af-plumbing-footer__bottom p, .af-plumbing-footer__bottom a, .af-plumbing-footer__note { color: var(--color-publication-reverse-muted); font: 400 var(--text-xs)/1.6 var(--font-publication-body); }
  .af-plumbing-footer__bottom a { display: inline-flex; min-height: var(--control-height); align-items: center; white-space: nowrap; }
  .af-plumbing-footer .af-plumbing-footer__note { margin-top: var(--space-sm); }
  .af-plumbing-footer__note #wpforo-poweredby { padding: 0; border: 0; }
  .af-plumbing-footer__note #wpforo-poweredby a { color: var(--color-publication-reverse-muted) !important; }
}

@media (max-width: 67.99rem) {
  body.af-exchange-design #wpforo.af-publication #wpforo-wrap {
    .af-journal-opening { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 0; min-height: clamp(30rem, 65svh, 40rem); }
    .af-journal-opening-art { display: block; min-height: 0; }
    .af-journal-layout { grid-template-columns: minmax(0, 1fr) minmax(13rem, .4fr); gap: var(--space-lg); }
    .af-journal-opening-copy { padding: var(--space-lg) var(--publication-gutter); }
    .af-journal-opening h1 { font-size: clamp(3.5rem, 8.75vw, 6rem); }
    .af-journal-opening p { font-size: var(--text-md); }
    .af-plumbing-conversations__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .af-plumbing-conversations article, .af-plumbing-conversations article + article { padding: var(--space-md) 0; border-left: 0; }
    .af-plumbing-conversations article + article { border-top: var(--rule-hair) solid var(--color-rule); }
    .af-journal-directory-intro { padding: var(--space-md); }
    .af-journal-directory-intro h2 { font-size: clamp(1.75rem, 3vw, 2.125rem); }
  }
  body.af-exchange-design #wpforo.af-publication #wpforo-wrap,
body.af-exchange-design.aigenforums-directory {
    .af-dir-premium-card:has(.af-provider-monogram) { padding: var(--space-md); }
    .af-dir-premium-card__body h3 { font-size: 1.625rem; }
    .af-dir-premium-card .af-dir-text-link { margin-left: 0; }
    .af-dir-upgrade-hero { padding: var(--space-lg); }
  }
}
@media (max-width: 47.99rem) {
  body.af-exchange-design #wpforo.af-publication #wpforo-wrap {
    .af-journal-shortcuts { margin-bottom: var(--space-xs); }
    .af-journal-opening { grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: var(--space-lg); padding: 0; min-height: 0; }
    .af-journal-opening h1 { max-width: 11ch; font-size: clamp(3.5rem, 14vw, 6rem); }
    .af-journal-opening p { font-size: var(--text-sm); }
    .af-journal-opening-copy { padding: var(--space-lg) var(--publication-gutter); }
    .af-journal-opening-actions { column-gap: var(--space-md); }
    .af-journal-opening-art { min-height: 14rem; max-height: 14rem; }
    .af-journal-opening-art img { object-position: 50% 54%; }
    .af-journal-layout { display: block; }
    .af-plumbing-conversations { margin-bottom: var(--space-lg); }
    .af-plumbing-conversations__head { flex-direction: column; align-items: start; gap: 0; }
    .af-journal-contents { margin-bottom: var(--space-lg); }
    .af-journal-contents a { font-size: var(--text-xs); }
    .af-journal-index-head { padding-bottom: var(--space-xs); }
    .af-journal-directory { margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); }
    .af-journal-directory-intro h2 { font-size: 2.25rem; }
    .af-journal-state li a { min-height: var(--control-height); }
    .af-journal-home .af-journal-topic { font-size: 1.375rem; }
    .af-workspace--thread :is(.wpfl-2,.wpfl-4) .af-post--starter, .af-workspace--thread .af-reply-composer { padding: var(--space-md); }
    .af-workspace--discover .af-topic-feed { padding: var(--space-sm); }
    .af-auth-main, .af-auth-context { padding: var(--space-lg) var(--space-md); }
  }
  body.af-exchange-design #wpforo.af-publication #wpforo-wrap,
body.af-exchange-design.aigenforums-directory {
    .af-platform-directory-hero { padding: var(--space-lg) var(--space-md); gap: var(--space-lg); }
    .af-platform-directory-hero h1 { font-size: clamp(2.5rem, 11vw, 4.5rem); }
    .af-platform-provider-grid { grid-template-columns: minmax(0, 1fr); }
    .af-platform-market-header { padding-block: var(--space-lg); }
    .af-dir-profile-hero--text { padding: var(--space-md); }
    .af-platform-profile-summary { padding: var(--space-md) 0 0; }
    .af-dir-upgrade-hero { padding: var(--space-lg) var(--space-md); }
    .af-dir-upgrade-hero .af-dir-price { border-left: 0; border-top: var(--rule-hair) solid var(--color-publication-rule-strong); padding: var(--space-md) 0 0; }
    .af-dir-capacity, .af-dir-billing, .af-dir-checkout, .af-dir-waitlist { padding: var(--space-md); }
  }
  body.af-exchange-design #wpforo.af-publication #wpforo-wrap,
body.af-exchange-design.aigenforums-directory {
    .af-provider-finder { padding: var(--space-md); }
    .af-plumbing-membership { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
    .af-plumbing-membership__actions { justify-self: start; }
    .af-plumbing-footer__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
    .af-plumbing-footer__identity { grid-column: 1 / -1; }
    .af-plumbing-footer__directory nav a { font-size: var(--text-sm); }
    .af-plumbing-footer .af-plumbing-button { padding-inline: var(--space-sm); gap: var(--space-md); }
  }
}
