/* cp-ds-legacy-aliases */
/* Generated by christianpure-design-system. Do not edit.
 * Step-1 migration aliases from tokens/legacy-aliases.json.
 * Load BEFORE design-system.css so live redeclarations shadow these (KTD11).
 */
:root {
  --cp-arrival-gold: var(--cp-color-ink-gold);
  --cp-arrival-ink: var(--cp-color-ink);
  --cp-body: var(--cp-font-family-body);
  --cp-category-coral: var(--cp-color-accent-coral);
  --cp-category-hero-accent: var(--cp-color-accent-coral);
  --cp-category-hero-focus: var(--cp-color-focus-ring);
  --cp-category-hero-ink: var(--cp-color-ink);
  --cp-category-hero-line: var(--cp-color-line);
  --cp-category-hero-muted: var(--cp-color-ink-muted);
  --cp-category-hero-placeholder: var(--cp-color-ink-muted);
  --cp-category-ink: var(--cp-color-ink);
  --cp-category-medallion: var(--cp-color-accent-gold);
  --cp-category-paper: var(--cp-color-surface-page);
  --cp-coral: var(--cp-color-accent-coral);
  --cp-course-apse: var(--cp-color-surface-inverse);
  --cp-course-divider: var(--cp-color-line-gold);
  --cp-course-gold: var(--cp-color-accent-gold);
  --cp-course-line: var(--cp-color-line);
  --cp-course-paper: var(--cp-color-surface-band);
  --cp-courses-coral: var(--cp-color-status-danger);
  --cp-courses-gold: var(--cp-color-accent-gold);
  --cp-courses-gold-light: var(--cp-color-accent-gold);
  --cp-courses-ink: var(--cp-color-ink);
  --cp-courses-ivory: var(--cp-color-surface-band);
  --cp-courses-line: var(--cp-color-line);
  --cp-courses-parchment: var(--cp-color-surface-inset);
  --cp-focus: var(--cp-color-focus-ring);
  --cp-gold: var(--cp-color-accent-gold);
  --cp-gold-line: var(--cp-color-line-gold);
  --cp-heading: var(--cp-font-family-heading);
  --cp-ink: var(--cp-color-ink);
  --cp-ink-deep: var(--cp-color-interactive-hover);
  --cp-la-activity: var(--cp-font-family-body);
  --cp-la-body: var(--cp-font-family-body);
  --cp-la-dark: var(--cp-color-interactive-hover);
  --cp-la-display: var(--cp-font-family-heading);
  --cp-la-ink: var(--cp-color-ink);
  --cp-la-lapis: var(--cp-color-ink);
  --cp-la-light-vermilion: var(--cp-color-accent-coral);
  --cp-la-line: var(--cp-color-line);
  --cp-la-muted: var(--cp-color-ink-muted);
  --cp-la-navy: var(--cp-color-ink);
  --cp-la-ochre: var(--cp-color-accent-gold);
  --cp-la-paper: var(--cp-color-surface-page);
  --cp-la-parchment: var(--cp-color-surface-band);
  --cp-la-reading: var(--cp-font-family-body);
  --cp-la-ui: var(--cp-font-family-body);
  --cp-la-vermilion: var(--cp-color-accent-coral);
  --cp-la-warm-white: var(--cp-color-surface-raised);
  --cp-member-line: var(--cp-color-line);
  --cp-member-paper: var(--cp-color-surface-page);
  --cp-mission-copy: var(--cp-color-ink);
  --cp-mission-gold: var(--cp-color-accent-gold);
  --cp-mission-gold-deep: var(--cp-color-ink-gold);
  --cp-mission-navy: var(--cp-color-ink);
  --cp-mission-paper: var(--cp-color-surface-band);
  --cp-mission-paper-light: var(--cp-color-surface-page);
  --cp-mission-paper-warm: var(--cp-color-surface-inset);
  --cp-mission-rule: var(--cp-color-line-gold);
  --cp-mission-rule-strong: var(--cp-color-accent-gold);
  --cp-nav-accent: var(--cp-color-accent-coral);
  --cp-nav-canvas: var(--cp-color-surface-page);
  --cp-nav-focus: var(--cp-color-focus-ring);
  --cp-nav-hover: var(--cp-color-interactive-hover);
  --cp-nav-ink: var(--cp-color-ink);
  --cp-nav-line: var(--cp-color-line);
  --cp-nav-search-icon: var(--cp-color-ink);
  --cp-prayer-blue: var(--cp-color-ink);
  --cp-prayer-blue-deep: var(--cp-color-interactive-hover);
  --cp-prayer-gold: var(--cp-color-accent-gold);
  --cp-prayer-line: var(--cp-color-line);
  --cp-prayer-paper: var(--cp-color-surface-band);
  --cp-prayer-paper-inset: var(--cp-color-surface-inset);
  --cp-request-footer-ink: var(--cp-color-ink-on-inverse);
  --cp-request-footer-line: var(--cp-color-line-on-inverse);
  --cp-request-footer-muted: var(--cp-color-ink-on-inverse-muted);
  --cp-request-footer-surface: var(--cp-color-surface-inverse);
  --cp-search-focus: var(--cp-color-focus-ring);
  --cp-search-ink: var(--cp-color-ink);
  --cp-search-line: var(--cp-color-line);
  --cp-search-placeholder: var(--cp-color-ink-muted);
  --cp-series-copy: var(--cp-color-ink);
  --cp-series-divider: var(--cp-color-line-gold);
  --cp-series-line: var(--cp-color-line);
  --cp-series-muted: var(--cp-color-ink-muted);
  --cp-stone: var(--cp-color-surface-page);
  --cp-stone-deep: var(--cp-color-surface-inset);
  --cp-verse-gold: var(--cp-color-ink-gold);
  --cp-verse-gold-line: var(--cp-color-line-gold);
  --cp-verse-ivory: var(--cp-color-surface-band);
  --cp-verse-ivory-deep: var(--cp-color-surface-inset);
  --cp-verse-navy: var(--cp-color-ink);
}


/* cp-ds-tokens */
/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --cp-color-ink: #002159; /** Primary text and chrome ink. */
  --cp-color-ink-muted: #67625d; /** Secondary text and placeholders. */
  --cp-color-ink-gold: #9b6c20; /** Gold type only (≥ 18px bold), e.g. verse citations. */
  --cp-color-ink-on-inverse: #fffdf8; /** Primary text on navy surfaces. */
  --cp-color-ink-on-inverse-muted: #dbe6f6; /** Secondary text on navy surfaces. */
  --cp-color-surface-page: #fbf8f3; /** Default page ground. */
  --cp-color-surface-band: #f8f2e8; /** Ivory title bands and verse ivory. */
  --cp-color-surface-inset: #f5ede1; /** Recessed panels and disabled fills. */
  --cp-color-surface-raised: #ffffff; /** Raised cards and panels. */
  --cp-color-surface-inverse: #002159; /** Navy register ground (footer, inverse chrome). */
  --cp-color-surface-scrim: rgba(0, 33, 89, 0.85); /** Featured-card title panel scrim — navy at 85%. */
  --cp-color-accent-gold: #c58c23; /** Ornament gold: lines, icons, diamonds. Never small type on page. */
  --cp-color-accent-coral: #d8583f; /** Marker coral: arrows, underlines, meters. Never type. */
  --cp-color-accent-on-inverse: #c58c23; /** Accent on navy surfaces. */
  --cp-color-interactive: #002159; /** Primary interactive fill. */
  --cp-color-interactive-hover: #001b43; /** Hover fill (web). Deep ink. */
  --cp-color-interactive-pressed: #001b43; /** Pressed fill / iOS deepInk. */
  --cp-color-status-success: #2e6b3f; /** Success on page surfaces. */
  --cp-color-status-warning: #9b6c20; /** Warning icon and border unless a text pair passes. */
  --cp-color-status-danger: #8e3528; /** Error text and border on page surfaces. */
  --cp-color-status-danger-on-inverse: #f0a08e; /** Error text and border on navy surfaces (D-017). */
  --cp-color-line: #e8e4df; /** Default hairline / separator. */
  --cp-color-line-gold: rgba(171, 127, 54, 0.32); /** Gold rule at 32% opacity (live --cp-gold-line). */
  --cp-color-line-on-inverse: rgba(255, 255, 255, 0.22); /** Hairline on navy (request-received footer). */
  --cp-color-focus-ring: #0951b1; /** Focus ring on page surfaces. */
  --cp-color-focus-on-inverse: #c58c23; /** Focus ring on navy — blue fails 3:1 on inverse. */
  --cp-space-4: 4px; /** space.4 */
  --cp-space-8: 8px; /** space.8 */
  --cp-space-12: 12px; /** space.12 */
  --cp-space-16: 16px; /** space.16 */
  --cp-space-20: 20px; /** space.20 */
  --cp-space-24: 24px; /** space.24 */
  --cp-space-32: 32px; /** space.32 */
  --cp-space-40: 40px; /** space.40 */
  --cp-space-48: 48px; /** space.48 */
  --cp-space-64: 64px; /** space.64 */
  --cp-space-80: 80px; /** space.80 */
  --cp-space-96: 96px; /** space.96 */
  --cp-radius-hairline: 2px; /** radius.hairline */
  --cp-radius-control: 4px; /** radius.control */
  --cp-radius-card: 8px; /** radius.card */
  --cp-radius-panel: 16px; /** Live mega menu was 14; rounding to 16 is a deliberate step-3 change. */
  --cp-radius-pill: 999px; /** radius.pill */
  --cp-stroke-1: 1px; /** stroke.1 */
  --cp-stroke-3: 3px; /** Focus outline width; offset also 3. */
  --cp-motion-duration: 180ms; /** Canonical --cp-motion-duration (adopted). */
  --cp-motion-duration-exit: 120ms; /** Canonical --cp-motion-duration-exit (adopted). */
  --cp-motion-duration-reduced: 0.01ms; /** prefers-reduced-motion replacement. */
  --cp-motion-ease: cubic-bezier(0.22, 0.61, 0.36, 1); /** Canonical --cp-motion-ease (adopted). */
  --cp-motion-distance: 6px; /** Canonical --cp-motion-distance (adopted). */
  --cp-font-family-heading: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** Canonical → licensed fallback → platform serif. Weights 300–600. */
  --cp-font-family-body: 'FK Roman Text', 'Source Serif 4', Georgia, serif; /** Canonical → licensed fallback → platform serif. Weights 300–500. */
  --cp-font-family-verse: 'Arno Pro', 'Source Serif 4', Georgia, serif; /** Verse quotes: bold italic. */
  --cp-font-family-prayer: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** Prayer inscription uses Tiempos Regular. */
  --cp-font-family-ui: 'FK Roman Text', system-ui, sans-serif; /** Compact UI chrome when a sans stack is required. */
  --cp-font-weight-light: 300; /** font.weight.light */
  --cp-font-weight-regular: 400; /** font.weight.regular */
  --cp-font-weight-medium: 500; /** font.weight.medium */
  --cp-font-weight-semibold: 600; /** font.weight.semibold */
  --cp-font-weight-bold: 700; /** font.weight.bold */
  --cp-canvas-size-square-width: 1080px; /** Instagram and Facebook feed square. Width. */
  --cp-canvas-size-square-height: 1080px; /** Instagram and Facebook feed square. Height. */
  --cp-canvas-size-portrait-width: 1080px; /** Instagram feed portrait (4:5). Width. */
  --cp-canvas-size-portrait-height: 1350px; /** Instagram feed portrait (4:5). Height. */
  --cp-canvas-size-story-width: 1080px; /** Stories, Reels, TikTok, Shorts (9:16). Width. */
  --cp-canvas-size-story-height: 1920px; /** Stories, Reels, TikTok, Shorts (9:16). Height. */
  --cp-canvas-size-link-width: 1200px; /** Link previews and Open Graph (1.91:1). Width. */
  --cp-canvas-size-link-height: 630px; /** Link previews and Open Graph (1.91:1). Height. */
  --cp-canvas-size-video-width: 1280px; /** Video thumbnails (16:9). Width. */
  --cp-canvas-size-video-height: 720px; /** Video thumbnails (16:9). Height. */
  --cp-canvas-safe-inset: 0.05; /** Fraction of the short edge kept clear of type and logo on every side. */
  --cp-canvas-scale-base: 1080; /** Short edge the canvas type sizes are drawn for. */
  --cp-canvas-type-headline: 88px; /** Headline on a 1080 px short edge (about 31 pt on a phone feed). */
  --cp-canvas-type-verse: 64px; /** Verse quote on a 1080 px short edge (about 22 pt). */
  --cp-canvas-type-subhead: 56px; /** Subhead on a 1080 px short edge (about 20 pt). */
  --cp-canvas-type-body: 40px; /** Body on a 1080 px short edge (about 14 pt). */
  --cp-canvas-type-caption: 32px; /** Captions and eyebrows on a 1080 px short edge (about 11 pt). */
  --cp-shadow-low: 0px 4px 12px 0px rgb(55 39 17 / 0.08); /** 0 4px 12px rgb(55 39 17 / 8%) */
  --cp-shadow-card: 0px 15px 36px 0px rgb(55 39 17 / 0.09); /** 0 15px 36px rgb(55 39 17 / 9%) */
  --cp-shadow-panel: 0px 20px 48px 0px rgb(0 33 89 / 0.16); /** 0 1.25rem 3rem rgb(0 33 89 / 16%) — mega menu / raised panels */
  --cp-layout-content: 1000px; /** Primary content width. */
  --cp-layout-wide: 1200px; /** Wide layout width. */
  --cp-layout-gutter-compact: 16px; /** layout.gutter.compact */
  --cp-layout-gutter-regular: 24px; /** layout.gutter.regular */
  --cp-layout-gap-grid: 24px; /** Two-column category grid gap. */
  --cp-layout-safe-area-top: env(safe-area-inset-top); /** Web resolves to env(safe-area-inset-top); Swift uses system safe area. */
  --cp-layout-safe-area-bottom: env(safe-area-inset-bottom); /** layout.safe-area.bottom */
  --cp-layout-safe-area-leading: env(safe-area-inset-left); /** layout.safe-area.leading */
  --cp-layout-safe-area-trailing: env(safe-area-inset-right); /** layout.safe-area.trailing */
  --cp-layout-breakpoint-sm: 600px; /** Mobile-first: min-width 600. */
  --cp-layout-breakpoint-md: 782px; /** WordPress medium / adminbar breakpoint. */
  --cp-layout-breakpoint-lg: 1024px; /** layout.breakpoint.lg */
  --cp-layout-breakpoint-xl: 1200px; /** layout.breakpoint.xl */
  --cp-font-measure-prose: 68ch; /** Maximum measure for body prose. */
  --cp-font-role-display-line-height: 1.08; /** typography.role.display.lineHeight */
  --cp-font-role-display-font-weight: 300; /** typography.role.display.fontWeight */
  --cp-font-role-display-font-family: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** typography.role.display.fontFamily */
  --cp-font-role-title-1-line-height: 1.12; /** typography.role.title-1.lineHeight */
  --cp-font-role-title-1-font-weight: 400; /** typography.role.title-1.fontWeight */
  --cp-font-role-title-1-font-family: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** typography.role.title-1.fontFamily */
  --cp-font-role-title-2-line-height: 1.2; /** typography.role.title-2.lineHeight */
  --cp-font-role-title-2-font-weight: 400; /** typography.role.title-2.fontWeight */
  --cp-font-role-title-2-font-family: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** typography.role.title-2.fontFamily */
  --cp-font-role-title-3-line-height: 1.25; /** typography.role.title-3.lineHeight */
  --cp-font-role-title-3-font-weight: 400; /** typography.role.title-3.fontWeight */
  --cp-font-role-title-3-font-family: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** typography.role.title-3.fontFamily */
  --cp-font-role-heading-line-height: 1.3; /** typography.role.heading.lineHeight */
  --cp-font-role-heading-font-weight: 500; /** typography.role.heading.fontWeight */
  --cp-font-role-heading-font-family: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** typography.role.heading.fontFamily */
  --cp-font-role-body-line-height: 1.6; /** typography.role.body.lineHeight */
  --cp-font-role-body-font-weight: 400; /** typography.role.body.fontWeight */
  --cp-font-role-body-font-family: 'FK Roman Text', 'Source Serif 4', Georgia, serif; /** typography.role.body.fontFamily */
  --cp-font-role-body-small-line-height: 1.5; /** typography.role.body-small.lineHeight */
  --cp-font-role-body-small-font-weight: 400; /** typography.role.body-small.fontWeight */
  --cp-font-role-body-small-font-family: 'FK Roman Text', 'Source Serif 4', Georgia, serif; /** typography.role.body-small.fontFamily */
  --cp-font-role-caption-line-height: 1.4; /** typography.role.caption.lineHeight */
  --cp-font-role-caption-font-weight: 400; /** typography.role.caption.fontWeight */
  --cp-font-role-caption-font-family: 'FK Roman Text', 'Source Serif 4', Georgia, serif; /** typography.role.caption.fontFamily */
  --cp-font-role-label-line-height: 1.4; /** typography.role.label.lineHeight */
  --cp-font-role-label-letter-spacing: 0.04em; /** typography.role.label.letterSpacing */
  --cp-font-role-label-font-weight: 500; /** typography.role.label.fontWeight */
  --cp-font-role-label-font-family: 'FK Roman Text', 'Source Serif 4', Georgia, serif; /** typography.role.label.fontFamily */
  --cp-font-role-verse-line-height: 1.25; /** typography.role.verse.lineHeight */
  --cp-font-role-verse-font-weight: 700; /** typography.role.verse.fontWeight */
  --cp-font-role-verse-font-family: 'Arno Pro', 'Source Serif 4', Georgia, serif; /** typography.role.verse.fontFamily */
  --cp-font-role-prayer-line-height: 1.5; /** typography.role.prayer.lineHeight */
  --cp-font-role-prayer-font-weight: 400; /** typography.role.prayer.fontWeight */
  --cp-font-role-prayer-font-family: 'Tiempos Headline', 'Source Serif 4', Georgia, serif; /** typography.role.prayer.fontFamily */
  --cp-button-primary-background: #002159; /** Primary fill. */
  --cp-button-primary-background-hover: #001b43; /** Primary hover fill (same deep ink as pressed; interactive.hover is web-only). */
  --cp-button-primary-background-pressed: #001b43; /** Primary pressed fill. */
  --cp-button-primary-background-disabled: #f5ede1; /** Disabled fill — not opacity. */
  --cp-button-primary-label: #fffdf8; /** Primary label on navy. */
  --cp-button-primary-label-disabled: #67625d; /** Disabled label. */
  --cp-button-secondary-background: #ffffff; /** Secondary fill. */
  --cp-button-secondary-background-hover: #f8f2e8; /** Secondary hover. */
  --cp-button-secondary-background-pressed: #f5ede1; /** Secondary pressed. */
  --cp-button-secondary-background-disabled: #f5ede1; /** Secondary disabled fill. */
  --cp-button-secondary-label: #002159; /** Secondary label. */
  --cp-button-secondary-label-disabled: #67625d; /** Secondary disabled label. */
  --cp-button-secondary-border: #e8e4df; /** Secondary border. */
  --cp-button-min-height-regular: 44px; /** Regular target ≥ 44. */
  --cp-button-min-height-compact: 44px; /** Compact still meets 44 target. */
  --cp-button-padding-inline-regular: 24px; /** Regular horizontal padding. */
  --cp-button-padding-inline-compact: 16px; /** Compact horizontal padding. */
  --cp-button-radius: 4px; /** Control radius. */
  --cp-button-icon-size: 20px; /** Icon-only glyph size; hit area is minHeight. */
  --cp-card-background: #ffffff; /** Card surface. */
  --cp-card-radius: 8px; /** Card radius. */
  --cp-card-padding: 24px; /** Card padding. */
  --cp-card-shadow: 0px 15px 36px 0px rgb(55 39 17 / 0.09); /** Card elevation. */
  --cp-dropdown-trigger-background: #ffffff; /** Menu-button and select fill. */
  --cp-dropdown-trigger-border: #e8e4df; /** Trigger border. */
  --cp-dropdown-trigger-label: #002159; /** Trigger label. */
  --cp-dropdown-trigger-min-height: 44px; /** Trigger min height. */
  --cp-dropdown-trigger-radius: 4px; /** Trigger radius. */
  --cp-dropdown-menu-background: #ffffff; /** Raised panel fill. */
  --cp-dropdown-menu-radius: 16px; /** Panel radius (mega-menu kinship). */
  --cp-dropdown-menu-shadow: 0px 20px 48px 0px rgb(0 33 89 / 0.16); /** Panel elevation. */
  --cp-dropdown-menu-item-hover: #f8f2e8; /** Item hover fill — hit area equals visible box. */
  --cp-dropdown-menu-marker: #c58c23; /** Selected-item gold diamond. */
  --cp-dropdown-invalid-border: #8e3528; /** Native select invalid border. */
  --cp-input-background: #ffffff; /** Field fill. */
  --cp-input-border: #e8e4df; /** Default border. */
  --cp-input-border-error: #8e3528; /** Error border. */
  --cp-input-label: #002159; /** Field label. */
  --cp-input-helper: #67625d; /** Helper text. */
  --cp-input-error: #8e3528; /** Error text. */
  --cp-input-min-height: 44px; /** Control min height. */
  --cp-input-radius: 4px; /** Control radius. */
  --cp-link-label: #002159; /** Text link label — never coral. */
  --cp-link-marker: #d8583f; /** Arrow or underline marker. */
  --cp-progress-track-background: #f5ede1; /** Linear track. */
  --cp-progress-track-border: #e8e4df; /** Track edge for 3:1. */
  --cp-progress-track-height: 8px; /** Linear track height. */
  --cp-progress-fill: #002159; /** Linear fill — navy. */
  --cp-progress-step-size: 32px; /** Medallion diameter. */
  --cp-progress-step-completed: #002159; /** Completed medallion fill. */
  --cp-progress-step-completed-label: #fffdf8; /** Completed number. */
  --cp-progress-step-current-ring: #c58c23; /** Current-step gold ring. */
  --cp-progress-step-upcoming-border: #e8e4df; /** Upcoming border. */
  --cp-progress-step-upcoming-background: #ffffff; /** Upcoming medallion fill. Navy register swaps to a navy disc (D-017). */
  --cp-progress-step-upcoming-label: #002159; /** Upcoming number. Navy register swaps to ivory (D-017). */
  --cp-progress-step-locked-background: #f5ede1; /** Locked medallion. */
  --cp-progress-step-locked-label: #67625d; /** Locked number and caption. */
  --cp-progress-spinner-track: #e8e4df; /** Spinner track. */
  --cp-progress-spinner-head: #002159; /** Spinner head. */
  --cp-progress-spinner-size: 24px; /** Regular spinner. */
  --cp-progress-spinner-size-compact: 16px; /** Compact spinner for buttons. */
  --cp-selection-control-size: 20px; /** Radio/checkbox control size. */
  --cp-selection-control-border: #002159; /** Unchecked border. */
  --cp-selection-control-background: #ffffff; /** Unchecked fill. */
  --cp-selection-control-checked-background: #002159; /** Checked fill — navy. */
  --cp-selection-control-mark: #fffdf8; /** Dot / check / indeterminate mark. */
  --cp-selection-control-disabled-border: #e8e4df; /** Disabled border. */
  --cp-selection-control-disabled-background: #f5ede1; /** Disabled fill. */
  --cp-selection-control-disabled-checked: #67625d; /** Disabled checked fill. */
  --cp-selection-control-error-border: #8e3528; /** Group error border. */
  --cp-selection-label: #002159; /** Adjacent label. */
  --cp-selection-error: #8e3528; /** Group error text. */
  /* Fluid typography (390–1440 viewport) */
  --cp-font-body-size: clamp(17px, calc(16.6286px + 0.0952vw), 18px);
  --cp-font-body-small-size: clamp(15px, calc(14.6286px + 0.0952vw), 16px);
  --cp-font-caption-size: clamp(13px, calc(12.6286px + 0.0952vw), 14px);
  --cp-font-display-size: clamp(40px, calc(32.5714px + 1.9048vw), 60px);
  --cp-font-heading-size: clamp(18px, calc(17.2571px + 0.1905vw), 20px);
  --cp-font-label-size: clamp(13px, calc(12.6286px + 0.0952vw), 14px);
  --cp-font-prayer-size: clamp(18px, calc(17.2571px + 0.1905vw), 20px);
  --cp-font-title-1-size: clamp(32px, calc(27.5429px + 1.1429vw), 44px);
  --cp-font-title-2-size: clamp(26px, calc(23.7714px + 0.5714vw), 32px);
  --cp-font-title-3-size: clamp(21px, calc(19.8857px + 0.2857vw), 24px);
  --cp-font-verse-size: clamp(20px, calc(17.1771px + 0.7238vw), 27.6px);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cp-motion-duration: 0.01ms;
    --cp-motion-duration-exit: 0.01ms;
  }
}

/* Standard register: .cp-surface-standard and light panels inside navy (tokens/modes/inverse.tokens.json, D-017) */
.cp-surface-standard,
.cp-surface-inverse :where(.cp-menu__list, .cp-card:not(.cp-surface-inverse) > *) {
  --cp-color-ink: #002159;
  --cp-color-ink-muted: #67625d;
  --cp-color-line: #e8e4df;
  --cp-color-accent-gold: #c58c23;
  --cp-color-accent-coral: #d8583f;
  --cp-color-interactive: #002159;
  --cp-color-interactive-hover: #001b43;
  --cp-color-interactive-pressed: #001b43;
  --cp-color-status-danger: #8e3528;
  --cp-color-focus-ring: #0951b1;
  --cp-button-primary-background: #002159;
  --cp-button-primary-background-hover: #001b43;
  --cp-button-primary-background-pressed: #001b43;
  --cp-button-primary-background-disabled: #f5ede1;
  --cp-button-primary-label: #fffdf8;
  --cp-button-primary-label-disabled: #67625d;
  --cp-button-secondary-background: #ffffff;
  --cp-button-secondary-background-hover: #f8f2e8;
  --cp-button-secondary-background-pressed: #f5ede1;
  --cp-button-secondary-background-disabled: #f5ede1;
  --cp-button-secondary-label: #002159;
  --cp-button-secondary-label-disabled: #67625d;
  --cp-button-secondary-border: #e8e4df;
  --cp-link-label: #002159;
  --cp-link-marker: #d8583f;
  --cp-input-label: #002159;
  --cp-input-helper: #67625d;
  --cp-input-error: #8e3528;
  --cp-input-border-error: #8e3528;
  --cp-selection-control-border: #002159;
  --cp-selection-control-checked-background: #002159;
  --cp-selection-control-mark: #fffdf8;
  --cp-selection-control-error-border: #8e3528;
  --cp-selection-label: #002159;
  --cp-selection-error: #8e3528;
  --cp-progress-track-background: #f5ede1;
  --cp-progress-track-border: #e8e4df;
  --cp-progress-fill: #002159;
  --cp-progress-step-completed: #002159;
  --cp-progress-step-completed-label: #fffdf8;
  --cp-progress-step-current-ring: #c58c23;
  --cp-progress-step-upcoming-border: #e8e4df;
  --cp-progress-step-upcoming-background: #ffffff;
  --cp-progress-step-upcoming-label: #002159;
  --cp-progress-spinner-track: #e8e4df;
  --cp-progress-spinner-head: #002159;
}

/* White boxes inside navy keep standard ink; their focus ring draws over navy, so it stays the register ring */
.cp-surface-inverse :where(.cp-card:not(.cp-surface-inverse), .cp-menu__trigger, .cp-input__control, .cp-select) {
  --cp-color-ink: #002159;
  --cp-color-ink-muted: #67625d;
  --cp-color-line: #e8e4df;
  --cp-color-accent-gold: #c58c23;
  --cp-color-accent-coral: #d8583f;
  --cp-color-interactive: #002159;
  --cp-color-interactive-hover: #001b43;
  --cp-color-interactive-pressed: #001b43;
  --cp-color-status-danger: #8e3528;
  --cp-button-primary-background: #002159;
  --cp-button-primary-background-hover: #001b43;
  --cp-button-primary-background-pressed: #001b43;
  --cp-button-primary-background-disabled: #f5ede1;
  --cp-button-primary-label: #fffdf8;
  --cp-button-primary-label-disabled: #67625d;
  --cp-button-secondary-background: #ffffff;
  --cp-button-secondary-background-hover: #f8f2e8;
  --cp-button-secondary-background-pressed: #f5ede1;
  --cp-button-secondary-background-disabled: #f5ede1;
  --cp-button-secondary-label: #002159;
  --cp-button-secondary-label-disabled: #67625d;
  --cp-button-secondary-border: #e8e4df;
  --cp-link-label: #002159;
  --cp-link-marker: #d8583f;
  --cp-input-label: #002159;
  --cp-input-helper: #67625d;
  --cp-input-error: #8e3528;
  --cp-input-border-error: #8e3528;
  --cp-selection-control-border: #002159;
  --cp-selection-control-checked-background: #002159;
  --cp-selection-control-mark: #fffdf8;
  --cp-selection-control-error-border: #8e3528;
  --cp-selection-label: #002159;
  --cp-selection-error: #8e3528;
  --cp-progress-track-background: #f5ede1;
  --cp-progress-track-border: #e8e4df;
  --cp-progress-fill: #002159;
  --cp-progress-step-completed: #002159;
  --cp-progress-step-completed-label: #fffdf8;
  --cp-progress-step-current-ring: #c58c23;
  --cp-progress-step-upcoming-border: #e8e4df;
  --cp-progress-step-upcoming-background: #ffffff;
  --cp-progress-step-upcoming-label: #002159;
  --cp-progress-spinner-track: #e8e4df;
  --cp-progress-spinner-head: #002159;
}

/* Navy register (tokens/modes/inverse.tokens.json, D-017) */
.cp-surface-inverse {
  --cp-color-ink: #fffdf8;
  --cp-color-ink-muted: #dbe6f6;
  --cp-color-line: rgba(255, 255, 255, 0.22);
  --cp-color-accent-gold: #c58c23;
  --cp-color-accent-coral: #c58c23;
  --cp-color-interactive: #fffdf8;
  --cp-color-interactive-hover: #dbe6f6;
  --cp-color-interactive-pressed: #dbe6f6;
  --cp-color-status-danger: #f0a08e;
  --cp-color-focus-ring: #c58c23;
  --cp-button-primary-background: #fffdf8;
  --cp-button-primary-background-hover: #dbe6f6;
  --cp-button-primary-background-pressed: #dbe6f6;
  --cp-button-primary-background-disabled: rgba(255, 255, 255, 0.22);
  --cp-button-primary-label: #002159;
  --cp-button-primary-label-disabled: #dbe6f6;
  --cp-button-secondary-background: #002159;
  --cp-button-secondary-background-hover: rgba(255, 255, 255, 0.22);
  --cp-button-secondary-background-pressed: rgba(255, 255, 255, 0.22);
  --cp-button-secondary-background-disabled: #002159;
  --cp-button-secondary-label: #fffdf8;
  --cp-button-secondary-label-disabled: #dbe6f6;
  --cp-button-secondary-border: #dbe6f6;
  --cp-link-label: #fffdf8;
  --cp-link-marker: #c58c23;
  --cp-input-label: #fffdf8;
  --cp-input-helper: #dbe6f6;
  --cp-input-error: #f0a08e;
  --cp-input-border-error: #f0a08e;
  --cp-selection-control-border: #fffdf8;
  --cp-selection-control-checked-background: #fffdf8;
  --cp-selection-control-mark: #002159;
  --cp-selection-control-error-border: #f0a08e;
  --cp-selection-label: #fffdf8;
  --cp-selection-error: #f0a08e;
  --cp-progress-track-background: rgba(255, 255, 255, 0.22);
  --cp-progress-track-border: rgba(255, 255, 255, 0.22);
  --cp-progress-fill: #fffdf8;
  --cp-progress-step-completed: #fffdf8;
  --cp-progress-step-completed-label: #002159;
  --cp-progress-step-current-ring: #c58c23;
  --cp-progress-step-upcoming-border: #dbe6f6;
  --cp-progress-step-upcoming-background: #002159;
  --cp-progress-step-upcoming-label: #fffdf8;
  --cp-progress-spinner-track: rgba(255, 255, 255, 0.22);
  --cp-progress-spinner-head: #fffdf8;
}

/* christianpure-design-system */
/* ChristianPure shared design system */
:root {
	--cp-ink: #002b63;
	--cp-ink-deep: #001b43;
	--cp-gold: #c58c23;
	--cp-gold-line: rgb(171 127 54 / 32%);
	--cp-coral: #d8583f;
	--cp-stone: #fbf8f3;
	--cp-stone-deep: #f5ede1;
	--cp-focus: #2d6db0;
	--cp-heading: var(--wp--preset--font-family--heading, "Tiempos Headline", Georgia), serif;
	--cp-body: var(--wp--preset--font-family--body, "FK Roman Text", Georgia, serif);
	--cp-site-stone-texture: url("/wp-content/uploads/2026/08/christianpure-stone-texture.webp");
	--cp-template-top-canvas-height: clamp(18rem, 34vw, 30rem);
	--cp-sitewide-gradient-center-y: 88%;
	--cp-menu-cornice: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/cornice.webp");
	--cp-menu-sill: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/sill.webp");
	--cp-menu-wall: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/wall-phone.webp");
	--cp-menu-medallion-prayer: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/medallion-prayer.webp");
	--cp-menu-medallion-faith: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/medallion-faith.webp");
	--cp-menu-medallion-life: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/medallion-life.webp");
	--cp-menu-medallion-explore: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/medallion-explore.webp");
	--cp-menu-medallion-cluster: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/medallion-cluster.webp");
	--cp-menu-icon-search: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-search.svg");
	--cp-menu-icon-menu: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-menu.svg");
	--cp-menu-icon-close: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-close.svg");
	--cp-menu-icon-chevron-right: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-chevron-right.svg");
	--cp-menu-icon-chevron-left: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-chevron-left.svg");
	--cp-menu-icon-arrow-right: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-arrow-right.svg");
	--cp-menu-icon-course: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-course.svg");
	--cp-menu-icon-community: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-community.svg");
	--cp-menu-icon-verse: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-verse.svg");
	--cp-menu-icon-request: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-request.svg");
	--cp-menu-icon-mission: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-mission.svg");
	--cp-menu-icon-heart: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/navigation/menu/icon-heart.svg");
	--cp-menu-wall-ground: #e6ddd1;
	--cp-menu-gold-edge: rgb(171 127 54 / 55%);
	--cp-menu-gold-rule: rgb(171 127 54 / 28%);
	--cp-menu-shade: 55 39 17;
	--cp-menu-control-fill: #fffdf8;
	--cp-menu-control-border: rgb(171 127 54 / 45%);
	--cp-motion-duration: 180ms;
	--cp-motion-duration-exit: 120ms;
	--cp-motion-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--cp-motion-distance: 6px;
}

/* Course Global Styles flash coral on tap. Keep press feedback on our own controls. */
body a:active {
	background-color: transparent;
}

@property --cp-sitewide-gradient-angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 12deg;
}

html {
	overflow-x: clip;
}

/*
 * Gutenberg only constrains `.wp-block-image img` and `img[class*="wp-image-"]`.
 * Christian News posts keep source <figure><img> HTML, so those files otherwise
 * paint at intrinsic size (often thousands of pixels) and break the content column.
 */
:is(.wp-block-post-content, .editor-styles-wrapper) img {
	max-width: 100%;
	height: auto;
}

.wp-site-blocks {
	position: relative;
	isolation: isolate;
	overflow: visible;
}

.cp-top-gradient-hero {
	overflow-x: clip;
	overflow-y: visible;
}

.wp-site-blocks::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	width: 100vw;
	height: var(--cp-template-top-canvas-height);
	pointer-events: none;
}

.wp-site-blocks::before,
.cp-top-gradient-hero::before {
	--cp-sitewide-gradient-angle: 12deg;
	left: 50%;
	right: auto;
	width: 110vw;
	background: conic-gradient(
		from var(--cp-sitewide-gradient-angle) at 50% var(--cp-sitewide-gradient-center-y),
		rgba(190, 216, 255, 0.98) 0deg,
		rgba(190, 216, 255, 0.56) 64deg,
		rgba(255, 255, 255, 0.72) 122deg,
		rgba(255, 226, 202, 0.86) 182deg,
		rgba(244, 151, 83, 0.64) 246deg,
		rgba(255, 248, 242, 0.76) 312deg,
		rgba(190, 216, 255, 0.98) 360deg
	);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	filter: blur(3.5rem);
	transform: translateX(-50%) scale(1.08);
	transform-origin: 50% 50%;
	animation: cp-sitewide-gradient-orbit 45s linear infinite;
}

@keyframes cp-sitewide-gradient-orbit {
	from {
		--cp-sitewide-gradient-angle: 12deg;
}

	to {
		--cp-sitewide-gradient-angle: 372deg;
}
}

body.category .wp-site-blocks:has(.cp-top-gradient-shell)::before,
.wp-site-blocks:has(.cp-top-gradient-hero)::before {
	display: none;
}

/* Universal header geometry. Surface, border, wall, and mosaic are owned by the template part. */
header.wp-block-template-part:has(.cp-universal-header) {
	box-sizing: border-box;
	position: relative;
	z-index: 10000;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
}

header.wp-block-template-part:has(.cp-universal-header) > .cp-universal-header {
	width: 100vw;
	max-width: none !important;
	/* Set both sides. With margin-left alone, RTL pages drop it and the header shifts 20px past the left edge. */
	margin-inline: calc(50% - 50vw) !important;
}

header.wp-block-template-part .cp-header-mosaic {
	box-sizing: border-box;
	min-height: 12px;
	height: 12px;
	max-height: 12px;
	overflow: hidden;
}

.cp-top-gradient-shell:has(.cp-mega-trigger.cp-mega-open),
.cp-top-gradient-shell:has(.cp-mega-trigger > .wp-block-navigation__submenu-icon[aria-expanded="true"]) {
	position: relative;
	z-index: 100000;
	overflow: visible;
}

body:has(.cp-site-header .cp-mega-trigger.cp-mega-open) :is(
	#wpj-jtoc,
	.wpj-jtoc--widget-floating,
	.wpj-jtoc--widget-progress,
	.wpj-jtoc--widget-progress-bar
),
body:has(.cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-icon[aria-expanded="true"]) :is(
	#wpj-jtoc,
	.wpj-jtoc--widget-floating,
	.wpj-jtoc--widget-progress,
	.wpj-jtoc--widget-progress-bar
) {
	display: none !important;
	pointer-events: none !important;
}

.cp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 50px;
	padding: 0.78rem 1.35rem;
	border: 1px solid var(--cp-ink);
	border-radius: 3px;
	text-align: center;
	text-decoration: none;
	transition:
		color var(--cp-motion-duration) var(--cp-motion-ease),
		background-color var(--cp-motion-duration) var(--cp-motion-ease);
}

.cp-button--primary,
.cp-button--primary:visited {
	color: #fff;
	background: var(--cp-ink);
	box-shadow: 0 4px 14px rgb(0 43 99 / 14%);
}

.cp-button--secondary,
.cp-button--secondary:visited {
	color: var(--cp-ink);
	background: rgb(255 255 255 / 52%);
}

.cp-button:active {
	color: #fff;
	background: var(--cp-ink-deep);
}

@media (hover: hover) and (pointer: fine) {
	.cp-button:hover {
		color: #fff;
		background: var(--cp-ink-deep);
}
}

.cp-button:focus-visible {
	outline: 3px solid var(--cp-focus);
	outline-offset: 3px;
}

.cp-button--compact {
	min-height: 42px;
	padding: 0.62rem 1.05rem;
}

/*
 * Site header and menu. Approved 23 Sep 2026: the hybrid (plaster arcade on desktop, two-step sheet on phones),
 * Courses and Community on a cornice plaque, Ravenna mosaic medallions. Boards: output/mega-menu-2026-09-23/.
 *
 * Type comes from the Navigation block and its items in the block inspector (size, line height, tracking).
 * This section sets layout and colour. One exception: a link's description line has no editor control, so it
 * is sized in em against its own link and still follows whatever size the editor gives that link.
 */
body .wp-site-blocks header.wp-block-template-part .cp-site-header,
body .wp-site-blocks header.wp-block-template-part .cp-site-header *,
body .wp-site-blocks header.wp-block-template-part .cp-site-header *::before,
body .wp-site-blocks header.wp-block-template-part .cp-site-header *::after {
	box-sizing: border-box;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header > .wp-block-column > .wp-block-group,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .navigation-wrapper {
	width: min(100%, 1520px);
	max-width: 1520px;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .navigation-wrapper {
	position: relative;
	flex-wrap: nowrap;
	gap: clamp(1.5rem, 3vw, 4rem);
}

.cp-site-header .wp-block-image {
	flex: 0 0 auto;
	width: 113px;
	margin: 0 !important;
}

.cp-site-header .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation a,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation button {
	-webkit-tap-highlight-color: transparent;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation a:focus-visible,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation button:focus-visible {
	border-radius: 3px;
	outline: 3px solid var(--cp-color-focus-ring);
	outline-offset: 3px;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation-item__description {
	display: none;
}

/* Family titles and View all topics take their weight from the block inspector. The site's link style pins every
   link to 400, so these links inherit the weight their menu item sets instead. */
body .wp-site-blocks header.wp-block-template-part .cp-site-header :is(.cp-mega-group, .cp-mega-all) > .wp-block-navigation-item__content {
	font-weight: inherit;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-group--prayer {
	--cp-menu-medallion: var(--cp-menu-medallion-prayer);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-group--faith {
	--cp-menu-medallion: var(--cp-menu-medallion-faith);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-group--relationships {
	--cp-menu-medallion: var(--cp-menu-medallion-life);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-group--explore {
	--cp-menu-medallion: var(--cp-menu-medallion-explore);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header :is(.cp-nav-courses, .cp-mega-feature--courses) {
	--cp-menu-icon: var(--cp-menu-icon-course);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header :is(.cp-nav-community, .cp-mega-feature--community) {
	--cp-menu-icon: var(--cp-menu-icon-community);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-bible {
	--cp-menu-icon: var(--cp-menu-icon-verse);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-requests {
	--cp-menu-icon: var(--cp-menu-icon-request);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-mission {
	--cp-menu-icon: var(--cp-menu-icon-mission);
}

/* Become a member: the one filled control in the header. */
body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-member > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border-radius: var(--cp-radius-control);
	color: var(--cp-button-primary-label, #fffdf8);
	background: var(--cp-button-primary-background, #002159);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--cp-motion-duration) var(--cp-motion-ease);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-member > .wp-block-navigation-item__content:active {
	background: var(--cp-button-primary-background-hover, #001b43);
}

@media (hover: hover) and (pointer: fine) {
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-member > .wp-block-navigation-item__content:hover {
		color: var(--cp-button-primary-label, #fffdf8);
		background: var(--cp-button-primary-background-hover, #001b43);
	}
}

/* Search: a bordered icon button on desktop, a field in the phone sheet. The label stays in the page for
   screen readers and for eTranslation; the site-search plugin opens its window from this link. */
body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-search > .wp-block-navigation-item__content {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--cp-menu-control-border);
	border-radius: var(--cp-radius-control);
	background: var(--cp-menu-control-fill);
	text-decoration: none;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-search > .wp-block-navigation-item__content::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background-color: var(--cp-color-accent-gold);
	-webkit-mask: var(--cp-menu-icon-search) center / contain no-repeat;
	mask: var(--cp-menu-icon-search) center / contain no-repeat;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-nav-search .wp-block-navigation-item__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* The same chrome for the phone Menu and Close buttons and the site-search icon beside them. */
body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-open,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-close,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mobile-search {
	border: 1px solid var(--cp-menu-control-border);
	border-radius: var(--cp-radius-control);
	color: var(--cp-color-ink);
	background: var(--cp-menu-control-fill);
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mobile-search {
	color: var(--cp-color-accent-gold);
}

@media (min-width: 1101px) {
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .navigation-wrapper > .wp-block-image {
		width: 113px;
		height: 72px;
}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .navigation-wrapper > .wp-block-image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header {
		position: relative;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .navigation-wrapper,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-close,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-dialog,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-content,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__container,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger {
		position: static;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-open {
		display: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block;
		width: auto;
		background: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__container {
		align-items: center;
		gap: clamp(1rem, 1.8vw, 1.875rem);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		white-space: nowrap;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__container > :is(.cp-nav-requests, .cp-nav-donate) {
		display: none;
	}

	/* Topics opens the arcade. The chevron is gold; a gold diamond marks it while open (D-012). */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation-item__content {
		position: relative;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation-item__content::after {
		content: "";
		position: absolute;
		top: 100%;
		inset-inline: -12px -28px;
		height: 36px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-icon {
		color: var(--cp-color-accent-gold);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-icon svg {
		transition: transform var(--cp-motion-duration) var(--cp-motion-ease);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-icon[aria-expanded="true"] svg,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger.cp-mega-open > .wp-block-navigation__submenu-icon svg {
		transform: rotate(180deg);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger:is(.cp-mega-open, :has(> .wp-block-navigation__submenu-icon[aria-expanded="true"])) > .wp-block-navigation-item__content::before {
		content: "";
		position: absolute;
		bottom: -12px;
		left: 50%;
		width: 6px;
		height: 6px;
		margin-left: -3px;
		background: var(--cp-color-accent-gold);
		transform: rotate(45deg);
	}

	/* The arcade: cornice strip, plaster wall with hairline gold sides, sill strip. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container {
		position: absolute;
		z-index: 20;
		top: calc(100% + 12px);
		left: 50%;
		right: auto;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr)) clamp(208px, 17vw, 240px);
		grid-template-rows: 22px auto auto 16px 1fr;
		column-gap: 20px;
		row-gap: 0;
		width: min(1400px, calc(100vw - 80px));
		min-width: 0;
		height: auto;
		max-height: calc(100vh - 110px);
		margin: 0;
		padding: 54px 32px 45px;
		border: 0;
		border-radius: 0;
		background:
			var(--cp-menu-cornice) 0 0 / auto 22px repeat-x,
			var(--cp-menu-sill) 0 100% / auto 17px repeat-x,
			linear-gradient(var(--cp-menu-gold-edge), var(--cp-menu-gold-edge)) 0 22px / 1px calc(100% - 39px) no-repeat,
			linear-gradient(var(--cp-menu-gold-edge), var(--cp-menu-gold-edge)) 100% 22px / 1px calc(100% - 39px) no-repeat,
			var(--cp-site-stone-texture) 0 0 / 360px 600px repeat,
			var(--cp-color-surface-page);
		box-shadow: var(--cp-shadow-panel);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translate(-50%, var(--cp-motion-distance));
		transition:
			opacity var(--cp-motion-duration) var(--cp-motion-ease),
			transform var(--cp-motion-duration) var(--cp-motion-ease),
			visibility var(--cp-motion-duration-exit) var(--cp-motion-ease);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger:hover > .wp-block-navigation__submenu-container,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger.cp-mega-open > .wp-block-navigation__submenu-container,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-icon[aria-expanded="true"] ~ .wp-block-navigation__submenu-container,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container:has(:focus-visible) {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translate(-50%, 0);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		display: block;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		background: none;
	}

	/* Four arched niches, one per family, each crowned by its medallion. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group {
		position: relative;
		grid-row: 1 / -1;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 14px;
		padding: 30px 22px 18px;
		border-radius: 130px 130px var(--cp-radius-control) var(--cp-radius-control);
		background: var(--cp-color-surface-inset);
		box-shadow: inset 0 3px 8px rgb(var(--cp-menu-shade) / 13%), inset 0 0 0 1px var(--cp-color-line-gold);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group::before {
		content: "";
		flex: none;
		align-self: center;
		width: 64px;
		height: 64px;
		border-radius: 50%;
		background: var(--cp-menu-medallion) center / cover no-repeat;
		box-shadow:
			0 0 0 4px var(--cp-color-surface-page),
			0 0 0 5px var(--cp-menu-gold-edge),
			0 8px 16px rgb(var(--cp-menu-shade) / 18%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation-item__content {
		display: flex;
		align-items: flex-start;
		flex: none;
		justify-content: center;
		align-self: center;
		min-height: 3em;
		min-height: 2lh;
		padding: 0;
		color: inherit;
		text-align: center;
		text-decoration: none;
		text-wrap: balance;
		white-space: normal;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation__submenu-icon {
		display: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation__submenu-container {
		position: static;
		display: flex;
		flex-direction: column;
		width: auto;
		min-width: 0;
		height: auto;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
		overflow: visible;
		visibility: inherit;
		opacity: inherit;
		transform: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		display: block;
		width: 100%;
		border-top: 1px solid var(--cp-menu-gold-rule);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		min-height: 44px;
		padding: 10px 0;
		color: inherit;
		text-align: start;
		text-decoration: none;
		white-space: normal;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
		content: "";
		flex: none;
		width: 16px;
		height: 16px;
		background-color: var(--cp-color-accent-gold);
		-webkit-mask: var(--cp-menu-icon-chevron-right) center / contain no-repeat;
		mask: var(--cp-menu-icon-chevron-right) center / contain no-repeat;
		transition: transform var(--cp-motion-duration) var(--cp-motion-ease);
	}

	@media (hover: hover) and (pointer: fine) {
		body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
			color: var(--cp-color-interactive-hover);
		}

		body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after {
			transform: translateX(2px);
		}
	}

	/* Courses and Community on the cornice plaque: a projecting cap, the textured wall, a projecting sill. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container::before,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container::after {
		content: "";
		position: relative;
		grid-column: 5;
		margin: 0;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container::before {
		z-index: 1;
		grid-row: 1;
		background-color: var(--cp-menu-wall-ground);
		background-image:
			linear-gradient(to bottom, rgb(255 255 255 / 70%) 0 1px, rgb(255 255 255 / 25%) 1px 3px, transparent 3px 5px, rgb(229 211 185) 5px 6px, rgb(166 132 78) 6px 8px, rgb(219 199 169) 8px 9px, rgb(255 255 255 / 75%) 9px 10px, transparent 10px 12px, rgb(255 255 255 / 18%) 12px 17px, rgb(90 64 28 / 10%) 17px 19px, rgb(90 64 28 / 22%) 19px 21px, rgb(90 64 28 / 42%) 21px 22px),
			var(--cp-menu-wall);
		background-position: 0 0, 50% 20%;
		background-size: 100% 100%, cover;
		background-repeat: no-repeat;
		box-shadow: 0 7px 9px -5px rgb(var(--cp-menu-shade) / 30%), inset 1px 0 0 rgb(255 255 255 / 50%), inset -1px 0 0 rgb(90 64 28 / 18%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container::after {
		grid-row: 4;
		background-color: var(--cp-menu-wall-ground);
		background-image:
			linear-gradient(to bottom, rgb(255 255 255 / 78%) 0 1px, rgb(255 255 255 / 45%) 1px 4px, rgb(255 255 255 / 12%) 4px 6px, transparent 6px 11px, rgb(90 64 28 / 14%) 11px 13px, rgb(90 64 28 / 30%) 13px 15px, rgb(90 64 28 / 45%) 15px 16px),
			var(--cp-menu-wall);
		background-position: 0 0, 50% 80%;
		background-size: 100% 100%, cover;
		background-repeat: no-repeat;
		box-shadow: 0 8px 12px -6px rgb(var(--cp-menu-shade) / 30%), inset 1px 0 0 rgb(255 255 255 / 50%), inset -1px 0 0 rgb(90 64 28 / 18%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature {
		position: relative;
		grid-column: 5;
		margin-inline: 6px;
		border-inline: 1px solid rgb(171 127 54 / 50%);
		background: var(--cp-menu-wall-ground) var(--cp-menu-wall) 50% 55% / cover no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature--courses {
		grid-row: 2;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature--community {
		grid-row: 3;
		box-shadow: inset 0 -4px 5px -4px rgb(var(--cp-menu-shade) / 28%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature > .wp-block-navigation-item__content {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 24px 12px;
		color: inherit;
		text-align: center;
		text-decoration: none;
		white-space: normal;
	}

	/* Carved seam between the two, with a gold diamond. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature--courses::after {
		content: "";
		position: absolute;
		bottom: -1px;
		inset-inline: 24px;
		height: 2px;
		border-top: 1px solid rgb(90 64 28 / 24%);
		border-bottom: 1px solid rgb(255 255 255 / 75%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature--community::before {
		content: "";
		position: absolute;
		z-index: 1;
		top: -4px;
		left: 50%;
		width: 7px;
		height: 7px;
		margin-left: -3.5px;
		background: var(--cp-color-accent-gold);
		box-shadow: 0 0 0 3px var(--cp-menu-wall-ground);
		transform: rotate(45deg);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-all {
		grid-column: 5;
		grid-row: 5;
		align-self: start;
		justify-self: end;
		margin-top: 20px;
		margin-inline-end: 6px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-all > .wp-block-navigation-item__content {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 0;
		color: inherit;
		text-decoration: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-all > .wp-block-navigation-item__content::after {
		content: "";
		width: 16px;
		height: 16px;
		background-color: var(--cp-color-accent-coral);
		-webkit-mask: var(--cp-menu-icon-arrow-right) center / contain no-repeat;
		mask: var(--cp-menu-icon-arrow-right) center / contain no-repeat;
	}

	header.wp-block-template-part:has(.cp-site-header .cp-mega-trigger.cp-mega-open),
	header.wp-block-template-part:has(.cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-icon[aria-expanded="true"]) {
		z-index: 2147483645;
	}
}

/* 1101 to 1279px: the bar and the arcade close up so nothing wraps or breaks inside a word. */
@media (min-width: 1101px) and (max-width: 1279px) {
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .navigation-wrapper {
		gap: 1.5rem;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__container {
		gap: 0.875rem;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container {
		column-gap: 14px;
		width: calc(100vw - 32px);
		padding-inline: 24px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group {
		padding-inline: 14px;
	}
}

/* Plaque icon above the title, shared by the desktop arcade and the phone sheet. */
body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature > .wp-block-navigation-item__content::before,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-courses, .cp-nav-community) > .wp-block-navigation-item__content::before {
	content: "";
	flex: none;
	width: 26px;
	height: 26px;
	margin-bottom: 12px;
	background-color: var(--cp-color-accent-gold);
	-webkit-mask: var(--cp-menu-icon) center / contain no-repeat;
	mask: var(--cp-menu-icon) center / contain no-repeat;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature .wp-block-navigation-item__label,
body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-courses, .cp-nav-community) .wp-block-navigation-item__label {
	margin-bottom: 4px;
}

body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-feature .wp-block-navigation-item__description {
	display: block;
	color: var(--cp-color-ink-muted);
	font-size: 0.75em;
	text-wrap: balance;
}

@media (max-width: 1100px) {
	:root {
		--cp-template-top-canvas-height: clamp(16rem, 72vw, 24rem);
		--cp-sitewide-gradient-center-y: 20%;
	}

	.wp-site-blocks::before,
	.cp-top-gradient-hero::before {
		filter: blur(2.5rem);
	}

	.cp-site-header .wp-block-image {
		width: 97px;
}

	body:has(.cp-site-header .wp-block-navigation__responsive-container.is-menu-open) :is(
		#wpj-jtoc,
		.wpj-jtoc--widget-floating,
		.wpj-jtoc--widget-progress,
		.wpj-jtoc--widget-progress-bar
	) {
		display: none !important;
		pointer-events: none !important;
}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header {
		--cp-menu-gutter: max(20px, calc((100vw - 560px) / 2));
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	/* Menu ≡ and Close × are the same size in the same place. Their words come from WordPress, so every
	   language gets its own. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-open {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-width: 96px;
		height: 44px;
		padding: 0 14px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-open::after,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close::after {
		content: "";
		flex: none;
		width: 18px;
		height: 18px;
		background-color: currentColor;
		-webkit-mask: var(--cp-menu-icon-menu) center / contain no-repeat;
		mask: var(--cp-menu-icon-menu) center / contain no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close::after {
		-webkit-mask-image: var(--cp-menu-icon-close);
		mask-image: var(--cp-menu-icon-close);
	}

	header.wp-block-template-part:has(.cp-site-header .wp-block-navigation__responsive-container.is-menu-open) {
		z-index: 2147483647;
	}

	.cp-top-gradient-shell:has(.cp-site-header .wp-block-navigation__responsive-container.is-menu-open) {
		position: relative;
		z-index: 2147483646;
		overflow: visible;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open {
		visibility: hidden;
	}

	/* The sheet leaves the header in view: its top band is see-through, so the logo, the carved inlay and
	   the stone stay exactly where they were. navigation.js measures the header and the Menu button. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed;
		inset: 0;
		z-index: 100000;
		display: block;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		color: var(--cp-color-ink);
		background: none;
		overflow: hidden;
		animation: none;
		transform: none;
		pointer-events: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		position: static;
		display: block;
		width: auto;
		max-width: none;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 0;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		z-index: 3;
		top: var(--cp-menu-toggle-top, calc(var(--cp-menu-top, 85px) - 70px));
		inset-inline-start: auto;
		inset-inline-end: var(--cp-menu-toggle-end, max(1.25rem, env(safe-area-inset-right)));
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-width: 96px;
		height: 44px;
		padding: 0 14px;
		pointer-events: auto;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		display: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		position: absolute;
		inset: var(--cp-menu-top, 85px) 0 0;
		display: block;
		width: auto;
		margin: 0;
		padding: 0;
		background-color: var(--cp-color-surface-page);
		background-image: var(--cp-site-stone-texture);
		background-position: 0 calc(var(--cp-menu-header-top, 0px) - var(--cp-menu-top, 85px));
		background-size: 360px 600px;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		pointer-events: auto;
		animation: cp-menu-sheet-in var(--cp-motion-duration) var(--cp-motion-ease);
	}

	/* First screen: search, the plaque, four rows, then membership and giving on an inset band. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto 22px auto 16px auto auto auto auto 1fr auto auto;
		align-items: stretch;
		gap: 0;
		width: auto;
		min-height: 100%;
		margin: 0;
		padding: 20px var(--cp-menu-gutter) 0;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		display: block;
		grid-column: 1 / -1;
		width: auto;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		width: 100%;
		text-decoration: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-search {
		grid-row: 1;
		margin-bottom: 16px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-search > .wp-block-navigation-item__content {
		justify-content: flex-start;
		gap: 10px;
		height: 50px;
		padding: 0 14px;
		border: 0;
		color: var(--cp-color-ink-muted);
		background: var(--cp-color-surface-raised);
		box-shadow: inset 0 0 0 1px var(--cp-color-line, #e8e4df), 0 4px 12px rgb(var(--cp-menu-shade) / 8%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-search > .wp-block-navigation-item__content::before {
		width: 20px;
		height: 20px;
		background-color: var(--cp-color-ink);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-nav-search .wp-block-navigation-item__label {
		position: static;
		width: auto;
		height: auto;
		overflow: hidden;
		clip-path: none;
		text-overflow: ellipsis;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container::before,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container::after {
		content: "";
		position: relative;
		grid-column: 1 / -1;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container::before {
		z-index: 1;
		grid-row: 2;
		background-color: var(--cp-menu-wall-ground);
		background-image:
			linear-gradient(to bottom, rgb(255 255 255 / 70%) 0 1px, rgb(255 255 255 / 25%) 1px 3px, transparent 3px 5px, rgb(229 211 185) 5px 6px, rgb(166 132 78) 6px 8px, rgb(219 199 169) 8px 9px, rgb(255 255 255 / 75%) 9px 10px, transparent 10px 12px, rgb(255 255 255 / 18%) 12px 17px, rgb(90 64 28 / 10%) 17px 19px, rgb(90 64 28 / 22%) 19px 21px, rgb(90 64 28 / 42%) 21px 22px),
			var(--cp-menu-wall);
		background-position: 0 0, 50% 20%;
		background-size: 100% 100%, cover;
		background-repeat: no-repeat;
		box-shadow: 0 7px 9px -5px rgb(var(--cp-menu-shade) / 30%), inset 1px 0 0 rgb(255 255 255 / 50%), inset -1px 0 0 rgb(90 64 28 / 18%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container::after {
		grid-row: 4;
		background-color: var(--cp-menu-wall-ground);
		background-image:
			linear-gradient(to bottom, rgb(255 255 255 / 78%) 0 1px, rgb(255 255 255 / 45%) 1px 4px, rgb(255 255 255 / 12%) 4px 6px, transparent 6px 11px, rgb(90 64 28 / 14%) 11px 13px, rgb(90 64 28 / 30%) 13px 15px, rgb(90 64 28 / 45%) 15px 16px),
			var(--cp-menu-wall);
		background-position: 0 0, 50% 80%;
		background-size: 100% 100%, cover;
		background-repeat: no-repeat;
		box-shadow: 0 8px 12px -6px rgb(var(--cp-menu-shade) / 30%), inset 1px 0 0 rgb(255 255 255 / 50%), inset -1px 0 0 rgb(90 64 28 / 18%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-courses, .cp-nav-community) {
		position: relative;
		grid-row: 3;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-courses {
		grid-column: 1;
		margin-inline-start: 6px;
		border-inline-start: 1px solid rgb(171 127 54 / 50%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-community {
		grid-column: 2;
		margin-inline-end: 6px;
		border-inline-end: 1px solid rgb(171 127 54 / 50%);
	}

	/* WordPress forces a transparent background on every item in the open menu, so the wall is painted on the
	   link that fills each tile. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-courses, .cp-nav-community) > .wp-block-navigation-item__content {
		display: flex;
		flex-direction: column;
		align-items: center;
		height: 100%;
		padding: 24px 12px;
		background-color: var(--cp-menu-wall-ground);
		background-image: var(--cp-menu-wall);
		background-repeat: no-repeat;
		background-size: 200% auto;
		box-shadow: inset 0 -4px 5px -4px rgb(var(--cp-menu-shade) / 28%);
		text-align: center;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-courses > .wp-block-navigation-item__content,
	html[dir="rtl"] body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-community > .wp-block-navigation-item__content {
		background-position: 0 55%;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-community > .wp-block-navigation-item__content,
	html[dir="rtl"] body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-courses > .wp-block-navigation-item__content {
		background-position: 100% 55%;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-courses, .cp-nav-community) .wp-block-navigation-item__description {
		display: block;
		color: var(--cp-color-ink-muted);
		font-size: 0.875em;
		text-wrap: balance;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-courses::after {
		content: "";
		position: absolute;
		inset-block: 16px;
		inset-inline-end: -1px;
		width: 2px;
		border-inline-start: 1px solid rgb(90 64 28 / 24%);
		border-inline-end: 1px solid rgb(255 255 255 / 75%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-community::before {
		content: "";
		position: absolute;
		z-index: 1;
		top: 50%;
		inset-inline-start: -4px;
		width: 7px;
		height: 7px;
		margin-top: -3.5px;
		background: var(--cp-color-accent-gold);
		box-shadow: 0 0 0 3px var(--cp-menu-wall-ground);
		transform: rotate(45deg);
	}

	/* Rows: Topics, Bible verses, Prayer requests, Our mission. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-mega-trigger, .cp-nav-bible, .cp-nav-requests, .cp-nav-mission) {
		border-top: 1px solid var(--cp-color-line-gold);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-mega-trigger {
		grid-row: 5;
		margin-top: 12px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-bible {
		grid-row: 6;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-requests {
		grid-row: 7;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-mission {
		grid-row: 8;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-mega-trigger, .cp-nav-bible, .cp-nav-requests, .cp-nav-mission) > .wp-block-navigation-item__content {
		display: grid;
		grid-template-columns: 40px minmax(0, 1fr) 18px;
		grid-template-areas: "icon label chevron";
		align-content: center;
		align-items: center;
		column-gap: 16px;
		min-height: 64px;
		padding: 0;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-mega-trigger, .cp-nav-bible, .cp-nav-requests, .cp-nav-mission) > .wp-block-navigation-item__content::before {
		content: "";
		grid-area: icon;
		justify-self: center;
		width: 28px;
		height: 28px;
		background-color: var(--cp-color-accent-gold);
		-webkit-mask: var(--cp-menu-icon) center / contain no-repeat;
		mask: var(--cp-menu-icon) center / contain no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-mega-trigger > .wp-block-navigation-item__content {
		grid-template-areas: "icon label chevron" "icon description chevron";
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-mega-trigger > .wp-block-navigation-item__content::before {
		width: 40px;
		height: 40px;
		background: var(--cp-menu-medallion-cluster) center / contain no-repeat;
		-webkit-mask: none;
		mask: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-mega-trigger, .cp-nav-bible, .cp-nav-requests, .cp-nav-mission) > .wp-block-navigation-item__content::after {
		content: "";
		grid-area: chevron;
		width: 18px;
		height: 18px;
		background-color: var(--cp-color-accent-gold);
		-webkit-mask: var(--cp-menu-icon-chevron-right) center / contain no-repeat;
		mask: var(--cp-menu-icon-chevron-right) center / contain no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-mega-trigger, .cp-nav-bible, .cp-nav-requests, .cp-nav-mission) > .wp-block-navigation-item__content > .wp-block-navigation-item__label {
		grid-area: label;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-mega-trigger > .wp-block-navigation-item__content > .wp-block-navigation-item__description {
		display: block;
		grid-area: description;
		margin-top: 2px;
		color: var(--cp-color-ink-muted);
		font-size: 0.875em;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-mega-trigger > .wp-block-navigation__submenu-icon,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-mega-trigger > .wp-block-navigation__submenu-container {
		display: none;
	}

	/* Membership and giving sit on an inset band under a sill. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-member, .cp-nav-donate) {
		position: relative;
		isolation: isolate;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > :is(.cp-nav-member, .cp-nav-donate)::before {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0;
		background: var(--cp-color-surface-inset);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-member {
		grid-row: 10;
		margin: 24px calc(-1 * var(--cp-menu-gutter)) 0;
		padding: 35px var(--cp-menu-gutter) 10px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-member::before {
		background:
			var(--cp-menu-sill) 0 0 / auto 17px repeat-x,
			linear-gradient(var(--cp-color-surface-inset), var(--cp-color-surface-inset)) 0 17px / 100% 100% no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-member > .wp-block-navigation-item__content {
		min-height: 50px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-donate {
		grid-row: 11;
		margin: 0 calc(-1 * var(--cp-menu-gutter));
		padding: 0 var(--cp-menu-gutter) max(22px, env(safe-area-inset-bottom));
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-donate > .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 44px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .cp-nav-donate > .wp-block-navigation-item__content::before {
		content: "";
		width: 18px;
		height: 18px;
		background-color: var(--cp-color-accent-gold);
		-webkit-mask: var(--cp-menu-icon-heart) center / contain no-repeat;
		mask: var(--cp-menu-icon-heart) center / contain no-repeat;
	}

	/* Second screen: Topics tapped. The panel covers the first screen under the same header. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open.cp-topics-open .wp-block-navigation__responsive-container-content {
		overflow: hidden;
	}

	/* Core positions every nav item; the panel must cover the sheet, not the Topics row. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open.cp-topics-open .wp-block-navigation__container,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open.cp-topics-open .wp-block-navigation__container > .cp-mega-trigger {
		position: static;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open.cp-topics-open .wp-block-navigation__container > .cp-mega-trigger > .wp-block-navigation__submenu-container {
		position: absolute;
		inset: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		gap: 14px;
		width: auto;
		min-width: 0;
		height: auto;
		margin: 0;
		padding: 0 var(--cp-menu-gutter) 24px;
		border: 0;
		background: none;
		box-shadow: none;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		visibility: visible;
		opacity: 1;
		transform: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open.cp-topics-open .cp-mega-trigger > .wp-block-navigation__submenu-container::before {
		content: "";
		position: fixed;
		z-index: -1;
		inset: var(--cp-menu-top, 85px) 0 0;
		background-color: var(--cp-color-surface-page);
		background-image: var(--cp-site-stone-texture);
		background-position: 0 calc(var(--cp-menu-header-top, 0px) - var(--cp-menu-top, 85px));
		background-size: 360px 600px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-topics-head {
		position: sticky;
		z-index: 2;
		top: 0;
		display: flex;
		align-items: center;
		flex: none;
		min-height: 60px;
		margin: 0 calc(-1 * var(--cp-menu-gutter));
		padding: 8px max(12px, calc(var(--cp-menu-gutter) - 8px));
		border-bottom: 1px solid var(--cp-color-line-gold);
		background-color: var(--cp-color-surface-page);
		background-image: var(--cp-site-stone-texture);
		background-position: 0 calc(var(--cp-menu-header-top, 0px) - var(--cp-menu-top, 85px));
		background-size: 360px 600px;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-topics-back {
		display: flex;
		align-items: center;
		gap: 4px;
		height: 44px;
		padding: 0 8px;
		border: 0;
		color: inherit;
		background: none;
		font: inherit;
		cursor: pointer;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-topics-back::before {
		content: "";
		width: 18px;
		height: 18px;
		background-color: var(--cp-color-accent-gold);
		-webkit-mask: var(--cp-menu-icon-chevron-left) center / contain no-repeat;
		mask: var(--cp-menu-icon-chevron-left) center / contain no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-topics-title {
		flex: 1;
		margin-inline-end: 72px;
		text-align: center;
	}

	/* WordPress repeats each family's classes on the list inside it, so the card rules name the item itself. */
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group {
		position: relative;
		isolation: isolate;
		display: block;
		flex: none;
		width: auto;
		margin: 0;
		padding: 0 0 4px;
		border-radius: var(--cp-radius-control);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger > .wp-block-navigation__submenu-container > .cp-mega-group::before {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0;
		border-radius: inherit;
		background: var(--cp-color-surface-inset);
		box-shadow: inset 0 3px 8px rgb(var(--cp-menu-shade) / 13%), inset 0 0 0 1px var(--cp-color-line-gold);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation-item__content {
		display: grid;
		grid-template-columns: 40px minmax(0, 1fr);
		align-items: center;
		column-gap: 14px;
		width: 100%;
		padding: 14px 14px 12px;
		color: inherit;
		text-decoration: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation-item__content::before {
		content: "";
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: var(--cp-menu-medallion) center / cover no-repeat;
		box-shadow:
			0 0 0 1.5px var(--cp-color-surface-page),
			0 0 0 2.5px var(--cp-menu-gold-edge),
			0 4px 10px rgb(var(--cp-menu-shade) / 16%);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation__submenu-icon,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-feature {
		display: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation__submenu-container {
		position: static;
		display: block;
		width: auto;
		min-width: 0;
		height: auto;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
		overflow: visible;
		visibility: visible;
		opacity: 1;
		transform: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		display: block;
		width: auto;
		margin: 0;
		padding: 0;
		border-top: 1px solid var(--cp-menu-gold-rule);
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-all > .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		width: 100%;
		min-height: 44px;
		padding: 10px 14px;
		padding-inline-start: 68px;
		color: inherit;
		text-decoration: none;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-group > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
		content: "";
		flex: none;
		width: 16px;
		height: 16px;
		background-color: var(--cp-color-accent-gold);
		-webkit-mask: var(--cp-menu-icon-chevron-right) center / contain no-repeat;
		mask: var(--cp-menu-icon-chevron-right) center / contain no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-all {
		display: block;
		flex: none;
		width: auto;
		margin: 0;
		padding: 0;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-all > .wp-block-navigation-item__content {
		justify-content: flex-start;
		padding: 4px 0;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .cp-mega-trigger .cp-mega-all > .wp-block-navigation-item__content::after {
		content: "";
		width: 16px;
		height: 16px;
		background-color: var(--cp-color-accent-coral);
		-webkit-mask: var(--cp-menu-icon-arrow-right) center / contain no-repeat;
		mask: var(--cp-menu-icon-arrow-right) center / contain no-repeat;
	}

	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open a:focus-visible,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open button:focus-visible {
		outline-offset: 2px;
	}
}

/* Beside the 204px logo and the search button there is no room for a worded button on a phone: the
   buttons keep their accessible names and show only the icon. */
@media (max-width: 430px) {
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container-open,
	body .wp-site-blocks header.wp-block-template-part .cp-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		gap: 0;
		width: 44px;
		min-width: 44px;
		padding: 0;
		font-size: 0;
	}
}

html[dir="rtl"] body .wp-site-blocks header.wp-block-template-part .cp-site-header :is(.cp-mega-group, .cp-nav-bible, .cp-nav-requests, .cp-nav-mission, .cp-mega-trigger, .cp-mega-all) .wp-block-navigation-item__content::after,
html[dir="rtl"] body .wp-site-blocks header.wp-block-template-part .cp-site-header .cp-topics-back::before {
	transform: scaleX(-1);
}

@keyframes cp-menu-sheet-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks::before,
	.cp-top-gradient-hero::before {
		--cp-sitewide-gradient-angle: 12deg;
		width: 100vw;
		background-repeat: no-repeat;
		background-size: 100% 100%;
		transform: translateX(-50%);
		animation: none;
}

	.cp-site-header .wp-block-navigation *,
	.cp-site-header .wp-block-navigation *::before,
	.cp-site-header .wp-block-navigation *::after,
	.cp-button,
	.cp-category-archive__title-panel,
	.cp-golden-destination__link a,
	.cp-golden-feature__title a,
	.cp-golden-feature__read-more,
	.cp-golden-reading .wp-block-post-title a {
		scroll-behavior: auto;
		transition: none !important;
}
}

/* BEGIN native category archive composition */
/* Native Core-block content with route-owned Golden Apse decoration. */

body.category {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-fallback.webp");
	background-color: #f7f1e8;
	background-image: var(--cp-site-stone-texture);
}

.editor-styles-wrapper {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-fallback.webp");
}

body.category-bible-metrics {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-bible-metrics.webp");
}

body.category-bible-mysteries {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-bible-mysteries.webp");
}

body.category-bible-study {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-bible-study.webp");
}

body.category-bible-verses {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-bible-verses-v2.webp");
	--cp-category-medallion-size: 102%;
}

body.category-biblical-debates {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-biblical-debates.webp");
}

body.category-biblical-finance {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-biblical-finance.webp");
}

body.category-children {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-children.webp");
}

body.category-christian-art {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-christian-art.webp");
}

body.category-christian-education {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-christian-education.webp");
}

body.category-christian-history {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-christian-history.webp");
}

body.category-christian-news {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-christian-news.webp");
}

body.category-facts-stats {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-facts-stats.webp");
}

body.category-islam {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-islam.webp");
}

body.category-love-relationships {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-love-relationships.webp");
}

body.category-marriage {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-marriage.webp");
}

body.category-money {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-money.webp");
}

body.category-parenting {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-parenting.webp");
}

body.category-prayers {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-prayers.webp");
}

body.category-press {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-press.webp");
}

body.category-quizzes {
	--cp-category-medallion: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-quizzes.webp");
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive) {
	--cp-category-ink: #002b63;
	--cp-category-coral: #d8583f;
	--cp-category-paper: #fbf8f3;
	--cp-category-shadow: 0 15px 36px rgb(55 39 17 / 9%);
	background: var(--cp-category-paper);
	color: var(--cp-category-ink);
	overflow: clip;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive a) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.17em;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead) {
	background-color: #f4ede3;
	background-image: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-masthead-surface-desktop-v4.webp");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border-bottom: 0;
	isolation: isolate;
	min-height: clamp(37rem, 44.9vw, 41.75rem);
	padding: clamp(3.25rem, 5.05vw, 4.7rem) max(1.5rem, calc((100% - 65rem) / 2)) clamp(2.75rem, 3vw, 3.5rem);
	position: relative;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead)::before {
	display: none;
}

@media (min-width: 1101px) {
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead)::after {
		background: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-top-cornice-desktop-v2.webp") center / 100% 100% no-repeat;
		box-shadow: none;
		content: "";
		height: 2rem;
		inset: 0 0 auto;
		pointer-events: none;
		position: absolute;
		z-index: 1;
}
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead-content) {
	margin-inline: auto;
	max-width: 59rem;
	position: relative;
	z-index: 1;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__medallion-frame) {
	align-items: center;
	background: rgb(244 239 231 / 88%);
	border: 1px solid rgb(145 110 61 / 27%);
	border-radius: 50%;
	box-shadow:
		inset 0 0 0 5px rgb(255 255 255 / 52%),
		inset 0 0 0 8px rgb(116 82 38 / 11%),
		0 5px 12px rgb(58 39 16 / 11%);
	display: grid;
	height: clamp(8.75rem, 11vw, 10.25rem);
	justify-items: center;
	margin: 0 auto clamp(2.75rem, 3.55vw, 3.3rem);
	padding: 0;
	position: relative;
	width: clamp(8.75rem, 11vw, 10.25rem);
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__medallion-frame)::before {
	border: 1px solid rgb(255 255 255 / 74%);
	border-radius: inherit;
	box-shadow: inset 0 0 7px rgb(80 55 25 / 15%);
	content: "";
	inset: 0.45rem;
	pointer-events: none;
	position: absolute;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__medallion) {
	background-color: #e9e1d5;
	background-image: var(--cp-category-medallion);
	background-position: center;
	background-repeat: no-repeat;
	background-size: var(--cp-category-medallion-size, 150%);
	border: 1px solid rgb(93 67 34 / 20%);
	border-radius: 50%;
	box-shadow: 0 1px 4px rgb(57 38 16 / 18%);
	height: 82%;
	margin: 0;
	position: relative;
	width: 82%;
	z-index: 1;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__title) {
	color: var(--cp-category-ink);
	margin: 0 auto;
	max-width: 48rem;
	text-wrap: balance;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__scripture) {
	border-inline-start: 2px solid var(--cp-category-coral);
	color: #233f6f;
	margin: clamp(1.1rem, 1.8vw, 1.25rem) auto clamp(2.2rem, 3vw, 2.75rem);
	max-width: 37.5rem;
	padding-inline-start: 1.45rem;
	text-align: start;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__scripture strong) {
	white-space: nowrap;
}

@media (min-width: 541px) {
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__scripture br) {
		display: none;
}
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search) {
	margin: 0 auto;
	max-width: 59rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__inside-wrapper) {
	align-items: center;
	background: rgb(255 255 255 / 92%);
	border: 1px solid rgb(136 104 58 / 25%);
	border-radius: 0.75rem;
	box-shadow: var(--cp-category-shadow);
	min-height: 5.25rem;
	padding: 0.45rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__input) {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--cp-category-ink);
	min-height: 4rem;
	padding: 0.7rem 1.45rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__input::placeholder) {
	color: #67625d;
	opacity: 1;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__button) {
	background: var(--cp-category-ink);
	border: 0;
	border-radius: 0.5rem;
	box-shadow: none;
	color: #fff;
	min-height: 4rem;
	min-width: 8.875rem;
	padding: 0.7rem 1.45rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__button:hover),
:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__button:focus-visible) {
	background: #123b77;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search :focus-visible) {
	outline: 3px solid var(--cp-focus);
	outline-offset: 3px;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__threshold) {
	background-color: #f7f2ea;
	background-image: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-divider-rails-desktop-v4.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border: 0;
	height: 46px;
	margin: 0;
	position: relative;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__threshold)::before {
	background-image: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-divider-desktop-v3.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	content: "";
	display: block;
	inset-block: 0;
	left: 50%;
	mask-image: linear-gradient(90deg, transparent 0, #000 17%, #000 83%, transparent 100%);
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 17%, #000 83%, transparent 100%);
	width: min(15rem, 100%);
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__threshold)::after {
	display: none;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles) {
	background: #fbf8f3;
	padding: 1.5rem max(1.5rem, calc((100% - 68.125rem) / 2)) clamp(4rem, 7vw, 6.5rem);
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles > .wp-block-query) {
	max-width: 68.125rem !important;
	width: 100%;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template) {
	gap: 1rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template > li > .wp-block-group) {
	background: #fff;
	border: 1px solid rgb(122 91 50 / 20%);
	border-radius: 0.55rem;
	box-shadow: 0 8px 20px rgb(54 37 16 / 6%);
	overflow: hidden;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-media img) {
	display: block;
	height: clamp(13.75rem, 16vw, 15rem);
	object-fit: cover;
	width: 100%;
}

/*
 * Chosen category-card overlay: A inset panel, B navy at 85% opacity,
 * 1.5rem Tiempos (20% larger than the previous 1.25rem Gutenberg title), 20px shield at 70% visible in the panel's bottom-right.
 * Experiment: 2-col grid, 4:3 paintings, 75% title panel, no excerpts.
 * Insert after .cp-category-archive__card-media rules in design-system.css.
 */

:is(body.category, .editor-styles-wrapper) .cp-category-archive__articles .wp-block-post-template {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

:is(body.category, .editor-styles-wrapper) .wp-block-group.cp-category-archive {
	display: block;
	height: auto;
	overflow: visible;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__masthead {
	overflow: clip;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__articles .wp-block-post-template > .wp-block-post {
	min-height: 0;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover {
	align-items: flex-end;
	align-self: stretch;
	aspect-ratio: 4 / 3;
	height: auto;
	isolation: isolate;
	justify-content: flex-start;
	margin-inline: 0;
	max-width: none;
	min-height: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover .wp-block-cover__image-background {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover .wp-block-cover__background {
	display: none;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover .wp-block-cover__inner-container {
	align-items: flex-end;
	bottom: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	left: 0;
	max-width: none;
	padding: 0 0.65rem 0.65rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__title-panel {
	background: rgb(0 33 89 / 85%);
	border-radius: 3px;
	color: #fff;
	margin-inline: 0 auto;
	max-width: 75%;
	padding: 1.3rem 0.9rem 0.9rem;
	position: relative;
	width: 75%;
	transition: background-color var(--cp-motion-duration) var(--cp-motion-ease);
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-mark,
:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-mark.wp-block-image {
	bottom: 0.64rem;
	height: 20px;
	margin: 0;
	position: absolute;
	right: 0.7rem;
	width: 20px;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-mark img {
	display: block;
	height: 20px;
	object-fit: contain;
	opacity: 0.7;
	width: 20px;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover .wp-block-post-title {
	margin: 0;
	overflow-wrap: break-word;
	padding-right: 2.1rem;
	white-space: normal;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover .wp-block-post-title a {
	color: #fff;
	text-decoration: none;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card {
	cursor: pointer;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-hit {
	inset: 0;
	position: absolute;
	z-index: 2;
	background: transparent;
	text-decoration: none;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-hit:is(:hover, :focus, :active, :visited) {
	background: transparent;
	text-decoration: none;
	color: inherit;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-hit:focus-visible {
	outline: 3px solid var(--cp-focus);
	outline-offset: -6px;
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card:active .cp-category-archive__title-panel,
:is(body.category, .editor-styles-wrapper) .cp-category-archive__card:focus-within .cp-category-archive__title-panel,
:is(body.category, .editor-styles-wrapper) .cp-category-archive__card:has(:active) .cp-category-archive__title-panel {
	background: rgb(0 33 89 / 90%);
}

@media (hover: hover) and (pointer: fine) {
	:is(body.category, .editor-styles-wrapper) .cp-category-archive__card:hover .cp-category-archive__title-panel {
		background: rgb(0 33 89 / 90%);
}
}

:is(body.category, .editor-styles-wrapper) .cp-category-archive__card-cover ~ .cp-category-archive__card-copy {
	display: none;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template > li > .wp-block-group > .wp-block-post-featured-image) {
	margin: 0;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-copy) {
	padding: 1rem 1.2rem 1.35rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template .wp-block-post-title) {
	margin: 0;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-excerpt) {
	color: #6b6762;
	margin: 0;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-excerpt p) {
	margin: 0;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template .wp-block-post-title a) {
	color: var(--cp-category-ink);
	text-decoration: none;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template .wp-block-post-title a:hover),
:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template .wp-block-post-title a:focus-visible) {
	text-decoration: underline;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-query-pagination) {
	margin-top: 2.5rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__membership) {
	background-color: var(--cp-category-ink);
	background-image: linear-gradient(135deg, rgb(255 255 255 / 6%), transparent 48%), var(--cp-site-stone-texture);
	background-repeat: no-repeat, repeat;
	background-size: auto, 360px 600px;
	background-blend-mode: normal, multiply;
	color: #fff;
	padding: clamp(3rem, 6vw, 5rem) 1.5rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__membership h2) {
	color: #fff;
	margin: 0;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__membership p) {
	color: rgb(255 255 255 / 80%);
	margin: 0;
	max-width: 39rem;
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__membership .wp-block-button__link) {
	background: #fff;
	border: 1px solid #fff;
	border-radius: 0.35rem;
	box-shadow: none;
	color: var(--cp-category-ink);
	padding: 0.85rem 1.25rem;
	transition: background-color var(--cp-motion-duration) var(--cp-motion-ease), color var(--cp-motion-duration) var(--cp-motion-ease);
}

:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__membership .wp-block-button__link:active) {
	background: var(--cp-stone);
}

@media (hover: hover) and (pointer: fine) {
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__membership .wp-block-button__link:hover) {
		background: var(--cp-stone);
}
}

/* Compact landscape/tablet: preserve the desktop hierarchy and inline control. */
@media (min-width: 541px) and (max-width: 767px) {
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead) {
		min-height: 22rem;
		padding: 1.25rem 2.25rem 1.5rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead)::before {
		background:
			repeating-conic-gradient(from -2deg at 50% 17%, transparent 0deg 4.9deg, rgb(119 87 46 / 6%) 5.02deg 5.18deg, transparent 5.34deg 10deg),
			radial-gradient(circle at 50% 17%, transparent 0 4.35rem, rgb(255 255 255 / 34%) 4.45rem 4.6rem, rgb(112 81 43 / 6%) 4.68rem 4.8rem, transparent 4.9rem 100%);
		mask-image: radial-gradient(ellipse 92% 74% at 50% 17%, #000 0 48%, rgb(0 0 0 / 54%) 70%, transparent 98%);
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead-content) {
		max-width: 40rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__medallion-frame) {
		height: 5.5rem;
		margin-bottom: 1.25rem;
		width: 5.5rem;
}
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__scripture) {
		margin: 0.75rem auto 1.25rem;
		max-width: 36rem;
		padding-inline-start: 1rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__inside-wrapper) {
		min-height: 3.75rem;
		padding: 0.35rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__input),
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__button) {
		min-height: 3rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__button) {
		min-width: 7rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__threshold) {
		height: 3rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles) {
		padding: 1rem 1.5rem 4rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-media img) {
		height: 10.5rem;
}
}

/* Narrow portrait phone: translate the approved 853 × 1844 raster. */
@media (max-width: 781px) {
	body.category-bible-verses {
		--cp-category-medallion-size: 100%;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead) {
		background-image: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-masthead-surface-mobile-v4.webp");
		min-height: 0;
		padding: clamp(2.15rem, 8.7vw, 2.75rem) 6.3vw 1.9rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__masthead)::before {
		background:
			repeating-conic-gradient(from -2deg at 50% 15.5%, transparent 0deg 5.7deg, rgb(119 87 46 / 6%) 5.82deg 5.98deg, transparent 6.12deg 12deg),
			radial-gradient(circle at 50% 15.5%, transparent 0 10.6vw, rgb(255 255 255 / 34%) 10.8vw 11.25vw, rgb(112 81 43 / 6%) 11.45vw 11.8vw, transparent 12.1vw 100%);
		mask-image: radial-gradient(ellipse 118% 78% at 50% 15.5%, #000 0 48%, rgb(0 0 0 / 54%) 70%, transparent 98%);
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__medallion-frame) {
		height: clamp(5.5rem, 22.6vw, 7.25rem);
		margin-bottom: clamp(2.1rem, 8.7vw, 2.75rem);
		width: clamp(5.5rem, 22.6vw, 7.25rem);
}
	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__scripture) {
		margin: 0.875rem auto 1.75rem;
		max-width: 60vw;
		padding-inline-start: 4vw;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__scripture strong) {
		white-space: normal;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__inside-wrapper) {
		align-items: stretch;
		background: transparent;
		border: 0;
		box-shadow: none;
		flex-direction: column;
		gap: 2.2vw;
		padding: 0;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__input) {
		background: rgb(255 255 255 / 92%);
		border: 1px solid rgb(136 104 58 / 25%);
		border-radius: 0.75rem;
		box-shadow: var(--cp-category-shadow);
		min-height: clamp(3.5rem, 14vw, 4.25rem);
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__search .wp-block-search__button) {
		min-height: 3rem;
		padding-block: 0.5rem;
		width: 100%;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__threshold) {
		background-image: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-divider-rails-mobile-v4.webp");
		height: clamp(1.5rem, 6.6vw, 1.75rem);
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__threshold)::before {
		background-image: url("/wp-content/mu-plugins/christianpure-design-system/assets/images/category/category-divider-mobile-v3.webp");
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles) {
		padding: clamp(1.125rem, 4.6vw, 1.35rem) min(5vw, 2.2rem) 4rem;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__articles .wp-block-post-template) {
		gap: 1.35rem;
		grid-template-columns: minmax(0, 1fr) !important;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card) {
		border-radius: min(2vw, 1rem);
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-media img) {
		aspect-ratio: 2 / 1;
		height: auto;
}

	:is(body.category, .editor-styles-wrapper) :where(.cp-category-archive__card-copy) {
		padding: clamp(1rem, 3.2vw, 1.4rem) clamp(1.2rem, 5vw, 2.2rem) clamp(1.3rem, 4vw, 1.75rem);
}}

/* Site Editor canvas presentation; structural proof does not depend on it. */
.editor-styles-wrapper {
	background-color: #ded6ca;
	background-image: var(--cp-site-stone-texture);
	padding-block: 2rem;
}

.editor-styles-wrapper :where(.cp-category-archive) {
	box-shadow: 0 18px 60px rgb(13 36 64 / 16%);
	margin-inline: auto;
	max-width: 90rem;
}

.editor-styles-wrapper :where(.cp-category-archive__masthead) {
	min-height: 0;
	padding-block: 3rem;
}

.editor-styles-wrapper :where(.cp-category-archive__masthead-content) {
	max-width: 48rem;
}

.editor-styles-wrapper :where(.cp-category-archive__articles) {
	padding-block: 2.5rem;
}

/* END native category archive composition */

/* Universal footer mosaic. Option A: Limestone Latin Cross. 3000×60, centered, no-repeat. */
.cp-universal-footer-mosaic {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	min-height: 78px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	background-color: transparent !important;
	background-image: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/footer/christianpure-footer-mosaic-limestone-latin-cross-3000x78.webp") !important;
	background-position: 50% 100% !important;
	background-repeat: no-repeat !important;
	background-size: 3000px 78px !important;
}

/* Homepage Golden Apse still owns a page-level band; reuse Option A so mosaics match. */
.cp-golden-footer-mosaic {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	min-height: 60px !important;
	height: 60px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	border: 0 !important;
	background-color: transparent !important;
	background-image: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/footer/christianpure-footer-mosaic-limestone-latin-cross-3000x78.webp") !important;
	background-position: 50% 100% !important;
	background-repeat: no-repeat !important;
	background-size: 3000px 78px !important;
}

body:has(.cp-universal-footer-mosaic) .cp-golden-footer-mosaic,
body:has(.cp-universal-footer) .cp-golden-footer {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	background: none !important;
}

/*
 * Production Global Styles still contains a paper-footer restyle for every
 * primary-background template-part footer. Keep the site-wide footer navy,
 * let Gutenberg own the wordmark and column titles, and do not flatten the
 * logo with an invert filter.
 */
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color {
	overflow: visible;
	width: 100%;
	max-width: none !important;
	color: #fffaf1;
	background: #002159 !important;
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color > :not(.cp-universal-footer-mosaic) {
	background: transparent;
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color::before {
	content: none !important;
	display: none !important;
	height: 0 !important;
	background: none !important;
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color > .wp-block-group > .wp-block-group.is-layout-flex:first-child {
	border-bottom-color: rgb(255 250 241 / 18%);
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color figure.wp-block-image {
	width: auto !important;
	max-width: 100%;
	height: auto !important;
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .ns-button {
	--ns-btn-color: transparent !important;
	--ns-icon-color: #fffaf1 !important;
	box-shadow: inset 0 0 0 1px rgb(255 250 241 / 28%);
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid,
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid p,
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid a,
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid > .wp-block-group:not(:last-child) > p + p,
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid > .wp-block-group:not(:last-child) > p + p a,
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid > .wp-block-group:last-child p,
body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid > .wp-block-group:last-child a {
	color: inherit !important;
}
/* Keep FluentCommunity portal, checkout, cart, and account off the Golden Apse sky. */
body[data-route] .wp-site-blocks::before,
body.woocommerce-checkout .wp-site-blocks::before,
body.woocommerce-cart .wp-site-blocks::before,
body.woocommerce-account .wp-site-blocks::before {
	display: none !important;
	animation: none !important;
}

body .wp-site-blocks footer.wp-block-template-part {
	overflow: visible;
}

body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color p {
	white-space: normal;
	overflow-wrap: anywhere;
	min-width: 0;
}

@media (max-width: 781px) {
	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-flex:first-child {
		flex-wrap: wrap !important;
		align-items: flex-start;
		row-gap: 1rem;
}

	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color .is-layout-grid {
		grid-template-columns: 1fr !important;
		gap: 1.1rem !important;
}

	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color a[href*="/bible-verses"],
	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color a[href*="bible-verses"],
	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color a[href*="/resources"],
	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color a[href$="/about/"],
	body .wp-site-blocks footer.wp-block-template-part .cp-universal-footer.has-primary-background-color a[href$="/about"] {
		display: none !important;
}
}

/* Gutenberg tables: gold hairlines, not navy cell boxes. */
body .wp-block-table,
body .editor-styles-wrapper .wp-block-table {
	margin: 1.5rem 0 2rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body .wp-block-table table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	color: var(--cp-ink);
}

body .wp-block-table thead,
body .wp-block-table tfoot,
body .wp-block-table tr {
	border: 0;
}

body .wp-block-table th,
body .wp-block-table td,
body .wp-block-table .has-fixed-layout th,
body .wp-block-table .has-fixed-layout td {
	border: 0;
	border-bottom: 1px solid var(--cp-gold-line);
	padding: 0.7rem 0.85rem;
	vertical-align: top;
	color: inherit;
	background: transparent;
}
body .wp-block-table th,
body .wp-block-table .has-fixed-layout th {
	text-align: left;
}

body .wp-block-table tbody tr:last-child th,
body .wp-block-table tbody tr:last-child td {
	border-bottom: 0;
}

body .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td,
body .wp-block-table.is-style-stripes tbody tr:nth-child(odd) th {
	background: rgb(248 242 232 / 55%);
}

@media (max-width: 781px) {
	body .wp-block-table table,
	body .wp-block-table table.has-fixed-layout {
		table-layout: auto;
		width: max-content;
		min-width: 36rem;
}

	body .wp-block-table th,
	body .wp-block-table td,
	body .wp-block-table .has-fixed-layout th,
	body .wp-block-table .has-fixed-layout td {
		padding: 0.65rem 0.8rem;
		max-width: 12rem;
}
}

/*
 * Article summary — Option B "Cornice and sill" (picked 2026-09-16).
 * The About arrival wall, as built in mission.css: statuary plaster with
 * carved flanks, the gold cornice along the top, the marble sill along the
 * bottom. Assets are the mission statuary set already shipped for /about/.
 * Padding is owned here (the single-template block carries none) so the
 * phone crop and inset can change together at 600px. Side padding is 7.8% (40% less than the original 13%). Title seam and coral markers unchanged.
 * `.wp-block-group` is in the selector because the constrained group also
 * carries `.has-global-padding`, whose Global Styles rule (printed after this
 * sheet) would otherwise zero the side padding at equal specificity.
 */
.wp-block-group.cp-article-summary {
	--cp-summary-cornice: 22px;
	--cp-summary-sill: 17px;
	position: relative;
	padding: calc(var(--cp-summary-cornice) + var(--cp-space-32, 32px)) max(24px, 7.8%) calc(var(--cp-summary-sill) + var(--cp-space-40, 40px));
	margin: 0 0 2.25rem;
	border: 0;
	border-inline: 1px solid var(--cp-gold-line);
	border-radius: 0;
	background-color: #eae1d2;
	background-image:
		url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/cornice.webp"),
		url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/sill.webp"),
		url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/wall-desktop.webp");
	background-repeat: repeat-x, repeat-x, no-repeat;
	background-position: center top, center bottom, center;
	background-size: auto var(--cp-summary-cornice), auto var(--cp-summary-sill), 100% 100%;
	background-blend-mode: normal;
	box-shadow: none;
}

.cp-article-summary > .wp-block-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 1rem;
	color: var(--cp-ink, #002b63);
}

.cp-article-summary > .wp-block-heading::after {
	content: "";
	flex: 1 1 auto;
	min-width: 2rem;
	height: 8px;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpolygon points='4,0 8,4 4,8 0,4' fill='%23c58c23'/%3E%3C/svg%3E"),
		linear-gradient(90deg, rgb(197 140 35 / 60%), transparent);
	background-repeat: no-repeat;
	background-position: left center, 18px center;
	background-size: 8px 8px, calc(100% - 18px) 1px;
}

.cp-article-summary .is-acf-field,
.cp-article-summary .wp-block-mfb-meta-field-block,
.cp-article-summary .field-article_summary {
	color: #1e2f55;
}

.cp-article-summary ul,
.cp-article-summary ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cp-article-summary li,
.cp-article-summary .field-article_summary li {
	position: relative;
	margin: 0;
	padding-left: 22px;
	list-style: none;
	color: #1e2f55;
}

.cp-article-summary li + li {
	margin-top: 0.8em;
}

.cp-article-summary li::before {
	content: "";
	position: absolute;
	top: 0.58em;
	left: 2px;
	width: 6px;
	height: 6px;
	background: var(--cp-coral, #d8583f);
	transform: rotate(45deg);
}

@media (max-width: 600px) {
	/* Phone: plain plaster crop, flanks fall away, cornice and sill stay. */
	.wp-block-group.cp-article-summary {
		padding: calc(var(--cp-summary-cornice) + var(--cp-space-24, 24px)) var(--cp-space-24, 24px) calc(var(--cp-summary-sill) + var(--cp-space-32, 32px));
		background-image:
			url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/cornice.webp"),
			url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/sill.webp"),
			url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/mission/statuary-20260907/wall-phone.webp");
		background-size: auto var(--cp-summary-cornice), auto var(--cp-summary-sill), cover;
}}

/* Threshold motion: existing homepage links already underline on hover.
   Keep that meaning; only ease the color of the underline. */
body.cp-golden-page .cp-golden-destination__link a,
body.cp-golden-page .cp-golden-feature__title a,
body.cp-golden-page .cp-golden-feature__read-more,
body.cp-golden-page .cp-golden-reading .wp-block-post-title a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.14em;
	transition: text-decoration-color var(--cp-motion-duration) var(--cp-motion-ease);
}

body.cp-golden-page .cp-golden-destination__link a:focus-visible,
body.cp-golden-page .cp-golden-feature__title a:focus-visible,
body.cp-golden-page .cp-golden-feature__read-more:focus-visible,
body.cp-golden-page .cp-golden-reading .wp-block-post-title a:focus-visible {
	text-decoration-color: currentColor;
}

@media (hover: hover) and (pointer: fine) {
	body.cp-golden-page .cp-golden-destination__link a:hover,
	body.cp-golden-page .cp-golden-feature__title a:hover,
	body.cp-golden-page .cp-golden-feature__read-more:hover,
	body.cp-golden-page .cp-golden-reading .wp-block-post-title a:hover {
		text-decoration-color: currentColor;
}
}

/* christianpure-design-system-single-hero */
/* Existing article navigation and locale behavior. */

@media (min-width: 1200px) {
	body.single-post .cp-single-hero + .wp-block-group {
		box-sizing: border-box;
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		padding-right: 0;
		padding-left: 0;
}

	/* Grow the rail into the left page margin. Right edge stays put so the
	   40px gutter to the 700px summary does not shrink. */
	body.single-post .cp-single-post__reading-layout {
		--cp-toc-extra: min(8.75rem, max(0px, calc((100vw - 1200px) / 2 - 1rem)));
}

	body.single-post .cp-single-post__toc-column {
		position: relative;
		flex-basis: calc(17.5% + var(--cp-toc-extra)) !important;
		margin-left: calc(var(--cp-toc-extra) * -1);
}

	body.single-post #wpj-jtoc.--jtoc-is-sticky {
		--jtoc-toc-padding: 0;
		--jtoc-toc-border: 0;
		--jtoc-toc-border-color: transparent;
		--jtoc-header-margin: 0;
		--jtoc-header-padding: 0 0 0.8rem;
		--jtoc-header-background-color: transparent;
		--jtoc-title-color: #17324d;
		--jtoc-title-label-font-weight: 400;
		--jtoc-body-padding: 0.7rem 0 0;
		--jtoc-body-background-color: transparent;
		--jtoc-headings-padding: 0;
		--jtoc-headings-padding-x: 0;
		--jtoc-headings-line-height: 1.35;
		--jtoc-link-margin: 0;
		--jtoc-link-padding: 0;
		--jtoc-link-font-weight: 400;
		--jtoc-link-color: #4a5b6e;
		--jtoc-link-color-active: #17324d;
		--jtoc-link-background-color-active: transparent;
		--jtoc-headings-background-color-active: transparent;
		--jtoc-color-custom-2: #8e3528;
		box-sizing: border-box;
		left: max(1rem, calc((100vw - 1200px) / 2 - var(--cp-toc-extra))) !important;
		width: calc(13.125rem + var(--cp-toc-extra)) !important;
		max-height: calc(100dvh - 4rem) !important;
		padding: 0.2rem 0.75rem 0.6rem 0;
		overflow: auto !important;
		scrollbar-color: rgb(171 127 54 / 35%) transparent;
		scrollbar-width: thin;
}

	body.single-post #wpj-jtoc :is(.wpj-jtoc--toc-inline, .wpj-jtoc--header, .wpj-jtoc--body) {
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--header {
		border-bottom: 1px solid rgb(171 127 54 / 38%) !important;
}
	body.single-post #wpj-jtoc .wpj-jtoc--title .title-icon {
		color: #8e3528;
}

	body.single-post #wpj-jtoc .wpj-jtoc--toggle-wrap {
		display: none;
}

	body.single-post #wpj-jtoc .wpj-jtoc--items {
		counter-reset: cp-toc-item;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item {
		counter-increment: cp-toc-item;
		margin: 0;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content {
		position: relative;
		padding: 0.32rem 0 0.32rem 0.65rem !important;
		border-left: 2px solid transparent;
		background: transparent !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item.--jtoc-is-active > .wpj-jtoc--item-content {
		border-left-color: #8e3528;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a {
		position: relative;
		display: -webkit-box;
		max-height: 2.7em;
		padding-left: 2.15rem !important;
		overflow: hidden;
		color: #4a5b6e !important;
		text-decoration: none !important;
		text-overflow: clip !important;
		white-space: normal !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a::before {
		content: counter(cp-toc-item, decimal-leading-zero);
		position: absolute;
		top: 0.08rem;
		left: 0;
		color: #9a7127;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item.--jtoc-is-active > .wpj-jtoc--item-content > a {
		color: #17324d !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a:hover {
		color: #8e3528 !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a:focus-visible {
		outline: 2px solid #ab7f36 !important;
		outline-offset: 3px;
}

	body.single-post .wpj-jtoc--widget-slide-out {
		display: none !important;
}

	body.admin-bar.single-post #wpj-jtoc.--jtoc-is-sticky {
		top: 3.25rem !important;
		max-height: calc(100dvh - 4.25rem) !important;
}}

@media (max-width: 1199px) {
	body.single-post #wpj-jtoc,
	body.single-post #wpj-jtoc.--jtoc-is-sticky {
		--jtoc-toc-padding: 0;
		--jtoc-toc-border: 0;
		--jtoc-toc-border-color: transparent;
		--jtoc-header-margin: 0;
		--jtoc-header-padding: 0 0 0.8rem;
		--jtoc-header-background-color: transparent;
		--jtoc-title-color: #17324d;
		--jtoc-title-label-font-weight: 400;
		--jtoc-body-padding: 0.7rem 0 0;
		--jtoc-body-background-color: transparent;
		--jtoc-headings-padding: 0;
		--jtoc-headings-padding-x: 0;
		--jtoc-headings-line-height: 1.35;
		--jtoc-link-margin: 0;
		--jtoc-link-padding: 0;
		--jtoc-link-font-weight: 400;
		--jtoc-link-color: #4a5b6e;
		--jtoc-link-color-active: #17324d;
		--jtoc-link-background-color-active: transparent;
		--jtoc-headings-background-color-active: transparent;
		--jtoc-color-custom-2: #8e3528;
		box-sizing: border-box;
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		max-height: none !important;
		padding: 0;
		overflow: visible !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
}

	body.single-post #wpj-jtoc :is(.wpj-jtoc--toc-inline, .wpj-jtoc--header, .wpj-jtoc--body) {
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--header {
		border-bottom: 1px solid rgb(171 127 54 / 38%) !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--title-label {
		color: #17324d !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--title .title-icon {
		color: #8e3528;
}

	body.single-post #wpj-jtoc .wpj-jtoc--toggle-wrap {
		display: none;
}

	body.single-post #wpj-jtoc .wpj-jtoc--items {
		counter-reset: cp-toc-item;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item {
		counter-increment: cp-toc-item;
		margin: 0;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content {
		position: relative;
		padding: 0.32rem 0 0.32rem 0.65rem !important;
		border-left: 2px solid transparent;
		background: transparent !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item.--jtoc-is-active > .wpj-jtoc--item-content {
		border-left-color: #8e3528;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a {
		position: relative;
		display: -webkit-box;
		max-height: 2.7em;
		padding-left: 2.15rem !important;
		overflow: hidden;
		color: #4a5b6e !important;
		text-decoration: none !important;
		text-overflow: clip !important;
		white-space: normal !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a::before {
		content: counter(cp-toc-item, decimal-leading-zero);
		position: absolute;
		top: 0.08rem;
		left: 0;
		color: #9a7127;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item.--jtoc-is-active > .wpj-jtoc--item-content > a {
		color: #17324d !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a:hover {
		color: #8e3528 !important;
}

	body.single-post #wpj-jtoc .wpj-jtoc--item-content > a:focus-visible {
		outline: 2px solid #ab7f36 !important;
		outline-offset: 3px;
}

	body.single-post.cp-single-hero-v2 .wpj-jtoc--widget-slide-out:not(.--jtoc-slide-out-opened) .wpj-jtoc--slide-out-inner {
		clip-path: inset(0 40px 0 0);
}
}

@media (max-width: 1199px) and (min-width: 782px) {
	body.single-post .cp-single-post__toc-column {
		flex-basis: 30% !important;
		width: 30% !important;
}

	body.single-post .cp-single-post__article-column {
		flex-basis: 70% !important;
		width: 70% !important;
}
}

body.single-post .cp-single-hero__content,
body.single-post .cp-single-hero__language {
	overflow: visible !important;
}

body.single-post .cp-single-hero__language .wp-block-separator {
	width: auto !important;
	margin: 0 !important;
	border-color: rgb(171 127 54 / 42%) !important;
	flex: 1 1 auto;
}

body.single-post .cp-single-hero__language {
	position: relative;
	z-index: 6;
}

body.single-post .cp-single-hero__language .etm-language-switcher {
	position: relative;
	z-index: 6;
	overflow: visible !important;
}

body.single-post .cp-single-hero__language .etm-language-switcher .etm-ls-shortcode-current-language {
	z-index: 20;
}

body.single-post .cp-single-hero__language .etm-language-switcher .etm-ls-shortcode-language {
	display: none;
	z-index: 20;
	overflow: hidden !important;
	pointer-events: none;
}

body.single-post .cp-single-hero__language .etm-language-switcher:is(:hover, :focus-within) .etm-ls-shortcode-language {
	display: inline-block !important;
	pointer-events: auto;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

body.single-post .cp-single-hero + .wp-block-group {
	position: relative;
	z-index: 1;
	margin-block-start: 0 !important;
	padding-top: clamp(2rem, 4vw, 4rem);
}

@media (max-width: 600px) {

	body.single-post.cp-single-hero-v2 .cp-single-post__article-column {
		order: -1;
}}

@media (prefers-reduced-motion: reduce) {
	body.single-post .cp-single-hero *,
	body.single-post .cp-single-hero *::before,
	body.single-post .cp-single-hero *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
}
}
body.single-post .wp-site-blocks::before {display: block;}
/* Sanctuary: the approved architectural frame surrounds live WordPress blocks. */
body.single-post .cp-single-hero {
  --hero-ink: #002b63;
  --hero-border: #627691;
  position: relative;
  isolation: isolate;
  z-index: 3;
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
  background: var(--cp-stone) !important;
}

/* Side chapel: the complete altar image changes position, never proportions. */
body.single-post.cp-single-hero-v2 .cp-single-hero {
  --hero-ink: #f6eddf;
  --hero-border: #c29b57;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__content {
  min-height: calc(var(--scene-width) * 793 / 1691);
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem calc(var(--scene-width) * 0.49) calc(var(--scene-width) * 45 / 1691 + 1rem) clamp(2rem, 9.5vw, 11.4rem);
  background: #101e35;
  align-content: center;
  justify-items: start;
  text-align: start;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__content::before {
  /* Extra-long copy adds calm navy above the intact, floor-aligned chapel. */
  inset: auto 0 0 auto;
  width: calc(var(--scene-width) * 752 / 1691);
  height: auto;
  aspect-ratio: 752 / 793;
  border: 0;
  border-image: none;
  background: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/chapel-desktop.webp") center / contain no-repeat;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__content::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: calc(var(--scene-width) * 45 / 1691);
  z-index: -2;
  pointer-events: none;
  background: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/chapel-threshold.webp") bottom left / auto 100% repeat-x;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__category {
  color: #d8ae66 !important;
  text-align: start;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__title {
  color: var(--hero-ink) !important;
  text-align: start !important;
  max-width: 22ch !important;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__byline {justify-content: flex-start; align-items: center;}
body.single-post.cp-single-hero-v2 .cp-single-hero__byline * {color: var(--hero-ink) !important;}
body.single-post.cp-single-hero-v2 .cp-single-hero__share {justify-content: flex-start; gap: 0.6rem;}
body.single-post.cp-single-hero-v2 .cp-single-hero__content > .ns-buttons,
body.single-post.cp-single-hero-v2 .cp-single-hero__language {
  align-self: start;
  border-top: 1px solid #b58d4c;
  width: 100%;
  box-sizing: border-box;
  padding-top: 1.25rem;
}
body.single-post.cp-single-hero-v2 .cp-single-hero__language {justify-content: flex-end;}
@media (max-width: 1023px) {
  body.single-post.cp-single-hero-v2 .cp-single-hero__content {
    --chapel-art-height: 62.406vw;
    min-height: 0;
    padding: calc(var(--chapel-art-height) + 2rem) max(1.75rem, calc((100vw - 40rem) / 2)) 3.25rem;
    background: #101e35;
}
  body.single-post.cp-single-hero-v2 .cp-single-hero__content::before {
    inset: 0 0 auto;
    width: 100%;
    height: var(--chapel-art-height);
    aspect-ratio: auto;
    background: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/chapel-phone.webp") top center / auto 100% no-repeat;
}
  body.single-post.cp-single-hero-v2 .cp-single-hero__content::after {height: 1rem;}
}
@media (max-width: 600px) {
  body.single-post.cp-single-hero-v2 .cp-single-hero__content {align-items: flex-start; padding-inline: 1.75rem;}
  body.single-post.cp-single-hero-v2 .cp-single-hero__category::after {display: none;}
  body.single-post.cp-single-hero-v2 .cp-single-hero__title {max-width: 100% !important;}
  body.single-post.cp-single-hero-v2 .cp-single-hero__language {
    align-self: flex-start;
    border: 0;
    width: auto;
    padding-top: 0;
    justify-content: flex-start;
}
}
body.single-post .cp-single-hero::before {display: none;}
body.single-post .cp-single-hero__content {
  --scene-width: min(100vw, 120rem);
  --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/sanctuary-desktop.webp");
  --frame-slice: 400 230 85 230;
  --frame-top: calc(var(--scene-width) * 400 / 1672);
  --frame-side: calc(var(--scene-width) * 230 / 1672);
  --frame-bottom: calc(var(--scene-width) * 85 / 1672);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: center;
  gap: 0;
  box-sizing: border-box;
  width: 100vw !important;
  max-width: 120rem !important;
  min-height: 0;
  margin: 0 calc(50% - min(50vw, 60rem)) !important;
  padding: calc(var(--frame-top) + 0.75rem) calc(var(--frame-side) + 1rem) calc(var(--scene-width) * 23 / 1672 + 1.25rem);
  color: var(--hero-ink);
  background: linear-gradient(#eaddc6, #f3ece2 64%, #f3ece2);
  overflow: visible;
}
body.single-post .cp-single-hero__content::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-style: solid;
  border-color: transparent;
  border-width: var(--frame-top) var(--frame-side) var(--frame-bottom);
  border-image-source: var(--frame-source);
  border-image-slice: var(--frame-slice) fill;
  border-image-width: 1;
  border-image-repeat: stretch;
}
body.single-post .cp-single-hero__category {
  grid-column: 1 / -1;
  color: var(--hero-ink) !important;
  margin: 0 0 1rem !important;
  text-align: center;
  text-decoration: none !important;
}
body.single-post .cp-single-hero__category a {color: inherit !important; text-decoration: none !important; border: 0 !important; box-shadow: none !important;}
body.single-post .cp-single-hero__title {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 24ch !important;
  margin: 0 !important;
  text-align: center !important;
  text-wrap: balance;
  overflow-wrap: anywhere;
  hyphens: auto;
}
body.single-post .cp-single-hero__byline {
  grid-column: 1 / -1;
  justify-content: center;
  align-items: center;
  margin: 1.6rem 0 0 !important;
  gap: 0.4rem 1rem !important;
  color: var(--hero-ink);
}
body.single-post .cp-single-hero__byline > * {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
body.single-post .cp-single-hero__byline .wp-block-post-author {
  display: flex;
  align-items: center;
}
body.single-post .cp-single-hero__byline .wp-block-post-author__content {
  flex-basis: auto;
  flex-grow: 0;
}
body.single-post .cp-single-hero__byline :is(p, .wp-block-post-date, .wp-block-post-author__name) {
  color: var(--hero-ink) !important;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  margin: 0;
}
body.single-post .cp-single-hero__content > .ns-buttons {
  grid-column: 1;
  margin: 2rem 0 0 !important;
  width: auto;
}
body.single-post .cp-single-hero__share {
  grid-column: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 0 !important;
  max-width: 100%;
}
body.single-post .cp-single-hero__share .ns-button {
  margin: 0 !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  color: var(--hero-ink) !important;
}
body.single-post .cp-single-hero__share :is(.ns-button-wrapper,.ns-button-icon) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 2.75rem !important;
  height: 2.75rem !important;
  color: inherit !important;
  background: transparent !important;
}
body.single-post .cp-single-hero__share .ns-button-icon {border: 1px solid var(--hero-border) !important;}
body.single-post .cp-single-hero__share svg {width: 1.3rem; height: 1.3rem;}
body.single-post .cp-single-hero__language {
  grid-column: 2;
  width: auto;
  max-width: 100%;
  margin: 2rem 0 0 !important;
  justify-self: end;
}
body.single-post .cp-single-hero__language .wp-block-separator {display: none;}
body.single-post .cp-single-hero__language .etm_language_switcher_shortcode,
body.single-post .cp-single-hero__language .etm-language-switcher {
  width: max-content !important;
  height: auto !important;
  min-height: 2.75rem;
  margin: 0 !important;
}
body.single-post .cp-single-hero__language .etm-ls-shortcode-current-language {
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: max-content !important;
  min-height: 2.75rem;
  padding-top: 0 !important;
  padding-right: 1.35em !important;
  padding-bottom: 0 !important;
  background-position: right 0.55em center, right 0.22em center !important;
  background-size: 5px 5px, 5px 5px !important;
}
body.single-post .cp-single-hero__language br {display: none !important;}
body.single-post .cp-single-hero__language .etm-ls-shortcode-current-language > a {
  color: var(--hero-ink) !important;
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  width: max-content;
  padding-right: 0;
}
body.single-post .cp-single-hero__language .etm-flag-image {display: none;}
body.single-post .cp-single-hero__language .etm-ls-shortcode-language {
  max-height: min(22rem, 60vh) !important;
  max-width: calc(100vw - 2rem);
}
body.single-post .cp-single-hero__language .etm-ls-shortcode-language a {min-height: 2.75rem;}
body.single-post .cp-single-hero__content a:focus-visible {outline: 2px solid currentColor; outline-offset: 4px;}
@media (min-width: 601px) and (max-width: 1023px) {
  body.single-post .cp-single-hero__content {
    --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/sanctuary-tablet.webp");
    --frame-slice: 400 150 85 150;
    --frame-top: calc(100vw * 400 / 1512);
    --frame-side: calc(100vw * 150 / 1512);
    --frame-bottom: calc(100vw * 85 / 1512);
    padding-top: calc(var(--frame-top) + 1.25rem);
}
}
@media (max-width: 600px) {
  body.single-post .cp-single-hero__content {
    --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/sanctuary-phone.webp");
    --frame-slice: 470 65 128 65;
    --frame-top: calc(100vw * 470 / 923);
    --frame-side: calc(100vw * 65 / 923);
    --frame-bottom: calc(100vw * 128 / 923);
    display: flex;
    flex-direction: column;
    padding: calc(var(--frame-top) + 0.5rem) calc(var(--frame-side) + 0.5rem) calc(var(--frame-bottom) + 0.25rem);
    background: #f1eae0;
}
  body.single-post .cp-single-hero__category {margin-bottom: 1.2rem !important;}
  body.single-post.cp-single-hero-v1 .cp-single-hero__category::after {
    content: "";
    display: block;
    width: 5rem;
    height: 1.0625rem;
    margin: 0.625rem auto 0;
    background: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/sanctuary-floret.webp") center / contain no-repeat;
}
  body.single-post .cp-single-hero__title {max-width: 15ch !important;}
  body.single-post .cp-single-hero__byline {flex-direction: column; margin-top: 1.7rem !important; gap: 0.3rem !important;}
  body.single-post .cp-single-hero__dot {display: none;}
  body.single-post .cp-single-hero__content > .ns-buttons {margin-top: 1.7rem !important;}
  body.single-post .cp-single-hero__share {gap: 0.6rem;}
  body.single-post .cp-single-hero__language {margin-top: 1rem !important; align-self: center;}
}

/* Stained-glass daylight: whole lancets above a quiet plaster reading plane. */
body.single-post.cp-single-hero-v3 .cp-single-hero__content {
  --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/glass-desktop.webp");
  --frame-slice: 480 230 6 230;
  --frame-top: calc(var(--scene-width) * 480 / 1691);
  --frame-side: calc(var(--scene-width) * 230 / 1691);
  --frame-bottom: calc(var(--scene-width) * 6 / 1691);
  padding: calc(var(--frame-top) + 1.25rem) calc(var(--frame-side) + 1.5rem) 1.5rem;
  background: #f3f0e9;
}
body.single-post.cp-single-hero-v3 .cp-single-hero__content > .ns-buttons,
body.single-post.cp-single-hero-v3 .cp-single-hero__language {
  align-self: start;
  border-top: 1px solid #a2afbf;
  box-sizing: border-box;
  width: 100%;
  padding-top: 1.25rem;
}
body.single-post.cp-single-hero-v3 .cp-single-hero__share {justify-content: start;}
body.single-post.cp-single-hero-v3 .cp-single-hero__language {justify-content: end;}
@media (min-width: 601px) and (max-width: 1023px) {
  body.single-post.cp-single-hero-v3 .cp-single-hero__content {
    --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/glass-tablet.webp");
    --frame-slice: 480 100 6 100;
    --frame-top: calc(var(--scene-width) * 480 / 1431);
    --frame-side: calc(var(--scene-width) * 100 / 1431);
    --frame-bottom: calc(var(--scene-width) * 6 / 1431);
}
}
@media (max-width: 600px) {
  body.single-post.cp-single-hero-v3 .cp-single-hero__content {
    --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/glass-phone.webp");
    --frame-slice: 520 110 110 110;
    --frame-top: calc(var(--scene-width) * 520 / 913);
    --frame-side: calc(var(--scene-width) * 110 / 913);
    --frame-bottom: calc(var(--scene-width) * 110 / 913);
    padding: calc(var(--frame-top) + 1.5rem) calc(var(--frame-side) + 0.5rem) calc(var(--frame-bottom) + 0.5rem);
}
  body.single-post.cp-single-hero-v3 .cp-single-hero__content > .ns-buttons,
  body.single-post.cp-single-hero-v3 .cp-single-hero__language {border: 0; padding-top: 0; align-self: center; width: auto;}
  body.single-post.cp-single-hero-v3 .cp-single-hero__share {justify-content: center;}
}

/* Fresco chapel: Christ, the blessing hand and Gospel stay within one crown. */
body.single-post.cp-single-hero-v4 .cp-single-hero {--hero-ink: #f6eddf; --hero-border: #bc9258;}
body.single-post.cp-single-hero-v4 .cp-single-hero__content {
  --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/fresco-desktop.webp");
  --frame-slice: 410 200 5 200;
  --frame-top: calc(var(--scene-width) * 410 / 1690);
  --frame-side: calc(var(--scene-width) * 200 / 1690);
  --frame-bottom: calc(var(--scene-width) * 5 / 1690);
  padding: calc(var(--frame-top) + 1.5rem) calc(var(--frame-side) + 1.5rem) 1.75rem;
  background: #64301f;
}
body.single-post.cp-single-hero-v4 .cp-single-hero__title {color: var(--hero-ink) !important;}
body.single-post.cp-single-hero-v4 .cp-single-hero__byline * {color: var(--hero-ink) !important;}
body.single-post.cp-single-hero-v4 .cp-single-hero__content > .ns-buttons,
body.single-post.cp-single-hero-v4 .cp-single-hero__language {
  align-self: start;
  border-top: 1px solid #b58d4c;
  box-sizing: border-box;
  width: 100%;
  padding-top: 1.25rem;
}
body.single-post.cp-single-hero-v4 .cp-single-hero__share {justify-content: start;}
body.single-post.cp-single-hero-v4 .cp-single-hero__language {justify-content: end;}
@media (min-width: 601px) and (max-width: 1023px) {
  body.single-post.cp-single-hero-v4 .cp-single-hero__content {
    --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/fresco-tablet.webp");
    --frame-slice: 410 120 5 120;
    --frame-top: calc(var(--scene-width) * 410 / 1530);
    --frame-side: calc(var(--scene-width) * 120 / 1530);
    --frame-bottom: calc(var(--scene-width) * 5 / 1530);
}
}
@media (max-width: 600px) {
  body.single-post.cp-single-hero-v4 .cp-single-hero__content {
    --frame-source: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/fresco-phone.webp");
    --frame-slice: 460 55 110 55;
    --frame-top: calc(var(--scene-width) * 460 / 1023);
    --frame-side: calc(var(--scene-width) * 55 / 1023);
    --frame-bottom: calc(var(--scene-width) * 110 / 1023);
    padding: calc(var(--frame-top) + 1.25rem) calc(var(--frame-side) + 1rem) calc(var(--frame-bottom) + 0.5rem);
}
  body.single-post.cp-single-hero-v4 .cp-single-hero__category::after {
    content: "";
    display: block;
    width: 4rem;
    height: 0.9375rem;
    margin: 0.75rem auto 0;
    background: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/fresco-floret.webp") center / contain no-repeat;
}
  body.single-post.cp-single-hero-v4 .cp-single-hero__content > .ns-buttons {width: 100%;}
  body.single-post.cp-single-hero-v4 .cp-single-hero__share {justify-content: center;}
  body.single-post.cp-single-hero-v4 .cp-single-hero__language {border: 0; padding-top: 0; align-self: center; width: auto;}
}
body.single-post.cp-single-hero-v4 .cp-single-hero__content > .ns-buttons {position: relative;}
body.single-post.cp-single-hero-v4 .cp-single-hero__content > .ns-buttons::before {
  content: "";
  position: absolute;
  top: -0.46875rem;
  right: -2rem;
  width: 4rem;
  height: 0.9375rem;
  pointer-events: none;
  background: url("https://christianpure.com/wp-content/mu-plugins/christianpure-design-system/assets/images/single-hero/church-20260907-q78/fresco-floret.webp") center / contain no-repeat;
}
@media (max-width: 600px) {
  body.single-post.cp-single-hero-v4 .cp-single-hero__content > .ns-buttons::before {right: calc(50% - 2rem);}
}

/* christianpure-design-system-h2-image-group */
/**
 * H2 image group — D4 lunette niche (picked 2026-09-16).
 *
 * Live markup from Perfmatters `5-h2-image-grouper.php`:
 *   .entry-content > .h2-image-group > img.imagediv + h2.joli-heading
 *
 * Direct-child scope keeps `.cp-verse-unit .h2-image-group.cp-verse-picture`
 * on the verse-unit lunette. Course Additional CSS still overlays
 * `body.post-template-default h2.joli-heading`; this sheet beats that
 * overlay on grouped headings and leftover direct-child H2s.
 *
 * Niche stone, lip, and gold fillet match verse-unit.css so the two
 * read as one building. The heading sits on the page ground, not on stone.
 */

body.single-post .entry-content > .h2-image-group {
	--cp-h2ig-lip: 12px;
	--cp-h2ig-arch-outer: 100px;
	--cp-h2ig-arch-inner: calc(var(--cp-h2ig-arch-outer) - var(--cp-h2ig-lip));
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: var(--cp-space-64, 4rem) 0 var(--cp-space-12, 0.75rem);
	position: relative;
}

body.single-post .entry-content > .h2-image-group::before {
	content: "";
	grid-row: 1;
	grid-column: 1;
	z-index: 0;
	border-radius: 50% 50% 4px 4px / var(--cp-h2ig-arch-outer) var(--cp-h2ig-arch-outer) 4px 4px;
	background-color: #e8e4dc;
	background-image: linear-gradient(180deg, rgba(247, 241, 232, 0.4), rgba(180, 135, 57, 0.06));
	box-shadow:
		inset 0 20px 30px rgba(40, 32, 18, 0.16),
		inset 0 -8px 16px rgba(40, 32, 18, 0.08),
		0 1px 0 rgba(255, 251, 247, 0.7);
}

body.single-post .entry-content > .h2-image-group > img,
body.single-post .entry-content > .h2-image-group > img.imagediv {
	grid-row: 1;
	grid-column: 1;
	z-index: 1;
	position: relative;
	display: block !important;
	box-sizing: border-box;
	width: calc(100% - (2 * var(--cp-h2ig-lip))) !important;
	max-width: none;
	height: auto !important;
	margin: var(--cp-h2ig-lip);
	padding: 0;
	aspect-ratio: 21 / 9 !important;
	object-fit: cover !important;
	object-position: 50% 18%;
	border-radius: 50% 50% 2px 2px / var(--cp-h2ig-arch-inner) var(--cp-h2ig-arch-inner) 2px 2px;
	background: var(--cp-color-surface-inverse, #002159);
}

body.single-post .entry-content > .h2-image-group::after {
	content: "";
	grid-row: 1;
	grid-column: 1;
	z-index: 2;
	pointer-events: none;
	box-sizing: border-box;
	width: calc(100% - (2 * var(--cp-h2ig-lip)));
	justify-self: center;
	align-self: start;
	margin-top: var(--cp-h2ig-lip);
	aspect-ratio: 21 / 9;
	border-radius: 50% 50% 2px 2px / var(--cp-h2ig-arch-inner) var(--cp-h2ig-arch-inner) 2px 2px;
	box-shadow:
		inset 0 0 0 1px rgba(180, 135, 57, 0.75),
		inset 0 0 0 4px rgba(247, 241, 232, 0.32),
		inset 0 0 0 5px rgba(180, 135, 57, 0.4),
		inset 0 18px 28px -14px rgba(40, 32, 18, 0.32);
}

body.single-post .entry-content > .h2-image-group > h2,
body.post-template-default .entry-content > .h2-image-group > h2.joli-heading,
body.post-template-default .entry-content > .h2-image-group > h2.jtoc-heading {
	grid-row: 2;
	grid-column: 1;
	z-index: 1;
	margin: calc(var(--cp-h2ig-lip) + var(--cp-space-20, 1.25rem)) auto 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	background: transparent !important;
	position: static !important;
	max-width: 26ch;
	text-align: center;
	text-wrap: balance;
	color: var(--cp-color-ink, #002159);
}

body.post-template-default .entry-content > h2.joli-heading,
body.post-template-default .entry-content > h2.jtoc-heading {
	margin: var(--cp-space-40, 2.5rem) 0 var(--cp-space-16, 1rem) !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	background: transparent !important;
	position: static !important;
}

@media (max-width: 600px) {
	body.single-post .entry-content > .h2-image-group {
		--cp-h2ig-lip: 8px;
		--cp-h2ig-arch-outer: 60px;
		margin-top: var(--cp-space-48, 3rem);
}

	body.single-post .entry-content > .h2-image-group > img,
	body.single-post .entry-content > .h2-image-group > img.imagediv {
		aspect-ratio: 2 / 1 !important;
}

	body.single-post .entry-content > .h2-image-group::after {
		aspect-ratio: 2 / 1;
}
}

/* christianpure-design-system-verse-unit */
/**
 * Golden Apse window. Loaded on singular bible-verses posts, and on prayers
 * posts as the shared lunette chrome (wall, niche, fillet, 16:9 painting,
 * register, diamond ornament). Verse citation and quote type stay
 * inside .cp-verse-unit. Prayer inscription lives in prayer-unit.css.
 *
 * Three layers, per the approved round-7 board:
 *   1. The section itself is the plaster wall — the same tiled stone as the
 *      header and category pages, on a bright ivory ground.
 *   2. .cp-verse-reveal is the arched stone niche, equal lip on every side.
 *   3. .cp-verse-pane is the gold-fillet window. Its top is the same arch, so
 *      the painting fills the lunette instead of sitting as a rectangle under it.
 * Verse type sits on flat navy; prayer type stays on ivory. Gold is the
 * fillet and the diamond, never a ground under the Word.
 */

.cp-verse-unit,
.cp-prayer-unit {
	--cp-verse-ivory: #f8f2e8;
	--cp-verse-ivory-deep: #efe5d4;
	--cp-verse-navy: var(--cp-ink, #002159);
	--cp-verse-gold: var(--cp-gold, #c58c23);
	--cp-verse-gold-line: rgba(180, 135, 57, 0.65);
	--cp-verse-lip: 0.75rem;
	--cp-verse-arch-outer: clamp(3.5rem, 14vw, 5.75rem);
	--cp-verse-arch-inner: clamp(2.75rem, 12vw, 5rem);
	--cp-verse-quote-size: clamp(1.4375rem, 1.035rem + 1.61vw, 1.725rem);
	position: relative;
	margin: 2.75rem 0 3rem;
	padding: 1.625rem 1.5rem 1.875rem;
	background-color: #fff;
	background-image: var(--cp-site-stone-texture);
	background-repeat: repeat;
	background-position: left top;
	background-size: 360px 600px;
	background-blend-mode: multiply;
	border-radius: 4px;
	/* clip keeps the 4px radius without creating a scrollport. overflow:hidden
	   on this wrapper made Joli's hash/scroll-spy target the inner h2 through
	   a nested scroller, so the left rail highlight lagged the visible card. */
	overflow: hidden;
	overflow: clip;
	scroll-margin-top: 5rem;
}

.cp-verse-unit {
	padding: 1.6rem;
}

.cp-verse-unit > *,
.cp-prayer-unit > * {
	position: relative;
	z-index: 1;
}

/* Stone niche. Equal lip; the inner window repeats the arch so the frame
   reads all the way around the crown, not only as a sliver above a flat edge. */
.cp-verse-unit .cp-verse-reveal,
.cp-prayer-unit .cp-verse-reveal {
	padding: var(--cp-verse-lip);
	overflow: hidden;
	border-radius: 50% 50% 8px 8px / var(--cp-verse-arch-outer) var(--cp-verse-arch-outer) 8px 8px;
	background-color: #e8e4dc;
	background-image: linear-gradient(180deg, rgba(247, 241, 232, 0.4), rgba(180, 135, 57, 0.06));
	box-shadow:
		inset 0 20px 30px rgba(40, 32, 18, 0.16),
		inset 0 -8px 16px rgba(40, 32, 18, 0.08),
		0 1px 0 rgba(255, 251, 247, 0.7);
}

.cp-verse-unit .cp-verse-pane,
.cp-prayer-unit .cp-verse-pane {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 50% 50% 4px 4px / var(--cp-verse-arch-inner) var(--cp-verse-arch-inner) 4px 4px;
	background: var(--cp-ink-deep, #001a47);
	box-shadow:
		inset 0 0 0 1px rgba(180, 135, 57, 0.75),
		inset 0 0 0 4px rgba(247, 241, 232, 0.32),
		inset 0 0 0 5px rgba(180, 135, 57, 0.4);
}

.cp-verse-unit .cp-verse-picture,
.cp-verse-unit .h2-image-group.cp-verse-picture,
.cp-prayer-unit .cp-verse-picture,
.cp-prayer-unit .h2-image-group.cp-verse-picture {
	flex: 0 0 auto;
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	margin: 0;
}

.cp-verse-unit .cp-verse-picture img.imagediv,
.cp-verse-unit .cp-verse-picture img,
.cp-prayer-unit .cp-verse-picture img.imagediv,
.cp-prayer-unit .cp-verse-picture img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	aspect-ratio: unset !important;
	object-fit: cover !important;
	object-position: 50% 40%;
	display: block !important;
	margin: 0;
}

.cp-verse-unit .cp-verse-register,
.cp-prayer-unit .cp-verse-register {
	flex: 0 0 auto;
	padding: 18px 24px 20px;
	border-top: 1px solid var(--cp-verse-gold-line);
}

.cp-verse-unit .cp-verse-register {
	padding: 1.6rem;
	background: var(--cp-verse-navy);
}

.cp-prayer-unit .cp-verse-register {
	background: linear-gradient(180deg, var(--cp-verse-ivory) 0%, var(--cp-verse-ivory-deep) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 251, 247, 0.8);
}

/* Verse cards keep their own type: small gold citation, large italic quote.
   Theme Editor still owns family via --cp-heading. Topic H2s outside the
   card inherit Theme Editor size. */
.cp-verse-unit h2,
.cp-verse-unit h2.joli-heading,
.cp-verse-unit h2.jtoc-heading,
.cp-verse-unit h3,
.cp-verse-unit h3.joli-heading,
.cp-verse-unit h3.jtoc-heading,
body.post-template-default .cp-verse-unit h2.joli-heading,
body.post-template-default .cp-verse-unit h3.joli-heading {
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	position: static !important;
	font-family: var(--cp-heading, Georgia), serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.14em !important;
	text-transform: none !important;
	color: var(--cp-verse-gold) !important;
}

.cp-verse-unit blockquote,
.cp-verse-unit .wp-block-quote,
.cp-verse-unit blockquote p,
.cp-verse-unit .wp-block-quote p,
.cp-verse-unit blockquote p em,
.cp-verse-unit .wp-block-quote p em {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 0 !important;
	background: transparent !important;
	font-family: var(--cp-heading, Georgia), serif !important;
	font-size: var(--cp-verse-quote-size) !important;
	font-weight: 700 !important;
	font-style: italic !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	color: var(--cp-verse-ivory) !important;
}

/* Keep links within quotations readable on the navy panel. */
.cp-verse-unit blockquote a {
	color: var(--cp-verse-ivory);
	text-decoration: underline;
}

.cp-verse-unit .cp-verse-ornament,
.cp-prayer-unit .cp-verse-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 16px 0 0;
}

.cp-verse-unit .cp-verse-ornament__rule,
.cp-prayer-unit .cp-verse-ornament__rule {
	display: block;
	height: 1px;
	width: 64px;
	background: linear-gradient(90deg, transparent, var(--cp-verse-gold), transparent);
	opacity: 0.85;
}

.cp-verse-unit .cp-verse-diamond,
.cp-prayer-unit .cp-verse-diamond {
	width: 9px;
	height: 9px;
	flex: 0 0 9px;
	background: var(--cp-verse-gold);
	transform: rotate(45deg);
}

.cp-verse-unit > p,
.cp-verse-unit .cp-verse-gloss,
.cp-prayer-unit > p,
.cp-prayer-unit .cp-verse-gloss {
	margin: 16px 6px 0;
	color: var(--cp-ink, #1e2446);
}

.cp-verse-unit > p strong:first-child,
.cp-verse-unit .cp-verse-gloss strong:first-child,
.cp-prayer-unit > p strong:first-child,
.cp-prayer-unit .cp-verse-gloss strong:first-child {
	color: #6a5e48;
}

@media (max-width: 560px) {
	.cp-verse-unit,
	.cp-prayer-unit {
		--cp-verse-lip: 0.5rem;
		margin: 2rem 0 2.25rem;
		padding: 1rem 0.75rem 1.25rem;
}

	.cp-verse-unit {
		padding: 1.6rem;
}

	.cp-verse-unit .cp-verse-register {
		padding: 1.6rem;
}

	.cp-prayer-unit .cp-verse-register {
		padding: 0.875rem 1rem 1rem;
}

	.cp-verse-unit h2,
	.cp-verse-unit h2.joli-heading,
	.cp-verse-unit h3,
	.cp-verse-unit h3.joli-heading,
	body.post-template-default .cp-verse-unit h2.joli-heading,
	body.post-template-default .cp-verse-unit h3.joli-heading {
		font-size: 0.75rem !important;
	}

	.cp-verse-unit > p,
	.cp-verse-unit .cp-verse-gloss,
	.cp-prayer-unit > p,
	.cp-prayer-unit .cp-verse-gloss {
		margin-top: 0.75rem;
	}
}

/*
 * Theme section labels ("God's Presence in Loneliness") are H2s with
 * .joli-heading. Additional CSS still overlays that class onto paintings
 * (margin-top -68px, cream panel). Citations inside .cp-verse-unit are
 * nested, so they keep the gold register type above. This file only loads
 * on bible-verses and prayers posts.
 */
body.post-template-default .wp-block-post-content > h2.joli-heading,
body.post-template-default .wp-block-post-content > h2.jtoc-heading,
.wp-block-post-content > h2.joli-heading,
.entry-content > h2.joli-heading {
	margin: 1.5rem 0 1rem !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	background: transparent !important;
	position: static !important;
	scroll-margin-top: 5rem;
	color: var(--cp-ink, #1e2446) !important;
}

