/* BlessBoard — scoped church module styles. Loaded only from church templates. */

:root {
  /* Ecclesia Modern / Stitch design tokens */
  --church-violet: #6c5ce7;
  --church-violet-dark: #5341cd;
  --church-primary: #5341cd;
  --church-primary-container: #6c5ce7;
  --church-on-primary: #ffffff;
  --church-on-primary-container: #faf6ff;
  --church-primary-fixed: #e4dfff;
  --church-primary-fixed-dim: #c6bfff;
  --church-on-primary-fixed: #160066;
  --church-navy: #131d21;
  --church-charcoal: #283236;
  --church-surface: #f1fbff;
  --church-surface-dim: #eaf5fa;
  --church-surface-card: #ffffff;
  --church-surface-container: #e4f0f4;
  --church-surface-container-low: #eaf5fa;
  --church-surface-container-high: #dfeaef;
  --church-surface-container-lowest: #ffffff;
  --church-surface-muted: #f8fafc;
  --church-surface-variant: #d9e4e9;
  --church-inverse-surface: #283236;
  --church-muted: #586062;
  --church-text-muted: #586062;
  --church-on-surface-variant: #474554;
  --church-text: #131d21;
  --church-outline: #c8c4d7;
  --church-border: #e2e8f0;
  --church-getpro-orange: #ff9800;
  --church-powered-by-gray: #6b7280;
  --church-radius: 8px;
  --church-radius-md: 8px;
  --church-radius-lg: 16px;
  --church-radius-xl: 12px;
  --church-radius-2xl: 16px;
  --church-radius-3xl: 24px;
  --church-shadow-sm: 0 1px 3px rgba(19, 29, 33, 0.06);
  --church-space-xs: 4px;
  --church-space-sm: 8px;
  --church-space-md: 16px;
  --church-space-lg: 24px;
  --church-space-xl: 32px;
  --church-max-width: 1280px;
  --church-margin-mobile: 16px;
  --church-margin-desktop: 32px;

  /*
   * Public responsive breakpoint policy (tenant public + apex):
   * - Mobile layouts and public header chrome: max-width 899px
   * - Desktop layouts and public header chrome: min-width 900px
   * Dual trees (.home-desktop-design / .home-mobile-design) and tenant/apex
   * header nav share this 900px cut so 768–899px is not a mixed state.
   * Authenticated portals keep their own 767/768 rules.
   * --church-public-bp is documentation-only (CSS vars cannot drive @media).
   */
  --church-public-bp: 900px;

  /* Shared public page tokens (scoped utilities below; do not restyle portals) */
  --church-public-card-radius: var(--church-radius-lg);
  --church-public-card-border: 1px solid rgba(200, 196, 215, 0.35);
  --church-public-card-shadow: var(--church-shadow-sm);
  --church-public-card-bg: var(--church-surface-card);
  --church-public-card-padding: var(--church-space-lg);
  --church-public-btn-radius: 12px;
  --church-public-btn-min-height: 44px;
  --church-public-btn-padding-x: 20px;
  --church-public-btn-font-weight: 600;
  --church-public-eyebrow-size: 0.75rem;
  --church-public-page-title-size: clamp(1.75rem, 1.2vw + 1.4rem, 2.5rem);
  --church-public-section-title-size: 1.5rem;
  --church-public-body-size: 1rem;
  --church-public-meta-size: 0.8125rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.church-body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--church-navy);
  background: var(--church-surface);
  line-height: 1.5;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  vertical-align: middle;
}

.church-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--church-outline);
}

.church-header__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  padding: var(--church-space-md) var(--church-space-lg);
  display: flex;
  align-items: center;
  gap: var(--church-space-lg);
}

.church-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--church-space-sm);
  color: var(--church-violet-dark);
  text-decoration: none;
  font-weight: 600;
  font-size: 1.05rem;
  min-width: 0;
}

.church-brand__icon {
  color: var(--church-violet);
}

.church-brand__text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-lockup {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.brand-lockup--compact .brand-name {
  font-size: 0.95rem;
  line-height: 1.2;
}

.brand-lockup--compact .brand-powered {
  font-size: 0.68rem;
  line-height: 1.2;
}

.brand-name {
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.15;
  color: inherit;
  letter-spacing: -0.01em;
}

.brand-powered {
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.2;
  opacity: 1;
  letter-spacing: 0.01em;
}

.bb-powered-by {
  display: inline;
  font-weight: 500;
}

.bb-powered-by__label {
  color: var(--church-powered-by-gray);
  font-weight: 500;
}

.bb-powered-by__getpro {
  color: var(--church-getpro-orange);
  font-weight: 700;
}

.brand-lockup--compact .bb-powered-by__getpro {
  font-size: inherit;
  font-weight: 700;
}

/* Dark drawer / dark chrome: keep GetPro orange readable */
.church-drawer .bb-powered-by__label,
.church-drawer__actions .bb-powered-by__label {
  color: rgba(255, 255, 255, 0.72);
}

.church-drawer .bb-powered-by__getpro,
.church-drawer__actions .bb-powered-by__getpro {
  color: var(--church-getpro-orange);
}

.church-sidebar-brand .bb-powered-by__label {
  color: rgba(255, 255, 255, 0.72);
}

.church-sidebar-brand .bb-powered-by__getpro {
  color: var(--church-getpro-orange);
}

.church-footer__powered-line .bb-powered-by__label,
.church-footer__copy .bb-powered-by__label,
.church-footer__powered-sub .bb-powered-by__label,
.church-auth-footer__powered .bb-powered-by__label {
  color: var(--church-powered-by-gray);
}

.church-footer__powered-line .bb-powered-by__getpro,
.church-footer__copy .bb-powered-by__getpro,
.church-footer__powered-sub .bb-powered-by__getpro,
.church-auth-footer__powered .bb-powered-by__getpro {
  color: var(--church-getpro-orange);
}

.church-brand--compact {
  align-items: flex-start;
}

.church-sidebar-brand {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
}

.church-sidebar-brand__icon {
  flex-shrink: 0;
  margin-top: 2px;
}

.church-sidebar-brand__text {
  min-width: 0;
}

.church-sidebar-brand .brand-name {
  color: #fff;
}

.church-sidebar-brand .brand-powered {
  color: rgba(255, 255, 255, 0.78);
  opacity: 1;
}

.church-sidebar-context {
  display: block;
  margin-top: var(--church-space-xs);
  font-size: 0.85rem;
  font-weight: 600;
  opacity: 0.92;
}

.church-sidebar-context--secondary {
  font-weight: 400;
  opacity: 0.78;
  margin-top: 2px;
}

.church-branch-sidebar__brand .church-sidebar-brand .brand-name,
.church-member-sidebar__brand .church-sidebar-brand .brand-name {
  color: #fff;
}

.church-nav {
  display: none;
  gap: var(--church-space-lg);
}

.church-nav a {
  color: var(--church-charcoal);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
}

.church-nav a:hover {
  color: var(--church-violet);
}

.church-nav a:focus-visible {
  outline: 2px solid var(--church-violet);
  outline-offset: 3px;
  border-radius: 4px;
}

.church-header__actions {
  margin-left: auto;
  display: flex;
  gap: var(--church-space-sm);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.church-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--church-space-sm);
  padding: 10px var(--church-space-md);
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.church-btn:focus-visible {
  outline: 2px solid var(--church-violet);
  outline-offset: 2px;
}

.church-btn--primary {
  background: var(--church-violet);
  color: #fff;
}

.church-btn--primary:hover {
  background: var(--church-violet-dark);
}

.church-btn--outline {
  background: transparent;
  color: var(--church-violet-dark);
  border-color: var(--church-outline);
}

.church-btn--outline:hover {
  background: #fff;
  border-color: var(--church-violet);
}

.church-btn--ghost {
  background: transparent;
  color: var(--church-violet-dark);
}

.church-btn--ghost:hover {
  background: rgba(108, 92, 231, 0.08);
}

.church-btn--lg {
  padding: 14px var(--church-space-lg);
  font-size: 1rem;
}

/* Public page button policy (content CTAs; header keeps pill chrome) */
.church-btn--public-primary,
.church-btn--public-secondary,
.church-btn--public-text {
  min-height: var(--church-public-btn-min-height);
  padding: 10px var(--church-public-btn-padding-x);
  border-radius: var(--church-public-btn-radius);
  font-weight: var(--church-public-btn-font-weight);
}

.church-btn--public-primary {
  background: var(--church-violet);
  color: #fff;
  border-color: transparent;
}

.church-btn--public-primary:hover {
  background: var(--church-violet-dark);
}

.church-btn--public-secondary {
  background: transparent;
  color: var(--church-violet-dark);
  border-color: var(--church-outline);
}

.church-btn--public-secondary:hover {
  background: #fff;
  border-color: var(--church-violet);
}

.church-btn--public-text {
  background: transparent;
  color: var(--church-violet-dark);
  border-color: transparent;
  min-height: auto;
  padding: 4px 0;
  border-radius: 0;
}

.church-btn--public-text:hover {
  text-decoration: underline;
}

.church-body--branch main .church-btn:not(.church-btn--pill):not(.church-btn--mobile-pill),
.church-body--apex main .church-btn:not(.church-btn--pill):not(.church-btn--mobile-pill) {
  border-radius: var(--church-public-btn-radius);
  min-height: var(--church-public-btn-min-height);
  font-weight: var(--church-public-btn-font-weight);
}

.church-header .church-btn,
.church-drawer .church-btn {
  border-radius: 999px;
}

.church-hero {
  background:
    radial-gradient(circle at 70% 20%, rgba(108, 92, 231, 0.12), transparent 45%),
    radial-gradient(circle at 10% 80%, rgba(83, 65, 205, 0.06), transparent 40%),
    var(--church-surface);
  padding: var(--church-space-xl) var(--church-space-lg) 48px;
}

.church-hero__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  display: grid;
  gap: var(--church-space-xl);
}

.church-eyebrow {
  display: inline-block;
  padding: var(--church-space-xs) var(--church-space-md);
  border-radius: 999px;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-violet-dark);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin-bottom: var(--church-space-md);
}

.church-hero__title {
  margin: 0 0 var(--church-space-md);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--church-navy);
}

.church-hero__lead {
  margin: 0 0 var(--church-space-lg);
  max-width: 42rem;
  font-size: 1.05rem;
  color: var(--church-muted);
}

.church-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-hero__panel {
  display: grid;
  gap: var(--church-space-md);
}

.church-section {
  padding: 48px var(--church-space-lg);
}

.church-section--muted {
  background: #eaf5fa;
}

.church-section__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.church-section__header {
  margin-bottom: var(--church-space-lg);
}

.church-section__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.75rem;
  color: var(--church-navy);
}

.church-section__subtitle {
  margin: 0;
  color: var(--church-muted);
  max-width: 40rem;
}

.church-grid {
  display: grid;
  gap: var(--church-space-md);
}

.church-grid--events {
  grid-template-columns: 1fr;
}

.church-card {
  background: var(--church-surface-card);
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  padding: var(--church-space-lg);
  box-shadow: 0 8px 24px rgba(19, 29, 33, 0.04);
}

.church-card__icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: var(--church-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-violet-dark);
  margin-bottom: var(--church-space-md);
}

.church-card__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.1rem;
}

.church-card__body {
  margin: 0;
  color: var(--church-muted);
}

.church-card__body--pre {
  white-space: pre-line;
}

.church-card--event .church-card__event-icon,
.church-card--giving .church-card__event-icon {
  display: block;
  color: var(--church-violet);
  margin-bottom: var(--church-space-sm);
}

.church-giving {
  display: grid;
  gap: var(--church-space-lg);
}

.church-visit {
  text-align: center;
}

.church-footer {
  border-top: 1px solid var(--church-outline);
  background: var(--church-charcoal);
  color: #e7f3f7;
  padding: var(--church-space-lg);
}

.church-footer__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  text-align: center;
}

.church-footer__powered {
  margin: 0 0 var(--church-space-sm);
  font-weight: 600;
}

.church-footer__powered-sub {
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0.75;
  margin-top: 2px;
}

.church-footer__note {
  margin: 0;
  font-size: 0.875rem;
  opacity: 0.85;
}

@media (min-width: 768px) {
  .church-nav {
    display: flex;
  }

  .church-hero__inner {
    grid-template-columns: 1.2fr 0.8fr;
    align-items: start;
  }

  .church-grid--events {
    grid-template-columns: repeat(3, 1fr);
  }

  .church-giving {
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .church-header__actions .church-btn--ghost {
    display: none;
  }

  .church-header__actions .church-btn--primary {
    display: none;
  }

  .church-public-mobile-nav {
    display: none;
  }

  .church-menu-btn {
    display: inline-flex;
  }

  .church-nav {
    display: none;
  }

  .church-btn--mobile-pill {
    border-radius: var(--church-radius-xl);
    width: 100%;
    padding: 14px var(--church-space-md);
    font-size: 1rem;
  }

  .church-hero--desktop-layout {
    display: none;
  }

  .church-show-desktop-only {
    display: none !important;
  }

  .church-show-mobile-only {
    display: block;
  }

  .church-show-mobile-only--grid {
    display: grid;
    gap: var(--church-space-md);
    margin-bottom: var(--church-space-lg);
  }

  .church-auth-card {
    border-radius: var(--church-radius-xl);
    box-shadow: 0 8px 32px rgba(19, 29, 33, 0.08);
    margin: var(--church-space-md);
    width: calc(100% - 32px);
  }

  .church-member-sidebar {
    display: none;
  }

  .church-member-main {
    padding: 0 0 72px;
    max-width: none;
  }

  .church-member-mobile-topbar {
    display: flex;
  }

  .church-member-actions--buttons {
    display: none;
  }

  .church-member-bento {
    display: grid;
  }

  .church-member-panel {
    border: none;
    border-radius: 0;
    background: transparent;
    padding: var(--church-margin-mobile);
    margin-bottom: 0;
  }

  .church-member-panel + .church-member-panel {
    padding-top: var(--church-space-lg);
  }
}

.church-public-mobile-nav {
  display: none;
}

/* --- Auth screens (Phase 2) --- */

.church-body--auth {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.church-header--auth .church-header__inner {
  justify-content: space-between;
}

.church-auth-main {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--church-space-xl) var(--church-space-lg) 48px;
}

.church-auth-card {
  width: 100%;
  max-width: 480px;
  background: var(--church-surface-card);
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  padding: var(--church-space-xl);
  box-shadow: 0 12px 32px rgba(19, 29, 33, 0.06);
}

.church-auth-card--wide {
  max-width: 760px;
}

.church-auth-card--state {
  text-align: center;
}

.church-auth-card__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.75rem;
  color: var(--church-navy);
}

.church-auth-card__subtitle {
  margin: 0 0 var(--church-space-lg);
  color: var(--church-muted);
}

.church-auth-card__body {
  margin: 0 0 var(--church-space-lg);
  color: var(--church-muted);
}

.church-auth-card__footer {
  margin: var(--church-space-lg) 0 0;
  text-align: center;
  color: var(--church-muted);
  font-size: 0.95rem;
}

.church-auth-card__footer a {
  color: var(--church-violet-dark);
  font-weight: 600;
}

.church-auth-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
  justify-content: center;
}

.church-alert {
  padding: var(--church-space-md);
  border-radius: var(--church-radius);
  margin-bottom: var(--church-space-lg);
  font-size: 0.95rem;
}

.church-alert--error {
  background: #ffdad6;
  color: #93000a;
  border: 1px solid #ffb4ab;
}

.church-alert--success {
  background: #e8f5e9;
  color: #1b5e20;
  border: 1px solid #a5d6a7;
}

.church-alert--info {
  background: #eaf5fa;
  color: #283236;
  border: 1px solid #c8c4d7;
  margin-bottom: var(--church-space-lg);
}

.church-branch-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
  margin-top: var(--church-space-md);
}

.church-alert--warning {
  background: #fff8e1;
  color: #5d4037;
  border: 1px solid #ffe082;
  margin-bottom: var(--church-space-lg);
}

.church-alert--compact {
  margin-top: var(--church-space-md);
  margin-bottom: 0;
}

.church-branch-panel__hint {
  margin: 0 0 var(--church-space-md);
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-branch-dl--inline {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--church-space-md);
}

.church-branch-panel--placeholder {
  border-style: dashed;
  opacity: 0.92;
}

.church-field--narrow {
  max-width: 240px;
}

.church-form--spaced {
  margin-top: var(--church-space-lg);
}

.church-branch-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--church-space-md);
}

.church-body--hq-admin {
  background: var(--church-surface-dim);
}

.church-branch-sidebar--hq {
  background: #1f2937;
}

.church-branch-sidebar--hq .church-branch-nav-link--disabled {
  opacity: 0.45;
}

.church-hq-review-actions {
  display: grid;
  gap: var(--church-space-lg);
}

@media (min-width: 768px) {
  .church-hq-review-actions {
    grid-template-columns: 1fr 1fr;
  }
}

.church-branch-review-note--hq {
  border-left: 3px solid var(--church-primary);
  padding-left: var(--church-space-md);
}

.church-status-chip--warning {
  background: #fff8e1;
  color: #5d4037;
}

.church-form {
  display: grid;
  gap: var(--church-space-lg);
}

.church-form-section {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.church-form-section__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--church-violet-dark);
  margin-bottom: var(--church-space-md);
  padding: 0;
}

.church-form-grid {
  display: grid;
  gap: var(--church-space-md);
  grid-template-columns: 1fr 1fr;
}

.church-field {
  display: grid;
  gap: var(--church-space-xs);
}

.church-field--full {
  grid-column: 1 / -1;
}

.church-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--church-charcoal);
}

.church-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius);
  font: inherit;
  color: var(--church-navy);
  background: #fff;
}

.church-input:focus {
  outline: 2px solid rgba(108, 92, 231, 0.35);
  border-color: var(--church-violet);
}

.church-radio-row,
.church-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-radio,
.church-check {
  display: inline-flex;
  align-items: center;
  gap: var(--church-space-sm);
  font-size: 0.95rem;
  color: var(--church-muted);
}

.church-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--church-space-xs);
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--church-outline);
  font-size: 0.875rem;
  cursor: pointer;
  background: #fff;
}

.church-chip:has(input:checked) {
  background: rgba(108, 92, 231, 0.12);
  border-color: var(--church-violet);
  color: var(--church-violet-dark);
}

.church-chip input {
  accent-color: var(--church-violet);
}

.church-btn--block {
  width: 100%;
}

.church-state-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--church-space-md);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-violet);
}

.church-state-icon--pending {
  background: rgba(88, 96, 98, 0.12);
  color: var(--church-charcoal);
}

.church-footer--auth {
  margin-top: auto;
}

@media (max-width: 767px) {
  .church-form-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Branch admin (Phase 3) --- */

.church-body--branch-admin {
  background: #eef2f6;
}

.church-branch-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}

.church-branch-sidebar {
  background: var(--church-charcoal);
  color: #e7f3f7;
  display: flex;
  flex-direction: column;
  padding: var(--church-space-lg);
  gap: var(--church-space-lg);
}

.church-branch-sidebar__brand {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
}

.church-branch-sidebar__brand strong {
  display: block;
  font-size: 1rem;
}

.church-branch-sidebar__brand span {
  display: block;
  font-size: 0.85rem;
  opacity: 0.85;
}

.church-branch-sidebar__nav,
.church-branch-sidebar__footer {
  display: grid;
  gap: var(--church-space-sm);
}

.church-branch-sidebar__footer {
  margin-top: auto;
}

.church-branch-nav-link {
  color: #e7f3f7;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: var(--church-radius);
  font-size: 0.95rem;
}

.church-branch-nav-link:hover,
.church-branch-nav-link:focus {
  background: rgba(255, 255, 255, 0.08);
}

.church-branch-nav-link--disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.church-branch-nav-link--button {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.church-branch-main {
  padding: var(--church-space-xl);
}

.church-branch-topbar {
  margin-bottom: var(--church-space-lg);
}

.church-branch-topbar__title {
  margin: 0 0 var(--church-space-xs);
  font-size: 1.75rem;
  color: var(--church-navy);
}

.church-branch-topbar__subtitle {
  margin: 0;
  color: var(--church-muted);
}

.church-branch-back {
  display: inline-block;
  margin-bottom: var(--church-space-sm);
  color: var(--church-violet-dark);
  text-decoration: none;
  font-size: 0.9rem;
}

.church-branch-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-lg);
}

.church-branch-stat-card {
  background: #fff;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  padding: var(--church-space-lg);
}

.church-branch-stat-card--wide {
  grid-column: 1 / -1;
}

.church-branch-stat-card__label {
  display: block;
  font-size: 0.85rem;
  color: var(--church-muted);
  margin-bottom: var(--church-space-sm);
}

.church-branch-stat-card__value {
  font-size: 2rem;
  color: var(--church-navy);
}

.church-branch-stat-card__value--sm {
  font-size: 1.1rem;
  font-weight: 600;
}

.church-branch-stat-card__hint {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--church-muted, #64748b);
}

a.church-branch-stat-card--link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.church-branch-stat-card--link:hover {
  border-color: var(--church-primary);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.church-form--inline {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
  align-items: flex-end;
  margin-bottom: var(--church-space-lg);
}

.church-field--grow {
  flex: 1 1 240px;
}

.church-branch-notes {
  white-space: pre-wrap;
  font-family: inherit;
  margin: 0;
  background: transparent;
  border: 0;
  padding: 0;
}

.church-member-actions--card {
  margin-top: var(--church-space-md);
  display: flex;
  gap: var(--church-space-sm);
  flex-wrap: wrap;
}

.church-branch-panel {
  background: #fff;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  padding: var(--church-space-lg);
  margin-bottom: var(--church-space-lg);
}

.church-branch-panel__title {
  margin: 0 0 var(--church-space-md);
  font-size: 1.1rem;
}

.church-branch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-btn--disabled {
  opacity: 0.5;
  pointer-events: none;
}

.church-btn--sm {
  padding: 6px 12px;
  font-size: 0.8125rem;
}

.church-branch-table-wrap {
  overflow-x: auto;
}

.church-branch-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.church-branch-table th,
.church-branch-table td {
  padding: 12px;
  border-bottom: 1px solid var(--church-outline);
  text-align: left;
  vertical-align: top;
}

.church-branch-table th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--church-muted);
}

.church-status-chip {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

.church-status-chip--pending {
  background: #fff3cd;
  color: #856404;
}

.church-status-chip--verified {
  background: #e8f5e9;
  color: #1b5e20;
}

.church-status-chip--rejected {
  background: #ffdad6;
  color: #93000a;
}

.church-status-chip--suspended {
  background: #eceff1;
  color: #455a64;
}

.church-status-badge,
.church-type-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid transparent;
  white-space: nowrap;
}

.church-status-submitted {
  background: #fff3cd;
  color: #856404;
  border-color: #ffe082;
}

.church-status-reviewed {
  background: #dbeafe;
  color: #1e40af;
  border-color: #93c5fd;
}

.church-status-completed {
  background: #e8f5e9;
  color: #1b5e20;
  border-color: #a5d6a7;
}

.church-status-rejected {
  background: #ffdad6;
  color: #93000a;
  border-color: #fca5a5;
}

.church-type-badge {
  text-transform: none;
}

.church-type-member {
  background: #f3e8ff;
  color: #6b21a8;
  border-color: #d8b4fe;
}

.church-type-ministry-leader {
  background: #fef3c7;
  color: #92400e;
  border-color: #fcd34d;
}

.church-type-branch-admin {
  background: #e0e7ff;
  color: #3730a3;
  border-color: #a5b4fc;
}

.church-type-hq-admin {
  background: #ccfbf1;
  color: #0f766e;
  border-color: #5eead4;
}

.church-nav-count {
  display: inline-block;
  margin-left: 0.25rem;
  font-weight: 700;
}

.church-branch-empty {
  margin: 0;
  color: var(--church-muted);
}

.church-branch-profile-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--church-space-lg);
}

.church-branch-dl {
  display: grid;
  gap: var(--church-space-md);
  margin: 0;
}

.church-branch-dl dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--church-muted);
  margin-bottom: 2px;
}

.church-branch-dl dd {
  margin: 0;
  color: var(--church-navy);
}

.church-branch-review-note {
  margin-top: var(--church-space-lg);
  padding: var(--church-space-md);
  background: #f8f9ff;
  border-radius: var(--church-radius);
  border: 1px solid var(--church-outline);
}

.church-input--textarea {
  min-height: 88px;
  resize: vertical;
}

.church-form--spaced {
  margin-top: var(--church-space-lg);
  padding-top: var(--church-space-lg);
  border-top: 1px solid var(--church-outline);
}

@media (max-width: 960px) {
  .church-branch-layout {
    grid-template-columns: 1fr;
  }

  .church-branch-profile-grid {
    grid-template-columns: 1fr;
  }

  .church-member-layout {
    grid-template-columns: 1fr;
  }

  .church-member-sidebar {
    display: none;
  }

  .church-member-main {
    padding-bottom: 72px;
  }
}

@media (max-width: 767px) {
  .church-branch-sidebar--desktop {
    display: none;
  }

  .church-branch-mobile-topbar {
    display: flex;
  }

  .church-branch-main {
    padding-top: 0;
  }
}

/* Member portal */
.church-body--member-portal {
  background: var(--church-surface-dim);
}

.church-member-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}

.church-member-sidebar {
  background: var(--church-navy);
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: var(--church-space-lg);
  gap: var(--church-space-lg);
}

.church-member-sidebar__brand {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
}

.church-member-sidebar__brand strong,
.church-member-sidebar__brand span {
  display: block;
}

.church-member-sidebar__brand span {
  font-size: 0.875rem;
  opacity: 0.85;
}

.church-member-sidebar__nav,
.church-member-sidebar__footer {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-sm);
}

.church-member-nav-link {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  padding: 0.5rem 0;
  background: none;
  border: none;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.church-member-nav-link--button {
  width: 100%;
}

.church-member-main {
  padding: var(--church-space-lg);
  max-width: 960px;
}

.church-member-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-lg);
}

.church-member-header__eyebrow {
  margin: 0 0 0.25rem;
  font-size: 0.875rem;
  color: var(--church-muted);
}

.church-member-header__title {
  margin: 0;
  font-size: 1.5rem;
  color: var(--church-navy);
}

.church-member-header__subtitle {
  margin: 0.25rem 0 0;
  color: var(--church-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.church-member-header__subtitle .material-symbols-outlined {
  font-size: 18px;
  color: var(--church-primary);
}

.church-member-panel {
  background: #fff;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  padding: var(--church-space-lg);
  margin-bottom: var(--church-space-lg);
}

.church-member-panel__title {
  margin: 0 0 var(--church-space-md);
  font-size: 1.125rem;
}

.church-member-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-md);
}

.church-member-panel__head .church-member-panel__title {
  margin: 0;
}

.church-member-link {
  font-size: 0.875rem;
  color: var(--church-primary);
}

.church-member-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-member-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-md);
}

.church-member-list__item {
  padding-bottom: var(--church-space-md);
  border-bottom: 1px solid var(--church-outline);
}

.church-member-list__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.church-member-list__item p {
  margin: 0.35rem 0;
  color: var(--church-on-surface-variant);
}

.church-member-list__meta {
  font-size: 0.8125rem;
  color: var(--church-muted);
}

.church-member-list__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--church-space-md);
  text-decoration: none;
  color: inherit;
}

.church-member-empty {
  margin: 0;
  color: var(--church-muted);
}

.church-member-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-sm);
  list-style: none;
  margin: 0;
  padding: 0;
}

.church-member-tags li {
  background: #eef2ff;
  color: var(--church-primary);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8125rem;
}

.church-member-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid var(--church-outline);
  padding: 0.35rem 0.5rem;
  justify-content: space-around;
  z-index: 20;
}

.church-member-bottom-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 0.6875rem;
  color: var(--church-muted);
  text-decoration: none;
}

.church-member-bottom-nav__link .material-symbols-outlined {
  font-size: 1.25rem;
}

@media (max-width: 960px) {
  .church-member-bottom-nav {
    display: flex;
  }
}

.church-branch-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-sm);
  margin-bottom: var(--church-space-lg);
}

.church-branch-filter-tab {
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--church-outline);
  text-decoration: none;
  color: var(--church-navy);
  font-size: 0.8125rem;
}

.church-branch-filter-tab--active {
  background: var(--church-primary);
  border-color: var(--church-primary);
  color: #fff;
}

.church-preview-banner {
  background: #fef3c7;
  color: #92400e;
  text-align: center;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-bottom: 1px solid #fcd34d;
}

.church-nav__active {
  color: var(--church-primary);
  font-weight: 600;
}

.church-section--page {
  padding-top: var(--church-space-xl);
}

.church-section__subtitle--lead {
  font-size: 1.0625rem;
  max-width: 48rem;
}

.church-section__header--compact {
  margin-top: var(--church-space-lg);
}

.church-section__title--sm {
  font-size: 1.125rem;
}

.church-public-block {
  margin-top: var(--church-space-xl);
}

.church-public-block__title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: var(--church-space-sm);
}

.church-public-block__body {
  color: var(--church-muted);
  line-height: 1.6;
}

.church-public-list {
  list-style: disc;
  padding-left: 1.25rem;
  color: var(--church-muted);
}

.church-branch-panel--compact {
  margin-bottom: var(--church-space-md);
}

.church-card__body--muted {
  color: var(--church-muted);
  font-size: 0.9375rem;
}

.church-hq-branch-checklist {
  display: grid;
  gap: var(--church-space-sm);
  margin-top: var(--church-space-sm);
}

.church-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: var(--church-space-sm);
  font-size: 0.9375rem;
  color: var(--church-text);
}

.church-checkbox-row input {
  margin-top: 0.2rem;
}

.church-branch-inline-list {
  margin: 0;
  padding-left: 1.25rem;
}

.church-hq-analytics-note {
  margin-bottom: var(--church-space-md);
}

.church-branch-stats--compact {
  margin-bottom: var(--church-space-md);
}

.church-branch-panel__subtitle {
  font-size: 1rem;
  font-weight: 600;
  margin: var(--church-space-md) 0 var(--church-space-sm);
}

.church-audit-metadata {
  background: var(--church-surface-muted, #f8fafc);
  border: 1px solid var(--church-border, #e2e8f0);
  border-radius: var(--church-radius-md, 8px);
  padding: var(--church-space-md);
  overflow-x: auto;
  font-size: 0.875rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

.church-audit-table td {
  vertical-align: top;
}

.church-plan-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
  vertical-align: middle;
}

.church-plan-badge--standard {
  background: #dbeafe;
  color: #1d4ed8;
}

.church-plan-badge--pro {
  background: #ede9fe;
  color: #6d28d9;
}

.church-plan-lock {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #b45309;
  margin-left: 0.25rem;
}

.church-plan-premium-notice p {
  margin: 0.35rem 0 0;
}

.church-alert--error {
  background: #ffebee;
  color: #b71c1c;
  border: 1px solid #ef9a9a;
  margin-bottom: var(--church-space-lg);
}

.church-body--unavailable {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--church-surface, #f8f7fb);
}

.church-unavailable {
  width: 100%;
  max-width: 36rem;
  padding: 2rem 1.25rem;
}

.church-unavailable__card {
  text-align: center;
  background: #fff;
  border: 1px solid #e5e1ef;
  border-radius: 1rem;
  padding: 2.5rem 1.75rem;
  box-shadow: 0 8px 24px rgba(30, 20, 60, 0.06);
}

.church-unavailable__icon {
  font-size: 2.5rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

.church-unavailable__title {
  margin: 0 0 0.75rem;
  font-size: 1.35rem;
}

.church-unavailable__lead {
  margin: 0;
  color: #4b5563;
  line-height: 1.6;
}

.church-unavailable__actions {
  margin: 1.25rem 0 0;
}

.reset-timeline-section {
  margin-top: 0;
}

.reset-timeline-section__title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
}

.reset-timeline-section__empty,
.reset-timeline-section__notice {
  margin: 0;
  font-size: 0.92rem;
}

.reset-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.reset-timeline-item {
  display: grid;
  grid-template-columns: 1rem 1fr;
  gap: 0.75rem 1rem;
  padding-bottom: 1rem;
  position: relative;
}

.reset-timeline-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 0.4rem;
  top: 1rem;
  bottom: 0;
  width: 2px;
  background: #e5e7eb;
}

.reset-timeline-dot {
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 999px;
  background: #94a3b8;
  margin-top: 0.2rem;
  position: relative;
  z-index: 1;
}

.reset-timeline-dot--submitted { background: #6366f1; }
.reset-timeline-dot--reviewed { background: #0ea5e9; }
.reset-timeline-dot--completed { background: #16a34a; }
.reset-timeline-dot--rejected { background: #dc2626; }

.reset-timeline-body {
  min-width: 0;
}

.reset-timeline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: baseline;
}

.reset-timeline-label {
  font-size: 0.95rem;
}

.reset-timeline-date {
  font-size: 0.82rem;
  color: #64748b;
}

.reset-timeline-actor,
.reset-timeline-status {
  margin: 0.2rem 0 0;
  font-size: 0.85rem;
}

.reset-timeline-note {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: #334155;
}

.reset-timeline-badge {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.72rem;
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

.church-branch-panel .reset-timeline-section__title {
  font-size: 1rem;
}

/* --- Stitch design alignment (BlessBoard visual pass) --- */
/* Note: .church-show-mobile-only / .church-menu-btn visibility is controlled in
   the max-width:767 and min-width:768 blocks above/below — do not reset display here. */

.church-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--church-radius);
  background: var(--church-primary);
  color: var(--church-on-primary);
  flex-shrink: 0;
}

.church-brand-mark .material-symbols-outlined {
  font-size: 20px;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-brand--branch .church-brand__text {
  color: var(--church-primary);
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: -0.01em;
}

.church-menu-btn {
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--church-muted);
  cursor: pointer;
  border-radius: var(--church-radius);
  margin-left: auto;
}

.church-menu-btn:hover {
  background: var(--church-surface-container-low);
}

.church-menu-btn:focus-visible {
  outline: 2px solid var(--church-violet);
  outline-offset: 2px;
}

.church-menu-btn .material-symbols-outlined {
  font-size: 28px;
}

.church-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(19, 29, 33, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.church-drawer-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.church-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 70;
  width: min(320px, 88vw);
  height: 100%;
  background: var(--church-surface-card);
  box-shadow: -8px 0 32px rgba(19, 29, 33, 0.12);
  transform: translateX(100%);
  transition: transform 0.25s ease;
  display: flex;
  flex-direction: column;
  padding: var(--church-space-lg);
  gap: var(--church-space-lg);
  overflow-y: auto;
}

.church-drawer.is-open {
  transform: translateX(0);
}

.church-drawer__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--church-space-md);
}

.church-drawer__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--church-navy);
}

.church-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border: none;
  background: var(--church-surface-container-low);
  border-radius: 999px;
  cursor: pointer;
  color: var(--church-navy);
}

.church-drawer__nav {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-xs);
}

.church-drawer__nav a {
  display: block;
  min-height: 44px;
  padding: 12px var(--church-space-md);
  border-radius: var(--church-radius-xl);
  text-decoration: none;
  color: var(--church-navy);
  font-weight: 500;
}

.church-drawer__nav a:hover,
.church-drawer__nav a.church-drawer__link--active {
  background: var(--church-surface-container-low);
  color: var(--church-primary);
}

.church-drawer__nav a:focus-visible {
  outline: 2px solid var(--church-violet);
  outline-offset: 2px;
}

.church-drawer__close:focus-visible {
  outline: 2px solid var(--church-violet);
  outline-offset: 2px;
}

.church-drawer__actions {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-sm);
  margin-top: auto;
  padding-top: var(--church-space-lg);
  border-top: 1px solid var(--church-outline);
}

.glass-card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.church-branch-mobile-hero {
  position: relative;
  min-height: 751px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--church-space-xl) var(--church-margin-mobile);
  overflow: hidden;
}

.church-branch-mobile-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(to top, var(--church-surface) 0%, rgba(241, 251, 255, 0.45) 38%, rgba(241, 251, 255, 0.08) 70%, transparent 100%),
    url("https://images.unsplash.com/photo-1438237991924-4e287e6f8b42?auto=format&fit=crop&w=1200&q=80") center / cover no-repeat;
}

.church-branch-mobile-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--church-space-md);
}

.church-branch-mobile-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--church-space-sm);
  align-self: flex-start;
  padding: 4px var(--church-space-sm);
  border-radius: 999px;
  background: rgba(108, 92, 231, 0.1);
  border: 1px solid rgba(108, 92, 231, 0.2);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--church-primary);
}

.church-branch-mobile-hero__badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--church-primary);
}

.church-branch-mobile-hero__title {
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: 600;
  color: var(--church-navy);
  max-width: 18rem;
}

.church-branch-mobile-hero__lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--church-on-surface-variant);
  max-width: 20rem;
}

.church-branch-mobile-hero__cta {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-sm);
  padding-top: var(--church-space-sm);
}

.church-service-scroller {
  padding: var(--church-space-xl) 0;
}

.church-service-scroller__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 var(--church-margin-mobile) var(--church-space-md);
}

.church-service-scroller__head h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
}

.church-service-scroller__link {
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
}

.church-service-scroller__track {
  display: flex;
  gap: var(--church-space-md);
  overflow-x: auto;
  padding: 0 var(--church-margin-mobile) var(--church-space-md);
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.church-service-scroller__track::-webkit-scrollbar {
  display: none;
}

.church-service-card {
  flex: 0 0 16rem;
  scroll-snap-align: center;
  padding: var(--church-space-md);
  border-radius: var(--church-radius-2xl);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
}

.church-service-card--accent {
  background: var(--church-primary-container);
  border-color: transparent;
  color: var(--church-on-primary);
}

.church-service-card__label {
  display: flex;
  align-items: center;
  gap: var(--church-space-sm);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: var(--church-space-sm);
  color: var(--church-primary);
}

.church-service-card--accent .church-service-card__label {
  color: inherit;
  opacity: 0.85;
}

.church-service-card__time {
  margin: 0 0 var(--church-space-xs);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

.church-service-card__detail {
  margin: 0;
  font-size: 0.875rem;
  color: var(--church-on-surface-variant);
}

.church-service-card--accent .church-service-card__detail {
  color: inherit;
  opacity: 0.85;
}

.church-bento-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--church-space-md);
}

.church-bento-item--wide {
  grid-column: span 2;
}

.church-bento-tile {
  position: relative;
  border-radius: var(--church-radius-3xl);
  overflow: hidden;
  min-height: 11rem;
  background: var(--church-surface-container);
  display: block;
  text-decoration: none;
  color: inherit;
}

.church-bento-tile--wide {
  min-height: 10rem;
}

.church-bento-tile__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.65), transparent 55%),
    radial-gradient(circle at 70% 30%, rgba(108, 92, 231, 0.45), transparent 60%),
    var(--church-surface-container-high, #dfeaef);
}

.church-bento-tile--photo-1 .church-bento-tile__bg {
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.65), transparent 50%),
    url("https://images.unsplash.com/photo-1503454537195-1dcabb73ffb9?auto=format&fit=crop&w=900&q=70") center / cover no-repeat;
}

.church-bento-tile--photo-2 .church-bento-tile__bg {
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.65), transparent 50%),
    url("https://images.unsplash.com/photo-1529070538774-18480ccac004?auto=format&fit=crop&w=800&q=70") center / cover no-repeat;
}

.church-bento-tile--photo-3 .church-bento-tile__bg {
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.65), transparent 50%),
    url("https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=800&q=70") center / cover no-repeat;
}

.church-bento-tile__title {
  position: absolute;
  left: var(--church-space-md);
  bottom: var(--church-space-md);
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

.church-event-row {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  padding: var(--church-space-md);
  border-radius: var(--church-radius-2xl);
  border: 1px solid rgba(200, 196, 215, 0.35);
  background: var(--church-surface-container-low);
  text-decoration: none;
  color: inherit;
}

.church-event-row__date {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--church-radius-xl);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
  color: var(--church-primary);
  text-transform: uppercase;
  font-size: 0.6875rem;
  font-weight: 600;
}

.church-event-row__date strong {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  margin-top: 2px;
}

.church-event-row__body {
  min-width: 0;
}

.church-event-row__body h3 {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 600;
}

.church-event-row__body p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--church-on-surface-variant);
  display: flex;
  align-items: center;
  gap: 4px;
}

.church-event-row__chevron {
  color: var(--church-muted);
  opacity: 0.4;
  margin-left: auto;
  flex-shrink: 0;
}

.church-home-section-title {
  margin: 0 0 var(--church-space-md);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--church-navy);
}

.church-location-card {
  margin: 0 var(--church-margin-mobile) var(--church-space-xl);
  background: var(--church-surface-container-lowest);
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-3xl);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(19, 29, 33, 0.04);
}

.church-location-card__map {
  position: relative;
  height: 12rem;
}

.church-location-card__map-img {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 55% 48%, rgba(108, 92, 231, 0.35) 0 10px, transparent 12px),
    linear-gradient(135deg, #d9e4e9 0%, #eaf5fa 45%, #c8c4d7 100%);
}

.church-location-card__nav {
  position: absolute;
  right: var(--church-space-md);
  bottom: var(--church-space-md);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #fff;
  color: var(--church-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(19, 29, 33, 0.15);
  text-decoration: none;
}

.church-location-card__body {
  padding: var(--church-space-lg);
}

.church-location-card__body h3 {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.25rem;
  font-weight: 600;
}

.church-location-card__body > p {
  margin: 0;
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-location-card__nearby {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  margin-top: var(--church-space-md);
  font-size: 0.6875rem;
  color: var(--church-muted);
}

.church-location-card__avatars {
  display: flex;
}

.church-location-card__avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 2px solid #fff;
  margin-left: -8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 700;
}

.church-location-card__avatar:first-child {
  margin-left: 0;
}

.church-location-card__avatar--1 {
  background: var(--church-primary-container);
  color: #faf6ff;
}

.church-location-card__avatar--2 {
  background: #dae1e3;
  color: #5d6466;
}

.church-location-card__avatar--3 {
  background: #707273;
  color: #f7f8f9;
}

.church-home-ministries,
.church-home-events,
.church-home-giving {
  padding: 0 var(--church-margin-mobile) var(--church-space-xl);
}

.church-home-events__list {
  display: grid;
  gap: var(--church-space-md);
}

.church-home-events__all {
  display: block;
  text-align: center;
  margin-top: var(--church-space-md);
  padding: var(--church-space-md);
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
}

.church-home-giving__card {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  background: var(--church-charcoal);
  color: #faf6ff;
  padding: var(--church-space-xl);
  text-align: center;
}

.church-home-giving__card::before {
  content: "";
  position: absolute;
  top: -20%;
  right: -20%;
  width: 16rem;
  height: 16rem;
  border-radius: 999px;
  background: var(--church-primary-container);
  opacity: 0.2;
  filter: blur(80px);
}

.church-home-giving__icon {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  margin: 0 auto var(--church-space-md);
  border-radius: var(--church-radius-2xl);
  background: rgba(108, 92, 231, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #faf6ff;
}

.church-home-giving__icon .material-symbols-outlined {
  font-size: 32px;
}

.church-home-giving__card h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 var(--church-space-md);
  font-size: 1.5rem;
  font-weight: 600;
}

.church-home-giving__card p {
  position: relative;
  z-index: 1;
  margin: 0 0 var(--church-space-md);
  color: #c1c8ca;
  font-size: 0.875rem;
}

.church-home-giving__card .church-btn {
  position: relative;
  z-index: 1;
}

.church-btn--pill {
  border-radius: 999px;
}

.church-fab-chat {
  position: fixed;
  right: var(--church-space-lg);
  bottom: var(--church-space-lg);
  width: 56px;
  height: 56px;
  border-radius: var(--church-radius-2xl);
  background: var(--church-primary);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 32px rgba(83, 65, 205, 0.35);
  z-index: 40;
  text-decoration: none;
}

@media (max-width: 767px) {
  .church-body--branch .church-fab-chat {
    display: inline-flex;
  }
}

/* Apex header chrome follows the shared public 900px breakpoint (see :root).
   Do not reintroduce a 767px apex header switch — it caused mixed header/content. */

.church-member-mobile-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 30;
  align-items: center;
  justify-content: space-between;
  gap: var(--church-space-md);
  height: 64px;
  padding: 0 var(--church-margin-mobile);
  background: rgba(241, 251, 255, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
}

.church-member-mobile-topbar__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.church-member-mobile-topbar__brand strong {
  font-size: 1.125rem;
  color: var(--church-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.church-member-mobile-topbar__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--church-primary);
  cursor: pointer;
}

.church-member-bento {
  display: none;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--church-space-md);
}

.church-member-bento__tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--church-space-md);
  border-radius: var(--church-radius-2xl);
  border: 1px solid rgba(200, 196, 215, 0.35);
  background: var(--church-surface-container-low);
  text-decoration: none;
  color: var(--church-navy);
  transition: background 0.15s ease, transform 0.15s ease;
}

.church-member-bento__tile:hover {
  background: var(--church-surface-container);
}

.church-member-bento__tile .material-symbols-outlined {
  font-size: 28px;
  color: var(--church-primary);
  margin-bottom: 12px;
}

.church-member-bento__tile span:last-child {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}

.church-member-announcement-card {
  display: flex;
  gap: var(--church-space-md);
  padding: 12px;
  border-radius: var(--church-radius-2xl);
  background: var(--church-surface-container-low);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.church-member-announcement-card__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--church-radius-xl);
  background: var(--church-surface-container);
  color: var(--church-muted);
}

.church-status-chip--pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
}

.church-status-chip--pill .material-symbols-outlined {
  font-size: 14px;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-section--page .church-section__title {
  font-size: clamp(1.75rem, 4vw, 2rem);
  letter-spacing: -0.01em;
}

.church-card {
  border-radius: var(--church-radius-2xl);
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.06);
}

@media (min-width: 768px) {
  .church-show-mobile-only {
    display: none !important;
  }

  .church-menu-btn,
  .church-drawer,
  .church-drawer-overlay {
    display: none !important;
  }

  .church-member-mobile-topbar {
    display: none !important;
  }

  .church-member-bento {
    display: none !important;
  }

  .church-hero--desktop-layout {
    display: block;
  }

  .church-branch-mobile-topbar,
  .church-drawer--admin {
    display: none !important;
  }
}

/* --- Priority screen polish (BlessBoard v31) --- */

.church-page-hero {
  position: relative;
  min-height: 12rem;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.church-page-hero__media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(241, 251, 255, 0.15), var(--church-surface)),
    radial-gradient(circle at 20% 20%, rgba(108, 92, 231, 0.25), transparent 55%),
    url("https://images.unsplash.com/photo-1507692049790-de58290a4334?auto=format&fit=crop&w=1400&q=80") center / cover no-repeat;
}

.church-page-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--church-max-width);
  margin: 0 auto;
  padding: var(--church-space-xl) var(--church-margin-mobile);
}

.church-page-hero__title {
  margin: 0 0 var(--church-space-xs);
  font-size: clamp(1.75rem, 4vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.church-page-hero__subtitle {
  margin: 0;
  color: var(--church-on-surface-variant);
}

.church-section--content .church-section__inner {
  max-width: var(--church-max-width);
}

.church-page-intro {
  margin-bottom: var(--church-space-xl);
}

.church-content-card,
.church-public-card {
  background: var(--church-public-card-bg);
  border: var(--church-public-card-border);
  border-radius: var(--church-public-card-radius);
  box-shadow: var(--church-public-card-shadow);
  padding: var(--church-public-card-padding);
  margin-bottom: var(--church-space-lg);
}

.church-content-card__head {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-md);
}

.church-content-card__icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--church-radius);
  background: var(--church-primary-container);
  color: var(--church-on-primary);
}

.church-content-card__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
}

.church-content-card__body {
  margin: 0;
  color: var(--church-on-surface-variant);
  line-height: 1.6;
}

.church-mission-grid {
  display: grid;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-xl);
}

.church-mission-card {
  border-radius: var(--church-radius-xl);
  padding: var(--church-space-lg);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-high);
}

.church-mission-card--primary {
  background: var(--church-primary-container);
  border-color: transparent;
  color: var(--church-on-primary);
}

.church-mission-card__icon {
  font-size: 32px;
  margin-bottom: var(--church-space-sm);
}

.church-mission-card__icon--accent {
  color: var(--church-primary);
}

.church-mission-card__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.25rem;
  font-weight: 600;
}

.church-mission-card__body {
  margin: 0;
  line-height: 1.6;
}

.church-mission-card--primary .church-mission-card__body {
  opacity: 0.92;
}

.church-values-section {
  margin-bottom: var(--church-space-xl);
}

.church-values-list {
  display: grid;
  gap: var(--church-space-sm);
}

.church-value-row {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
  padding: var(--church-space-md);
  border-radius: var(--church-radius-lg);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
}

.church-value-row__icon {
  color: var(--church-primary);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-value-row__title {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 600;
}

.church-value-row__body {
  margin: 0;
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-location-card {
  border-radius: var(--church-radius-xl);
  overflow: hidden;
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.06);
}

.church-location-card__map {
  position: relative;
  min-height: 12rem;
  background:
    linear-gradient(135deg, var(--church-surface-container), var(--church-surface-dim)),
    url("https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&w=1200&q=60") center / cover no-repeat;
}

.church-location-card__map--short {
  min-height: 10rem;
}

.church-location-card__pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--church-primary);
  color: var(--church-on-primary);
  box-shadow: 0 4px 16px rgba(83, 65, 205, 0.35);
}

.church-location-card__body {
  padding: var(--church-space-lg);
}

.church-location-card__name {
  margin: 0 0 var(--church-space-xs);
  font-size: 1.125rem;
  font-weight: 600;
}

.church-location-card__address {
  margin: 0 0 var(--church-space-md);
  color: var(--church-on-surface-variant);
}

.church-leader-feature {
  display: grid;
  gap: var(--church-space-lg);
  margin-bottom: var(--church-space-xl);
  border-radius: var(--church-radius-xl);
  overflow: hidden;
  background: var(--church-primary-container);
  color: var(--church-on-primary);
}

.church-leader-feature__media {
  min-height: 16rem;
  background: linear-gradient(135deg, rgba(19, 29, 33, 0.35), transparent),
    var(--church-surface-container);
  display: flex;
  align-items: center;
  justify-content: center;
}

.church-leader-avatar {
  width: 80px;
  height: 80px;
  border-radius: var(--church-radius-lg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--church-surface-container);
  color: var(--church-primary);
  font-weight: 700;
  font-size: 1.25rem;
}

.church-leader-avatar--lg {
  width: 120px;
  height: 120px;
  font-size: 2rem;
  border-radius: var(--church-radius-xl);
}

.church-leader-feature__body {
  padding: var(--church-space-lg);
}

.church-leader-feature__badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--church-primary);
  color: var(--church-on-primary);
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: var(--church-space-sm);
}

.church-leader-feature__name {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.75rem;
  font-weight: 600;
}

.church-leader-feature__bio {
  margin: 0;
  opacity: 0.92;
  line-height: 1.6;
}

.church-leader-grid {
  display: grid;
  gap: var(--church-space-md);
}

.church-leader-row {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
  padding: var(--church-space-md);
  border-radius: var(--church-radius-xl);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.05);
}

.church-leader-row__name {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 600;
}

.church-leader-row__role {
  margin: 0;
  color: var(--church-primary);
  font-size: 0.8125rem;
  font-weight: 600;
}

.church-contact-quick {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-xl);
}

.church-contact-quick__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--church-space-sm);
  padding: var(--church-space-lg);
  border-radius: var(--church-radius-xl);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-high);
  text-decoration: none;
  color: var(--church-navy);
  font-weight: 600;
  min-height: 7rem;
}

.church-contact-quick__btn--primary {
  background: var(--church-primary-container);
  border-color: transparent;
  color: var(--church-on-primary);
}

.church-contact-quick__btn .material-symbols-outlined {
  font-size: 32px;
}

.church-contact-layout {
  display: grid;
  gap: var(--church-space-xl);
}

.church-contact-form-panel {
  background: var(--church-surface-container);
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-xl);
  padding: var(--church-space-lg);
}

.church-contact-form-panel__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.125rem;
  font-weight: 600;
}

.church-contact-form-panel__note {
  margin: 0 0 var(--church-space-md);
  font-size: 0.875rem;
  color: var(--church-muted);
}

.church-contact-detail-card {
  display: flex;
  gap: var(--church-space-md);
  padding: var(--church-space-md);
  border-radius: var(--church-radius-lg);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
  margin-bottom: var(--church-space-md);
}

.church-contact-detail-card h3 {
  margin: 0 0 4px;
  font-size: 0.875rem;
  font-weight: 600;
}

.church-contact-detail-card p {
  margin: 0;
}

.church-sermon-grid {
  display: grid;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-lg);
}

.church-sermon-card {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: var(--church-space-md);
  padding: var(--church-space-md);
  border-radius: var(--church-radius-xl);
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest);
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.05);
}

.church-sermon-card__media {
  border-radius: var(--church-radius-lg);
  background: var(--church-surface-container-low);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--church-primary);
  min-height: 96px;
}

.church-sermon-card__media .material-symbols-outlined {
  font-size: 36px;
}

.church-sermon-card__meta {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-primary);
}

.church-sermon-card__title {
  margin: 0 0 4px;
  font-size: 1.0625rem;
  font-weight: 600;
}

.church-sermon-card__speaker {
  margin: 0 0 var(--church-space-sm);
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-sermon-card__cta {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--church-primary);
  text-decoration: none;
}

.church-content-note {
  display: flex;
  gap: var(--church-space-sm);
  align-items: flex-start;
  padding: var(--church-space-md);
  border-radius: var(--church-radius-lg);
  background: var(--church-surface-container-low);
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
  margin-bottom: var(--church-space-lg);
}

.church-empty-state,
.church-public-empty-state {
  text-align: center;
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  border: 1px dashed var(--church-outline);
  background: var(--church-surface-container-lowest);
  box-shadow: none;
}

.church-empty-state--compact,
.church-public-empty-state--compact {
  margin-top: var(--church-space-lg);
  padding: var(--church-space-lg);
}

.church-empty-state__icon,
.church-public-empty-state__icon {
  font-size: 40px;
  color: var(--church-primary);
  margin-bottom: var(--church-space-sm);
}

.church-empty-state__title,
.church-public-empty-state__title {
  margin: 0 0 var(--church-space-xs);
  font-weight: 600;
  font-size: var(--church-public-section-title-size);
  color: var(--church-text);
}

.church-empty-state__body,
.church-public-empty-state__body {
  margin: 0 0 var(--church-space-md);
  color: var(--church-on-surface-variant);
  font-size: var(--church-public-body-size);
}

/* Shared public typography utilities (opt-in; does not override tenant brand) */
.church-public-eyebrow {
  display: inline-block;
  font-size: var(--church-public-eyebrow-size);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-violet-dark);
}

.church-public-page-title {
  margin: 0 0 var(--church-space-md);
  font-size: var(--church-public-page-title-size);
  font-weight: 700;
  line-height: 1.2;
  color: var(--church-navy);
}

.church-public-section-title {
  margin: 0 0 var(--church-space-sm);
  font-size: var(--church-public-section-title-size);
  font-weight: 600;
  color: var(--church-navy);
}

.church-public-body {
  margin: 0;
  font-size: var(--church-public-body-size);
  line-height: 1.6;
  color: var(--church-on-surface-variant);
}

.church-public-meta {
  margin: 0;
  font-size: var(--church-public-meta-size);
  color: var(--church-muted);
}

/* Opt-in public content container (pages adopt without forcing full-bleed heroes) */
.church-public-container {
  max-width: var(--church-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--church-margin-mobile);
  padding-right: var(--church-margin-mobile);
  box-sizing: border-box;
}

@media (min-width: 900px) {
  .church-public-container {
    padding-left: var(--church-margin-desktop);
    padding-right: var(--church-margin-desktop);
  }
}

.church-resource-list {
  display: grid;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-md);
}

.church-resource-row {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  padding: var(--church-space-md);
  border-radius: var(--church-radius-xl);
  border: 1px solid rgba(200, 196, 215, 0.35);
  background: var(--church-surface-container-low);
}

.church-resource-row__icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--church-radius);
  background: var(--church-surface-container);
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-resource-row__body {
  flex: 1;
  min-width: 0;
}

.church-resource-row__title {
  margin: 0 0 2px;
  font-size: 1rem;
  font-weight: 600;
}

.church-resource-row__meta {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--church-on-surface-variant);
}

.church-resource-row__badge {
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-primary);
  background: rgba(83, 65, 205, 0.1);
  padding: 4px 10px;
  border-radius: 999px;
}

.church-branch-mobile-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 25;
  align-items: center;
  gap: var(--church-space-md);
  min-height: 56px;
  padding: 0 var(--church-margin-mobile);
  background: rgba(238, 242, 246, 0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(200, 196, 215, 0.45);
}

.church-branch-mobile-topbar__menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--church-charcoal);
  border-radius: var(--church-radius);
  cursor: pointer;
}

.church-branch-mobile-topbar__brand {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.church-branch-mobile-topbar__brand strong {
  font-size: 0.9375rem;
  color: var(--church-primary);
}

.church-branch-mobile-topbar__brand span {
  font-size: 0.75rem;
  color: var(--church-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.church-drawer__nav--admin a,
.church-drawer__nav--admin .church-branch-nav-link {
  display: block;
  padding: 12px var(--church-space-md);
  border-radius: var(--church-radius-xl);
  text-decoration: none;
  color: var(--church-navy);
  font-weight: 500;
  background: transparent;
}

.church-drawer__nav--admin a:hover,
.church-drawer__nav--admin .church-branch-nav-link:hover {
  background: var(--church-surface-container-low);
  color: var(--church-primary);
}

@media (min-width: 768px) {
  .church-mission-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-contact-layout {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .church-leader-feature {
    grid-template-columns: 280px 1fr;
  }

  .church-leader-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-sermon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-section--content .church-section__inner {
    padding-left: var(--church-space-lg);
    padding-right: var(--church-space-lg);
  }
}

@media (min-width: 1024px) {
  .church-sermon-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --- Operational readiness polish (BlessBoard v32) --- */
.church-contact-alert {
  margin-bottom: var(--church-space-md);
}

.church-giving-page {
  display: grid;
  gap: var(--church-space-lg);
}

.church-giving-options .church-grid {
  display: grid;
  gap: var(--church-space-md);
}

.church-giving-fallback {
  display: grid;
  gap: var(--church-space-md);
}

.church-giving-card {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
  padding: var(--church-space-md);
  border-radius: var(--church-radius-lg);
  background: var(--church-surface);
  border: 1px solid var(--church-border);
  box-shadow: var(--church-shadow-sm);
}

.church-giving-card__icon {
  font-size: 1.75rem;
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-giving-card__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.church-giving-card__body {
  margin: 0;
  color: var(--church-text-muted);
  line-height: 1.5;
}

.church-giving-card--office {
  border-color: color-mix(in srgb, var(--church-primary) 25%, var(--church-border));
}

.church-ministry-grid {
  display: grid;
  gap: var(--church-space-md);
}

.church-ministry-tile {
  display: flex;
  gap: var(--church-space-md);
  padding: var(--church-space-md);
  border-radius: var(--church-radius-lg);
  background: var(--church-surface);
  border: 1px solid var(--church-border);
  box-shadow: var(--church-shadow-sm);
}

.church-ministry-tile__avatar {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--church-primary) 12%, white);
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-ministry-tile__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.church-ministry-tile__desc {
  margin: 0 0 0.5rem;
  color: var(--church-text-muted);
  line-height: 1.45;
}

.church-ministry-tile__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  font-size: 0.875rem;
  color: var(--church-text-muted);
}

.church-ministry-tile__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.church-ministry-tile__meta .material-symbols-outlined {
  font-size: 1rem;
}

.church-ministry-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: var(--church-space-md);
}

.church-ministry-filter {
  border: 1px solid var(--church-border);
  background: var(--church-surface);
  color: var(--church-text);
  border-radius: 999px;
  padding: 0.4rem 0.9rem;
  font: inherit;
  cursor: pointer;
}

.church-ministry-filter.is-active {
  background: var(--church-primary);
  border-color: var(--church-primary);
  color: #fff;
}

.church-field-hint {
  margin: 0.35rem 0 0;
  font-size: 0.85rem;
  color: var(--church-text-muted);
}

.church-branch-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.church-branch-list {
  display: grid;
  gap: 0.5rem;
}

.church-branch-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--church-border);
  border-radius: var(--church-radius-md);
  text-decoration: none;
  color: inherit;
}

.church-branch-list__item:hover {
  border-color: var(--church-primary);
}

@media (min-width: 768px) {
  .church-giving-options .church-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-ministry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .church-ministry-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --- Apex platform desktop nav refresh v63 --- */

.church-header--apex {
  background: rgba(241, 251, 255, 0.92);
  border-bottom-color: rgba(200, 196, 215, 0.45);
}

.church-header--apex .church-header__inner {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  height: 72px;
  padding-top: 0;
  padding-bottom: 0;
  gap: 16px;
  position: relative;
}

.church-header--apex .church-brand {
  flex-shrink: 0;
  justify-self: start;
}

.church-nav--apex {
  position: static;
  left: auto;
  transform: none;
  gap: 24px;
  max-width: none;
  justify-content: center;
  justify-self: center;
  flex-wrap: nowrap;
  min-width: 0;
}

.church-nav--apex > a,
.church-nav--apex .church-nav-dropdown__trigger {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--church-muted);
  padding: 4px 0;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}

.church-nav--apex a.church-nav__active,
.church-nav--apex a:hover,
.church-nav--apex .church-nav-dropdown__trigger.church-nav__active,
.church-nav--apex .church-nav-dropdown__trigger:hover {
  color: var(--church-primary);
  border-bottom-color: var(--church-primary);
}

.church-header--apex .church-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  justify-self: end;
}

.church-header__admin-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--church-muted);
  text-decoration: none;
  white-space: nowrap;
  padding: 8px 4px;
  border-radius: 4px;
}

.church-header__admin-link:hover,
.church-header__admin-link:focus-visible {
  color: var(--church-primary);
  outline: 2px solid rgba(108, 92, 231, 0.35);
  outline-offset: 2px;
}

.church-header--apex .church-header__cta {
  flex-shrink: 0;
}

.church-nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.church-nav-dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
  line-height: 1.3;
}

.church-nav-dropdown__trigger:focus-visible {
  outline: 2px solid rgba(108, 92, 231, 0.35);
  outline-offset: 2px;
}

.church-nav-dropdown__chevron {
  font-size: 1.125rem;
  line-height: 1;
  transition: transform 0.15s ease;
}

.church-nav-dropdown.is-open .church-nav-dropdown__chevron,
.church-nav-dropdown:focus-within .church-nav-dropdown__chevron {
  transform: rotate(180deg);
}

.church-nav-dropdown__menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 208px;
  max-width: 240px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.55);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(53, 38, 98, 0.12);
  z-index: 120;
}

.church-nav-dropdown__menu[hidden] {
  display: none !important;
}

.church-nav-dropdown.is-open .church-nav-dropdown__menu,
.church-nav-dropdown:focus-within .church-nav-dropdown__menu {
  display: block !important;
}

.church-nav-dropdown__menu a {
  display: block;
  padding: 10px 16px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--church-text);
  text-decoration: none;
  border-bottom: none;
  white-space: nowrap;
}

.church-nav-dropdown__menu a:hover,
.church-nav-dropdown__menu a:focus-visible {
  background: rgba(108, 92, 231, 0.08);
  color: var(--church-primary);
  outline: none;
}

.church-nav-dropdown__menu a.church-nav-dropdown__link--active {
  color: var(--church-primary);
  font-weight: 600;
}

@media (min-width: 900px) and (max-width: 1179px) {
  .church-nav--apex {
    gap: 20px;
  }

  .church-nav--apex > a,
  .church-nav--apex .church-nav-dropdown__trigger {
    font-size: 0.875rem;
  }

  .church-header--apex .church-header__actions {
    gap: 8px;
  }

  .church-header__admin-link {
    font-size: 0.8125rem;
  }
}

@media (min-width: 1180px) {
  .church-nav--apex {
    gap: 24px;
  }
}

.church-header--apex .church-header__actions .church-btn--ghost {
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
}

.church-body--apex {
  background: #f1fbff;
}

.church-header--apex + main,
.church-body--apex > main {
  /* keep sticky header clear for hero */
}

.bb-saas-hero {
  position: relative;
  overflow: hidden;
  min-height: min(921px, calc(100vh - 72px));
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 70% 30%, rgba(108, 92, 231, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(83, 65, 205, 0.05) 0%, transparent 40%),
    #f1fbff;
  padding: var(--church-space-xl) var(--church-space-xl) 64px;
}

.bb-saas-hero__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  width: 100%;
  display: grid;
  gap: var(--church-space-xl);
  align-items: center;
}

.bb-saas-pill {
  display: inline-block;
  padding: var(--church-space-xs) var(--church-space-md);
  border-radius: 999px;
  background: #e4dfff;
  color: #4029ba;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: var(--church-space-lg);
}

.bb-saas-hero__title {
  margin: 0 0 var(--church-space-lg);
  font-size: clamp(2.25rem, 4.5vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: var(--church-navy);
  max-width: 18ch;
}

.bb-saas-hero__brand {
  color: var(--church-primary);
}

.bb-saas-hero__lead {
  margin: 0 0 var(--church-space-xl);
  max-width: 36rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--church-muted);
}

.bb-saas-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.bb-saas-btn--pill {
  border-radius: 999px;
}

.bb-saas-proof {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  margin-top: var(--church-space-xl);
}

.bb-saas-proof__avatars {
  display: flex;
}

.bb-saas-proof__avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 2px solid #f1fbff;
  margin-left: -12px;
  background-size: cover;
  background-position: center;
}

.bb-saas-proof__avatar:first-child {
  margin-left: 0;
}

.bb-saas-proof__avatar--1 {
  background-image: url("https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=80&q=60");
}

.bb-saas-proof__avatar--2 {
  background-image: url("https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=80&q=60");
}

.bb-saas-proof__avatar--3 {
  background-image: url("https://images.unsplash.com/photo-1438761681033-6461ffad8d80?auto=format&fit=crop&w=80&q=60");
}

.bb-saas-proof__text {
  margin: 0;
  font-size: 0.6875rem;
  color: var(--church-muted);
}

.bb-saas-proof__text strong {
  color: var(--church-navy);
}

.bb-saas-hero__visual {
  position: relative;
}

.bb-saas-hero__glow {
  position: absolute;
  top: -3rem;
  right: -3rem;
  width: 16rem;
  height: 16rem;
  border-radius: 999px;
  background: #c6bfff;
  opacity: 0.2;
  filter: blur(48px);
}

.bb-saas-hero__frame {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(200, 196, 215, 0.35);
  box-shadow: 0 24px 64px rgba(19, 29, 33, 0.18);
}

.bb-saas-hero__img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.bb-saas-stat {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  padding: var(--church-space-lg);
  border-radius: 0.75rem;
}

.bb-saas-stat__icon {
  width: 40px;
  height: 40px;
  border-radius: 0.5rem;
  background: var(--church-primary-container);
  color: #faf6ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bb-saas-stat__label {
  margin: 0;
  font-size: 0.6875rem;
  color: var(--church-muted);
}

.bb-saas-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  color: var(--church-navy);
}

.bb-saas-features {
  background: #fff;
  padding: 64px var(--church-space-xl);
}

.bb-saas-features__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.bb-saas-features__header {
  text-align: center;
  margin-bottom: 48px;
}

.bb-saas-features__title {
  margin: 0 0 var(--church-space-md);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--church-navy);
}

.bb-saas-features__subtitle {
  margin: 0 auto;
  max-width: 40rem;
  color: var(--church-muted);
  font-size: 1rem;
}

.bb-saas-bento {
  display: grid;
  gap: var(--church-space-lg);
  grid-template-columns: 1fr;
}

.bb-saas-bento__card {
  background: #f1fbff;
  border: 1px solid var(--church-outline);
  border-radius: 0.75rem;
  padding: var(--church-space-xl);
  transition: box-shadow 0.2s ease;
}

.bb-saas-bento__card:hover {
  box-shadow: 0 12px 32px rgba(19, 29, 33, 0.08);
}

.bb-saas-bento__card h3 {
  margin: 0 0 var(--church-space-md);
  font-size: 1.25rem;
  font-weight: 600;
}

.bb-saas-bento__card p {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

.bb-saas-bento__icon {
  width: 48px;
  height: 48px;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--church-space-lg);
}

.bb-saas-bento__icon--primary {
  background: var(--church-primary-container);
  color: #faf6ff;
}

.bb-saas-bento__icon--secondary {
  background: #dae1e3;
  color: #5d6466;
}

.bb-saas-bento__icon--tertiary {
  background: #e1e3e4;
  color: #454748;
}

.bb-saas-bento__checks {
  list-style: none;
  margin: var(--church-space-lg) 0 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-sm);
}

.bb-saas-bento__checks li {
  display: flex;
  align-items: center;
  gap: var(--church-space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-on-surface-variant);
}

.bb-saas-bento__checks .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1rem;
}

.bb-saas-bento__split {
  display: grid;
  gap: var(--church-space-xl);
}

.bb-saas-bento__mock {
  background: #eaf5fa;
  border-radius: 0.5rem;
  padding: var(--church-space-md);
  min-height: 200px;
}

.bb-saas-mock-dir {
  background: #fff;
  border-radius: 0.5rem;
  border: 1px solid rgba(200, 196, 215, 0.35);
  padding: var(--church-space-md);
  box-shadow: 0 4px 16px rgba(19, 29, 33, 0.06);
}

.bb-saas-mock-dir__head {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
  margin-bottom: var(--church-space-md);
}

.bb-saas-mock-dir__row {
  display: flex;
  gap: var(--church-space-md);
  align-items: center;
  padding: var(--church-space-sm) 0;
  border-top: 1px solid #eaf5fa;
}

.bb-saas-mock-dir__row span {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(135deg, #c6bfff, #6c5ce7);
  flex-shrink: 0;
}

.bb-saas-mock-dir__row strong {
  display: block;
  font-size: 0.8125rem;
}

.bb-saas-mock-dir__row small {
  color: var(--church-muted);
  font-size: 0.6875rem;
}

.bb-saas-bento__illus {
  position: relative;
  min-height: 160px;
  border-radius: 0.5rem;
  background: #d9e4e9;
  overflow: hidden;
}

.bb-saas-coord-orb {
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #c6bfff, #6c5ce7);
  top: 24%;
  left: 20%;
  box-shadow: 0 8px 24px rgba(83, 65, 205, 0.25);
}

.bb-saas-coord-orb--2 {
  width: 48px;
  height: 48px;
  top: 45%;
  left: 55%;
  background: radial-gradient(circle at 30% 30%, #fff, #5341cd);
}

.bb-saas-coord-orb--3 {
  width: 36px;
  height: 36px;
  top: 20%;
  left: 62%;
  background: radial-gradient(circle at 30% 30%, #e4dfff, #4029ba);
}

.bb-saas-cta {
  position: relative;
  overflow: hidden;
  background: var(--church-charcoal);
  padding: 64px var(--church-space-xl);
}

.bb-saas-cta::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 24rem;
  height: 24rem;
  margin-right: -12rem;
  margin-top: -12rem;
  border-radius: 999px;
  background: var(--church-primary);
  opacity: 0.1;
  filter: blur(100px);
}

.bb-saas-cta__inner {
  position: relative;
  z-index: 1;
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.bb-saas-cta__card {
  background: rgba(217, 228, 233, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.5rem;
  padding: 48px var(--church-space-xl);
  text-align: center;
}

.bb-saas-cta__card h2 {
  margin: 0 0 var(--church-space-md);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  color: #c6bfff;
}

.bb-saas-cta__card p {
  margin: 0 auto var(--church-space-xl);
  max-width: 36rem;
  color: #c1c8ca;
  font-size: 1rem;
}

.bb-saas-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
  justify-content: center;
}

.bb-saas-btn--cta-primary {
  background: #e4dfff;
  color: #160066;
  border-color: transparent;
}

.bb-saas-btn--cta-primary:hover {
  background: var(--church-primary-container);
  color: #faf6ff;
}

.bb-saas-btn--cta-outline {
  background: transparent;
  color: #c6bfff;
  border-color: #787586;
}

.bb-saas-btn--cta-outline:hover {
  background: rgba(255, 255, 255, 0.08);
}

.bb-saas-hero__admin-link {
  margin: var(--church-space-md) 0 0;
  font-size: 0.875rem;
}

.bb-saas-hero__admin-link a {
  color: var(--church-primary);
  font-weight: 600;
  text-decoration: none;
}

.bb-saas-hero__admin-link a:hover {
  text-decoration: underline;
}

.bb-platform-section__title {
  margin: 0 0 var(--church-space-sm);
  font-size: var(--church-public-section-title-size);
  font-weight: 700;
  color: var(--church-text);
  line-height: 1.25;
}

.bb-platform-section__subtitle {
  margin: 0 0 var(--church-space-lg);
  color: var(--church-muted);
  font-size: 1rem;
  line-height: 1.55;
  max-width: 42rem;
}

.bb-platform-pathways {
  padding: var(--church-space-xl) var(--church-margin-mobile);
}

.bb-platform-pathways__inner,
.bb-platform-steps__inner,
.bb-platform-demo__inner,
.bb-platform-page__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.bb-platform-pathways__grid {
  display: grid;
  gap: var(--church-space-md);
  grid-template-columns: 1fr;
}

.bb-platform-pathways__card {
  background: var(--church-public-card-bg);
  border: var(--church-public-card-border);
  border-radius: var(--church-public-card-radius);
  box-shadow: var(--church-public-card-shadow);
  padding: var(--church-public-card-padding);
}

.bb-platform-pathways__card h3 {
  margin: var(--church-space-sm) 0 var(--church-space-xs);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--church-text);
}

.bb-platform-pathways__card p {
  margin: 0 0 var(--church-space-md);
  color: var(--church-muted);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.bb-platform-pathways__link {
  color: var(--church-primary);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
}

.bb-platform-pathways__link:hover {
  text-decoration: underline;
}

.bb-platform-features__grid {
  display: grid;
  gap: var(--church-space-md);
  grid-template-columns: 1fr;
}

.bb-platform-features__group h3 {
  margin: 0 0 var(--church-space-md);
  font-size: 1.0625rem;
  font-weight: 600;
}

.bb-platform-steps {
  padding: var(--church-space-xl) var(--church-margin-mobile);
  background: var(--church-surface-card);
}

.bb-platform-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-lg);
}

.bb-platform-steps__item {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
}

.bb-platform-steps__num {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-primary);
  font-weight: 700;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bb-platform-steps__item h3 {
  margin: 0 0 var(--church-space-xs);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--church-text);
}

.bb-platform-steps__item p {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.bb-platform-demo {
  padding: var(--church-space-xl) var(--church-margin-mobile);
}

.bb-platform-demo__inner {
  background: var(--church-surface-container-low);
  border: var(--church-public-card-border);
  border-radius: var(--church-public-card-radius);
  padding: var(--church-space-xl);
}

.bb-platform-page {
  padding: var(--church-space-xl) var(--church-margin-mobile) calc(var(--church-space-xl) * 2);
}

.bb-platform-page__eyebrow {
  margin: 0 0 var(--church-space-sm);
  font-size: var(--church-public-eyebrow-size);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--church-primary);
}

.bb-platform-page__title {
  margin: 0 0 var(--church-space-md);
  font-size: var(--church-public-page-title-size);
  font-weight: 700;
  color: var(--church-text);
  line-height: 1.2;
}

.bb-platform-page__lead {
  margin: 0;
  color: var(--church-muted);
  font-size: 1.0625rem;
  line-height: 1.55;
  max-width: 42rem;
}

.bb-platform-page__header {
  margin-bottom: var(--church-space-xl);
}

.church-public-prose h2 {
  margin: var(--church-space-xl) 0 var(--church-space-sm);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--church-text);
}

.church-public-prose p,
.church-public-prose li {
  color: var(--church-muted);
  line-height: 1.6;
  font-size: 1rem;
}

.church-public-prose ul,
.church-public-prose ol {
  padding-left: 1.25rem;
  margin: 0 0 var(--church-space-md);
}

.church-public-prose a {
  color: var(--church-primary);
  font-weight: 600;
}

.bb-platform-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-sm);
  margin-top: var(--church-space-lg);
}

.bb-platform-page__note {
  margin-top: var(--church-space-md);
  font-size: 0.875rem;
  color: var(--church-muted);
}

.bb-platform-form-page {
  padding: var(--church-space-xl) var(--church-margin-mobile) calc(var(--church-space-xl) * 2);
}

.bb-platform-form-page__inner {
  max-width: 36rem;
  margin: 0 auto;
}

.bb-platform-form-page__alert {
  margin-bottom: var(--church-space-lg);
}

.bb-platform-form {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-md);
}

.bb-platform-form__row {
  display: grid;
  gap: var(--church-space-md);
}

@media (min-width: 640px) {
  .bb-platform-form__row {
    grid-template-columns: 1fr 1fr;
  }
}

.bb-platform-form-page__note {
  margin-top: var(--church-space-lg);
  font-size: 0.875rem;
  color: var(--church-muted);
}

.church-field--checkbox {
  margin-top: var(--church-space-xs);
}

.church-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--church-text);
  cursor: pointer;
}

.church-checkbox input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.church-input--error {
  border-color: var(--church-error, #c0392b);
}

.bb-platform-demo-page__next {
  margin-top: var(--church-space-xl);
  padding-top: var(--church-space-lg);
  border-top: 1px solid rgba(200, 196, 215, 0.35);
}

.bb-platform-demo-explore {
  margin-top: var(--church-space-lg);
}

.bb-platform-demo-explore__list {
  list-style: none;
  margin: var(--church-space-md) 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.bb-platform-demo-explore__item {
  min-width: 0;
}

.bb-platform-demo-explore__link {
  display: block;
  padding: 16px 18px;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.bb-platform-demo-explore__link:hover,
.bb-platform-demo-explore__link:focus-visible {
  border-color: color-mix(in srgb, var(--church-primary) 45%, var(--church-outline));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--church-primary) 12%, transparent);
  outline: none;
}

.bb-platform-demo-explore__label {
  display: block;
  font-weight: 600;
  color: var(--church-navy);
  margin-bottom: 4px;
}

.bb-platform-demo-explore__desc {
  display: block;
  font-size: 0.92rem;
  color: var(--church-muted);
  line-height: 1.45;
}

.bb-platform-demo-explore__note {
  margin: var(--church-space-md) 0 0;
  font-size: 0.875rem;
  color: var(--church-muted);
}

.bb-platform-faq__list {
  display: grid;
  gap: 10px;
  margin-top: var(--church-space-lg);
}

.bb-platform-faq__item {
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  background: #fff;
  overflow: hidden;
}

.bb-platform-faq__question {
  padding: 16px 18px;
  font-weight: 600;
  color: var(--church-navy);
  cursor: pointer;
  list-style: none;
}

.bb-platform-faq__question::-webkit-details-marker {
  display: none;
}

.bb-platform-faq__question::after {
  content: "+";
  float: right;
  font-weight: 700;
  color: var(--church-primary);
}

.bb-platform-faq__item[open] .bb-platform-faq__question::after {
  content: "−";
}

.bb-platform-faq__question:focus-visible {
  outline: 2px solid var(--church-primary);
  outline-offset: -2px;
}

.bb-platform-faq__answer {
  padding: 0 18px 16px;
  color: var(--church-text);
  line-height: 1.55;
}

.bb-platform-faq__answer p {
  margin: 0 0 0.75rem;
}

.bb-platform-info-hero {
  padding: calc(var(--church-space-xl) * 1.25) var(--church-margin-mobile) var(--church-space-xl);
  background: linear-gradient(180deg, var(--church-surface) 0%, var(--church-surface-card) 100%);
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
}

.bb-platform-info-hero__inner,
.bb-platform-info-section__inner,
.bb-platform-info-cta__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.bb-platform-info-hero__title {
  margin: 0 0 var(--church-space-md);
  font-size: var(--church-public-page-title-size);
  font-weight: 700;
  color: var(--church-text);
  line-height: 1.2;
  max-width: 20ch;
}

.bb-platform-info-hero__lead {
  margin: 0;
  max-width: 42rem;
  color: var(--church-muted);
  font-size: 1.0625rem;
  line-height: 1.55;
}

.bb-platform-info-section {
  padding: var(--church-space-xl) var(--church-margin-mobile);
}

.bb-platform-info-section--alt {
  background: var(--church-surface-card);
}

.bb-platform-info-section__card {
  max-width: 48rem;
}

.bb-platform-info-section__card h2 {
  margin: var(--church-space-md) 0 var(--church-space-sm);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--church-text);
}

.bb-platform-info-section__card p {
  margin: 0 0 var(--church-space-md);
  color: var(--church-muted);
  line-height: 1.55;
}

.bb-platform-info-cta {
  padding: var(--church-space-xl) var(--church-margin-mobile) calc(var(--church-space-xl) * 2);
  background: var(--church-surface-container-low);
  border-top: 1px solid rgba(200, 196, 215, 0.35);
}

.bb-platform-info-cta__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--church-text);
}

.bb-platform-info-cta__lead {
  margin: 0 0 var(--church-space-lg);
  color: var(--church-muted);
  max-width: 36rem;
  line-height: 1.55;
}

/* —— Apex pricing page (Stitch BlessBoard Pricing desktop/mobile) —— */
.church-body--apex .bb-platform-pricing-plans {
  padding: var(--church-space-xl) var(--church-margin-mobile) calc(var(--church-space-xl) * 1.25);
}

.church-body--apex .bb-platform-pricing-plans__inner,
.church-body--apex .bb-platform-pricing-compare__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.church-body--apex .bb-platform-pricing-plans__header {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto var(--church-space-xl);
}

.church-body--apex .bb-platform-pricing-plans__grid {
  display: grid;
  gap: var(--church-space-lg);
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.church-body--apex .bb-platform-pricing-card {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-md);
  padding: calc(var(--church-space-lg) + 4px);
  border-radius: 1rem;
  border: 1px solid rgba(200, 196, 215, 0.45);
  background: #fff;
  box-shadow: 0 8px 24px rgba(19, 29, 33, 0.05);
  min-height: 100%;
}

.church-body--apex .bb-platform-pricing-card--featured {
  border-color: var(--church-primary);
  box-shadow: 0 12px 32px rgba(108, 92, 231, 0.14);
  position: relative;
}

.church-body--apex .bb-platform-pricing-card__badge {
  margin: 0;
  align-self: flex-start;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-primary);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.church-body--apex .bb-platform-pricing-card__name {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--church-text);
  line-height: 1.2;
}

.church-body--apex .bb-platform-pricing-card__desc {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9375rem;
  line-height: 1.55;
  min-height: 3.1em;
}

.church-body--apex .bb-platform-pricing-card__price {
  margin: 0;
  padding: var(--church-space-md) 0;
  border-top: 1px solid rgba(200, 196, 215, 0.35);
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
}

.church-body--apex .bb-platform-pricing-card__price-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.25rem;
}

.church-body--apex .bb-platform-pricing-card__price-value {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--church-text);
  line-height: 1.2;
}

.church-body--apex .bb-platform-pricing-card__limits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-sm);
}

.church-body--apex .bb-platform-pricing-card__limits li {
  display: flex;
  align-items: center;
  gap: var(--church-space-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--church-on-surface-variant);
}

.church-body--apex .bb-platform-pricing-card__limits .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1.125rem;
}

.church-body--apex .bb-platform-pricing-card__features {
  flex: 1;
  margin-top: 0;
}

.church-body--apex .bb-platform-pricing-card__features li {
  font-size: 0.8125rem;
}

.church-body--apex .bb-platform-pricing-card__cta {
  margin-top: auto;
  width: 100%;
  justify-content: center;
}

.church-body--apex .bb-platform-pricing-compare {
  padding: 0 var(--church-margin-mobile) calc(var(--church-space-xl) * 1.5);
}

.church-body--apex .bb-platform-pricing-compare__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(200, 196, 215, 0.45);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(19, 29, 33, 0.04);
}

.church-body--apex .bb-platform-pricing-compare__table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.church-body--apex .bb-platform-pricing-compare__table th,
.church-body--apex .bb-platform-pricing-compare__table td {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
  text-align: center;
  vertical-align: middle;
}

.church-body--apex .bb-platform-pricing-compare__table thead th {
  background: var(--church-surface-container-low);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--church-text);
}

.church-body--apex .bb-platform-pricing-compare__table tbody th {
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--church-on-surface-variant);
  background: #fff;
  position: sticky;
  left: 0;
  z-index: 1;
  box-shadow: 1px 0 0 rgba(200, 196, 215, 0.35);
}

.church-body--apex .bb-platform-pricing-compare__table tbody tr:last-child th,
.church-body--apex .bb-platform-pricing-compare__table tbody tr:last-child td {
  border-bottom: none;
}

.church-body--apex .bb-platform-pricing-compare__yes {
  display: inline-flex;
  color: var(--church-primary);
}

.church-body--apex .bb-platform-pricing-compare__yes .material-symbols-outlined {
  font-size: 1.25rem;
}

.church-body--apex .bb-platform-pricing-compare__no {
  color: var(--church-muted);
  font-weight: 600;
}

@media (min-width: 768px) {
  .church-body--apex .bb-platform-pricing-plans__grid {
    grid-template-columns: repeat(2, minmax(280px, 1fr));
  }

  .church-body--apex .bb-platform-pricing-plans__grid .bb-platform-pricing-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 28rem;
    justify-self: center;
    width: 100%;
  }
}

@media (min-width: 1100px) {
  .church-body--apex .bb-platform-pricing-plans__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .church-body--apex .bb-platform-pricing-plans__grid .bb-platform-pricing-card:last-child:nth-child(odd) {
    grid-column: auto;
    max-width: none;
    justify-self: stretch;
  }

  .church-body--apex .bb-platform-pricing-card--featured {
    transform: translateY(-6px);
  }

  .church-body--apex .bb-platform-pricing-card__desc {
    min-height: 4.65em;
  }
}

.bb-saas-features__subtitle a {
  color: var(--church-primary);
  font-weight: 600;
  text-decoration: none;
}

.bb-saas-features__subtitle a:hover {
  text-decoration: underline;
}

.church-footer--apex {
  background: #fff;
  color: var(--church-muted);
  border-top: 1px solid var(--church-outline);
}

.church-footer__inner--apex {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-lg);
  align-items: flex-start;
  text-align: left;
}

.church-footer__brand-row {
  display: flex;
  align-items: center;
  gap: var(--church-space-xs);
  color: var(--church-primary);
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: var(--church-space-sm);
}

.church-footer__copy {
  margin: 0;
  font-size: 0.875rem;
  color: var(--church-muted);
}

.church-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-xl);
}

.church-footer__links a {
  color: var(--church-muted);
  font-size: 0.875rem;
  text-decoration: none;
  opacity: 0.85;
}

.church-footer__links a:hover {
  color: var(--church-primary);
  opacity: 1;
}

.church-footer--branch {
  background: #fff;
  color: var(--church-muted);
  border-top: 1px solid var(--church-outline);
}

.church-footer__inner--branch {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--church-space-lg);
  text-align: center;
}

.church-footer__branch-brand {
  display: flex;
  align-items: center;
  gap: var(--church-space-sm);
  color: var(--church-primary);
  font-weight: 600;
}

.church-footer__branch-icon {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: rgba(88, 96, 98, 0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--church-muted);
}

.church-footer__branch-icon .material-symbols-outlined {
  font-size: 16px;
}

.church-footer__branch-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--church-space-md);
}

.church-footer__branch-links a {
  color: var(--church-muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
}

.church-footer__branch-meta p {
  margin: 0;
  font-size: 0.875rem;
  opacity: 0.7;
}

.church-footer__powered-line {
  margin-top: var(--church-space-xs) !important;
  color: var(--church-primary) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  opacity: 1 !important;
}

@media (min-width: 768px) {
  .church-header--apex {
    position: sticky;
  }

  .church-header--apex .church-header__inner {
    position: relative;
  }

  .church-nav--apex {
    display: flex;
  }

  .bb-saas-hero__inner {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }

  .bb-saas-bento {
    grid-template-columns: repeat(12, 1fr);
  }

  .bb-saas-bento__card {
    grid-column: span 4;
  }

  .bb-saas-bento__card--wide {
    grid-column: span 8;
  }

  .bb-saas-bento__split {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }

  .bb-saas-bento__split--coord .bb-saas-bento__illus {
    order: 0;
  }

  .bb-saas-cta__card {
    padding: 64px;
  }

  .bb-platform-pathways,
  .bb-platform-steps,
  .bb-platform-demo,
  .bb-platform-page,
  .bb-platform-info-hero,
  .bb-platform-info-section,
  .bb-platform-info-cta {
    padding-left: var(--church-margin-desktop);
    padding-right: var(--church-margin-desktop);
  }

  .bb-platform-pathways__grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .bb-platform-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .church-footer__inner--apex {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .bb-saas-hero {
    min-height: 0;
    padding: var(--church-space-xl) var(--church-margin-mobile);
  }

  .bb-saas-hero__title {
    max-width: none;
  }

  .bb-saas-features,
  .bb-saas-cta {
    padding: 48px var(--church-margin-mobile);
  }

  .bb-saas-stat {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    padding: var(--church-space-md);
  }

  .church-body--apex .church-header__actions .church-btn--primary {
    padding: 8px 14px;
    font-size: 0.75rem;
  }
}

/* --- Public homepage pixel fidelity v34 --- */

.home-mobile-design { display: none; }
.home-desktop-design { display: block; }

.church-body--branch-home .church-footer--branch.home-mobile-design {
  display: none;
}

.church-body--branch-home .church-fab-chat.home-mobile-design {
  display: none !important;
}

/* Branch public header: BlessBoard lockup removed — tenant brand is primary */
.church-brand--branch-desktop {
  display: none;
}

.church-brand--branch-mobile {
  display: none;
}

.church-header--branch .church-header__inner {
  position: relative;
}

.church-header--branch .church-header__inner--tenant {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.church-brand--tenant {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: min(420px, 46vw);
  color: var(--church-navy);
  text-decoration: none;
}

.church-brand--tenant:focus-visible {
  outline: 2px solid var(--church-primary);
  outline-offset: 3px;
  border-radius: 8px;
}

.church-brand__logo {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--church-surface-container);
}

.church-brand-mark--fallback {
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

.church-brand-mark__initials {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.church-brand__identity {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 1px;
}

.church-brand__name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--church-navy);
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.church-brand__branch {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--church-muted);
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.church-brand--tenant-compact {
  max-width: calc(100% - 48px);
}

.church-brand--tenant-compact .church-brand__name {
  font-size: 0.95rem;
}

.church-drawer__head--tenant {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.church-drawer__head--tenant .church-brand--tenant {
  max-width: calc(100% - 48px);
}

.church-nav--branch {
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 20px;
}

.church-nav--branch a,
.church-nav--branch .church-nav-dropdown__trigger {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--church-muted);
  padding: 4px 0;
  border-bottom: 2px solid transparent;
}

.church-nav--branch a.church-nav__active,
.church-nav--branch a:hover,
.church-nav--branch .church-nav-dropdown__trigger.church-nav__active,
.church-nav--branch .church-nav-dropdown__trigger:hover {
  color: var(--church-primary);
  border-bottom-color: var(--church-primary);
}

.church-nav--branch .church-nav-dropdown__trigger {
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: pointer;
  font-family: inherit;
  line-height: inherit;
}

.church-nav--branch .church-nav-dropdown__menu a {
  font-size: 0.875rem;
  border-bottom: none;
  padding: 10px 16px;
}

.church-nav--branch .church-nav-dropdown__menu a.church-nav-dropdown__link--active {
  color: var(--church-primary);
  font-weight: 600;
}

@media (min-width: 900px) and (max-width: 1100px) {
  .church-body--branch .church-nav--branch {
    gap: 14px;
  }

  .church-nav--branch a,
  .church-nav--branch .church-nav-dropdown__trigger {
    font-size: 0.875rem;
  }
}

.church-header--branch .church-header__actions .church-btn--ghost {
  color: var(--church-primary);
  font-size: 0.8125rem;
  font-weight: 600;
}

.church-header--branch .church-header__actions .church-btn--pill {
  border-radius: 999px;
  padding-inline: 18px;
  font-size: 0.8125rem;
}

/* Public dual-layout + header: max-width 899px = mobile (see --church-public-bp). */
@media (max-width: 899px) {
  .home-desktop-design { display: none !important; }
  .home-mobile-design { display: block !important; }

  .church-body--branch .church-nav--branch,
  .church-body--branch .church-header__actions {
    display: none !important;
  }

  .church-body--branch .church-menu-btn {
    display: inline-flex !important;
    margin-left: auto;
  }

  .church-body--branch .church-brand--tenant {
    display: inline-flex !important;
    max-width: calc(100% - 56px);
  }

  .church-body--branch .church-brand--branch-desktop,
  .church-body--branch .church-brand--branch-mobile {
    display: none !important;
  }

  .church-body--branch-home .church-header--branch .church-header__inner {
    height: 56px;
    padding: 8px 16px;
  }

  .church-body--branch-home .church-footer--branch.home-mobile-design {
    display: block !important;
  }

  .church-body--branch-home .church-fab-chat.home-mobile-design {
    display: inline-flex !important;
  }

  .church-branch-mobile-hero.home-mobile-design {
    display: flex !important;
  }
}

/* Public dual-layout + header: min-width 900px = desktop (see --church-public-bp). */
@media (min-width: 900px) {
  .home-mobile-design { display: none !important; }
  .home-desktop-design { display: block !important; }

  .church-body--branch .church-header--branch .church-header__inner {
    height: 64px;
    padding-top: 0;
    padding-bottom: 0;
    gap: 20px;
  }

  .church-body--branch .church-brand--branch-mobile,
  .church-body--branch .church-brand--branch-desktop {
    display: none !important;
  }

  .church-body--branch .church-brand--tenant {
    display: inline-flex !important;
    flex-shrink: 1;
    max-width: min(360px, 32vw);
  }

  .church-body--branch .church-nav--branch {
    display: flex !important;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    gap: 20px;
  }

  .church-body--branch .church-header__actions {
    display: flex !important;
    margin-left: auto;
    flex-wrap: nowrap;
  }

  .church-body--branch .church-menu-btn {
    display: none !important;
  }

  .church-body--branch-home .church-footer--apex.home-desktop-design {
    display: block !important;
  }
}

/* Mobile hero — Stitch sanctuary asset */
.church-branch-mobile-hero__media {
  background: none;
}

.church-branch-mobile-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.church-branch-mobile-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    #f1fbff 0%,
    rgba(241, 251, 255, 0.92) 18%,
    rgba(241, 251, 255, 0.55) 42%,
    rgba(241, 251, 255, 0.12) 68%,
    transparent 100%
  );
  z-index: 1;
}

.church-branch-mobile-hero__content {
  z-index: 2;
}

.church-branch-mobile-hero__title {
  font-size: 1.75rem;
  line-height: 1.2;
  max-width: none;
}

.church-branch-mobile-hero__lead {
  max-width: none;
}

/* Map card — Stitch map asset, crop to map area (exclude phone chrome) */
.church-location-card__map {
  height: 12rem;
  overflow: hidden;
  background: #eaf5fa;
}

.church-location-card__map-img {
  position: absolute;
  left: 50%;
  top: 52%;
  width: 220%;
  height: 220%;
  max-width: none;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center 55%;
}

.church-location-card__nav {
  z-index: 2;
  background: #fff;
  color: var(--church-primary);
}

/* Ministry tiles — Stitch assets */
.church-bento-tile--photo-1 .church-bento-tile__bg {
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.7), transparent 55%),
    url("/church/images/homepage/mobile-ministry-children.jpg") center / cover no-repeat;
}

.church-bento-tile--photo-2 .church-bento-tile__bg {
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.7), transparent 55%),
    url("/church/images/homepage/mobile-ministry-youth.jpg") center / cover no-repeat;
}

.church-bento-tile--photo-3 .church-bento-tile__bg {
  background:
    linear-gradient(to top, rgba(19, 29, 33, 0.7), transparent 55%),
    url("/church/images/homepage/mobile-ministry-worship.jpg") center / cover no-repeat;
}

.church-bento-tile--wide {
  min-height: 10rem;
}

.church-bento-tile:not(.church-bento-tile--wide) {
  min-height: 11rem;
}

/* Desktop SaaS refinements */
.bb-saas-hero {
  min-height: 720px;
  padding: 72px 32px 80px;
}

.bb-saas-hero__title {
  font-size: clamp(2.5rem, 4vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 14ch;
}

.bb-saas-hero__lead {
  max-width: 32rem;
  margin-bottom: 32px;
}

.bb-saas-proof__avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 2px solid #f1fbff;
  margin-left: -12px;
  object-fit: cover;
  display: block;
}

.bb-saas-proof__avatar:first-child {
  margin-left: 0;
}

.bb-saas-hero__frame {
  border-radius: 16px;
}

.bb-saas-hero__img {
  aspect-ratio: 4 / 3;
}

.bb-saas-bento__shot {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 4px 16px rgba(19, 29, 33, 0.08);
}

.bb-saas-bento__mock,
.bb-saas-bento__illus {
  background: #eaf5fa;
  border-radius: 8px;
  padding: 12px;
  min-height: 0;
  overflow: hidden;
}

.bb-saas-bento__illus {
  position: relative;
}

.bb-saas-features {
  padding: 80px 32px;
}

.bb-saas-cta {
  padding: 80px 32px;
}

.bb-saas-cta__card {
  padding: 64px;
}

@media (max-width: 899px) {
  .church-body--apex .bb-saas-hero {
    min-height: 0;
    padding: 32px 16px;
  }

  .church-body--apex .bb-saas-hero__title {
    max-width: none;
  }

  .church-body--apex .bb-saas-features,
  .church-body--apex .bb-saas-cta {
    padding: 48px 16px;
  }

  .church-body--apex .bb-saas-cta__card {
    padding: 32px 20px;
  }

  .church-body--apex .church-header--apex .church-nav--apex,
  .church-body--apex .church-header--apex .church-header__actions {
    display: none !important;
  }

  .church-body--apex .church-menu-btn {
    display: inline-flex !important;
    margin-left: auto;
  }
}

/* Apex hash targets clear sticky header */
.church-body--apex #features,
.church-body--apex #pricing,
.church-body--apex #about {
  scroll-margin-top: 80px;
}

/* Events: only two Stitch rows on mobile home */
.church-home-events__list .church-event-row:nth-child(n + 3) {
  display: none;
}

.church-home-giving__card p {
  max-width: 20rem;
  margin-left: auto;
  margin-right: auto;
}

/* --- About + Leadership public alignment (shared 900px foundation) --- */

.church-about-page {
  padding-bottom: 48px;
}

.church-about-page__hero {
  position: relative;
  padding: var(--church-space-xl) 0 48px;
  background:
    radial-gradient(at 0% 0%, rgba(83, 65, 205, 0.12) 0%, transparent 50%),
    radial-gradient(at 100% 100%, rgba(88, 71, 210, 0.08) 0%, transparent 50%),
    var(--church-surface);
}

.church-about-page__hero-inner {
  display: grid;
  gap: var(--church-space-xl);
  align-items: center;
}

.church-about-page__eyebrow {
  margin-bottom: var(--church-space-md);
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark, #4029ba);
}

.church-about-page__title {
  color: var(--church-primary);
  max-width: 20ch;
}

.church-about-page__title-accent {
  color: var(--church-navy);
}

.church-about-page__lead {
  max-width: 36rem;
  margin-bottom: var(--church-space-lg);
}

.church-about-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-about-page__hero-actions .material-symbols-outlined {
  font-size: 1.125rem;
}

.church-about-page__hero-media {
  border-radius: var(--church-public-card-radius);
  overflow: hidden;
  box-shadow: var(--church-public-card-shadow);
  border: var(--church-public-card-border);
  aspect-ratio: 4 / 3;
  background: var(--church-surface-container);
}

.church-about-page__hero-fallback {
  width: 100%;
  height: 100%;
  position: relative;
}

.church-about-page__hero-fallback img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-about-page__hero-fallback::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(83, 65, 205, 0.18), transparent 55%);
  pointer-events: none;
}

.church-about-page__story,
.church-about-page__purpose,
.church-about-page__values,
.church-about-page__visit {
  padding: 48px 0;
}

.church-about-page__story-inner {
  display: grid;
  gap: var(--church-space-xl);
  align-items: center;
}

.church-about-page__story-visual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--church-space-md);
  min-height: 14rem;
}

.church-about-page__story-panel {
  border-radius: var(--church-public-card-radius);
  min-height: 12rem;
}

.church-about-page__story-panel--primary {
  margin-top: var(--church-space-xl);
  background:
    linear-gradient(160deg, rgba(83, 65, 205, 0.2), rgba(228, 223, 255, 0.9)),
    var(--church-surface-container);
}

.church-about-page__story-panel--accent {
  background:
    linear-gradient(200deg, rgba(241, 251, 255, 0.9), rgba(83, 65, 205, 0.12)),
    var(--church-surface-container-low);
}

.church-about-page__story-copy .church-public-body {
  margin-top: var(--church-space-md);
  max-width: 40rem;
}

.church-about-page__purpose {
  background: var(--church-surface-container-lowest);
}

.church-about-page__purpose-title {
  text-align: center;
  margin-bottom: var(--church-space-xl);
}

.church-about-page__purpose-grid {
  display: grid;
  gap: var(--church-space-lg);
}

.church-about-page__mission,
.church-about-page__vision {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-md);
  min-height: 100%;
}

.church-about-page__card-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark, #4029ba);
}

.church-about-page__card-icon--on-primary {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.church-about-page__card-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--church-primary);
}

.church-about-page__vision {
  background: var(--church-primary-container);
  border-color: transparent;
  color: var(--church-on-primary-container, #faf6ff);
}

.church-about-page__vision .church-about-page__card-title {
  color: #fff;
}

.church-about-page__vision-body {
  color: rgba(250, 246, 255, 0.92);
}

.church-about-page__values-grid {
  display: grid;
  gap: var(--church-space-md);
  margin-top: var(--church-space-lg);
}

.church-about-page__value-card {
  display: flex;
  align-items: flex-start;
  gap: var(--church-space-md);
}

.church-about-page__value-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--church-surface-container);
  color: var(--church-primary);
  font-size: 1.25rem;
}

.church-about-page__value-title {
  margin: 0 0 2px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

.church-about-page__visit-card {
  display: grid;
  gap: var(--church-space-lg);
  align-items: stretch;
  padding: 0;
  overflow: hidden;
}

.church-about-page__visit-copy {
  padding: var(--church-public-card-padding);
  display: grid;
  gap: var(--church-space-sm);
  align-content: start;
}

.church-about-page__visit-name {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

.church-about-page__visit-visual {
  min-height: 10rem;
}

.church-about-page__visit-fallback {
  width: 100%;
  height: 100%;
  min-height: 10rem;
  background:
    radial-gradient(circle at 30% 30%, rgba(83, 65, 205, 0.25), transparent 55%),
    linear-gradient(135deg, var(--church-surface-container), var(--church-primary-fixed));
}

.church-about-page__cta {
  margin: var(--church-space-xl) var(--church-margin-mobile) 0;
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background: var(--church-inverse-surface, var(--church-charcoal));
  color: #fff;
  text-align: center;
}

.church-about-page__cta-inner {
  max-width: 36rem;
  margin: 0 auto;
}

.church-about-page__cta-title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
}

.church-about-page__cta-body {
  margin: 0 0 var(--church-space-lg);
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.5;
}

.church-about-page__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
  justify-content: center;
}

.church-about-page__cta .church-about-cta__primary {
  background: var(--church-primary);
  color: #fff;
  border-color: transparent;
}

.church-about-page__cta .church-about-cta__outline {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.church-leadership-page {
  padding-bottom: 48px;
}

.church-leadership-page__hero {
  padding: var(--church-space-xl) 0 var(--church-space-lg);
  text-align: left;
}

.church-leadership-page__eyebrow {
  margin-bottom: var(--church-space-md);
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark, #4029ba);
}

.church-leadership-page__title {
  color: var(--church-primary);
  max-width: 18ch;
}

.church-leadership-page__lead {
  max-width: 36rem;
}

.church-leadership-page__body {
  display: grid;
  gap: 48px;
  padding-bottom: var(--church-space-xl);
}

.church-leadership-page__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-lg);
  flex-wrap: wrap;
}

.church-leadership-page__section-title-group {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
}

.church-leadership-page__section-title-group .church-public-section-title {
  margin: 0;
}

.church-leadership-page__section-note {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9375rem;
  font-weight: 500;
}

.church-leadership-page__rule {
  display: block;
  width: 2rem;
  height: 4px;
  border-radius: 999px;
  background: var(--church-primary);
  flex-shrink: 0;
}

.church-leadership-page__pastoral {
  display: grid;
  gap: var(--church-space-lg);
}

.church-leadership-page__featured {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  color: var(--church-navy);
}

.church-leadership-page__featured-media {
  min-height: 16rem;
  background: var(--church-surface-container);
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}

.church-leadership-page__featured-media img {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  display: block;
}

.church-leadership-page__featured-body {
  padding: var(--church-space-xl);
  display: grid;
  gap: var(--church-space-md);
  align-content: center;
}

.church-leadership-page__name {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--church-primary);
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.church-leadership-page__role-badge {
  margin: 0;
  display: inline-flex;
  width: fit-content;
  padding: 4px 12px;
  border-radius: 8px;
  background: var(--church-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

.church-leadership-page__assistant {
  display: grid;
  grid-template-columns: minmax(5rem, 7rem) 1fr;
  gap: 0;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
}

.church-leadership-page__assistant-media {
  background: var(--church-surface-container);
  min-height: 7rem;
}

.church-leadership-page__assistant-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-leadership-page__assistant-body {
  padding: var(--church-space-lg);
  display: grid;
  gap: var(--church-space-xs);
  align-content: center;
}

.church-leadership-page__assistant-label {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--church-primary);
  font-weight: 600;
}

.church-leadership-page__avatar {
  width: 100%;
  height: 100%;
  min-height: 7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(145deg, var(--church-primary-fixed), rgba(83, 65, 205, 0.35));
  color: var(--church-primary);
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0.04em;
}

.church-leadership-page__avatar--featured {
  min-height: 16rem;
  font-size: 3rem;
}

.church-leadership-page__avatar--circle {
  width: 4rem;
  height: 4rem;
  min-height: 4rem;
  border-radius: 999px;
  flex-shrink: 0;
  font-size: 1rem;
  border: 2px solid #fff;
  box-shadow: var(--church-public-card-shadow);
}

.church-leadership-page__elders-grid {
  display: grid;
  gap: var(--church-space-md);
}

.church-leadership-page__elder-card {
  display: flex;
  align-items: center;
  gap: var(--church-space-md);
  padding: var(--church-space-md);
  background: var(--church-surface-container-low);
}

.church-leadership-page__elder-photo {
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  overflow: hidden;
  flex-shrink: 0;
}

.church-leadership-page__elder-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.church-leadership-page__elder-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.church-leadership-page__elder-copy .church-leadership-page__name {
  font-size: 1rem;
  color: var(--church-navy);
}

.church-leadership-page__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--church-space-lg);
  text-align: center;
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background: var(--church-primary);
  color: #fff;
}

.church-leadership-page__cta-title {
  margin: 0 0 var(--church-space-xs);
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}

.church-leadership-page__cta-body {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}

.church-leadership-page__cta-btn {
  background: #fff;
  color: var(--church-primary);
  border-color: #fff;
}

@media (min-width: 900px) {
  .church-about-page__hero-inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
    gap: var(--church-space-xl);
  }

  .church-about-page__title {
    font-size: clamp(2.25rem, 3vw, 3rem);
    max-width: 14ch;
  }

  .church-about-page__story-inner {
    grid-template-columns: 1fr 1fr;
  }

  .church-about-page__story-visual {
    order: 0;
  }

  .church-about-page__purpose-grid {
    grid-template-columns: 1.6fr 1fr;
  }

  .church-about-page__purpose-grid--single {
    grid-template-columns: 1fr;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
  }

  .church-about-page__values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-about-page__visit-card {
    grid-template-columns: 1.2fr 1fr;
  }

  .church-about-page__cta {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--church-max-width);
    width: calc(100% - (2 * var(--church-margin-desktop)));
  }

  .church-leadership-page__hero {
    padding-top: var(--church-space-xl);
  }

  .church-leadership-page__title {
    font-size: clamp(2.25rem, 3vw, 3rem);
  }

  .church-leadership-page__featured {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }

  .church-leadership-page__featured-media,
  .church-leadership-page__avatar--featured {
    min-height: 22rem;
  }

  .church-leadership-page__assistant {
    grid-template-columns: minmax(8rem, 12rem) 1fr;
    max-width: 40rem;
  }

  .church-leadership-page__elders-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-leadership-page__cta {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    align-items: center;
  }

  .church-leadership-page__cta-copy {
    max-width: 36rem;
  }
}

@media (min-width: 1024px) {
  .church-about-page__values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .church-leadership-page__elders-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ===== Public Contact (shared 900px foundation) ===== */

.church-contact-page {
  padding-bottom: 48px;
}

.church-contact-page__hero {
  padding: var(--church-space-xl) 0 var(--church-space-lg);
}

.church-contact-page__eyebrow {
  margin-bottom: var(--church-space-md);
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark);
}

.church-contact-page__title {
  color: var(--church-navy);
  max-width: 16ch;
}

.church-contact-page__lead {
  max-width: 40rem;
}

.church-contact-page__body {
  display: grid;
  gap: var(--church-space-xl);
  padding-bottom: var(--church-space-xl);
  min-width: 0;
}

.church-contact-alert {
  margin: 0;
}

.church-contact-page__info-grid {
  display: grid;
  gap: var(--church-space-md);
  grid-template-columns: 1fr;
}

.church-contact-page__info-card {
  display: grid;
  gap: var(--church-space-sm);
  min-width: 0;
}

.church-contact-page__info-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--church-primary-fixed);
  color: var(--church-primary);
}

.church-contact-page__info-icon .material-symbols-outlined {
  font-size: 1.25rem;
}

.church-contact-page__info-title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-muted);
}

.church-contact-page__info-value {
  margin: 0;
  color: var(--church-navy);
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-decoration: none;
}

a.church-contact-page__info-value:hover {
  color: var(--church-primary);
}

.church-contact-page__main {
  display: grid;
  gap: var(--church-space-xl);
  align-items: start;
  min-width: 0;
}

.church-contact-page__form-card,
.church-contact-form-panel {
  min-width: 0;
}

.church-contact-form-panel__title {
  margin: 0 0 var(--church-space-sm);
}

.church-contact-form-panel__note {
  margin: 0 0 var(--church-space-lg);
}

.church-contact-page__side {
  display: grid;
  gap: var(--church-space-lg);
  min-width: 0;
}

.church-contact-page__side-card {
  min-width: 0;
}

.church-contact-page__schedule {
  list-style: none;
  margin: var(--church-space-md) 0 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-sm);
}

.church-contact-page__schedule li {
  display: flex;
  justify-content: space-between;
  gap: var(--church-space-md);
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
  font-size: 0.9375rem;
  color: var(--church-muted);
  min-width: 0;
}

.church-contact-page__schedule li:last-child {
  border-bottom: none;
}

.church-contact-page__schedule span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.church-contact-page__schedule strong {
  color: var(--church-navy);
  text-align: right;
  overflow-wrap: anywhere;
}

.church-contact-page__location-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9rem;
  border-radius: calc(var(--church-public-card-radius) - 4px);
  margin-bottom: var(--church-space-md);
  background:
    linear-gradient(145deg, var(--church-primary-fixed), rgba(83, 65, 205, 0.22));
  color: var(--church-primary);
}

.church-contact-page__location-fallback .material-symbols-outlined {
  font-size: 2.5rem;
}

.church-contact-page__location-body {
  display: grid;
  gap: var(--church-space-sm);
  min-width: 0;
}

.church-contact-page__location-body .church-public-body {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.church-contact-page__location-body .church-btn {
  justify-self: start;
  margin-top: var(--church-space-sm);
}

.church-contact-page .church-form .church-input,
.church-contact-page .church-form .church-input--textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.church-contact-page .church-btn--block {
  width: 100%;
}

@media (min-width: 900px) {
  .church-contact-page {
    padding-top: 8px;
  }

  .church-contact-page__info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .church-contact-page__main {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: var(--church-space-xl);
  }
}

.church-ministries-page {
  max-width: var(--church-max-width);
  margin: 0 auto;
  padding: 40px var(--church-margin-mobile) 64px;
  box-sizing: border-box;
}

.church-ministries-fallback-note {
  display: none;
}

.church-ministries-bento {
  display: grid;
  gap: var(--church-space-lg);
}

.church-ministries-bento__featured {
  display: grid;
  gap: var(--church-space-lg);
}

.church-ministry-feature {
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.4);
  border-radius: 16px;
  padding: var(--church-space-xl);
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.church-ministry-feature--accent {
  background: var(--church-primary-container);
  border-color: transparent;
  color: #faf6ff;
  position: relative;
  overflow: hidden;
}

.church-ministry-feature__icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(83, 65, 205, 0.12);
  color: var(--church-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--church-space-md);
  flex-shrink: 0;
}

.church-ministry-feature--accent .church-ministry-feature__icon {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.church-ministry-feature h2,
.bb-ministries-feature__title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.5rem;
  overflow-wrap: anywhere;
}

.church-ministry-feature p,
.bb-ministries-feature__desc {
  margin: 0 0 var(--church-space-lg);
  line-height: 1.55;
  color: var(--church-muted);
  overflow-wrap: anywhere;
}

.church-ministry-feature--accent p,
.church-ministry-feature--accent .bb-ministries-feature__desc {
  color: rgba(250, 246, 255, 0.88);
}

.church-ministry-feature__link,
.bb-ministries-feature__link {
  color: var(--church-primary);
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
}

.church-ministry-feature--accent .church-ministry-feature__link,
.church-ministry-feature--accent .bb-ministries-feature__link {
  color: #fff;
}

.church-btn--light {
  background: #fff;
  color: var(--church-primary);
  border: none;
}

.church-ministries-bento__grid {
  display: grid;
  gap: var(--church-space-md);
  grid-template-columns: 1fr;
}

.church-ministry-mini {
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.4);
  border-radius: 12px;
  padding: var(--church-space-lg);
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
}

.church-ministry-mini__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--church-surface-container);
  color: var(--church-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--church-space-sm);
  flex-shrink: 0;
}

.church-ministry-mini h3,
.bb-ministries-mini__title {
  margin: 0 0 4px;
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.church-ministry-mini p,
.bb-ministries-mini__desc {
  margin: 0 0 var(--church-space-md);
  color: var(--church-muted);
  font-size: 0.875rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  flex: 1;
}

.church-ministry-mini a,
.bb-ministries-mini__link {
  color: var(--church-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
}

.church-ministries-cta {
  margin-top: 48px;
  text-align: center;
  background: var(--church-charcoal, #283236);
  color: #fff;
  border-radius: 16px;
  padding: 40px 24px;
}

.church-ministries-cta h2,
.bb-ministries-cta__title {
  margin: 0 0 var(--church-space-sm);
  color: var(--church-primary-fixed-dim, #c6bfff);
}

.church-ministries-cta > p,
.bb-ministries-cta__lead {
  margin: 0 auto var(--church-space-lg);
  max-width: 32rem;
  color: rgba(255, 255, 255, 0.78);
}

.church-ministries-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
  justify-content: center;
}

/* --- Events + Sermons public alignment (shared 900px foundation) --- */

.church-events-page {
  padding-bottom: 48px;
}

.church-events-page__hero {
  padding: var(--church-space-xl) 0 var(--church-space-lg);
}

.church-events-page__eyebrow {
  margin-bottom: var(--church-space-md);
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark);
}

.church-events-page__title {
  color: var(--church-navy);
  max-width: 16ch;
}

.church-events-page__lead {
  max-width: 40rem;
}

.church-events-page__body {
  display: grid;
  gap: 48px;
  padding-bottom: var(--church-space-xl);
}

.church-events-page__grid {
  display: grid;
  gap: var(--church-space-lg);
  grid-template-columns: 1fr;
}

.church-events-page__card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  min-width: 0;
}

.church-events-page__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--church-surface-container);
  overflow: hidden;
}

.church-events-page__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-events-page__media--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(145deg, var(--church-primary-fixed), rgba(83, 65, 205, 0.28));
  color: var(--church-primary);
}

.church-events-page__media--fallback .material-symbols-outlined {
  font-size: 2.5rem;
}

.church-events-page__date-badge {
  position: absolute;
  top: var(--church-space-md);
  left: var(--church-space-md);
  min-width: 3.25rem;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--church-public-card-shadow);
  text-align: center;
  line-height: 1.1;
}

.church-events-page__date-badge strong {
  display: block;
  font-size: 1.25rem;
  color: var(--church-navy);
}

.church-events-page__date-badge span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--church-primary);
}

.church-events-page__date-badge--large {
  position: static;
  background: transparent;
  box-shadow: none;
  color: var(--church-primary);
}

.church-events-page__date-badge--large strong {
  font-size: 2rem;
  color: var(--church-primary);
}

.church-events-page__tag {
  position: absolute;
  right: var(--church-space-md);
  bottom: var(--church-space-md);
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(19, 29, 33, 0.72);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 600;
  max-width: calc(100% - 2rem);
  overflow-wrap: anywhere;
}

.church-events-page__card-body {
  display: grid;
  gap: var(--church-space-sm);
  padding: var(--church-public-card-padding);
  min-width: 0;
}

.church-events-page__card-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--church-navy);
  overflow-wrap: anywhere;
  line-height: 1.3;
}

.church-events-page__meta {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}

.church-events-page__meta .material-symbols-outlined {
  font-size: 1rem;
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-events-page__meta span:last-child {
  overflow-wrap: anywhere;
}

.church-events-page__summary {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.church-events-page__cta {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-md);
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background: var(--church-surface-container-low);
}

.church-events-page__cta-copy {
  display: grid;
  gap: var(--church-space-sm);
}

.church-events-page__cta-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--church-navy);
}

.church-events-page__cta-body {
  margin: 0;
  color: var(--church-on-surface-variant);
  line-height: 1.5;
}

.church-events-page__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-sermons-page {
  padding-bottom: 48px;
  max-width: 100%;
}

.church-sermons-page__hero {
  padding: var(--church-space-xl) 0 var(--church-space-lg);
}

.church-sermons-page__eyebrow {
  margin-bottom: var(--church-space-md);
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark);
}

.church-sermons-page__title {
  color: var(--church-navy);
}

.church-sermons-page__lead {
  max-width: 40rem;
}

.church-sermons-page__body {
  display: grid;
  gap: 48px;
  padding-bottom: var(--church-space-xl);
  min-width: 0;
}

.church-sermons-page__featured {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
  min-width: 0;
}

.church-sermons-page__player,
.church-sermons-page__featured-visual {
  min-width: 0;
  width: 100%;
  background: var(--church-surface-container);
}

.church-sermons-page__frame {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
}

.church-sermons-page__frame iframe,
.church-sermon-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  border: 0;
}

.church-sermons-page__featured-visual {
  min-height: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(145deg, var(--church-primary-fixed), rgba(83, 65, 205, 0.3));
  color: var(--church-primary);
}

.church-sermons-page__featured-visual .material-symbols-outlined {
  font-size: 3rem;
}

.church-sermons-page__featured-copy {
  display: grid;
  gap: var(--church-space-md);
  padding: var(--church-space-xl);
  min-width: 0;
}

.church-sermons-page__badge {
  display: inline-flex;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.church-sermons-page__featured-title {
  margin: 0;
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 700;
  color: var(--church-navy);
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.church-sermons-page__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-sermons-page__meta > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.church-sermons-page__meta .material-symbols-outlined {
  font-size: 1rem;
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-sermons-page__featured-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--church-space-md);
}

.church-sermons-page__audio {
  min-width: 0;
  max-width: 100%;
}

.church-sermons-page__audio audio,
.church-sermon-audio {
  width: 100%;
  max-width: 100%;
}

.church-sermons-page__list {
  display: grid;
  gap: var(--church-space-lg);
  min-width: 0;
}

.church-sermons-page__list-head {
  display: grid;
  gap: var(--church-space-sm);
}

.church-sermons-page__grid {
  display: grid;
  gap: var(--church-space-lg);
  grid-template-columns: 1fr;
  min-width: 0;
}

.church-sermons-page__card {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  min-width: 0;
}

.church-sermons-page__card-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: var(--church-space-md);
  background: var(--church-surface-container-low);
  color: var(--church-primary);
  min-width: 0;
}

.church-sermons-page__card-media .material-symbols-outlined {
  font-size: 1.75rem;
}

.church-sermons-page__type {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  overflow-wrap: anywhere;
}

.church-sermons-page__card-body {
  display: grid;
  gap: 6px;
  padding: var(--church-space-md);
  min-width: 0;
}

.church-sermons-page__category {
  color: var(--church-primary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.6875rem;
}

.church-sermons-page__card-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--church-navy);
  overflow-wrap: anywhere;
  line-height: 1.3;
}

.church-sermons-page__card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.church-sermons-page__card-link {
  justify-self: start;
  padding-left: 0;
  padding-right: 0;
}

.church-sermons-page__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--church-space-md);
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background: var(--church-surface-container-low);
}

.church-sermons-page__cta-body {
  margin: 0;
  max-width: 36rem;
  color: var(--church-on-surface-variant);
  line-height: 1.5;
}

@media (min-width: 900px) {
  .church-events-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-events-page__cta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .church-sermons-page__featured {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  }

  .church-sermons-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-sermons-page__card {
    grid-template-columns: 1fr;
  }

  .church-sermons-page__card-media {
    min-height: 8rem;
  }
}

@media (min-width: 1024px) {
  .church-events-page__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .church-sermons-page__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .church-ministries-page {
    padding: 48px 32px 80px;
  }

  .church-ministries-bento {
    grid-template-columns: 1.1fr 1.4fr;
    align-items: start;
  }

  .church-ministries-bento__grid {
    grid-template-columns: 1fr 1fr;
  }

  .church-events-page {
    padding-top: 8px;
  }

  .church-sermons-page {
    padding-top: 8px;
  }
}

/* ===== Public Giving (shared 900px foundation) ===== */

.church-giving-page {
  padding-bottom: 48px;
}

.church-giving-page__hero {
  padding: var(--church-space-xl) 0 var(--church-space-lg);
}

.church-giving-page__eyebrow {
  margin-bottom: var(--church-space-md);
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark);
}

.church-giving-page__title {
  color: var(--church-navy);
  max-width: 16ch;
}

.church-giving-page__lead {
  max-width: 40rem;
}

.church-giving-page__body {
  display: grid;
  gap: var(--church-space-xl);
  padding-bottom: var(--church-space-xl);
  min-width: 0;
}

.church-giving-page__methods-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--church-space-sm);
}

.church-giving-page__method-count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--church-muted);
}

.church-giving-page__grid {
  display: grid;
  gap: var(--church-space-lg);
  grid-template-columns: 1fr;
}

.church-giving-page__card {
  min-width: 0;
  display: grid;
  gap: var(--church-space-lg);
}

.church-giving-page__card-head {
  display: flex;
  gap: var(--church-space-md);
  align-items: flex-start;
  min-width: 0;
}

.church-giving-page__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--church-primary-fixed);
  color: var(--church-primary);
}

.church-giving-page__icon--mm {
  background: rgba(16, 185, 129, 0.14);
  color: #047857;
}

.church-giving-page__card-title {
  margin: 0 0 4px;
  font-size: 1.125rem;
  color: var(--church-navy);
}

.church-giving-page__details {
  margin: 0;
  display: grid;
  gap: var(--church-space-md);
}

.church-giving-page__details > div {
  min-width: 0;
}

.church-giving-page__details dt {
  margin: 0 0 4px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--church-muted);
}

.church-giving-page__details dd {
  margin: 0;
  color: var(--church-navy);
  font-weight: 600;
  line-height: 1.45;
}

.church-giving-page__value,
.church-giving-page__copy-row {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.church-giving-page__copy-row {
  display: flex;
  align-items: center;
  gap: var(--church-space-sm);
  min-width: 0;
}

.church-giving-page__mm-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-md);
}

.church-giving-page__mm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--church-space-md);
  padding: 12px 0;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
  min-width: 0;
}

.church-giving-page__mm-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.church-giving-page__mm-row > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.church-giving-page__qr-frame {
  display: flex;
  justify-content: center;
  padding: var(--church-space-md);
  border-radius: 16px;
  background: var(--church-surface-container-low);
}

.church-giving-page__qr-frame .giving-qr-image {
  width: min(220px, 100%);
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}

.church-giving-page__cats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.church-giving-page__cats li {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--church-surface-container-low);
  color: var(--church-navy);
  font-size: 0.875rem;
  font-weight: 600;
}

.church-giving-page__instructions {
  min-width: 0;
}

.church-giving-page__cta {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-lg);
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background:
    linear-gradient(135deg, var(--church-primary-container), rgba(83, 65, 205, 0.88));
  color: #fff;
  min-width: 0;
}

.church-giving-page__cta-title {
  margin: 0 0 var(--church-space-sm);
  font-size: 1.375rem;
  color: #fff;
}

.church-giving-page__cta-body,
.church-giving-page__cta .church-public-meta {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
}

.church-giving-page__cta .church-public-meta a {
  color: #fff;
}

.church-giving-page__cta .church-btn--public-primary {
  align-self: flex-start;
  background: #fff;
  color: var(--church-primary);
}

.church-giving-page__cta .church-btn--public-primary:hover {
  background: var(--church-primary-fixed);
}

.church-giving-copy.church-btn--public-text {
  flex-shrink: 0;
  min-height: 2.5rem;
  min-width: 2.5rem;
  padding: 0;
  color: var(--church-primary);
}

@media (min-width: 900px) {
  .church-giving-page {
    padding-top: 8px;
  }

  .church-giving-page__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .church-giving-page__card--bank {
    grid-column: span 7;
  }

  .church-giving-page__card--mm {
    grid-column: span 5;
  }

  .church-giving-page__card--qr {
    grid-column: span 5;
  }

  .church-giving-page__card--cats {
    grid-column: span 7;
  }

  .church-giving-page__card:only-child,
  .church-giving-page__grid > .church-giving-page__card:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .church-giving-page__grid > .church-giving-page__card:first-child:nth-last-child(2),
  .church-giving-page__grid > .church-giving-page__card:first-child:nth-last-child(2) ~ .church-giving-page__card {
    grid-column: span 6;
  }

  .church-giving-page__cta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* --- Auth screens Batch B (Stitch 09–13) — church.css?v=38 --- */

.church-body--auth {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(108, 92, 231, 0.08), transparent 60%),
    linear-gradient(180deg, #eef6fb 0%, #f7fbfe 45%, #f1fbff 100%);
}

.church-auth-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(241, 251, 255, 0.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(200, 196, 215, 0.45);
}

.church-auth-topbar__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.church-auth-topbar__brand {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--church-primary);
  text-decoration: none;
}

.church-auth-topbar__help {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--church-primary);
  border: 1.5px solid rgba(83, 65, 205, 0.35);
  text-decoration: none;
}

.church-auth-topbar__help:hover {
  background: rgba(108, 92, 231, 0.08);
}

.church-auth-main--stitch {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 16px 40px;
  position: relative;
}

.church-auth-stage {
  width: 100%;
  max-width: 560px;
  position: relative;
  z-index: 1;
}

.church-auth-stage--login {
  max-width: 440px;
}

.church-auth-stage--forgot {
  max-width: 920px;
}

.church-auth-stage__bg {
  display: none;
  position: absolute;
  inset: -48px -80px auto;
  height: 280px;
  overflow: hidden;
  border-radius: 24px;
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}

.church-auth-stage__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.85);
}

.church-auth-card--stitch {
  width: 100%;
  background: var(--church-surface-card);
  border: 1px solid rgba(200, 196, 215, 0.55);
  border-radius: 20px;
  padding: 28px 22px;
  box-shadow: 0 18px 48px rgba(19, 29, 33, 0.08);
  position: relative;
  z-index: 1;
}

.church-auth-card--stitch.church-auth-card--wide {
  max-width: 760px;
}

.church-auth-stage:has(.church-auth-card--wide) {
  max-width: 760px;
}

.church-auth-login__brand {
  text-align: center;
  margin-bottom: 22px;
}

.church-auth-login__mark {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  border-radius: 18px;
  background: var(--church-primary-container);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(108, 92, 231, 0.35);
  transform: rotate(3deg);
}

.church-auth-login__mark .material-symbols-outlined {
  font-size: 2rem;
}

.church-auth-login__church,
.church-auth-login__title {
  margin: 0 0 8px;
  font-size: 1.55rem;
  color: var(--church-navy);
  font-weight: 700;
}

.church-auth-login__welcome {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.church-auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.church-auth-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.church-auth-label,
.church-auth-label-row {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--church-muted);
}

.church-auth-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.church-auth-link {
  color: var(--church-primary);
  font-weight: 600;
  text-decoration: none;
  font-size: 0.875rem;
}

.church-auth-link:hover {
  text-decoration: underline;
}

.church-auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--church-surface-container-low);
  border: 1px solid rgba(200, 196, 215, 0.7);
  border-radius: 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.church-auth-input-wrap:focus-within {
  border-color: var(--church-primary);
  box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.15);
}

.church-auth-input-wrap__icon {
  position: absolute;
  left: 12px;
  color: #8a9194;
  font-size: 1.25rem;
  pointer-events: none;
}

.church-auth-input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 14px 14px 14px 44px;
  font: inherit;
  color: var(--church-navy);
  outline: none;
}

.church-auth-input--plain {
  background: var(--church-surface-container-low);
  border: 1px solid rgba(200, 196, 215, 0.7);
  border-radius: 12px;
  padding: 14px 14px;
}

.church-auth-input--plain:focus {
  border-color: var(--church-primary);
  box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.15);
  outline: none;
}

.church-auth-info {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--church-surface-dim);
  color: var(--church-muted);
  font-size: 0.9rem;
  line-height: 1.4;
}

.church-auth-info .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1.2rem;
  flex-shrink: 0;
}

.church-auth-info p {
  margin: 0;
}

.church-auth-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 12px;
  font-weight: 600;
}

.church-auth-login__divider {
  height: 1px;
  background: rgba(200, 196, 215, 0.55);
  margin: 20px 0 14px;
}

.church-auth-login__footer {
  margin: 0;
}

.church-auth-section {
  margin-bottom: 8px;
}

.church-auth-section .church-form-section__title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.church-auth-section .church-form-section__title .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1.2rem;
}

.church-auth-section__hint {
  margin: -4px 0 12px;
  color: var(--church-muted);
  font-size: 0.9rem;
}

.church-auth-emphasis {
  color: var(--church-primary);
  font-weight: 700;
}

.church-auth-submitted__hero {
  margin: -28px -22px 20px;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 7;
}

.church-auth-submitted__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-auth-submitted__icon,
.church-auth-waiting__icon,
.church-auth-forgot__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.church-auth-submitted__icon {
  background: #e8f5e9;
  color: #2e7d32;
}

.church-auth-submitted__icon .material-symbols-outlined {
  font-size: 2.25rem;
  font-variation-settings: "FILL" 1;
}

.church-auth-submitted__eyebrow {
  margin: 0 0 6px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #2e7d32;
}

.church-auth-meta-box {
  background: var(--church-surface-container-low);
  border-radius: 14px;
  padding: 14px 16px;
  margin: 0 0 16px;
  text-align: left;
}

.church-auth-meta-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(200, 196, 215, 0.45);
  font-size: 0.92rem;
  color: var(--church-muted);
}

.church-auth-meta-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.church-auth-meta-row:first-child {
  padding-top: 0;
}

.church-auth-meta-row strong {
  color: var(--church-navy);
  text-align: right;
}

.church-auth-next-steps {
  text-align: left;
  background: #eef0ff;
  border-left: 3px solid var(--church-primary);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 20px;
}

.church-auth-next-steps__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--church-navy);
  margin-bottom: 8px;
}

.church-auth-next-steps__title .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1.15rem;
}

.church-auth-next-steps p {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.church-auth-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: auth-step;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.church-auth-steps li {
  counter-increment: auth-step;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
  color: var(--church-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.church-auth-steps li::before {
  content: counter(auth-step);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--church-primary);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.church-auth-card__actions--pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.church-auth-card__actions--pair .church-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.church-auth-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 auto 14px;
}

.church-auth-badge--pending {
  background: #fff3e0;
  color: #e65100;
}

.church-auth-waiting__icon {
  background: #f3e9d8;
  color: #5d4037;
}

.church-auth-waiting__icon .material-symbols-outlined {
  font-size: 2rem;
}

.church-auth-waiting__visual {
  margin: -28px -22px 18px;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.church-auth-waiting__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-auth-waiting__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 0 0 16px;
  text-align: left;
}

.church-auth-waiting__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a9194;
  margin-bottom: 6px;
}

.church-auth-waiting__box {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: var(--church-surface-container-low);
  border-radius: 12px;
  padding: 12px 14px;
}

.church-auth-waiting__box .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1.25rem;
}

.church-auth-waiting__box strong {
  display: block;
  color: var(--church-navy);
  font-size: 0.95rem;
}

.church-auth-waiting__box span {
  display: block;
  color: var(--church-muted);
  font-size: 0.85rem;
  margin-top: 2px;
}

.church-auth-waiting__logout {
  margin-top: 12px;
}

.church-auth-waiting__note {
  margin-top: 12px;
  font-size: 0.85rem;
}

.church-auth-forgot__icon {
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-primary);
}

.church-auth-forgot__icon .material-symbols-outlined {
  font-size: 2rem;
}

.church-auth-forgot__icon--success {
  background: #e8f5e9;
  color: #2e7d32;
}

.church-auth-forgot-layout {
  display: grid;
  gap: 0;
  align-items: stretch;
}

.church-auth-forgot__visual {
  display: none;
  border-radius: 20px 0 0 20px;
  overflow: hidden;
  min-height: 100%;
}

.church-auth-forgot__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-auth-forgot__tips {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  text-align: left;
}

.church-auth-tip {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--church-surface-container-low);
}

.church-auth-tip .material-symbols-outlined {
  color: var(--church-primary);
}

.church-auth-tip strong {
  display: block;
  color: var(--church-navy);
  font-size: 0.92rem;
  margin-bottom: 2px;
}

.church-auth-tip p {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

.church-auth-footer {
  border-top: 1px solid rgba(200, 196, 215, 0.45);
  padding: 18px 16px 28px;
}

.church-auth-footer__inner {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
  text-align: center;
  color: var(--church-muted);
  font-size: 0.85rem;
}

.church-auth-footer__brand {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
}

.church-auth-footer__church {
  font-weight: 600;
  color: var(--church-navy);
}

.church-auth-footer__powered {
  font-size: 0.8rem;
}

.church-auth-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.church-auth-footer__links a {
  color: var(--church-muted);
  text-decoration: none;
}

.church-auth-footer__links a:hover {
  color: var(--church-primary);
}

.church-auth-footer__copy {
  margin: 0;
}

@media (min-width: 900px) {
  .church-auth-main--stitch {
    padding: 40px 24px 56px;
  }

  .church-auth-card--stitch {
    padding: 36px 40px;
  }

  .church-auth-stage--login .church-auth-stage__bg {
    display: block;
  }

  .church-auth-submitted__hero {
    margin: -36px -40px 24px;
  }

  .church-auth-card__actions--pair {
    grid-template-columns: 1fr 1fr;
  }

  .church-auth-waiting__grid {
    grid-template-columns: 1fr 1fr;
  }

  .church-auth-forgot-layout {
    grid-template-columns: 1.05fr 1fr;
    background: var(--church-surface-card);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(200, 196, 215, 0.55);
    box-shadow: 0 18px 48px rgba(19, 29, 33, 0.08);
  }

  .church-auth-forgot__visual {
    display: block;
  }

  .church-auth-forgot-layout .church-auth-card--stitch {
    border: 0;
    box-shadow: none;
    border-radius: 0;
  }

  .church-auth-footer__inner {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    text-align: left;
  }

  .church-auth-footer__brand {
    align-items: flex-start;
  }

  .church-auth-footer__copy {
    text-align: right;
  }
}

@media (max-width: 899px) {
  .church-auth-login__church.home-mobile-design,
  .church-auth-login__welcome.home-mobile-design,
  .church-auth-submitted__eyebrow.home-mobile-design,
  .church-auth-waiting__visual.home-mobile-design {
    display: block !important;
  }

  .church-auth-info.home-mobile-design {
    display: flex !important;
  }

  .church-auth-forgot__tips.home-mobile-design {
    display: grid !important;
  }

  .church-auth-login__footer .home-mobile-design {
    display: inline !important;
  }
}

@media (min-width: 900px) {
  .church-auth-login__footer .home-desktop-design {
    display: inline !important;
  }
}

/* --- Member portal Batch C (Stitch 14–20) — church.css?v=40 --- */

.church-body--member-portal {
  background: #f1fbff;
  color: var(--church-navy);
}

.church-member-layout {
  display: grid;
  grid-template-columns: 288px 1fr;
  min-height: 100vh;
}

.church-member-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background: var(--church-surface-container-low);
  color: var(--church-navy);
  border-right: 1px solid rgba(200, 196, 215, 0.35);
  display: flex;
  flex-direction: column;
  padding: 16px;
  gap: 8px;
  z-index: 40;
}

.church-member-sidebar__brand {
  padding: 16px 16px 8px;
}

.church-member-brand-link {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--church-primary);
  text-decoration: none;
  letter-spacing: -0.01em;
}

.church-member-brand-sub {
  display: block;
  margin-top: 4px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--church-muted);
}

.church-member-sidebar__profile {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  margin: 0 0 8px;
  border-radius: 12px;
  background: var(--church-surface-container);
}

.church-member-sidebar__avatar {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid rgba(83, 65, 205, 0.2);
}

.church-member-sidebar__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
}

.church-member-sidebar__verified {
  margin: 2px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--church-on-surface-variant);
}

.church-member-sidebar__verified .material-symbols-outlined {
  font-size: 14px;
  color: var(--church-primary);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-member-sidebar__nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  overflow-y: auto;
  padding-right: 4px;
}

.church-member-nav-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  border-radius: 999px;
  color: var(--church-on-surface-variant);
  text-decoration: none;
  background: none;
  border: none;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s ease, color 0.15s ease;
}

.church-member-nav-link .material-symbols-outlined {
  font-size: 22px;
}

.church-member-nav-link:hover {
  background: rgba(217, 228, 233, 0.5);
}

.church-member-nav-link--active {
  background: #dae1e3;
  color: #5d6466;
  font-weight: 700;
}

.church-member-nav-link--active .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-member-nav-link--muted {
  opacity: 0.9;
}

.church-member-sidebar__footer {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(200, 196, 215, 0.35);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.church-member-sidebar__branch {
  padding: 8px 16px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--church-muted);
}

.church-member-powered {
  margin: 8px 16px 0;
  font-size: 0.625rem;
  color: var(--church-muted);
}

.church-member-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: none;
  padding: 0;
  background: #f1fbff;
}

.church-member-desktop-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 30;
  height: 64px;
  padding: 0 32px;
  align-items: center;
  justify-content: space-between;
  background: rgba(241, 251, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(200, 196, 215, 0.25);
}

.church-member-desktop-topbar__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--church-primary);
}

.church-member-desktop-topbar__actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.church-member-desktop-topbar__icon-btn {
  position: relative;
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--church-on-surface-variant);
  text-decoration: none;
}

.church-member-desktop-topbar__dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ba1a1a;
  border: 1px solid #f1fbff;
}

.church-member-desktop-topbar__avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #c6bfff;
  color: #160066;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
}

.church-member-content {
  padding: 24px 32px 48px;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.church-member-mobile-topbar__avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--church-outline);
}

.church-member-bottom-nav {
  background: var(--church-surface-container);
  height: 80px;
  padding: 0 8px;
  align-items: center;
  box-shadow: 0 -4px 16px rgba(19, 29, 33, 0.06);
}

.church-member-bottom-nav__link {
  padding: 6px 12px;
  border-radius: 12px;
  min-width: 56px;
}

.church-member-bottom-nav__link--active {
  background: var(--church-primary-container);
  color: #faf6ff;
}

.church-member-bottom-nav__link--active .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-member-more {
  position: relative;
}

.church-member-more__summary {
  list-style: none;
  cursor: pointer;
}

.church-member-more__summary::-webkit-details-marker {
  display: none;
}

.church-member-more__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  min-width: 200px;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.45);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(19, 29, 33, 0.12);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 50;
}

.church-member-more__panel a,
.church-member-more__panel button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border: none;
  background: none;
  border-radius: 10px;
  color: var(--church-navy);
  text-decoration: none;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}

.church-member-more__panel a:hover,
.church-member-more__panel button:hover {
  background: var(--church-surface-container-low);
}

.church-member-welcome {
  padding: 24px 16px 8px;
}

.church-member-welcome__title {
  margin: 8px 0 4px;
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.church-member-welcome__subtitle {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-member-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 48px;
  margin-bottom: 32px;
  border-radius: 32px;
  background: var(--church-primary);
  color: #fff;
}

.church-member-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.church-member-hero__badge .material-symbols-outlined {
  font-size: 18px;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-member-hero__title {
  margin: 16px 0;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.church-member-hero__text {
  margin: 0 0 20px;
  max-width: 28rem;
  color: rgba(255, 255, 255, 0.85);
  font-size: 1rem;
  line-height: 1.5;
}

.church-member-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.church-btn--surface {
  background: #fff;
  color: var(--church-primary);
  border: none;
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.church-btn--ghost-light {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.church-btn--block {
  width: 100%;
  justify-content: center;
}

.church-member-hero__media {
  flex-shrink: 0;
  width: 240px;
  height: 240px;
  border-radius: 24px;
  overflow: hidden;
  transform: rotate(3deg);
  border: 4px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 20px 40px rgba(19, 29, 33, 0.25);
}

.church-member-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.church-member-dash-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.church-member-section {
  margin-bottom: 32px;
}

.church-member-section__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 16px;
  padding: 0 16px;
}

.church-member-section__title {
  margin: 0 0 16px;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.church-member-section__head .church-member-section__title {
  margin: 0;
}

.church-member-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.church-member-quick {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  border-radius: 16px;
  border: 1px solid rgba(200, 196, 215, 0.35);
  background: var(--church-surface-container-low);
  text-decoration: none;
  color: var(--church-navy);
  font-size: 0.75rem;
  font-weight: 600;
  transition: background 0.15s ease, transform 0.15s ease;
}

.church-member-quick .material-symbols-outlined {
  font-size: 32px;
  color: var(--church-primary);
}

.church-member-quick:hover {
  background: var(--church-surface-variant, #d9e4e9);
  transform: translateY(-1px);
}

.church-member-bento--mobile-4 {
  grid-template-columns: repeat(2, 1fr);
}

.church-member-event-scroller {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 0 16px 8px;
  scrollbar-width: none;
}

.church-member-event-scroller::-webkit-scrollbar {
  display: none;
}

.church-member-event-card {
  min-width: 280px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(200, 196, 215, 0.25);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.05);
}

.church-member-event-card__media {
  height: 128px;
  background-size: cover;
  background-position: center;
}

.church-member-event-card__body {
  padding: 16px;
}

.church-member-event-card__when {
  margin: 0 0 4px;
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.church-member-event-card__title {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 500;
}

.church-member-event-card__meta {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-member-event-card__meta .material-symbols-outlined {
  font-size: 16px;
}

.church-member-event-bento {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.church-member-event-feature {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(226, 232, 240, 0.5);
  border-radius: 24px;
  overflow: hidden;
}

.church-member-event-feature__media {
  position: relative;
  height: 192px;
}

.church-member-event-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.church-member-event-feature__date {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 12px;
  padding: 6px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.1;
}

.church-member-event-feature__date strong {
  color: var(--church-primary);
  font-size: 1.25rem;
}

.church-member-event-feature__date span {
  font-size: 0.6875rem;
  text-transform: uppercase;
  color: var(--church-muted);
}

.church-member-event-feature__body {
  padding: 24px;
}

.church-member-event-feature__body h3 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.church-member-event-feature__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  color: var(--church-on-surface-variant);
  font-size: 0.75rem;
  font-weight: 600;
}

.church-member-event-feature__meta .material-symbols-outlined {
  font-size: 18px;
}

.church-member-event-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.church-member-event-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(226, 232, 240, 0.5);
  text-decoration: none;
  color: inherit;
}

.church-member-event-row--static {
  list-style: none;
}

.church-member-event-row__date {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-primary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1.1;
}

.church-member-event-row__date strong {
  font-size: 1.125rem;
}

.church-member-event-row__date span {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
}

.church-member-event-row__media {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

.church-member-event-row h3 {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 500;
}

.church-member-event-row p {
  margin: 0;
  font-size: 0.75rem;
  color: var(--church-muted);
}

.church-member-ministry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.church-member-ministry-tile,
.church-member-join-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 24px;
  border-radius: 16px;
  border: 1px solid rgba(200, 196, 215, 0.35);
  background: #fff;
  text-decoration: none;
  color: inherit;
}

.church-member-ministry-tile__icon {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
}

.church-member-ministry-tile__icon .material-symbols-outlined {
  font-size: 28px;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-member-ministry-tile h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
}

.church-member-ministry-tile p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--church-on-surface-variant);
}

.church-member-ministry-tile__badge {
  display: inline-flex;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-primary);
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
}

.church-member-join-tile {
  border-style: dashed;
  border-width: 2px;
  color: var(--church-muted);
}

.church-member-join-tile .material-symbols-outlined {
  font-size: 32px;
}

.church-member-dash-aside {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.church-member-aside-card {
  background: var(--church-surface-container-low);
  border: 1px solid rgba(200, 196, 215, 0.25);
  border-radius: 24px;
  padding: 24px;
}

.church-member-aside-card__title {
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.25rem;
}

.church-member-aside-card__title .material-symbols-outlined {
  color: var(--church-primary);
}

.church-member-aside-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.church-member-aside-ann {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 16px 16px 16px 20px;
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.05);
  overflow: hidden;
}

.church-member-aside-ann__bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--church-primary);
}

.church-member-aside-ann__meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--church-primary);
  margin-bottom: 6px;
}

.church-member-aside-ann h3 {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 500;
}

.church-member-aside-ann p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--church-on-surface-variant);
}

.church-member-aside-cta {
  display: block;
  margin-top: 16px;
  padding: 12px;
  text-align: center;
  border: 1px solid rgba(83, 65, 205, 0.2);
  border-radius: 12px;
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
}

.church-member-impact-card {
  background: rgba(198, 191, 255, 0.3);
  border-radius: 24px;
  padding: 24px;
}

.church-member-impact-card__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.church-member-impact-card__head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
}

.church-member-impact-card__head .material-symbols-outlined {
  color: var(--church-primary);
}

.church-member-impact-card__note {
  margin: 0 0 16px;
  font-size: 0.875rem;
  color: var(--church-on-surface-variant);
}

.church-member-verse-card {
  position: relative;
  background: var(--church-surface-container);
  border-radius: 24px;
  padding: 24px;
  overflow: hidden;
}

.church-member-verse-card__label {
  display: block;
  margin-bottom: 12px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--church-primary);
}

.church-member-verse-card__text {
  margin: 0 0 8px;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.5;
}

.church-member-verse-card__ref {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
}

.church-member-panel--glass {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  border-color: rgba(226, 232, 240, 0.6);
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.04);
}

.church-member-header--page {
  margin-bottom: 20px;
}

.church-member-profile-hero {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.church-member-profile-hero__avatar-wrap {
  position: relative;
}

.church-member-profile-ring {
  width: 128px;
  height: 128px;
  border-radius: 999px;
  padding: 6px;
  background: conic-gradient(var(--church-primary) calc(var(--profile-pct) * 1%), #dae1e3 0);
  display: flex;
  align-items: center;
  justify-content: center;
}

.church-member-profile-hero__avatar {
  width: 112px;
  height: 112px;
  border-radius: 999px;
  object-fit: cover;
  border: 4px solid #f1fbff;
}

.church-member-profile-hero__pct {
  position: absolute;
  right: 0;
  bottom: 8px;
  background: var(--church-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 999px;
}

.church-member-profile-bento {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.church-member-kv {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.church-member-kv li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.875rem;
}

.church-member-kv span {
  color: var(--church-muted);
}

.church-member-profile-map {
  display: block;
  width: 100%;
  max-height: 160px;
  object-fit: cover;
  border-radius: 12px;
  margin-top: 12px;
}

.church-member-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  padding: 0 4px;
}

.church-member-filter {
  border: 1px solid rgba(200, 196, 215, 0.45);
  background: #fff;
  color: var(--church-on-surface-variant);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
}

.church-member-filter--active {
  background: var(--church-primary);
  border-color: var(--church-primary);
  color: #fff;
}

.church-member-ann-featured {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

.church-member-ann-hero {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 280px;
  background: #131d21;
  color: #fff;
}

.church-member-ann-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
}

.church-member-ann-hero__body {
  position: relative;
  z-index: 1;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 280px;
  gap: 8px;
}

.church-member-ann-hero__body h2 {
  margin: 0;
  font-size: 1.75rem;
}

.church-member-ann-hero__body p {
  margin: 0;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.9);
}

.church-member-ann-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.church-member-ann-side__card {
  flex: 1;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(200, 196, 215, 0.3);
  padding: 20px;
}

.church-member-ann-side__card h3 {
  margin: 8px 0;
  font-size: 1.125rem;
}

.church-member-ann-side__card p {
  margin: 0;
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

.church-member-table-wrap {
  overflow-x: auto;
}

.church-member-table {
  width: 100%;
  border-collapse: collapse;
}

.church-member-table th,
.church-member-table td {
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
  vertical-align: top;
  font-size: 0.875rem;
}

.church-member-table th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--church-muted);
}

.church-member-table tr:hover td {
  background: rgba(83, 65, 205, 0.04);
}

.church-member-table__excerpt {
  margin: 4px 0 0;
  color: var(--church-muted);
  font-size: 0.8125rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.church-member-events-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 24px;
  align-items: start;
}

.church-member-calendar__weekdays,
.church-member-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  text-align: center;
}

.church-member-calendar__weekdays {
  margin-bottom: 8px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--church-muted);
}

.church-member-calendar__day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 0.8125rem;
}

.church-member-calendar__day--today {
  background: var(--church-primary);
  color: #fff;
  font-weight: 700;
}

.church-member-calendar__day--event {
  box-shadow: inset 0 0 0 2px rgba(83, 65, 205, 0.35);
}

.church-member-ministry-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.church-member-ministry-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(200, 196, 215, 0.3);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.church-member-ministry-card__media {
  height: 140px;
  background-size: cover;
  background-position: center;
}

.church-member-ministry-card__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.church-member-ministry-card__body h3 {
  margin: 0;
  font-size: 1.125rem;
}

.church-member-ministry-card__leader {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  color: var(--church-muted);
}

.church-member-ministry-card__leader img {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
}

.church-member-resource-hero {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.church-member-resource-hero__feature {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 220px;
  color: #fff;
  background: #131d21;
}

.church-member-resource-hero__feature img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
}

.church-member-resource-hero__feature > div {
  position: relative;
  z-index: 1;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 220px;
  gap: 8px;
}

.church-member-resource-hero__feature h2 {
  margin: 0;
  font-size: 1.75rem;
}

.church-member-resource-hero__progress {
  background: var(--church-surface-container-low);
  border-radius: 24px;
  padding: 24px;
  border: 1px solid rgba(200, 196, 215, 0.3);
}

.church-member-resource-hero__progress h3 {
  margin: 0 0 8px;
}

.church-member-progress {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  overflow: hidden;
  margin: 16px 0 8px;
}

.church-member-progress__bar {
  height: 100%;
  background: var(--church-primary);
  border-radius: 999px;
}

.church-member-resource-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.church-member-resource-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(200, 196, 215, 0.3);
  overflow: hidden;
}

.church-member-resource-card__media {
  height: 120px;
  background-size: cover;
  background-position: center;
}

.church-member-resource-card__body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.church-member-resource-card__body h2 {
  margin: 0;
  font-size: 1rem;
}

.church-member-search {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--church-surface-container-low);
  border: 1px solid rgba(200, 196, 215, 0.35);
}

.church-member-search .material-symbols-outlined {
  color: var(--church-muted);
}

.church-member-search__input {
  flex: 1;
  border: none;
  background: transparent;
  font: inherit;
  outline: none;
}

.church-resource-row--form {
  align-items: center;
}

.church-resource-row__chevron {
  color: var(--church-muted);
}

@media (min-width: 1024px) {
  .church-member-dash-grid {
    grid-template-columns: minmax(0, 8fr) minmax(260px, 4fr);
    gap: 24px;
  }

  .church-member-desktop-topbar {
    display: flex;
  }
}

@media (max-width: 1023px) {
  .church-member-events-layout,
  .church-member-ann-featured,
  .church-member-resource-hero,
  .church-member-profile-bento,
  .church-member-ministry-cards,
  .church-member-ministry-grid,
  .church-member-resource-grid,
  .church-member-event-bento,
  .church-member-quick-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .church-member-layout {
    grid-template-columns: 1fr;
  }

  .church-member-sidebar {
    display: none;
  }

  .church-member-desktop-topbar {
    display: none !important;
  }

  .church-member-content {
    padding: 0 0 96px;
  }

  .church-member-section__head {
    padding: 0 16px;
  }

  .church-member-section__title {
    padding: 0 16px;
  }

  .church-member-header--page,
  .church-member-profile-hero,
  .church-member-filters,
  .church-member-search,
  .church-alert {
    padding-left: 16px;
    padding-right: 16px;
  }

  .church-member-profile-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .church-member-bottom-nav {
    display: flex;
  }
}

@media (min-width: 961px) {
  .church-member-bottom-nav,
  .church-member-mobile-topbar {
    display: none !important;
  }

  .church-member-bento {
    display: none !important;
  }
}

/* Batch C overflow fix — keep mobile viewport from expanding */
.church-body--member-portal,
.church-member-main,
.church-member-content {
  overflow-x: hidden;
  max-width: 100vw;
}

.church-member-dash-main,
.church-member-section,
.church-member-event-bento,
.church-member-dash-grid {
  min-width: 0;
}

.church-member-event-scroller {
  max-width: 100%;
}

@media (max-width: 767px) {
  .church-member-bento.church-member-bento--mobile-4 {
    display: grid !important;
    padding: 0 16px;
    margin-bottom: 8px;
  }

  .church-member-mobile-topbar {
    display: flex !important;
  }

  .church-member-welcome {
    display: block !important;
  }
}


/* --- Branch admin Batch D (Stitch 25–45) — church.css?v=41 --- */

.church-body--branch-admin {
  background: #f1fbff;
  color: var(--church-navy);
  overflow-x: hidden;
}

.church-branch-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  min-height: 100vh;
}

.church-branch-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background: #283236;
  color: #d9e4e9;
  display: flex;
  flex-direction: column;
  padding: 16px 12px;
  gap: 8px;
  z-index: 40;
}

.church-branch-sidebar__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 12px 8px;
}

.church-branch-sidebar__brand-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--church-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-branch-sidebar__brand-icon .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-branch-brand-link {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: #e4dfff;
  text-decoration: none;
  line-height: 1.2;
}

.church-branch-brand-sub {
  display: block;
  margin-top: 2px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #d9e4e9;
  opacity: 0.85;
}

.church-branch-sidebar__profile {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin: 4px 4px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}

.church-branch-sidebar__avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
}

.church-branch-sidebar__name {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
}

.church-branch-sidebar__role {
  margin: 2px 0 0;
  font-size: 0.6875rem;
  color: #d9e4e9;
  opacity: 0.8;
}

.church-branch-sidebar__nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  overflow-y: auto;
  padding-right: 2px;
}

.church-branch-nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  color: #d9e4e9;
  text-decoration: none;
  background: none;
  border: none;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s ease, color 0.15s ease;
}

.church-branch-nav-link .material-symbols-outlined {
  font-size: 20px;
  opacity: 0.9;
}

.church-branch-nav-link:hover {
  background: rgba(217, 228, 233, 0.1);
  color: #fff;
}

.church-branch-nav-link--active {
  background: var(--church-primary-container);
  color: #faf6ff;
  font-weight: 600;
  box-shadow: 0 0 0 1px rgba(108, 92, 231, 0.35);
}

.church-branch-nav-link--active .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-branch-nav-link .church-nav-count {
  margin-left: auto;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 0.6875rem;
}

.church-branch-sidebar__footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(200, 196, 215, 0.2);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.church-branch-powered {
  margin: 8px 14px 0;
  font-size: 0.625rem;
  color: rgba(217, 228, 233, 0.65);
}

.church-branch-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: none;
  padding: 0;
  background: #f1fbff;
}

.church-branch-desktop-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 72px;
  padding: 12px 32px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(241, 251, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(200, 196, 215, 0.3);
}

.church-branch-desktop-topbar__left {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
  flex: 1;
}

.church-branch-desktop-topbar__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--church-navy);
  white-space: nowrap;
}

.church-branch-search {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 28rem;
  flex: 1;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.45);
}

.church-branch-search input {
  border: none;
  background: transparent;
  width: 100%;
  font: inherit;
  outline: none;
}

.church-branch-desktop-topbar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.church-branch-desktop-topbar__icon {
  position: relative;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--church-on-surface-variant);
  text-decoration: none;
}

.church-branch-desktop-topbar__dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ba1a1a;
  border: 1px solid #f1fbff;
}

.church-branch-desktop-topbar__profile {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 4px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.4);
  text-decoration: none;
  color: var(--church-navy);
  font-size: 0.8125rem;
  font-weight: 600;
}

.church-branch-desktop-topbar__profile img {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  object-fit: cover;
}

.church-branch-content {
  padding: 24px 32px 48px;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.church-branch-mobile-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 30;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 64px;
  padding: 0 16px;
  background: rgba(241, 251, 255, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
}

.church-branch-mobile-topbar__avatar {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
}

.church-branch-mobile-topbar__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.church-branch-mobile-topbar__brand strong {
  display: block;
  font-size: 0.9375rem;
  color: var(--church-primary);
}

.church-branch-mobile-topbar__brand span {
  display: block;
  font-size: 0.6875rem;
  color: var(--church-muted);
}

.church-branch-mobile-topbar__icon {
  color: var(--church-primary);
  display: inline-flex;
}

.church-branch-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 25;
  height: 72px;
  padding: 0 6px;
  align-items: center;
  justify-content: space-around;
  background: var(--church-surface-container);
  box-shadow: 0 -4px 16px rgba(19, 29, 33, 0.08);
}

.church-branch-bottom-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 56px;
  padding: 6px 10px;
  border-radius: 12px;
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--church-muted);
  text-decoration: none;
}

.church-branch-bottom-nav__link--active {
  background: var(--church-primary-container);
  color: #faf6ff;
}

.church-branch-bottom-nav__link--active .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.church-branch-more { position: relative; }
.church-branch-more__summary { list-style: none; cursor: pointer; }
.church-branch-more__summary::-webkit-details-marker { display: none; }

.church-branch-more__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  min-width: 200px;
  max-height: 60vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.45);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(19, 29, 33, 0.12);
  padding: 8px;
  display: flex;
  flex-direction: column;
  z-index: 50;
}

.church-branch-more__panel a {
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--church-navy);
  text-decoration: none;
  font-size: 0.875rem;
}

.church-branch-more__panel a:hover {
  background: var(--church-surface-container-low);
}

.church-branch-page-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.church-branch-page-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--church-primary);
}

.church-branch-page-hero__title {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--church-navy);
}

.church-branch-page-hero__subtitle {
  margin: 6px 0 0;
  color: var(--church-muted);
}

.church-branch-breadcrumb {
  margin: 0 0 6px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
}

.church-branch-bento-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.church-branch-bento-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.35);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.church-branch-bento-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(19, 29, 33, 0.08);
}

.church-branch-bento-stat__icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
}

.church-branch-bento-stat__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.church-branch-bento-stat__value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--church-navy);
}

.church-branch-bento-stat__value--sm {
  font-size: 1rem;
  line-height: 1.3;
}

.church-branch-dash-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(240px, 4fr);
  gap: 24px;
  margin-bottom: 24px;
}

.church-branch-panel--glass {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(8px);
  border-color: rgba(226, 232, 240, 0.65);
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.04);
}

.church-branch-actions--compact { gap: 10px; }

.church-branch-kv {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.church-branch-kv li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.875rem;
}

.church-branch-kv span { color: var(--church-muted); }

.church-branch-map {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border-radius: 12px;
}

.church-branch-metrics-more { margin-top: 8px; }
.church-branch-metrics-more > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--church-primary);
  margin-bottom: 12px;
}

.church-branch-event-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.church-branch-event-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(200, 196, 215, 0.35);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.church-branch-event-card__media {
  height: 140px;
  background-size: cover;
  background-position: center;
}

.church-branch-event-card__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  flex: 1;
}

.church-branch-event-card__body h2 {
  margin: 0;
  font-size: 1.125rem;
}

.church-branch-event-card__actions {
  display: flex;
  gap: 8px;
  margin-top: auto;
}

.church-branch-event-card--create {
  border-style: dashed;
  border-width: 2px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 220px;
  text-decoration: none;
  color: var(--church-muted);
  padding: 24px;
}

.church-branch-event-card--create .material-symbols-outlined { font-size: 36px; }

.church-branch-card-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.church-branch-person-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: var(--church-surface-container-low);
}

.church-branch-person-card p {
  margin: 6px 0;
  color: var(--church-on-surface-variant);
  font-size: 0.875rem;
}

/* Dashboard Stitch refinements (Batch D) */
.church-branch-dash-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.church-branch-dash-hero__pulse {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.church-branch-dash-hero__pulse-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--church-navy);
}

.church-branch-dash-hero__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(83, 65, 205, 0.12);
  color: var(--church-primary);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.church-branch-dash-hero__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--church-navy);
}

.church-branch-dash-hero__subtitle,
.church-branch-dash-hero__welcome {
  margin: 6px 0 0;
  color: var(--church-muted);
}

.church-branch-dash-hero__plan { margin: 8px 0 0; }

.church-branch-bento-stat__hint {
  font-size: 0.75rem;
  color: var(--church-muted);
}

.church-branch-bento-stat--warn .church-branch-bento-stat__value { color: #c2410c; }
.church-branch-bento-stat--warn .church-branch-bento-stat__icon {
  background: rgba(194, 65, 12, 0.12);
  color: #c2410c;
}
.church-branch-bento-stat--ok .church-branch-bento-stat__value { color: #15803d; }
.church-branch-bento-stat--ok .church-branch-bento-stat__icon {
  background: rgba(21, 128, 61, 0.12);
  color: #15803d;
}
.church-branch-bento-stat--accent .church-branch-bento-stat__value { color: var(--church-primary); }

.church-branch-bento-stat--budget {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background: var(--church-primary);
  color: #fff;
  border: none;
}
.church-branch-bento-stat--budget .church-branch-bento-stat__label,
.church-branch-bento-stat--budget .church-branch-bento-stat__hint,
.church-branch-bento-stat--budget .church-branch-bento-stat__value {
  color: #fff;
}
.church-branch-bento-stat__budget-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.church-branch-bento-stat__ring {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  border: 4px solid rgba(255, 255, 255, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.church-branch-bento-stat__ring .material-symbols-outlined {
  font-size: 28px;
  color: #fff;
}

.church-branch-panel--actions {
  background: var(--church-primary);
  border: none;
  color: #fff;
}
.church-branch-panel__title--on-dark { color: #fff; }
.church-branch-actions--stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.church-btn--ghost-light {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 12px;
  padding: 12px 14px;
  text-decoration: none;
  font-weight: 600;
}
.church-btn--ghost-light:hover { background: rgba(255, 255, 255, 0.2); color: #fff; }
.church-btn--on-purple {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #fff;
  color: var(--church-primary);
  border: none;
  border-radius: 12px;
  padding: 14px 16px;
  text-decoration: none;
  font-weight: 700;
}
.church-btn--on-purple:hover { background: #f5f3ff; color: var(--church-primary); }

.church-branch-quick-icons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.church-branch-quick-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--church-navy);
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
}
.church-branch-quick-icon .material-symbols-outlined {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(83, 65, 205, 0.12);
  color: var(--church-primary);
  font-size: 24px;
}

.church-branch-urgent-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(220, 38, 38, 0.12);
  color: #b91c1c;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.church-branch-kv--compact { margin-top: 12px; margin-bottom: 0; }

.church-branch-fab {
  position: fixed;
  right: 20px;
  bottom: 88px;
  z-index: 45;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: var(--church-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(83, 65, 205, 0.35);
}
.church-branch-fab .material-symbols-outlined { font-size: 28px; }
@media (min-width: 1024px) {
  .church-branch-fab { bottom: 28px; right: 28px; border-radius: 999px; }
}

.church-branch-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.church-branch-bento-stat__icon--info {
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
}
.church-branch-bento-stat__icon--warn {
  background: rgba(220, 38, 38, 0.12);
  color: #dc2626;
}
.church-branch-bento-stat__icon--ok {
  background: rgba(21, 128, 61, 0.12);
  color: #15803d;
}

.church-branch-member-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
.church-branch-avatar-initials {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(83, 65, 205, 0.15);
  color: var(--church-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.church-branch-row-actions {
  display: flex;
  gap: 6px;
}
.church-branch-icon-btn {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--church-primary);
  text-decoration: none;
  background: rgba(83, 65, 205, 0.08);
}
.church-branch-icon-btn:hover { background: rgba(83, 65, 205, 0.16); }

.church-branch-checklist {
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px dashed rgba(83, 65, 205, 0.35);
  background: rgba(83, 65, 205, 0.06);
}
.church-branch-checklist__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--church-primary);
}
.church-branch-checklist p {
  margin: 0 0 10px;
  color: var(--church-muted);
  font-size: 0.875rem;
}
.church-branch-checklist ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.church-branch-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--church-navy);
}
.church-branch-checklist li .material-symbols-outlined {
  color: #15803d;
  font-size: 18px;
  margin-top: 1px;
}

.church-drawer--admin .church-branch-nav-link { color: var(--church-navy); }
.church-drawer--admin .church-branch-nav-link--active {
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-primary);
  box-shadow: none;
}

@media (min-width: 1024px) {
  .church-branch-desktop-topbar { display: flex; }
}

@media (max-width: 1023px) {
  .church-branch-bento-stats,
  .church-branch-dash-grid,
  .church-branch-event-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 960px) {
  .church-branch-layout { grid-template-columns: 1fr; }
  .church-branch-sidebar--desktop { display: none; }
  .church-branch-desktop-topbar { display: none !important; }
  .church-branch-mobile-topbar { display: flex; }
  .church-branch-bottom-nav { display: flex; }
  .church-branch-content { padding: 16px 16px 96px; }
  .church-branch-bento-stats,
  .church-branch-event-grid,
  .church-branch-dash-grid {
    grid-template-columns: 1fr;
  }
}


/* --- Platform admin Batch E (Stitch 62–68) — church.css?v=42 --- */
/* --- Apex homepage menu fix — church.css?v=43 --- */
/* --- Public sermons media demo — church.css?v=44 --- */
/* --- Sermons media + toolbar alignment — church.css?v=45 --- */
/* --- Giving QR visibility fix — church.css?v=46 --- */

.church-sermon-hash-target {
  scroll-margin-top: 72px;
  height: 0;
  overflow: hidden;
}

.church-sermon-video {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #0f1720;
}

.church-sermon-video__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #0f1720;
}

.church-sermon-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.church-sermon-featured-mobile .church-sermon-video__frame {
  border-radius: 0;
}

.church-sermon-featured-mobile__media.church-sermon-video {
  height: auto;
}

.church-sermon-featured-mobile__media.church-sermon-video .church-sermon-badge {
  z-index: 2;
}

.church-sermon-featured-desktop.church-sermon-featured--media {
  position: relative;
  overflow: visible;
  background: var(--church-surface);
  border: 1px solid rgba(200, 196, 215, 0.55);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(19, 29, 33, 0.08);
}

.church-sermon-featured-desktop.church-sermon-featured--media > img {
  display: none;
}

.church-sermon-featured-desktop__grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 0;
}

.church-sermon-featured-desktop__grid .church-sermon-video {
  border-radius: 16px 0 0 16px;
}

.church-sermon-featured-desktop__copy {
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}

.church-sermon-featured-desktop__copy .church-sermon-badge {
  position: static;
  align-self: flex-start;
}

.church-sermon-featured-desktop__copy h2 {
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.2;
  color: var(--church-navy);
}

.church-sermon-featured-desktop__copy .church-sermon-meta {
  color: var(--church-muted);
}

.church-sermon-featured-desktop__desc {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.church-sermon-media-panel {
  margin-top: 12px;
  padding: 14px;
  border-radius: 12px;
  background: var(--church-surface-container-low, #eef5f9);
  border: 1px solid rgba(200, 196, 215, 0.45);
}

.church-sermon-media-panel__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--church-navy);
}

.church-sermon-media-panel__label .material-symbols-outlined {
  font-size: 18px;
}

.church-sermon-audio {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 12px;
}

.church-sermon-download-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.church-sermon-download-row .church-btn--sm {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 0.8125rem;
}

.church-sermon-download-row .material-symbols-outlined {
  font-size: 18px;
}

.church-sermon-resource-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 20px 0 28px;
}

.church-sermon-resource-card {
  background: var(--church-surface);
  border: 1px solid rgba(200, 196, 215, 0.55);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.church-sermon-resource-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.church-sermon-resource-card__head > .material-symbols-outlined {
  color: var(--church-primary, #6c5ce7);
  font-size: 28px;
}

.church-sermon-resource-card h3 {
  margin: 0;
  font-size: 1.0625rem;
  color: var(--church-navy);
}

.church-sermon-resource-card p {
  margin: 0;
  flex: 1;
  color: var(--church-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

.church-sermon-resource-card .church-btn {
  align-self: flex-start;
}

.church-sermon-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(108, 92, 231, 0.12);
  color: var(--church-primary, #6c5ce7);
}

.church-sermon-type-badge--audio {
  background: rgba(14, 165, 233, 0.12);
  color: #0284c7;
}

.church-sermon-type-badge--pdf {
  background: rgba(220, 38, 38, 0.1);
  color: #b91c1c;
}

@media (min-width: 900px) {
  .church-sermon-resource-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0 36px;
  }

  .church-sermon-featured-desktop__grid {
    grid-template-columns: 1.4fr 1fr;
  }
}

@media (max-width: 899px) {
  .church-sermon-featured-desktop__grid {
    grid-template-columns: 1fr;
  }

  .church-sermon-featured-desktop__grid .church-sermon-video {
    border-radius: 16px 16px 0 0;
  }
}

.church-body--platform-admin,
.church-body--platform-login {
  background: #f4f6fb;
  color: var(--church-navy);
  overflow-x: hidden;
}

.church-platform-layout { min-height: 100vh; }

.church-platform-sidebar .church-platform-nav-cta {
  background: rgba(108, 92, 231, 0.18);
  color: #fff;
  font-weight: 600;
  margin-bottom: 6px;
}

.church-platform-content { padding: 24px 28px 48px; }
@media (max-width: 960px) {
  .church-platform-content { padding: 16px 16px 96px; }
}

.church-platform-page-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}
.church-platform-page-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--church-primary);
}
.church-platform-page-hero__title {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--church-navy);
}
.church-platform-page-hero__subtitle {
  margin: 6px 0 0;
  color: var(--church-muted);
  max-width: 42rem;
}
.church-platform-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.church-platform-bento-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.church-platform-bento-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.35);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.04);
}
.church-platform-bento-stat__icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
}
.church-platform-bento-stat__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.church-platform-bento-stat__value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}
.church-platform-bento-stat__hint {
  font-size: 0.75rem;
  color: var(--church-muted);
}

.church-platform-panel {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(200, 196, 215, 0.35);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.04);
}
.church-platform-panel__title {
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.05rem;
  font-weight: 700;
}
.church-platform-panel--search,
.church-platform-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}
.church-platform-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  align-items: flex-end;
}
.church-field--grow { flex: 1; min-width: 200px; }

.church-platform-table-wrap { overflow-x: auto; }
.church-platform-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.church-platform-table th {
  text-align: left;
  padding: 10px 12px;
  color: var(--church-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid rgba(200, 196, 215, 0.45);
}
.church-platform-table td {
  padding: 14px 12px;
  border-bottom: 1px solid rgba(200, 196, 215, 0.28);
  vertical-align: middle;
}
.church-platform-org-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
.church-platform-org-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(83, 65, 205, 0.12);
  color: var(--church-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.church-platform-meta {
  display: block;
  font-size: 0.75rem;
  color: var(--church-muted);
}
.church-platform-chip {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(13, 148, 136, 0.12);
  color: #0f766e;
  font-size: 0.75rem;
  font-weight: 600;
}
.church-platform-chip--plan {
  background: rgba(83, 65, 205, 0.12);
  color: var(--church-primary);
}
.church-platform-empty {
  text-align: center;
  color: var(--church-muted);
  padding: 24px !important;
}

.church-platform-back { margin: 0 0 12px; }
.church-platform-back a {
  color: var(--church-primary);
  font-weight: 600;
  text-decoration: none;
  font-size: 0.8125rem;
}

.church-platform-provision-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
  gap: 20px;
  align-items: start;
}
.church-platform-onboarding-card {
  background: var(--church-primary);
  color: #fff;
  border-radius: 20px;
  padding: 24px;
}
.church-platform-onboarding-card h2 { margin: 0 0 10px; font-size: 1.25rem; }
.church-platform-onboarding-card p { margin: 0 0 16px; opacity: 0.92; font-size: 0.9rem; }
.church-platform-onboarding-card ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}
.church-platform-onboarding-card li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.875rem;
}
.church-platform-onboarding-card li .material-symbols-outlined {
  color: #86efac;
  font-size: 18px;
}
.church-platform-onboarding-card__map {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
  max-height: 140px;
}

/* Bridge legacy admin classes inside platform shell */
.church-body--platform-admin .admin-dashboard__header,
.church-body--platform-admin .admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}
.church-body--platform-admin .admin-dashboard__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
}
.church-body--platform-admin .admin-dashboard__subtitle,
.church-body--platform-admin .muted {
  color: var(--church-muted);
}
.church-body--platform-admin .card,
.church-body--platform-admin .card--mb-xl {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(200, 196, 215, 0.35);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(19, 29, 33, 0.04);
}
.church-body--platform-admin .admin-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
.church-body--platform-admin .admin-stat {
  background: var(--church-surface-container-low, #f8fafc);
  border-radius: 14px;
  padding: 14px;
}
.church-body--platform-admin .admin-stat__label {
  margin: 0;
  font-size: 0.75rem;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.church-body--platform-admin .admin-stat__value {
  margin: 6px 0 0;
  font-size: 1.5rem;
  font-weight: 700;
}
.church-body--platform-admin .table-wrap { overflow-x: auto; }
.church-body--platform-admin .table {
  width: 100%;
  border-collapse: collapse;
}
.church-body--platform-admin .table th,
.church-body--platform-admin .table td {
  padding: 12px;
  border-bottom: 1px solid rgba(200, 196, 215, 0.3);
  text-align: left;
}
.church-body--platform-admin .input-field { margin-bottom: 12px; }
.church-body--platform-admin .input-field__label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 6px;
}
.church-body--platform-admin .input-field__control,
.church-body--platform-admin .church-input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(200, 196, 215, 0.7);
  background: #fff;
  font: inherit;
}
.church-body--platform-admin .admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}
.church-body--platform-admin .admin-dl {
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr;
  gap: 8px 16px;
}
.church-body--platform-admin .admin-dl dt { color: var(--church-muted); font-weight: 600; }
.church-body--platform-admin .flash {
  padding: 12px 14px;
  border-radius: 12px;
  margin-bottom: 16px;
}
.church-body--platform-admin .flash--success { background: rgba(21, 128, 61, 0.12); color: #166534; }
.church-body--platform-admin .flash--error,
.church-body--platform-admin .flash[role="alert"] { background: rgba(185, 28, 28, 0.1); color: #991b1b; }

.church-platform-login {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top right, rgba(108, 92, 231, 0.18), transparent 40%),
    linear-gradient(180deg, #f1fbff 0%, #f4f6fb 100%);
}
.church-platform-login__card {
  width: min(100%, 420px);
  background: #fff;
  border-radius: 24px;
  padding: 32px 28px;
  border: 1px solid rgba(200, 196, 215, 0.35);
  box-shadow: 0 16px 40px rgba(19, 29, 33, 0.08);
}
.church-platform-login__brand {
  text-align: center;
  margin-bottom: 24px;
}
.church-platform-login__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--church-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.church-platform-login__brand h1 {
  margin: 0;
  font-size: 1.5rem;
}
.church-platform-login__brand p {
  margin: 6px 0 0;
  color: var(--church-muted);
  font-size: 0.875rem;
}
.church-platform-login__form { display: grid; gap: 14px; }
.church-platform-login__actions { display: grid; gap: 10px; margin-top: 8px; }
.church-platform-login__hint {
  margin: 18px 0 0;
  font-size: 0.8125rem;
  color: var(--church-muted);
  text-align: center;
}

@media (max-width: 1023px) {
  .church-platform-bento-stats,
  .church-platform-provision-grid,
  .church-body--platform-admin .admin-form-grid {
    grid-template-columns: 1fr;
  }
}

/* —— Leader portal visual alignment (Stitch 46–47, CSS v47) —— */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.church-body--leader-portal {
  background: #f4f6fb;
  color: var(--church-navy);
}

.church-body--leader-portal .church-member-sidebar {
  background: #1f2937;
  color: #f8fafc;
  border-right: none;
}

.church-body--leader-portal .church-member-brand-link,
.church-body--leader-portal .church-sidebar-brand__text,
.church-body--leader-portal .church-sidebar-context {
  color: #f8fafc;
}

.church-body--leader-portal .church-sidebar-context--secondary {
  color: rgba(248, 250, 252, 0.7);
}

.church-body--leader-portal .church-member-nav-link {
  color: rgba(248, 250, 252, 0.88);
}

.church-body--leader-portal .church-member-nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.church-body--leader-portal .church-member-nav-link--active {
  background: var(--church-primary);
  color: #fff;
  font-weight: 700;
}

.church-body--leader-portal .church-member-sidebar__footer {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.church-leader-sidebar__profile {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin: 4px 0 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}

.church-leader-sidebar__name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  overflow-wrap: anywhere;
}

.church-leader-sidebar__role {
  margin: 2px 0 0;
  font-size: 0.75rem;
  color: rgba(248, 250, 252, 0.7);
}

.church-leader-sidebar__ministry-label {
  margin: 0 16px 2px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.55);
}

.church-leader-sidebar__ministry-name {
  margin: 0 16px 10px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
  overflow-wrap: anywhere;
}

.church-leader-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.18);
  color: var(--church-primary);
  font-size: 0.85rem;
  font-weight: 700;
  flex-shrink: 0;
}

.church-body--leader-portal .church-leader-sidebar .church-leader-avatar {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.church-leader-avatar--sm {
  width: 36px;
  height: 36px;
  font-size: 0.75rem;
}

.church-leader-main {
  padding: 20px 24px 96px;
  max-width: 1120px;
}

.church-leader-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
}

.church-leader-topbar__identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.church-leader-topbar__ministry {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--church-primary);
  overflow-wrap: anywhere;
}

.church-leader-topbar__leader {
  margin: 2px 0 0;
  font-size: 0.75rem;
  color: var(--church-muted);
  overflow-wrap: anywhere;
}

.church-leader-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 8px 0 20px;
  flex-wrap: wrap;
}

.church-leader-page-header__eyebrow {
  margin: 0 0 4px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--church-primary);
  overflow-wrap: anywhere;
}

.church-leader-page-header__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--church-navy);
}

.church-leader-page-header__subtitle {
  margin: 6px 0 0;
  color: var(--church-muted);
}

.church-leader-page-header__welcome {
  margin: 0;
  color: var(--church-muted);
}

.church-leader-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px 22px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 55%, #8b5cf6 100%);
  color: #fff;
}

.church-leader-hero__title {
  margin: 0 0 6px;
  font-size: 1.35rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.church-leader-hero__subtitle {
  margin: 0;
  opacity: 0.92;
  overflow-wrap: anywhere;
}

.church-btn--on-primary {
  background: #fff;
  color: #6d28d9;
  border: none;
}

.church-btn--on-primary:hover,
.church-btn--on-primary:focus-visible {
  background: #f5f3ff;
  color: #5b21b6;
}

.church-leader-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.church-leader-stat-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.4);
  box-shadow: 0 1px 2px rgba(19, 29, 33, 0.04);
  min-width: 0;
}

.church-leader-stat-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(124, 58, 237, 0.1);
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-leader-stat-card__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
}

.church-leader-stat-card__value {
  display: block;
  margin-top: 4px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.church-leader-stat-card__value--text {
  font-size: 1.05rem;
}

.church-leader-stat-card__hint {
  display: block;
  margin-top: 4px;
  font-size: 0.75rem;
  color: var(--church-muted);
}

.church-leader-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
  gap: 16px;
  align-items: start;
}

.church-leader-panel {
  margin-bottom: 0;
}

.church-leader-panel + .church-leader-panel {
  margin-top: 16px;
}

.church-leader-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.church-leader-activity-list__item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
}

.church-leader-activity-list__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.church-leader-activity-list__icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(124, 58, 237, 0.08);
  color: var(--church-primary);
  flex-shrink: 0;
}

.church-leader-activity-list__title {
  display: block;
  overflow-wrap: anywhere;
}

.church-leader-activity-list__meta,
.church-leader-activity-list__detail {
  margin: 4px 0 0;
  color: var(--church-muted);
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}

.church-leader-quick-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.church-leader-quick-action {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f3f4f6;
  color: var(--church-navy);
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
}

.church-leader-quick-action:hover,
.church-leader-quick-action:focus-visible {
  border-color: rgba(124, 58, 237, 0.35);
  outline: 2px solid rgba(124, 58, 237, 0.25);
  outline-offset: 1px;
}

.church-leader-quick-action--primary {
  background: var(--church-primary);
  color: #fff;
}

.church-leader-panel--pending {
  background: #eef6ff;
  border: 1px dashed rgba(59, 130, 246, 0.35);
}

.church-leader-pending-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.church-leader-pending-list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  overflow-wrap: anywhere;
}

.church-leader-pending-list__dot {
  width: 8px;
  height: 8px;
  margin-top: 6px;
  border-radius: 999px;
  background: #dc2626;
  flex-shrink: 0;
}

.church-leader-pending-list__dot--muted {
  background: var(--church-primary);
}

.church-leader-pending-list__dot--soft {
  background: #9ca3af;
}

.church-leader-roster-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.church-leader-roster-search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 220px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f3f4f6;
  border: 1px solid rgba(200, 196, 215, 0.5);
}

.church-leader-roster-search__input {
  width: 100%;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
  min-width: 0;
}

.church-leader-roster-search__input:focus {
  outline: none;
}

.church-leader-roster-search:focus-within {
  border-color: var(--church-primary);
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}

.church-leader-roster-member {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.church-leader-roster-member__text {
  min-width: 0;
}

.church-leader-roster-member__name {
  display: block;
  overflow-wrap: anywhere;
}

.church-leader-roster-member__email,
.church-leader-roster-phone {
  display: block;
  color: var(--church-muted);
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}

.church-leader-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 600;
}

.church-leader-status__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #16a34a;
}

.church-leader-status__label {
  color: var(--church-navy);
}

.church-leader-roster-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.church-leader-roster-card {
  background: #fff;
  border: 1px solid rgba(200, 196, 215, 0.4);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 1px 2px rgba(19, 29, 33, 0.04);
}

.church-leader-roster-card__top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.church-leader-roster-card__identity {
  flex: 1;
  min-width: 0;
}

.church-leader-roster-card__role {
  display: block;
  margin-top: 2px;
  color: var(--church-muted);
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}

.church-leader-roster-card__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 12px 0 0;
}

.church-leader-roster-card__meta dt {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.church-leader-roster-card__meta dd {
  margin: 2px 0 0;
}

.church-leader-roster-no-match[hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .church-leader-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-leader-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .church-leader-main {
    padding: 0 0 88px;
  }

  .church-leader-page-header,
  .church-leader-hero,
  .church-leader-stat-grid,
  .church-leader-dashboard-grid,
  .church-leader-panel,
  [data-leader-roster] {
    margin-left: 16px;
    margin-right: 16px;
  }

  .church-leader-page-header {
    margin-top: 16px;
  }

  .church-leader-stat-grid {
    grid-template-columns: 1fr;
  }

  .church-leader-quick-actions {
    grid-template-columns: 1fr 1fr;
  }

  .church-leader-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .church-body--leader-portal .church-member-bottom-nav {
    display: flex;
  }
}

/* —— Leader attendance + activity notes (Stitch 48–49, CSS v48) —— */
.church-leader-panel__hint {
  margin: 0;
  font-size: 0.8rem;
  color: var(--church-muted);
}

.church-label__optional {
  font-weight: 500;
  color: var(--church-muted);
}

.church-leader-attendance-session-grid {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.church-leader-count-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.church-leader-count-card {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(200, 196, 215, 0.45);
  background: #fff;
  min-width: 0;
}

.church-leader-count-card__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-muted);
}

.church-leader-count-card__hint {
  margin: 4px 0 10px;
  font-size: 0.8rem;
  color: var(--church-muted);
}

.church-leader-count-card__controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.church-leader-count-card__input {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--church-primary);
  min-width: 0;
}

.church-leader-count-btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(124, 58, 237, 0.25);
  background: #f5f3ff;
  color: var(--church-primary);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

.church-leader-count-btn--plus {
  background: var(--church-primary);
  border-color: var(--church-primary);
  color: #fff;
}

.church-leader-count-btn:focus-visible,
.church-leader-count-card__input:focus-visible {
  outline: 2px solid rgba(124, 58, 237, 0.45);
  outline-offset: 2px;
}

.church-leader-attendance-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #eef2ff;
}

.church-leader-attendance-total__label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--church-primary);
}

.church-leader-attendance-total__value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--church-primary);
}

.church-leader-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.church-leader-form-actions__hint {
  margin: 0;
  flex: 1 1 200px;
  font-size: 0.85rem;
  color: var(--church-muted);
}

.church-leader-form-actions__buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.church-leader-form-actions--notes {
  margin-top: 0;
}

.church-leader-history-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.church-leader-history-card {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(200, 196, 215, 0.4);
  background: #fff;
}

.church-leader-history-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.church-leader-history-card__meta {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.875rem;
}

.church-leader-wrap {
  overflow-wrap: anywhere;
}

.church-leader-readonly {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f3f4f6;
  border: 1px solid rgba(200, 196, 215, 0.45);
  font-weight: 600;
}

.church-leader-notes-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.church-leader-panel--challenge .church-member-panel__title,
.church-leader-panel--support .church-member-panel__title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.church-leader-panel--challenge .material-symbols-outlined {
  color: #dc2626;
}

.church-leader-panel--support .material-symbols-outlined {
  color: var(--church-primary);
}

.church-leader-status__dot--draft {
  background: #f59e0b;
}

@media (max-width: 900px) {
  .church-leader-count-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-leader-attendance-session-grid,
  .church-leader-notes-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .church-leader-count-grid {
    grid-template-columns: 1fr;
  }

  .church-leader-attendance-form .church-member-panel,
  .church-leader-notes-form .church-member-panel,
  [data-leader-attendance-history],
  [data-leader-notes-history],
  .church-leader-notes-split {
    margin-left: 16px;
    margin-right: 16px;
  }

  .church-leader-form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .church-leader-form-actions .church-btn,
  .church-leader-form-actions__buttons .church-btn {
    width: 100%;
  }
}

/* —— HQ Audit Trail + Broadcast Centre (Stitch 58 / 61 visual alignment) —— */
.church-body--hq-admin[data-hq-shell="stitch-v49"] .church-hq-main {
  min-width: 0;
}

.church-hq-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.church-hq-page-header__eyebrow {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-muted);
}

.church-hq-page-header__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--church-text);
  overflow-wrap: anywhere;
}

.church-hq-page-header__subtitle {
  margin: 6px 0 0;
  color: var(--church-muted);
  font-size: 0.9375rem;
  overflow-wrap: anywhere;
}

.church-hq-wrap {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.church-hq-muted {
  color: var(--church-muted);
  font-size: 0.875rem;
}

.church-hq-filter-panel {
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid var(--church-border, #e2e8f0);
  border-radius: var(--church-radius-md, 12px);
  background: var(--church-surface, #fff);
}

.church-hq-filter-panel__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px 14px;
}

.church-hq-filter-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.church-hq-panel {
  min-width: 0;
}

.church-hq-panel__meta {
  margin-bottom: 8px;
}

.church-hq-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--church-border, #e2e8f0);
}

.church-hq-pagination__status {
  font-size: 0.875rem;
  color: var(--church-muted);
}

.church-hq-action-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-size: 0.75rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.church-hq-actor-type {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.church-hq-audit-cards,
.church-hq-broadcast-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.church-hq-audit-card,
.church-hq-broadcast-card {
  padding: 14px;
  border: 1px solid var(--church-border, #e2e8f0);
  border-radius: 12px;
  background: var(--church-surface, #fff);
  min-width: 0;
}

.church-hq-audit-card__top,
.church-hq-broadcast-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.church-hq-audit-card__actor,
.church-hq-audit-card__target,
.church-hq-audit-card__summary {
  margin: 0 0 6px;
}

.church-hq-broadcast-card__title {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}

.church-hq-broadcast-card__actions,
.church-hq-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.church-hq-broadcast-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0 10px;
}

.church-hq-flag {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.church-hq-flag--featured {
  background: #fef3c7;
  color: #92400e;
}

.church-hq-flag--pinned {
  background: #e0e7ff;
  color: #3730a3;
}

.church-hq-priority,
.church-hq-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
}

.church-hq-priority--urgent,
.church-hq-priority--high {
  color: #b91c1c;
}

.church-hq-priority--normal {
  color: #334155;
}

.church-hq-priority--low {
  color: #64748b;
}

.church-hq-status__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #94a3b8;
  flex-shrink: 0;
}

.church-hq-status--draft .church-hq-status__dot {
  background: #f59e0b;
}

.church-hq-status--published .church-hq-status__dot {
  background: #16a34a;
}

.church-hq-status--archived .church-hq-status__dot {
  background: #64748b;
}

.church-hq-status__label {
  overflow-wrap: anywhere;
}

.church-hq-broadcast-form .church-hq-panel + .church-hq-panel {
  margin-top: 14px;
}

.church-hq-analytics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.church-hq-analytics-card {
  padding: 12px 14px;
  border: 1px solid var(--church-border, #e2e8f0);
  border-radius: 12px;
  background: var(--church-surface-muted, #f8fafc);
  min-width: 0;
}

.church-hq-analytics-card__label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--church-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.church-hq-analytics-card__value {
  margin: 6px 0 2px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--church-text);
}

.church-hq-analytics-card__hint {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--church-muted);
  overflow-wrap: anywhere;
}

.church-hq-analytics-branch-title {
  margin-top: 1.25rem;
  font-size: 1rem;
}

.church-hq-confirm-estimate {
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
}

.church-hq-confirm-estimate__label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1e40af;
}

.church-hq-confirm-estimate__value {
  margin: 6px 0 4px;
  font-size: 2rem;
  font-weight: 700;
  color: #1e3a8a;
  line-height: 1.1;
}

.church-hq-confirm-estimate__hint {
  margin: 0;
  font-size: 0.875rem;
  color: #1e40af;
}

.church-hq-audit-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.church-hq-meta-dl dd {
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .church-body--hq-admin[data-hq-shell="stitch-v49"] .church-hq-page-header,
  .church-body--hq-admin[data-hq-shell="stitch-v49"] .church-hq-filter-panel,
  .church-body--hq-admin[data-hq-shell="stitch-v49"] .church-hq-panel,
  .church-body--hq-admin[data-hq-shell="stitch-v49"] .church-hq-form-actions,
  .church-body--hq-admin[data-hq-shell="stitch-v49"] .church-branch-filter-tabs {
    margin-left: 0;
    margin-right: 0;
  }

  .church-hq-page-header__title {
    font-size: 1.4rem;
  }

  .church-hq-filter-panel__grid {
    grid-template-columns: 1fr;
  }

  .church-hq-form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .church-hq-form-actions .church-btn {
    width: 100%;
  }

  .church-hq-analytics-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .church-hq-analytics-grid {
    grid-template-columns: 1fr;
  }
}

/* —— Branch announcement attachments —— */
.church-branch-attachment-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.church-branch-attachment-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--church-border, #e2e8f0);
  border-radius: 12px;
  background: var(--church-surface, #fff);
  min-width: 0;
}

.church-branch-attachment-item__meta {
  min-width: 0;
  flex: 1;
}

.church-branch-attachment-item__meta a {
  font-weight: 600;
  display: inline-block;
  max-width: 100%;
}

@media (max-width: 767px) {
  .church-branch-attachment-item {
    flex-direction: column;
    align-items: stretch;
  }

  .church-branch-attachment-item .church-btn {
    width: 100%;
  }
}

/* Leader Join Request Review (Stitch 50 reduced) */
.church-leader-join-requests__pending {
  margin: 0;
}

.church-leader-join-requests__filters {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.church-leader-join-requests__filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}

.church-leader-join-requests__filter-row .church-field {
  margin: 0;
  min-width: 180px;
  flex: 1;
}

.church-leader-join-requests__meta {
  margin: 4px 0 0;
  font-size: 0.85rem;
  color: var(--church-muted);
}

.church-leader-join-requests__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}

.church-leader-join-requests__pager {
  display: flex;
  gap: 8px;
}

.church-leader-join-requests-mobile {
  display: grid;
  gap: 12px;
}

.church-leader-join-request-card {
  padding: 14px;
  border: 1px solid var(--church-border, #e2e8f0);
  border-radius: 12px;
  background: var(--church-surface, #fff);
  display: grid;
  gap: 10px;
}

.church-leader-join-request-card__header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.church-leader-join-request-detail-grid {
  display: grid;
  gap: 16px;
}

.church-leader-back {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--church-muted);
  text-decoration: none;
  font-size: 0.9rem;
}

.church-leader-back:hover {
  color: var(--church-primary);
}

.church-leader-panel__title {
  margin: 0 0 12px;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--church-navy);
}

@media (min-width: 900px) {
  .church-leader-join-request-detail-grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

/* —— Public church finder (apex) —— */
.bb-finder {
  padding: 32px var(--church-margin-mobile) 64px;
  background: linear-gradient(180deg, var(--church-surface) 0%, #fff 40%);
  min-height: 60vh;
}

.bb-finder__inner {
  max-width: 760px;
  margin: 0 auto;
}

.bb-finder__header {
  margin-bottom: 24px;
}

.bb-finder__eyebrow {
  margin: 0 0 8px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--church-primary);
}

.bb-finder__title {
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  line-height: 1.15;
  color: var(--church-navy);
}

.bb-finder__lead,
.bb-finder__meta,
.bb-finder__count {
  color: var(--church-muted);
}

.bb-finder__form {
  margin-bottom: 28px;
}

.bb-finder__label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 0.9rem;
}

.bb-finder__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bb-finder__input {
  flex: 1 1 220px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--church-outline);
  border-radius: 999px;
  font: inherit;
  background: #fff;
}

.bb-finder__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.bb-finder__list > [role="listitem"] {
  min-width: 0;
}

.bb-finder__card {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  min-width: 0;
}

.bb-finder__card--org:focus-within,
.bb-finder__card--branch:focus-within {
  border-color: color-mix(in srgb, var(--church-primary) 45%, var(--church-outline));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--church-primary) 12%, transparent);
}

.bb-finder__card-body {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  min-width: 0;
  flex: 1 1 240px;
}

.bb-finder__card-main {
  min-width: 0;
  flex: 1 1 auto;
}

.bb-finder__logo {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--church-violet) 14%, #fff);
  color: var(--church-primary);
  flex-shrink: 0;
}

.bb-finder__logo--lg {
  width: 56px;
  height: 56px;
}

.bb-finder__mark {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--church-violet) 14%, #fff);
  color: var(--church-primary);
  flex-shrink: 0;
}

.bb-finder__mark--lg {
  width: 56px;
  height: 56px;
  margin-bottom: 12px;
}

.bb-finder__name {
  margin: 0 0 4px;
  font-size: 1.1rem;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

.bb-finder__org-name {
  margin: 0 0 2px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-primary);
}

.bb-finder__branch-name {
  margin: 0 0 6px;
  font-size: 0.92rem;
  color: var(--church-text);
  overflow-wrap: anywhere;
}

.bb-finder__branch-name .bb-finder__label {
  color: var(--church-muted);
  font-weight: 600;
}

.bb-finder__desc {
  margin: 8px 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--church-text);
  overflow-wrap: anywhere;
}

.bb-finder__facts {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
}

.bb-finder__facts dt {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--church-muted);
}

.bb-finder__facts dd {
  margin: 2px 0 0;
  font-size: 0.92rem;
  color: var(--church-text);
  overflow-wrap: anywhere;
}

.bb-finder__visit {
  align-self: center;
  flex: 0 0 auto;
  width: 100%;
}

@media (min-width: 560px) {
  .bb-finder__visit {
    width: auto;
    min-width: 10.5rem;
  }
}

.bb-finder__services {
  margin: 6px 0 0;
  font-size: 0.9rem;
  color: var(--church-text);
  white-space: pre-wrap;
}

.bb-finder__empty {
  text-align: center;
  padding: 40px 16px;
}

.bb-finder__empty h2,
.bb-finder__empty .bb-finder__title {
  margin-bottom: 12px;
}

.bb-finder__hints {
  text-align: left;
  display: inline-block;
  margin: 0 0 16px;
  color: var(--church-muted);
}

.bb-finder__empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 16px;
}

.bb-finder__pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  color: var(--church-muted);
}

.bb-finder__back {
  margin-top: 28px;
  text-align: center;
}

.bb-finder__org {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.bb-remembered {
  margin-top: 8px;
  padding: 16px 18px;
  border-radius: var(--church-radius-lg);
  background: color-mix(in srgb, var(--church-violet) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--church-violet) 22%, #fff);
}

.bb-remembered__label {
  margin: 0 0 4px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--church-primary);
}

.bb-remembered__church {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--church-navy);
}

.bb-remembered__branch {
  margin: 2px 0 14px;
  color: var(--church-muted);
}

.bb-remembered__clear {
  margin-top: 10px;
}

.bb-remembered__clear-btn {
  background: none;
  border: none;
  padding: 0;
  color: var(--church-muted);
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
  font-size: 0.85rem;
}

.bb-tenant-branch-label {
  margin: 0 0 12px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--church-muted);
}

@media (min-width: 768px) {
  .bb-finder {
    padding: 48px 24px 80px;
  }
}

/* Unified tenant login */
.church-auth-login__note {
  margin: 10px 0 0;
  font-size: 0.88rem;
  line-height: 1.4;
  color: var(--church-muted);
}

.church-auth-login__branch {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--church-muted);
}

.bb-portal-choice-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.bb-portal-choice-label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid var(--church-outline);
  border-radius: var(--church-radius-lg);
  cursor: pointer;
  background: #fff;
}

.bb-portal-choice-meta {
  display: block;
  font-size: 0.85rem;
  color: var(--church-muted);
  font-weight: 500;
}

/* --- Tenant public homepage (Stitch church layout, real data) v50 --- */

.church-body--branch-home .bb-tenant-home {
  display: flex;
  flex-direction: column;
}

.church-body--branch-home .church-footer--branch {
  display: block;
}

.church-body--branch-home .church-fab-chat.home-mobile-design {
  display: none !important;
}

@media (max-width: 899px) {
  .church-body--branch-home .church-fab-chat.home-mobile-design {
    display: inline-flex !important;
  }
}

.bb-tenant-home {
  width: 100%;
  overflow-x: clip;
}

.bb-tenant-section__inner {
  width: min(var(--church-max-width), 100%);
  margin: 0 auto;
  padding: 0 var(--church-margin-mobile);
  box-sizing: border-box;
}

@media (min-width: 900px) {
  .bb-tenant-section__inner {
    padding: 0 var(--church-margin-desktop);
  }
}

.bb-tenant-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--church-space-md);
  margin-bottom: var(--church-space-xl);
}

.bb-tenant-section__head--center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.bb-tenant-section__title {
  margin: 0 0 8px;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

.bb-tenant-section__subtitle {
  margin: 0;
  color: var(--church-muted);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 36rem;
}

.bb-tenant-section__foot {
  margin-top: var(--church-space-lg);
  text-align: center;
}

.bb-tenant-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--church-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}

.bb-tenant-inline-link:hover {
  text-decoration: underline;
}

.bb-tenant-inline-link .material-symbols-outlined {
  font-size: 1rem;
}

.bb-tenant-inline-link--on-dark {
  color: var(--church-primary-fixed-dim, #c6bfff);
}

.bb-tenant-empty {
  padding: var(--church-space-xl);
  border: 1px dashed var(--church-outline);
  border-radius: 1.5rem;
  background: var(--church-surface-container-lowest, #fff);
  text-align: center;
  color: var(--church-muted);
}

.bb-tenant-empty--inline {
  padding: var(--church-space-lg);
  margin-bottom: var(--church-space-md);
}

.bb-tenant-empty p {
  margin: 0 0 8px;
}

.bb-tenant-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 999px;
  background: var(--church-surface-container, #e4f0f4);
  color: var(--church-muted);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.bb-tenant-chip--priority {
  background: rgba(83, 65, 205, 0.12);
  color: var(--church-primary);
}

/* Hero */
.bb-tenant-hero {
  position: relative;
  padding: 32px 0 48px;
  background:
    radial-gradient(circle at 70% 30%, rgba(108, 92, 231, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(83, 65, 205, 0.05) 0%, transparent 40%),
    var(--church-surface, #f1fbff);
}

.bb-tenant-hero__inner {
  width: min(var(--church-max-width), 100%);
  margin: 0 auto;
  padding: 0 var(--church-margin-mobile);
  display: grid;
  gap: var(--church-space-xl);
  align-items: center;
  box-sizing: border-box;
}

.bb-tenant-hero__copy {
  min-width: 0;
}

@media (min-width: 900px) {
  .bb-tenant-hero {
    min-height: 640px;
    padding: 48px 0 64px;
    display: flex;
    align-items: center;
  }

  .bb-tenant-hero__inner {
    padding: 0 var(--church-margin-desktop);
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

.bb-tenant-hero__badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 6px 14px;
  margin-bottom: var(--church-space-md);
  border-radius: 999px;
  background: rgba(108, 92, 231, 0.1);
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  overflow-wrap: anywhere;
}

.bb-tenant-hero__title {
  margin: 0 0 var(--church-space-md);
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

.bb-tenant-hero__lead {
  margin: 0 0 var(--church-space-lg);
  max-width: 36rem;
  color: var(--church-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.bb-tenant-hero__title-accent {
  color: var(--church-primary);
}

.bb-tenant-hero__cta-login {
  border: none;
  background: transparent;
}

.bb-tenant-newcomer {
  padding: 48px 0 64px;
  background: var(--church-navy, #283236);
  color: #fff;
}

.bb-tenant-newcomer__inner {
  text-align: center;
}

.bb-tenant-newcomer__title {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #e4dfff;
}

.bb-tenant-newcomer__lead {
  margin: 0 auto 24px;
  max-width: 40rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.6;
}

.bb-tenant-newcomer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

@media (min-width: 900px) {
  .bb-tenant-hero__badge--mobile,
  .bb-tenant-hero__title--mobile,
  .bb-tenant-hero__lead--mobile,
  .bb-tenant-hero__cta--mobile {
    display: none !important;
  }

  .bb-tenant-hero__cta--desktop {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (max-width: 899px) {
  .bb-tenant-hero__badge--desktop,
  .bb-tenant-hero__title--desktop,
  .bb-tenant-hero__lead--desktop,
  .bb-tenant-hero__cta--desktop {
    display: none !important;
  }

  .bb-tenant-hero__cta--mobile {
    display: grid;
    gap: 12px;
    width: 100%;
  }

  .bb-tenant-newcomer.home-desktop-design {
    display: none !important;
  }
}

.bb-tenant-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.bb-tenant-hero__cta .church-btn {
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 12px;
  font-weight: 600;
}

.bb-tenant-hero__cta-secondary {
  font-size: 0.875rem;
}

@media (max-width: 899px) {
  .bb-tenant-hero__cta {
    flex-direction: column;
  }

  .bb-tenant-hero__cta .church-btn {
    width: 100%;
    justify-content: center;
  }
}

.bb-tenant-hero__visual {
  position: relative;
  min-height: 280px;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(19, 29, 33, 0.12);
}

@media (min-width: 900px) {
  .bb-tenant-hero__visual {
    min-height: 460px;
  }
}

.bb-tenant-hero__img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}

@media (min-width: 900px) {
  .bb-tenant-hero__img {
    min-height: 460px;
  }
}

.bb-tenant-hero__fallback {
  width: 100%;
  min-height: inherit;
  height: 100%;
  background:
    linear-gradient(145deg, rgba(83, 65, 205, 0.88), rgba(108, 92, 231, 0.55)),
    linear-gradient(180deg, #dfeaef, #f1fbff);
}

.bb-tenant-hero__service {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 1rem;
  z-index: 1;
}

@media (min-width: 900px) {
  .bb-tenant-hero__service {
    left: 24px;
    right: auto;
    bottom: 24px;
    max-width: 320px;
  }
}

.bb-tenant-hero__service-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--church-primary);
  color: #fff;
}

.bb-tenant-hero__service-label {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--church-muted);
}

.bb-tenant-hero__service-time {
  margin: 2px 0 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

/* Service strip — mobile early placement; desktop uses hub rail */
.bb-tenant-service {
  padding: var(--church-space-xl) 0;
  order: 2;
}

.bb-tenant-service__card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: var(--church-space-lg);
  border: 1px solid var(--church-outline);
  border-radius: 1.5rem;
  background: var(--church-surface-container-lowest, #fff);
  box-shadow: var(--church-public-card-shadow);
  min-width: 0;
}

.bb-tenant-service__card--schedule {
  min-width: 0;
}

.bb-tenant-service__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
  flex-shrink: 0;
}

.bb-tenant-service__title {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 600;
}

.bb-tenant-service__list {
  list-style: none;
  margin: 0 0 var(--church-space-md);
  padding: 0;
  display: grid;
  gap: 8px;
}

.bb-tenant-service__list li {
  color: var(--church-navy);
  font-weight: 600;
  font-size: 0.9375rem;
  overflow-wrap: anywhere;
}

.bb-tenant-service__content {
  min-width: 0;
  flex: 1;
}

@media (min-width: 900px) {
  .bb-tenant-service {
    display: none;
  }
}

.bb-tenant-sermons__inner {
  min-width: 0;
}

.bb-tenant-visit__copy {
  min-width: 0;
}

.bb-tenant-hero__visual--fallback .bb-tenant-hero__fallback {
  min-height: inherit;
}

/* Announcements */
.bb-tenant-announcements {
  padding: 48px 0;
}

.bb-tenant-announcements__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--church-space-md);
}

@media (min-width: 900px) {
  .bb-tenant-announcements__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.bb-tenant-announcement-card {
  padding: var(--church-space-lg);
  border-radius: 1.5rem;
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest, #fff);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.bb-tenant-announcement-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.bb-tenant-announcement-card__date {
  font-size: 0.75rem;
  color: var(--church-muted);
  font-weight: 500;
  align-self: center;
}

.bb-tenant-announcement-card__title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.bb-tenant-announcement-card__body {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Events */
.bb-tenant-events {
  padding: 48px 0;
  background: var(--church-surface, #f1fbff);
}

.bb-tenant-events__grid {
  display: grid;
  gap: var(--church-space-lg);
}

@media (min-width: 900px) {
  .bb-tenant-events__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.bb-tenant-event-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--church-space-lg);
  border-radius: 1.5rem;
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container-lowest, #fff);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease;
  width: 100%;
  min-width: 0;
}

.bb-tenant-event-card:hover {
  transform: translateY(-4px);
}

.bb-tenant-event-card__date {
  display: inline-flex;
  flex-direction: column;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
  line-height: 1.1;
}

.bb-tenant-event-card__date span {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.bb-tenant-event-card__date strong {
  font-size: 1.25rem;
}

.bb-tenant-event-card__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.bb-tenant-event-card__desc {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9rem;
  line-height: 1.5;
  flex: 1;
}

.bb-tenant-event-card__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  color: var(--church-muted);
  font-size: 0.75rem;
  font-weight: 500;
}

.bb-tenant-event-card__meta .material-symbols-outlined {
  font-size: 0.9rem;
  vertical-align: middle;
}


/* Newest Home Stitch alignment — hub, community, member, hero CTAs */
.bb-tenant-home {
  display: flex;
  flex-direction: column;
}

.bb-tenant-hero { order: 1; }
.bb-tenant-community { order: 3; }
.bb-tenant-hub { order: 4; }
.bb-tenant-ministries { order: 5; }
.bb-tenant-member { order: 6; }
.bb-tenant-visit { order: 7; }

.bb-tenant-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.bb-tenant-hero__cta .church-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.bb-tenant-hero__cta-label--mobile { display: none; }
.bb-tenant-hero__cta .bb-tenant-hero__cta-ministries { display: none; }

.bb-tenant-community {
  padding: 32px 0 8px;
}

.bb-tenant-community__title {
  margin-bottom: var(--church-space-lg);
}

.bb-tenant-community__grid {
  display: grid;
  gap: var(--church-space-md);
  grid-template-columns: 1fr;
}

.bb-tenant-community__card {
  display: grid;
  gap: 8px;
  padding: var(--church-space-lg);
  border-radius: var(--church-public-card-radius);
  background: var(--church-surface-container-lowest, #fff);
  border: var(--church-public-card-border);
  box-shadow: var(--church-public-card-shadow);
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.bb-tenant-community__card .material-symbols-outlined {
  color: var(--church-primary);
  font-size: 1.5rem;
}

.bb-tenant-community__card h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--church-navy);
}

.bb-tenant-community__card p {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

.bb-tenant-community__card--giving {
  background: linear-gradient(135deg, var(--church-primary-container), rgba(83, 65, 205, 0.88));
  color: #fff;
  border: none;
}

.bb-tenant-community__card--giving h3,
.bb-tenant-community__card--giving p,
.bb-tenant-community__card--giving .material-symbols-outlined {
  color: #fff;
}

.bb-tenant-community__card--giving .church-btn {
  justify-self: start;
  margin-top: 8px;
}

.bb-tenant-hub {
  width: min(var(--church-max-width), 100%);
  margin: 0 auto;
  padding: 24px var(--church-margin-mobile) 8px;
  box-sizing: border-box;
  display: grid;
  gap: var(--church-space-xl);
}

.bb-tenant-hub__main {
  display: grid;
  gap: var(--church-space-xl);
  min-width: 0;
}

.bb-tenant-hub .bb-tenant-section__head,
.bb-tenant-hub .bb-tenant-announcements__list,
.bb-tenant-hub .bb-tenant-events__grid,
.bb-tenant-hub .bb-tenant-empty {
  width: 100%;
}

.bb-tenant-rail {
  display: none;
  gap: var(--church-space-lg);
  min-width: 0;
}

.bb-tenant-rail__card {
  padding: var(--church-space-lg);
  border-radius: var(--church-public-card-radius);
  background: var(--church-surface-container-lowest, #fff);
  border: var(--church-public-card-border);
  box-shadow: var(--church-public-card-shadow);
  min-width: 0;
}

.bb-tenant-rail__card--service {
  background: linear-gradient(160deg, var(--church-primary-container), rgba(59, 34, 181, 0.95));
  color: #fff;
  border: none;
}

.bb-tenant-rail__title {
  margin: 0 0 var(--church-space-md);
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.bb-tenant-rail__list {
  list-style: none;
  margin: 0 0 var(--church-space-lg);
  padding: 0;
  display: grid;
  gap: 10px;
}

.bb-tenant-rail__list li {
  font-size: 0.9375rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.bb-tenant-rail__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.bb-tenant-rail__card--prayer p {
  margin: 0 0 var(--church-space-md);
  color: var(--church-muted);
  line-height: 1.5;
}

.bb-tenant-rail__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(200, 196, 215, 0.35);
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.bb-tenant-rail__link:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.bb-tenant-rail__link strong {
  display: block;
  color: var(--church-navy);
  font-size: 0.9375rem;
}

.bb-tenant-rail__link em {
  display: block;
  font-style: normal;
  color: var(--church-muted);
  font-size: 0.8125rem;
  overflow-wrap: anywhere;
}

.bb-tenant-rail__link .material-symbols-outlined:first-child {
  color: var(--church-primary);
}

.bb-tenant-rail__link .material-symbols-outlined:last-child {
  margin-left: auto;
  color: var(--church-muted);
}

.bb-tenant-member {
  padding: 24px 0 8px;
}

.bb-tenant-member__card {
  display: grid;
  gap: var(--church-space-lg);
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background: var(--church-inverse-surface, #283236);
  color: #fff;
  min-width: 0;
}

.bb-tenant-member__title {
  margin: 0 0 8px;
  font-size: 1.375rem;
  color: #fff;
}

.bb-tenant-member__lead {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.5;
}

.bb-tenant-member__actions {
  display: grid;
  gap: 12px;
  justify-items: start;
}

@media (min-width: 900px) {
  .bb-tenant-community {
    display: none;
  }

  .bb-tenant-community__grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
  }

  .bb-tenant-hub {
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.9fr);
    align-items: start;
    padding: 40px var(--church-margin-desktop) 16px;
  }

  .bb-tenant-rail {
    display: grid;
  }

  .bb-tenant-member__card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
}

@media (max-width: 899px) {
  .bb-tenant-community { order: 3; }
  .bb-tenant-ministries { order: 4; }
  .bb-tenant-member { order: 5; }
  .bb-tenant-hub { order: 6; }
  .bb-tenant-visit { order: 7; }

  .bb-tenant-community__grid {
    grid-template-columns: 1fr 1fr;
  }

  .bb-tenant-community__card--giving {
    grid-column: 1 / -1;
  }
}

/* Ministries */
.bb-tenant-ministries {
  padding: 48px 0;
}

.bb-tenant-ministries__grid {
  display: grid;
  gap: var(--church-space-lg);
}

@media (min-width: 900px) {
  .bb-tenant-ministries__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bb-tenant-ministry-card--featured {
    grid-column: 1 / -1;
  }
}

.bb-tenant-ministry-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 180px;
  padding: var(--church-space-xl);
  border-radius: 1.5rem;
  background: var(--church-surface-container, #e4f0f4);
  text-decoration: none;
  color: inherit;
  transition: background 0.2s ease;
  width: 100%;
  min-width: 0;
}

.bb-tenant-ministry-card:hover {
  background: rgba(108, 92, 231, 0.1);
}

.bb-tenant-ministry-card--featured {
  background: linear-gradient(145deg, rgba(83, 65, 205, 0.92), rgba(108, 92, 231, 0.75));
  color: #fff;
  min-height: 240px;
}

.bb-tenant-ministry-card--featured .bb-tenant-ministry-card__desc {
  color: rgba(255, 255, 255, 0.85);
}

.bb-tenant-ministry-card--featured .bb-tenant-ministry-card__icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.bb-tenant-ministry-card--featured .bb-tenant-ministry-card__arrow {
  color: #fff;
}

.bb-tenant-ministry-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  background: var(--church-primary);
  color: #fff;
}

.bb-tenant-ministry-card__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.bb-tenant-ministry-card__desc {
  margin: 0;
  color: var(--church-muted);
  font-size: 0.9rem;
  line-height: 1.5;
  flex: 1;
}

.bb-tenant-ministry-card__arrow {
  color: var(--church-primary);
  margin-top: auto;
}

/* Sermons */
.bb-tenant-sermons {
  padding: 48px 0;
  background: var(--church-inverse-surface, #283236);
  color: #fff;
}

.bb-tenant-sermons__panel {
  display: grid;
  gap: var(--church-space-xl);
  align-items: center;
}

@media (min-width: 900px) {
  .bb-tenant-sermons__panel {
    grid-template-columns: 1fr 1fr;
  }
}

.bb-tenant-sermons__media {
  min-height: 220px;
  border-radius: 1.5rem;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 30% 30%, rgba(108, 92, 231, 0.45), transparent 55%),
    linear-gradient(160deg, #1a2226, #334047);
}

.bb-tenant-sermons__media .material-symbols-outlined {
  font-size: 4rem;
  color: rgba(255, 255, 255, 0.9);
}

.bb-tenant-sermons__eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--church-primary-fixed-dim, #c6bfff);
}

.bb-tenant-sermons__title {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}

.bb-tenant-sermons__lead {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.6;
}

.bb-tenant-sermons__speaker-name {
  margin: 0;
  font-weight: 600;
}

.bb-tenant-sermons__speaker-date {
  margin: 2px 0 0;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.65);
}

.bb-tenant-sermons__empty {
  max-width: 40rem;
}

/* Giving */
.bb-tenant-giving {
  padding: 48px 0;
}

.bb-tenant-giving__card {
  display: flex;
  flex-direction: column;
  gap: var(--church-space-xl);
  padding: var(--church-space-xl);
  border-radius: 2rem;
  background: var(--church-primary-container, #6c5ce7);
  color: var(--church-on-primary-container, #faf6ff);
  position: relative;
  overflow: hidden;
}

@media (min-width: 900px) {
  .bb-tenant-giving__card {
    flex-direction: row;
    align-items: center;
    padding: 48px;
    border-radius: 3rem;
  }
}

.bb-tenant-giving__copy {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.bb-tenant-giving__title {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
}

.bb-tenant-giving__lead {
  margin: 0 0 20px;
  opacity: 0.92;
  line-height: 1.6;
}

.bb-tenant-giving__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.church-btn--on-primary {
  background: #fff;
  color: var(--church-primary);
  border: none;
  border-radius: 1rem;
  min-height: 48px;
  padding: 12px 22px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.church-btn--outline-on-primary {
  background: transparent;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 1rem;
  min-height: 48px;
  padding: 12px 22px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bb-tenant-giving__icon {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.16);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.bb-tenant-giving__icon .material-symbols-outlined {
  font-size: 3.5rem;
  font-variation-settings: "FILL" 1;
}

/* Visit */
.bb-tenant-visit {
  padding: 48px 0 64px;
}

.bb-tenant-visit__grid {
  display: grid;
  gap: var(--church-space-xl);
}

@media (min-width: 900px) {
  .bb-tenant-visit__grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.bb-tenant-visit__list {
  list-style: none;
  margin: 0 0 var(--church-space-lg);
  padding: 0;
  display: grid;
  gap: var(--church-space-lg);
}

.bb-tenant-visit__list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.bb-tenant-visit__list .material-symbols-outlined {
  color: var(--church-primary);
  flex-shrink: 0;
}

.bb-tenant-visit__label {
  margin: 0 0 2px;
  font-weight: 600;
}

.bb-tenant-visit__value {
  margin: 0;
  color: var(--church-muted);
  overflow-wrap: anywhere;
}

.bb-tenant-visit__value a {
  color: inherit;
  text-decoration: none;
}

.bb-tenant-visit__value a:hover {
  color: var(--church-primary);
  text-decoration: underline;
}

.bb-tenant-visit__panel {
  min-height: 240px;
  border-radius: 1.5rem;
  border: 1px solid var(--church-outline);
  background: var(--church-surface-container, #e4f0f4);
  overflow: hidden;
}

.bb-tenant-visit__panel-body {
  height: 100%;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  padding: var(--church-space-xl);
}

.bb-tenant-visit__panel-body .material-symbols-outlined {
  font-size: 2rem;
  color: var(--church-primary);
}

.bb-tenant-visit__panel-body p {
  margin: 0;
  color: var(--church-muted);
  max-width: 22rem;
}

.church-header--branch .church-brand__text,
.church-drawer__title,
.bb-tenant-branch-label {
  overflow-wrap: anywhere;
}

/* --- Tenant public header identity v49 --- */
.church-header--branch[data-tenant-header="1"] .church-brand--tenant .church-brand__name {
  font-weight: 700;
}

.church-header--branch[data-tenant-header="1"] .brand-name {
  /* Ensure legacy BlessBoard lockup is never the tenant primary brand */
  display: none;
}

@media (max-width: 899px) {
  .church-header--branch .church-header__inner--tenant {
    height: 56px;
  }

  .church-menu-btn--tenant {
    flex-shrink: 0;
  }
}

@media (min-width: 900px) {
  .church-header--branch .church-header__inner--tenant {
    height: 64px;
  }
}

/* --- Public ministries page (Stitch v2) --- */

.bb-public-ministries {
  width: 100%;
  overflow-x: clip;
}

.bb-ministries-hero {
  position: relative;
  text-align: center;
  padding: 48px 0 40px;
  background:
    radial-gradient(circle at 85% 10%, rgba(108, 92, 231, 0.14) 0%, transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(83, 65, 205, 0.08) 0%, transparent 40%),
    var(--church-surface, #f1fbff);
}

.bb-ministries-hero__inner {
  width: min(var(--church-max-width), 100%);
  margin: 0 auto;
  padding: 0 var(--church-margin-mobile);
  box-sizing: border-box;
}

.bb-ministries-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  margin-bottom: var(--church-space-md);
  border-radius: 999px;
  background: rgba(83, 65, 205, 0.1);
  color: var(--church-primary);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.bb-ministries-hero__eyebrow-mobile,
.bb-ministries-hero__title-mobile,
.bb-ministries-hero__lead-mobile,
.bb-ministries-cta__title-mobile,
.bb-ministries-cta__lead-mobile {
  display: none;
}

.bb-ministries-hero__title {
  margin: 0 0 var(--church-space-md);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

.bb-ministries-hero__lead {
  margin: 0 auto var(--church-space-lg);
  max-width: 40rem;
  color: var(--church-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.bb-ministries-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.bb-ministries-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--church-space-lg);
}

.bb-ministries-filter {
  border: 1px solid var(--church-outline);
  background: #fff;
  color: var(--church-muted);
  border-radius: 999px;
  padding: 8px 14px;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}

.bb-ministries-filter.is-active {
  background: var(--church-primary);
  border-color: var(--church-primary);
  color: #fff;
}

.bb-ministries-empty {
  padding: var(--church-space-xl);
  margin-bottom: var(--church-space-xl);
  text-align: center;
}

.bb-ministries-grid {
  display: grid;
  gap: var(--church-space-lg);
  grid-template-columns: 1fr;
}

.bb-ministries-feature,
.bb-ministries-card {
  display: grid;
  gap: 0;
  min-width: 0;
  overflow: hidden;
  background: var(--church-public-card-bg);
  border: var(--church-public-card-border);
  border-radius: var(--church-public-card-radius);
  box-shadow: var(--church-public-card-shadow);
}

.bb-ministries-feature__media,
.bb-ministries-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9rem;
  background:
    linear-gradient(145deg, var(--church-primary-fixed), rgba(83, 65, 205, 0.28));
  color: var(--church-primary);
}

.bb-ministries-feature__media .material-symbols-outlined,
.bb-ministries-card__media .material-symbols-outlined {
  font-size: 2.5rem;
}

.bb-ministries-feature__body,
.bb-ministries-card__body {
  display: grid;
  gap: 10px;
  padding: var(--church-space-lg);
  min-width: 0;
}

.bb-ministries-feature__topline,
.bb-ministries-card__topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.bb-ministries-feature__title,
.bb-ministries-card__title {
  margin: 0;
  color: var(--church-navy);
  overflow-wrap: anywhere;
}

.bb-ministries-feature__title {
  font-size: 1.25rem;
}

.bb-ministries-card__title {
  font-size: 1.05rem;
}

.bb-ministries-feature__tag,
.bb-ministries-card__tag {
  flex-shrink: 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--church-primary-fixed);
  color: var(--church-violet-dark, #4029ba);
  font-size: 0.75rem;
  font-weight: 600;
}

.bb-ministries-feature__desc,
.bb-ministries-card__desc {
  margin: 0;
  color: var(--church-muted);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.bb-ministries-feature__foot,
.bb-ministries-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 4px;
}

.bb-ministries-feature__meta,
.bb-ministries-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--church-muted);
  font-size: 0.8125rem;
  overflow-wrap: anywhere;
}

.bb-ministries-feature__meta .material-symbols-outlined,
.bb-ministries-card__meta .material-symbols-outlined {
  font-size: 1rem;
}

.bb-ministries-feature__link,
.bb-ministries-card__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--church-primary);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

.bb-ministries-card--accent {
  background: var(--church-primary-container);
  color: #fff;
  border: none;
}

.bb-ministries-card--accent .bb-ministries-card__media {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.bb-ministries-card--accent .bb-ministries-card__title,
.bb-ministries-card--accent .bb-ministries-card__desc,
.bb-ministries-card--accent .bb-ministries-card__meta,
.bb-ministries-card--accent .bb-ministries-card__link {
  color: #fff;
}

.bb-ministries-card--accent .bb-ministries-card__tag {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.bb-ministries-cta {
  margin-top: 48px;
  padding: var(--church-space-xl);
  border-radius: var(--church-public-card-radius);
  background:
    linear-gradient(135deg, rgba(228, 223, 255, 0.9), rgba(234, 245, 250, 0.95));
  text-align: center;
}

.bb-ministries-cta__title {
  margin: 0 0 var(--church-space-sm);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  color: var(--church-navy);
}

.bb-ministries-cta__lead {
  margin: 0 auto var(--church-space-lg);
  max-width: 36rem;
  color: var(--church-muted);
  line-height: 1.55;
}

.bb-ministries-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

@media (min-width: 900px) {
  .bb-ministries-hero {
    min-height: 42vh;
    display: flex;
    align-items: center;
    padding: 64px 0 48px;
  }

  .bb-ministries-hero__inner {
    padding: 0 var(--church-margin-desktop);
  }

  .bb-public-ministries .church-ministries-page {
    padding: 48px var(--church-margin-desktop) 80px;
  }

  .bb-ministries-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .bb-ministries-feature--featured {
    grid-column: span 8;
  }

  .bb-ministries-grid > .bb-ministries-card:first-of-type {
    grid-column: span 4;
  }

  .bb-ministries-grid > .bb-ministries-card:not(:first-of-type) {
    grid-column: span 4;
  }

  .bb-ministries-feature--featured .bb-ministries-feature__media {
    min-height: 14rem;
  }
}

@media (max-width: 899px) {
  .bb-ministries-hero__eyebrow-desktop,
  .bb-ministries-hero__title-desktop,
  .bb-ministries-hero__lead-desktop,
  .bb-ministries-cta__title-desktop,
  .bb-ministries-cta__lead-desktop {
    display: none;
  }

  .bb-ministries-hero__eyebrow-mobile,
  .bb-ministries-hero__title-mobile,
  .bb-ministries-hero__lead-mobile,
  .bb-ministries-cta__title-mobile,
  .bb-ministries-cta__lead-mobile {
    display: inline;
  }

  .bb-ministries-hero__actions {
    flex-direction: column;
  }

  .bb-ministries-hero__actions .church-btn {
    width: 100%;
    justify-content: center;
  }

  .bb-ministries-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .bb-ministries-cta__actions .church-btn {
    width: 100%;
    justify-content: center;
  }
}

/* --- Apex marketing shell + homepage (Stitch v67) --- */

html:has(> body.church-body--apex) {
  overflow-x: hidden;
}

.church-body--apex {
  --bb-apex-primary: #6c5ce7;
  --bb-apex-primary-dark: #5341cd;
  --bb-apex-orange: #ff9800;
  --bb-apex-surface: #fbf9f6;
  --bb-apex-surface-dim: #f2f0ed;
  --bb-apex-text: #1a1c1e;
  --bb-apex-text-secondary: #44474e;
  --bb-apex-border: #d1dce0;
  --bb-apex-error: #b3261e;
  --bb-apex-radius: 16px;
  --bb-apex-radius-sm: 8px;
  --bb-apex-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
  --bb-apex-shadow-md: 0 10px 30px rgba(108, 92, 231, 0.08);
  --bb-apex-header-height: 80px;
  --bb-apex-section-pad-desktop: 120px;
  --bb-apex-section-pad-mobile: 64px;
  font-family: "Hanken Grotesk", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--bb-apex-text);
  background: var(--bb-apex-surface);
  overflow-x: hidden;
}

.church-body--apex .church-violet,
.church-body--apex .church-brand {
  color: var(--bb-apex-primary);
}

.church-body--apex .church-header--apex {
  background: rgba(251, 249, 246, 0.92);
  border-bottom-color: var(--bb-apex-border);
  backdrop-filter: blur(10px);
}

.church-body--apex .church-header--apex .church-header__inner {
  height: var(--bb-apex-header-height);
  padding-left: var(--church-margin-desktop);
  padding-right: var(--church-margin-desktop);
  gap: 24px;
  white-space: nowrap;
}

.church-body--apex .church-header--apex .brand-lockup,
.church-body--apex .church-header--apex .brand-powered,
.church-body--apex .church-header--apex .bb-powered-by {
  white-space: nowrap;
}

.church-body--apex .church-header--apex .church-nav--apex,
.church-body--apex .church-header--apex .church-header__actions {
  flex-wrap: nowrap;
}

.church-body--apex .brand-name {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.church-body--apex .brand-powered {
  font-size: 0.6875rem;
  line-height: 1.25;
}

.church-body--apex .church-brand {
  max-width: min(240px, 42vw);
  gap: 10px;
}

.church-body--apex .church-brand__apex-logo {
  display: block;
  width: 180px;
  height: auto;
  max-width: none;
  flex-shrink: 0;
}

.church-body--apex .church-brand__icon {
  color: var(--bb-apex-primary);
  font-size: 1.5rem;
}

.church-body--apex .church-nav--apex > a,
.church-body--apex .church-nav--apex .church-nav-dropdown__trigger {
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .church-nav--apex a.church-nav__active,
.church-body--apex .church-nav--apex a:hover,
.church-body--apex .church-nav--apex .church-nav-dropdown__trigger.church-nav__active,
.church-body--apex .church-nav--apex .church-nav-dropdown__trigger:hover {
  color: var(--bb-apex-primary);
}

.church-body--apex .church-header__admin-link {
  font-size: 0.875rem;
  color: #6C5CE7;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.church-body--apex .church-header__admin-link:hover,
.church-body--apex .church-header__admin-link:focus-visible {
  color: #5341cd;
  background: rgba(108, 92, 231, 0.08);
  outline: 2px solid var(--bb-apex-primary);
  outline-offset: 2px;
}

.church-body--apex .church-header--apex .church-btn--primary {
  min-height: 48px;
  padding: 12px 24px;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

.church-body--apex .church-header--apex .church-btn--primary:hover {
  background: color-mix(in srgb, var(--bb-apex-primary) 90%, #000 10%);
}

.church-body--apex .church-nav-dropdown__menu--rich {
  min-width: 300px;
  max-width: 340px;
  padding: 8px;
  border-radius: var(--bb-apex-radius-sm);
  border-color: var(--bb-apex-border);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .church-nav-dropdown__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: var(--bb-apex-radius-sm);
  text-decoration: none;
  color: var(--bb-apex-text);
}

.church-body--apex .church-nav-dropdown__item:hover,
.church-body--apex .church-nav-dropdown__item:focus-visible {
  background: color-mix(in srgb, var(--bb-apex-primary) 8%, transparent);
}

.church-body--apex .church-nav-dropdown__trigger:focus-visible,
.church-body--apex .church-nav-dropdown__item:focus-visible {
  outline: 2px solid var(--bb-apex-primary);
  outline-offset: 2px;
}

.church-body--apex .church-nav-dropdown__icon {
  width: 40px;
  height: 40px;
  border-radius: var(--bb-apex-radius-sm);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-body--apex .church-nav-dropdown__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.church-body--apex .church-nav-dropdown__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .church-nav-dropdown__desc {
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .church-nav-dropdown__item.church-nav-dropdown__link--active .church-nav-dropdown__label {
  color: var(--bb-apex-primary);
}

.church-body--apex .church-drawer--apex {
  width: min(360px, 100%);
  background: var(--bb-apex-surface);
  padding: 24px 16px;
}

.church-body--apex .church-drawer__head .church-brand {
  max-width: calc(100% - 52px);
}

.church-body--apex .church-drawer__nav a {
  width: 100%;
  min-height: 48px;
  padding: 14px 16px;
  font-size: 1.125rem;
  font-weight: 600;
  border-radius: var(--bb-apex-radius-sm);
}

.church-body--apex .church-drawer__actions .church-btn {
  min-height: 48px;
  border-radius: var(--bb-apex-radius);
}

.church-body--apex main .church-btn--public-primary {
  min-height: 48px;
  padding: 12px 32px;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-primary);
  color: #fff;
  font-weight: 600;
}

.church-body--apex main .church-btn--public-primary:hover {
  background: color-mix(in srgb, var(--bb-apex-primary) 90%, #000 10%);
}

.church-body--apex main .church-btn--public-secondary {
  min-height: 48px;
  padding: 12px 32px;
  border-radius: var(--bb-apex-radius-sm);
  border: 2px solid var(--bb-apex-primary);
  color: var(--bb-apex-primary);
  background: transparent;
  font-weight: 600;
}

.church-body--apex main .church-btn--public-secondary:hover {
  background: color-mix(in srgb, var(--bb-apex-primary) 5%, transparent);
}

.church-body--apex .bb-apex-eyebrow,
.church-body--apex .bb-apex-pill {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  background: #e4dfff;
  color: var(--bb-apex-primary-dark);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.church-body--apex .bb-apex-section-head__title {
  margin: 0;
  font-size: 2.5rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-section-head--center {
  text-align: center;
  margin-bottom: 64px;
}

.church-body--apex .bb-apex-section-head__rule {
  display: block;
  width: 80px;
  height: 6px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-hero {
  background: var(--bb-apex-surface);
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  overflow: hidden;
}

.church-body--apex .bb-apex-hero__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  display: grid;
  gap: 48px;
  align-items: center;
}

.church-body--apex .bb-apex-hero__title {
  margin: 0 0 24px;
  font-size: 4rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bb-apex-text);
  max-width: 14ch;
}

.church-body--apex .bb-apex-hero__accent {
  color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-hero__lead {
  margin: 0 0 32px;
  max-width: 36rem;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.church-body--apex .bb-apex-hero__admin-link {
  margin: 16px 0 0;
  font-size: 0.875rem;
}

.church-body--apex .bb-apex-hero__admin-link a {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-hero__admin-link a:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-hero__visual {
  position: relative;
}

.church-body--apex .bb-apex-hero__frame {
  position: relative;
  border-radius: var(--bb-apex-radius);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 60%, transparent);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-hero__img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.church-body--apex .bb-apex-hero__decor {
  position: absolute;
  border-radius: 999px;
  filter: blur(48px);
  z-index: 0;
}

.church-body--apex .bb-apex-hero__decor--one {
  width: 128px;
  height: 128px;
  left: -24px;
  bottom: -24px;
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
}

.church-body--apex .bb-apex-hero__decor--two {
  width: 192px;
  height: 192px;
  right: -40px;
  top: -40px;
  background: color-mix(in srgb, #ffdf98 30%, transparent);
}

.church-body--apex .bb-apex-pathways {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  background: #fff;
}

.church-body--apex .bb-apex-pathways__inner,
.church-body--apex .bb-apex-features__inner,
.church-body--apex .bb-apex-steps__inner,
.church-body--apex .bb-apex-demo__inner,
.church-body--apex .bb-apex-cta__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.church-body--apex .bb-apex-pathways__grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.church-body--apex .bb-apex-pathways__card {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  border-radius: var(--bb-apex-radius);
  box-shadow: var(--bb-apex-shadow-sm);
  padding: 32px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.church-body--apex .bb-apex-pathways__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-pathways__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--bb-apex-radius-sm);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.church-body--apex .bb-apex-pathways__card h3 {
  margin: 0 0 8px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 600;
}

.church-body--apex .bb-apex-pathways__card p {
  margin: 0 0 16px;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pathways__link {
  color: var(--bb-apex-primary);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
}

.church-body--apex .bb-apex-pathways__link:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-features {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  background: var(--bb-apex-surface);
}

.church-body--apex .bb-apex-features__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 64px;
}

.church-body--apex .bb-apex-eyebrow {
  margin: 0 0 8px;
  text-transform: uppercase;
}

.church-body--apex .bb-apex-features__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bb-apex-primary);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.church-body--apex .bb-apex-features__all:hover {
  gap: 16px;
}

.church-body--apex .bb-apex-features__grid {
  display: grid;
  gap: 32px;
}

.church-body--apex .bb-apex-feature-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  border-radius: var(--bb-apex-radius);
  overflow: hidden;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-feature-card--reverse .bb-apex-feature-card__media {
  order: 2;
}

.church-body--apex .bb-apex-feature-card__media {
  min-height: 256px;
}

.church-body--apex .bb-apex-feature-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.church-body--apex .bb-apex-feature-card__copy {
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.church-body--apex .bb-apex-feature-card__copy h3 {
  margin: 0 0 16px;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 600;
}

.church-body--apex .bb-apex-feature-card__copy p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-steps {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  background: #fff;
}

.church-body--apex .bb-apex-steps__list {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: grid;
  gap: 24px;
}

.church-body--apex .bb-apex-steps__item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.church-body--apex .bb-apex-steps__num {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #e4dfff;
  color: var(--bb-apex-primary);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-steps__item h3 {
  margin: 0 0 4px;
  font-size: 1.125rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-steps__item p {
  margin: 0;
  color: var(--bb-apex-text-secondary);
  line-height: 1.6;
}

.church-body--apex .bb-apex-demo {
  padding: 64px var(--church-margin-desktop);
  background: var(--bb-apex-surface-dim);
  text-align: center;
}

.church-body--apex .bb-apex-demo__lead {
  margin: 12px auto 24px;
  max-width: 40rem;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-demo .bb-apex-hero__cta {
  justify-content: center;
}

.church-body--apex .bb-apex-cta {
  position: relative;
  overflow: hidden;
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  background: var(--bb-apex-primary);
  color: #fff;
  text-align: center;
}

.church-body--apex .bb-apex-cta__decor {
  position: absolute;
  top: 0;
  right: 0;
  width: 384px;
  height: 384px;
  margin-right: -192px;
  margin-top: -192px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  filter: blur(48px);
}

.church-body--apex .bb-apex-cta__inner {
  position: relative;
  z-index: 1;
}

.church-body--apex .bb-apex-cta__title {
  margin: 0 0 24px;
  font-size: 2.5rem;
  line-height: 1.3;
  font-weight: 700;
}

.church-body--apex .bb-apex-cta__lead {
  margin: 0 auto 40px;
  max-width: 40rem;
  font-size: 1.25rem;
  line-height: 1.5;
  opacity: 0.9;
}

.church-body--apex .bb-apex-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.church-body--apex .bb-apex-cta__btn-primary {
  background: #fff !important;
  color: var(--bb-apex-primary) !important;
  border-color: transparent !important;
}

.church-body--apex .bb-apex-cta__btn-secondary {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

.church-body--apex .church-footer--apex {
  background: var(--bb-apex-text);
  color: rgba(255, 255, 255, 0.78);
  border-top: none;
}

.church-body--apex .church-footer__inner--apex {
  max-width: var(--church-max-width);
  margin: 0 auto;
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop) 32px;
}

.church-body--apex .church-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 48px;
}

.church-body--apex .church-footer__brand-row {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 16px;
}

.church-body--apex .church-footer__tagline {
  margin: 0 0 16px;
  max-width: 18rem;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
}

.church-body--apex .church-footer__col-title {
  margin: 0 0 24px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
}

.church-body--apex .church-footer__col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.church-body--apex .church-footer__col a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
}

.church-body--apex .church-footer__col a:hover,
.church-body--apex .church-footer__col a:focus-visible {
  color: #fff;
  outline: none;
}

.church-body--apex .church-footer__legal {
  margin: 48px 0 0;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}

.church-body--apex .church-footer__powered-line .bb-powered-by__getpro,
.church-body--apex .church-footer__legal .bb-powered-by__getpro {
  color: var(--bb-apex-orange);
}

@media (min-width: 900px) {
  .church-body--apex .bb-apex-hero__inner {
    grid-template-columns: 1fr 1fr;
  }

  .church-body--apex .church-menu-btn {
    display: none !important;
  }
}

@media (max-width: 899px) {
  .church-body--apex .church-header--apex .church-header__inner {
    height: 64px;
    padding-left: var(--church-margin-mobile);
    padding-right: var(--church-margin-mobile);
    gap: 12px;
  }

  .church-body--apex .church-brand {
    max-width: calc(100% - 52px);
  }

  .church-body--apex .church-header--apex .church-brand {
    flex: 0 0 auto;
    overflow: visible;
  }

  .church-body--apex .church-header--apex .church-brand__apex-logo {
    width: 164px;
  }

  .church-body--apex .church-header--apex .brand-lockup {
    flex: 0 1 auto;
  }

  .church-body--apex .brand-name {
    font-size: 1.25rem;
  }

  .church-body--apex .brand-powered {
    font-size: 0.625rem;
  }

  .church-body--apex .church-menu-btn {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    margin-left: auto;
  }

  .church-body--apex .bb-apex-hero--mobile {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile) 32px;
    text-align: center;
  }

  .church-body--apex .bb-apex-hero__inner--mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .church-body--apex .bb-apex-hero__title--mobile {
    max-width: none;
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 24px;
  }

  .church-body--apex .bb-apex-hero__lead--mobile {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 40px;
    max-width: 24rem;
  }

  .church-body--apex .bb-apex-hero__cta--stack {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .church-body--apex .bb-apex-hero__visual--mobile {
    width: 100%;
    margin-top: 64px;
  }

  .church-body--apex .bb-apex-hero__decor--mobile {
    inset: 0;
    background: color-mix(in srgb, var(--bb-apex-primary) 5%, transparent);
    transform: rotate(-2deg);
    border-radius: 24px;
  }

  .church-body--apex .bb-apex-pathways--mobile,
  .church-body--apex .bb-apex-features--mobile,
  .church-body--apex .bb-apex-demo--mobile {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
  }

  .church-body--apex .bb-apex-pathways--mobile {
    background: var(--bb-apex-surface);
  }

  .church-body--apex .bb-apex-section-head__title--mobile {
    font-size: 2rem;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 40px;
  }

  .church-body--apex .bb-apex-pathways__stack {
    display: grid;
    gap: 24px;
  }

  .church-body--apex .bb-apex-pathways__card--mobile {
    padding: 32px;
    text-align: left;
  }

  .church-body--apex .bb-apex-pathways__icon-lg {
    font-size: 2.25rem;
    color: var(--bb-apex-primary);
    margin-bottom: 16px;
  }

  .church-body--apex .bb-apex-pathways__card--mobile h3 {
    margin: 0 0 8px;
    font-size: 1.5rem;
    font-weight: 600;
  }

  .church-body--apex .bb-apex-pathways__card--mobile p {
    margin: 0 0 24px;
    color: var(--bb-apex-text-secondary);
    line-height: 1.6;
  }

  .church-body--apex .bb-apex-pathways__card--mobile .bb-apex-pathways__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .church-body--apex .bb-apex-features--mobile {
    background: #fff;
  }

  .church-body--apex .bb-apex-features__mobile-lead {
    margin: 0 auto 32px;
    max-width: 24rem;
    color: var(--bb-apex-text-secondary);
    line-height: 1.6;
  }

  .church-body--apex .bb-apex-features__compact {
    display: grid;
    gap: 16px;
  }

  .church-body--apex .bb-apex-feature-row {
    display: flex;
    gap: 16px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
    border-radius: var(--bb-apex-radius);
  }

  .church-body--apex .bb-apex-feature-row__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--bb-apex-radius-sm);
    background: #e4dfff;
    color: var(--bb-apex-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .church-body--apex .bb-apex-feature-row h3 {
    margin: 0 0 4px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
  }

  .church-body--apex .bb-apex-feature-row p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--bb-apex-text-secondary);
  }

  .church-body--apex .bb-apex-features__mobile-more {
    margin: 24px 0 0;
    text-align: center;
  }

  .church-body--apex .bb-apex-features__mobile-more a {
    color: var(--bb-apex-primary);
    font-weight: 600;
    text-decoration: none;
  }

  .church-body--apex .bb-apex-cta--mobile {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
    text-align: center;
  }

  .church-body--apex .bb-apex-cta--mobile .bb-apex-cta__title {
    font-size: 2rem;
  }

  .church-body--apex .bb-apex-cta--mobile .bb-apex-cta__lead {
    font-size: 1rem;
    margin-bottom: 32px;
  }

  .church-body--apex .church-footer__inner--apex {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile) 24px;
  }

  .church-body--apex .church-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .church-body--apex .church-footer__brand-block {
    grid-column: 1 / -1;
  }

  .church-body--apex .church-footer__col--support {
    grid-column: 1 / -1;
  }
}

@media (max-width: 379px) {
  .church-body--apex .church-header--apex .church-header__inner {
    gap: 8px;
  }

  .church-body--apex .church-header--apex .church-brand {
    gap: 7px;
  }

  .church-body--apex .church-header--apex .church-brand__apex-logo {
    width: 150px;
  }

  .church-body--apex .church-header--apex .brand-name {
    font-size: 1.125rem;
  }

  .church-body--apex .church-header--apex .brand-powered {
    font-size: 0.59375rem;
  }
}

/* —— Apex internal marketing pages (Features, For Churches) —— */
.church-body--apex .bb-apex-page-hero {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  background: var(--bb-apex-surface);
}

.church-body--apex .bb-apex-page-hero__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.church-body--apex .bb-apex-page-hero--center {
  text-align: center;
}

.church-body--apex .bb-apex-page-hero--center .bb-apex-page-hero__title {
  margin-left: auto;
  margin-right: auto;
  max-width: 18ch;
}

.church-body--apex .bb-apex-page-hero--center .bb-apex-page-hero__lead {
  margin-left: auto;
  margin-right: auto;
  max-width: 42rem;
}

.church-body--apex .bb-apex-page-hero__title {
  margin: 0 0 24px;
  font-size: 3.5rem;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-page-hero__title--display {
  margin: 0 0 24px;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.church-body--apex .bb-apex-page-hero__inner--split {
  display: grid;
  gap: 48px;
  align-items: center;
}

.church-body--apex .bb-apex-page-hero__frame {
  border-radius: var(--bb-apex-radius);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 60%, transparent);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-page-hero__img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.church-body--apex .bb-apex-page-split,
.church-body--apex .bb-apex-page-band,
.church-body--apex .bb-apex-page-challenges,
.church-body--apex .bb-apex-page-steps,
.church-body--apex .bb-apex-page-stack {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
}

.church-body--apex .bb-apex-page-split {
  background: #fff;
}

.church-body--apex .bb-apex-page-split--alt {
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-page-split__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  display: grid;
  gap: 48px;
  align-items: center;
}

.church-body--apex .bb-apex-page-split--reverse .bb-apex-page-split__media {
  order: 2;
}

.church-body--apex .bb-apex-page-split__media img {
  display: block;
  width: 100%;
  border-radius: var(--bb-apex-radius);
  object-fit: cover;
  aspect-ratio: 4 / 3;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-page-split__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--bb-apex-radius-sm);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.church-body--apex .bb-apex-page-split__title,
.church-body--apex .bb-apex-page-band__title,
.church-body--apex .bb-apex-page-stack__title {
  margin: 0 0 16px;
  font-size: 2.5rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-page-split__lead,
.church-body--apex .bb-apex-page-band__lead,
.church-body--apex .bb-apex-page-stack__lead {
  margin: 0 0 24px;
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-page-checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.church-body--apex .bb-apex-page-checks li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-page-checks .material-symbols-outlined {
  color: var(--bb-apex-primary);
  font-size: 1.25rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-page-icon-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.church-body--apex .bb-apex-page-icon-grid--compact {
  margin-top: 8px;
}

.church-body--apex .bb-apex-page-icon-card {
  padding: 24px;
  border-radius: var(--bb-apex-radius);
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  background: #fff;
  box-shadow: var(--bb-apex-shadow-sm);
}

.church-body--apex .bb-apex-page-icon-card .material-symbols-outlined {
  color: var(--bb-apex-primary);
  font-size: 1.75rem;
  margin-bottom: 12px;
}

.church-body--apex .bb-apex-page-icon-card h3 {
  margin: 0 0 8px;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-page-icon-card p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-page-band {
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-page-band--dark {
  background: var(--bb-apex-text);
  color: rgba(255, 255, 255, 0.88);
}

.church-body--apex .bb-apex-page-band__inner,
.church-body--apex .bb-apex-page-challenges__inner,
.church-body--apex .bb-apex-page-steps__inner,
.church-body--apex .bb-apex-page-stack__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.church-body--apex .bb-apex-page-band__head--center {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 48px;
}

.church-body--apex .bb-apex-page-band--dark .bb-apex-page-band__title,
.church-body--apex .bb-apex-page-band--dark .bb-apex-page-band__lead {
  color: #fff;
}

.church-body--apex .bb-apex-page-band--dark .bb-apex-page-band__lead {
  opacity: 0.88;
}

.church-body--apex .bb-apex-eyebrow--inverse {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.church-body--apex .bb-apex-page-band--dark .bb-apex-page-icon-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.church-body--apex .bb-apex-page-band--dark .bb-apex-page-icon-card h3 {
  color: #fff;
}

.church-body--apex .bb-apex-page-band--dark .bb-apex-page-icon-card p {
  color: rgba(255, 255, 255, 0.78);
}

.church-body--apex .bb-apex-page-band--dark .bb-apex-page-icon-card .material-symbols-outlined {
  color: #fff;
}

.church-body--apex .bb-apex-page-band__footer {
  margin: 40px 0 0;
  text-align: center;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
}

.church-body--apex .bb-apex-page-band__footer a {
  color: #fff;
  font-weight: 600;
}

.church-body--apex .bb-apex-page-challenges {
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-page-challenges__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.church-body--apex .bb-apex-page-challenge-card {
  padding: 32px 24px;
  border-radius: var(--bb-apex-radius);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  box-shadow: var(--bb-apex-shadow-sm);
}

.church-body--apex .bb-apex-page-challenge-card .material-symbols-outlined {
  color: var(--bb-apex-primary);
  font-size: 2rem;
  margin-bottom: 16px;
}

.church-body--apex .bb-apex-page-challenge-card h3 {
  margin: 0 0 8px;
  font-size: 1.125rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-page-challenge-card p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-page-toolkit {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.church-body--apex .bb-apex-page-toolkit-card {
  padding: 28px 24px;
  border-radius: var(--bb-apex-radius);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.church-body--apex .bb-apex-page-toolkit-card .material-symbols-outlined {
  color: #fff;
  font-size: 2rem;
  margin-bottom: 16px;
}

.church-body--apex .bb-apex-page-toolkit-card h3 {
  margin: 0 0 8px;
  font-size: 1.125rem;
  font-weight: 600;
  color: #fff;
}

.church-body--apex .bb-apex-page-toolkit-card p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}

.church-body--apex .bb-apex-page-steps {
  background: #fff;
}

.church-body--apex .bb-apex-page-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 24px;
}

.church-body--apex .bb-apex-page-steps__item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.church-body--apex .bb-apex-page-steps__num {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #e4dfff;
  color: var(--bb-apex-primary);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-page-steps__item h3 {
  margin: 0 0 4px;
  font-size: 1.125rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-page-steps__item p {
  margin: 0;
  color: var(--bb-apex-text-secondary);
  line-height: 1.6;
}

.church-body--apex .bb-apex-page-stack {
  background: #fff;
}

.church-body--apex .bb-apex-page-stack--alt {
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-page-stack__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--bb-apex-radius-sm);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.church-body--apex .bb-apex-page-stack-cards {
  display: grid;
  gap: 16px;
}

.church-body--apex .bb-apex-page-stack-card {
  padding: 20px;
  border-radius: var(--bb-apex-radius);
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  background: #fff;
}

.church-body--apex .bb-apex-page-stack-card .material-symbols-outlined {
  color: var(--bb-apex-primary);
  font-size: 1.5rem;
  margin-bottom: 8px;
}

.church-body--apex .bb-apex-page-stack-card h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-page-stack-card p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-page-stack__link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.church-body--apex .bb-apex-page-note {
  max-width: var(--church-max-width);
  margin: 0 auto calc(var(--bb-apex-section-pad-desktop) * 0.5);
  padding: 0 var(--church-margin-mobile);
  text-align: center;
  font-size: 0.9375rem;
}

.church-body--apex .bb-apex-page-note a {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-page-note a:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-features-section {
  overflow-x: clip;
}

.church-body--apex .bb-apex-page-split__icon--tertiary {
  background: color-mix(in srgb, #715500 10%, transparent);
  color: #715500;
}

.church-body--apex .bb-apex-page-split__icon--secondary {
  background: color-mix(in srgb, var(--bb-apex-orange) 10%, transparent);
  color: var(--bb-apex-orange);
}

.church-body--apex .bb-apex-features-visual {
  position: relative;
  min-width: 0;
}

.church-body--apex .bb-apex-features-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 38% 62% 58% 42% / 46% 38% 62% 54%;
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  transform: rotate(-6deg) scale(1.08);
}

.church-body--apex .bb-apex-features-visual--giving::before {
  background: color-mix(in srgb, #715500 10%, transparent);
  transform: rotate(6deg) scale(1.08);
}

.church-body--apex .bb-apex-features-visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: calc(var(--bb-apex-radius) + 8px);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-features-mini-card {
  position: absolute;
  right: -32px;
  bottom: -32px;
  z-index: 2;
  max-width: 18rem;
  padding: 24px;
  border-radius: var(--bb-apex-radius);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-features-mini-card__row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-mini-card__icon {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bb-apex-primary) 14%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.church-body--apex .bb-apex-features-mini-card p {
  margin: 0;
  font-size: 0.75rem;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-checks strong {
  display: block;
  margin-bottom: 2px;
  font-size: 0.875rem;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-checks small {
  display: block;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-member-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.church-body--apex .bb-apex-features-member-card {
  min-height: 174px;
  padding: 24px;
  border-radius: var(--bb-apex-radius);
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  background: #fff;
  box-shadow: var(--bb-apex-shadow-md);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.church-body--apex .bb-apex-features-member-card .material-symbols-outlined {
  display: block;
  margin-bottom: 12px;
  color: var(--bb-apex-primary);
  font-size: 1.5rem;
}

.church-body--apex .bb-apex-features-member-card h3 {
  margin: 0 0 8px;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-member-card p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-report-card {
  position: relative;
  padding: 32px;
  border-radius: calc(var(--bb-apex-radius) + 8px);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 55%, transparent);
  box-shadow: var(--bb-apex-shadow-md);
  min-width: 0;
}

.church-body--apex .bb-apex-features-report-card::before {
  content: "";
  position: absolute;
  inset: -16px;
  z-index: -1;
  border: 2px dashed color-mix(in srgb, var(--bb-apex-border) 70%, transparent);
  border-radius: calc(var(--bb-apex-radius) + 20px);
}

.church-body--apex .bb-apex-features-sample-label {
  margin: 0 0 12px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-report-card__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--bb-apex-border) 45%, transparent);
}

.church-body--apex .bb-apex-features-report-card__head h3 {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-report-card__head span {
  color: var(--bb-apex-primary);
  font-size: 1.125rem;
  font-weight: 700;
  white-space: nowrap;
}

.church-body--apex .bb-apex-features-bars,
.church-body--apex .bb-apex-features-mobile-bars {
  display: flex;
  align-items: end;
  gap: 8px;
  height: 192px;
  padding: 24px 16px 0;
}

.church-body--apex .bb-apex-features-bars span,
.church-body--apex .bb-apex-features-mobile-bars span {
  display: block;
  flex: 1 1 0;
  height: var(--bar-height);
  min-height: 24px;
  border-radius: 8px 8px 0 0;
  background: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-features-bars span:nth-child(1),
.church-body--apex .bb-apex-features-mobile-bars span:nth-child(1) {
  opacity: 0.2;
}

.church-body--apex .bb-apex-features-bars span:nth-child(2),
.church-body--apex .bb-apex-features-mobile-bars span:nth-child(2) {
  opacity: 0.32;
}

.church-body--apex .bb-apex-features-bars span:nth-child(3),
.church-body--apex .bb-apex-features-mobile-bars span:nth-child(3) {
  opacity: 0.48;
}

.church-body--apex .bb-apex-features-bars span:nth-child(4),
.church-body--apex .bb-apex-features-mobile-bars span:nth-child(4) {
  opacity: 0.68;
}

.church-body--apex .bb-apex-features-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.church-body--apex .bb-apex-features-metrics div {
  padding: 16px;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-features-metrics span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-metrics strong {
  display: block;
  font-size: 1.25rem;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-operation-list {
  display: grid;
  gap: 24px;
}

.church-body--apex .bb-apex-features-operation-list article {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.church-body--apex .bb-apex-features-operation-list > article > .material-symbols-outlined {
  color: var(--bb-apex-primary);
  font-size: 1.5rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-features-operation-list h3 {
  margin: 0 0 4px;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-operation-list p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-enterprise-grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 56rem;
  margin: 0 auto;
}

.church-body--apex .bb-apex-features-mobile-label {
  margin: 0 0 8px;
  color: var(--bb-apex-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-features-mobile-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.church-body--apex .bb-apex-features-mobile-list li {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-domain {
  display: block;
  margin-top: 20px;
  padding: 16px;
  border-radius: var(--bb-apex-radius-sm);
  border: 1px dashed var(--bb-apex-border);
  background: var(--bb-apex-surface-dim);
  color: var(--bb-apex-primary);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.church-body--apex .bb-apex-features-mobile-feature {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.church-body--apex .bb-apex-features-mobile-feature > .material-symbols-outlined {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #e4dfff;
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.25rem;
}

.church-body--apex .bb-apex-features-mobile-feature h3 {
  margin: 0 0 4px;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-features-mobile-feature p {
  margin: 0;
  line-height: 1.6;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-features-mobile-bento {
  display: grid;
  gap: 16px;
}

.church-body--apex .bb-apex-features-mobile-bento__large {
  padding: 24px;
}

.church-body--apex .bb-apex-features-mobile-bento__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.church-body--apex .bb-apex-features-mobile-bars {
  height: 128px;
  margin-top: 20px;
  padding: 16px 12px 0;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-surface-dim);
}

@media (min-width: 900px) {
  .church-body--apex .bb-apex-page-hero__inner--split {
    grid-template-columns: 1fr 1fr;
  }

  .church-body--apex .bb-apex-page-split__inner {
    grid-template-columns: 1fr 1fr;
  }

  .church-body--apex .bb-apex-page-icon-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .church-body--apex .bb-apex-features-member-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .church-body--apex .bb-apex-page-steps__list:not(.bb-apex-page-steps__list--compact) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
  }

  .church-body--apex .bb-apex-page-steps__list:not(.bb-apex-page-steps__list--compact) .bb-apex-page-steps__item {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 899px) {
  .church-body--apex .bb-apex-page-hero--mobile {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
    text-align: center;
  }

  .church-body--apex .bb-apex-page-hero--mobile .bb-apex-page-hero__title,
  .church-body--apex .bb-apex-page-hero--mobile .bb-apex-page-hero__title--display {
    font-size: 2.25rem;
    max-width: none;
  }

  .church-body--apex .bb-apex-page-hero--mobile .bb-apex-page-hero__lead {
    font-size: 1rem;
    max-width: 24rem;
    margin-left: auto;
    margin-right: auto;
  }

  .church-body--apex .bb-apex-page-split__title,
  .church-body--apex .bb-apex-page-band__title,
  .church-body--apex .bb-apex-page-stack__title {
    font-size: 1.75rem;
  }

  .church-body--apex .bb-apex-page-split,
  .church-body--apex .bb-apex-page-band,
  .church-body--apex .bb-apex-page-challenges,
  .church-body--apex .bb-apex-page-steps,
  .church-body--apex .bb-apex-page-stack {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
  }

  .church-body--apex .bb-apex-page-challenges__grid,
  .church-body--apex .bb-apex-page-toolkit,
  .church-body--apex .bb-apex-page-icon-grid {
    grid-template-columns: 1fr;
  }

  .church-body--apex .bb-apex-features-member-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .church-body--apex .bb-apex-features-mini-card {
    display: none;
  }

  .church-body--apex .bb-apex-features-report-card {
    padding: 24px;
  }

  .church-body--apex .bb-apex-features-report-card::before {
    display: none;
  }

  .church-body--apex .bb-apex-features-bars {
    height: 156px;
    padding-left: 0;
    padding-right: 0;
  }

  .church-body--apex .bb-apex-features-metrics {
    grid-template-columns: 1fr;
  }

  .church-body--apex .bb-apex-page-split--reverse .bb-apex-page-split__media {
    order: 0;
  }
}

/* —— Apex For Churches (Stitch desktop/mobile) —— */
.church-body--apex .bb-apex-for-churches-hero {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop) 32px;
  background: var(--bb-apex-surface);
  overflow: hidden;
}

.church-body--apex .bb-apex-for-churches-hero__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
  display: grid;
  gap: 48px;
  align-items: center;
}

.church-body--apex .bb-apex-for-churches-hero__title {
  margin: 0 0 24px;
  font-size: 4rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bb-apex-text);
  max-width: 14ch;
}

.church-body--apex .bb-apex-for-churches-hero__lead {
  margin: 0 0 40px;
  max-width: 32rem;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-for-churches-hero__visual {
  position: relative;
}

.church-body--apex .bb-apex-for-churches-hero__frame {
  position: relative;
  z-index: 1;
  border-radius: 40px;
  overflow: hidden;
  transform: rotate(3deg);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-for-churches-hero__frame img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.church-body--apex .bb-apex-for-churches-hero__glow {
  position: absolute;
  top: -48px;
  right: -48px;
  width: 256px;
  height: 256px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  filter: blur(48px);
  z-index: 0;
}

.church-body--apex .bb-apex-for-churches-challenges,
.church-body--apex .bb-apex-for-churches-unified,
.church-body--apex .bb-apex-for-churches-toolkit,
.church-body--apex .bb-apex-for-churches-onboarding,
.church-body--apex .bb-apex-for-churches-stewardship,
.church-body--apex .bb-apex-for-churches-cta,
.church-body--apex .bb-apex-for-churches-mobile-bento,
.church-body--apex .bb-apex-for-churches-mobile-faithful,
.church-body--apex .bb-apex-for-churches-mobile-cta {
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
}

.church-body--apex .bb-apex-for-churches-challenges {
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-for-churches-challenges__inner,
.church-body--apex .bb-apex-for-churches-unified__inner,
.church-body--apex .bb-apex-for-churches-toolkit__inner,
.church-body--apex .bb-apex-for-churches-onboarding__inner,
.church-body--apex .bb-apex-for-churches-stewardship__inner,
.church-body--apex .bb-apex-for-churches-cta__inner,
.church-body--apex .bb-apex-for-churches-mobile-bento__inner,
.church-body--apex .bb-apex-for-churches-mobile-faithful__inner,
.church-body--apex .bb-apex-for-churches-mobile-cta__inner {
  max-width: var(--church-max-width);
  margin: 0 auto;
}

.church-body--apex .bb-apex-for-churches-challenges__grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.church-body--apex .bb-apex-for-churches-challenge-card {
  padding: 32px;
  border-radius: var(--bb-apex-radius);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  box-shadow: var(--bb-apex-shadow-md);
  text-align: center;
}

.church-body--apex .bb-apex-for-churches-challenge-card__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.church-body--apex .bb-apex-for-churches-challenge-card__icon .material-symbols-outlined {
  font-size: 1.75rem;
}

.church-body--apex .bb-apex-for-churches-challenge-card__icon--red {
  background: #fef2f2;
  color: #dc2626;
}

.church-body--apex .bb-apex-for-churches-challenge-card__icon--amber {
  background: #fffbeb;
  color: #d97706;
}

.church-body--apex .bb-apex-for-churches-challenge-card__icon--blue {
  background: #eff6ff;
  color: #2563eb;
}

.church-body--apex .bb-apex-for-churches-challenge-card h3 {
  margin: 0 0 12px;
  font-size: 1.5rem;
  line-height: 1.33;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-for-churches-challenge-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-for-churches-unified {
  background: #fff;
}

.church-body--apex .bb-apex-for-churches-unified__inner {
  display: grid;
  gap: 64px;
  align-items: center;
}

.church-body--apex .bb-apex-for-churches-unified__frame {
  position: relative;
  border-radius: var(--bb-apex-radius);
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-for-churches-unified__frame img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.church-body--apex .bb-apex-for-churches-unified__badge {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: var(--bb-apex-radius-sm);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px);
  border: 1px solid color-mix(in srgb, var(--bb-apex-primary) 20%, transparent);
  box-shadow: var(--bb-apex-shadow-sm);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-for-churches-unified__badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
}

.church-body--apex .bb-apex-for-churches-feature-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 24px;
}

.church-body--apex .bb-apex-for-churches-feature-list li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.church-body--apex .bb-apex-for-churches-feature-list__icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-for-churches-feature-list h3 {
  margin: 0 0 4px;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-for-churches-feature-list p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-for-churches-toolkit {
  background: var(--bb-apex-text);
  color: rgba(255, 255, 255, 0.88);
}

.church-body--apex .bb-apex-for-churches-toolkit .bb-apex-page-band__title,
.church-body--apex .bb-apex-for-churches-toolkit .bb-apex-page-band__lead {
  color: #fff;
}

.church-body--apex .bb-apex-for-churches-toolkit .bb-apex-page-band__lead {
  opacity: 0.7;
}

.church-body--apex .bb-apex-for-churches-toolkit__grid {
  display: grid;
  gap: 48px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

.church-body--apex .bb-apex-for-churches-toolkit-card--offset {
  transform: translateY(48px);
}

.church-body--apex .bb-apex-for-churches-toolkit-card__media {
  height: 256px;
  margin-bottom: 24px;
  border-radius: var(--bb-apex-radius-sm);
  overflow: hidden;
}

.church-body--apex .bb-apex-for-churches-toolkit-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.church-body--apex .bb-apex-for-churches-toolkit-card h3 {
  margin: 0 0 12px;
  font-size: 1.5rem;
  line-height: 1.33;
  font-weight: 600;
  color: #fff;
}

.church-body--apex .bb-apex-for-churches-toolkit-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.8);
}

.church-body--apex .bb-apex-for-churches-onboarding {
  background: #fff;
}

.church-body--apex .bb-apex-for-churches-onboarding__panel {
  position: relative;
  overflow: hidden;
  padding: 48px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-for-churches-onboarding__panel > .bb-apex-page-band__title {
  margin-bottom: 48px;
  text-align: center;
}

.church-body--apex .bb-apex-for-churches-onboarding__watermark {
  position: absolute;
  top: 48px;
  right: 48px;
  font-size: 7.5rem;
  opacity: 0.05;
  color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-for-churches-onboarding__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 48px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  position: relative;
  text-align: center;
}

.church-body--apex .bb-apex-for-churches-onboarding__steps::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 25%;
  right: 25%;
  height: 2px;
  background: color-mix(in srgb, var(--bb-apex-primary) 20%, transparent);
}

.church-body--apex .bb-apex-for-churches-onboarding__num {
  width: 48px;
  height: 48px;
  margin: 0 auto 24px;
  border-radius: 999px;
  background: var(--bb-apex-primary);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.church-body--apex .bb-apex-for-churches-onboarding__steps h3 {
  margin: 0 0 12px;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-for-churches-onboarding__steps p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-for-churches-stewardship {
  background: var(--bb-apex-surface);
}

.church-body--apex .bb-apex-for-churches-stewardship__inner {
  display: grid;
  gap: 64px;
  align-items: start;
}

.church-body--apex .bb-apex-for-churches-stewardship__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bb-apex-primary);
  font-weight: 700;
  text-decoration: none;
}

.church-body--apex .bb-apex-for-churches-stewardship__link:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-for-churches-stewardship__grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.church-body--apex .bb-apex-for-churches-cta {
  background: var(--bb-apex-surface);
}

.church-body--apex .bb-apex-for-churches-cta__panel {
  max-width: 48rem;
  margin: 0 auto;
  padding: 64px;
  text-align: center;
  border-radius: 48px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-for-churches-cta__title {
  margin: 0 0 48px;
  font-size: 4rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-for-churches-cta__actions {
  justify-content: center;
}

.church-body--apex .bb-apex-for-churches-hero--mobile {
  padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
}

.church-body--apex .bb-apex-for-churches-hero__inner--mobile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.church-body--apex .bb-apex-for-churches-hero__title--mobile {
  font-size: 2.5rem;
  line-height: 1.2;
  max-width: none;
}

.church-body--apex .bb-apex-for-churches-hero__frame--mobile {
  width: 100%;
  margin-top: 24px;
  border-radius: var(--bb-apex-radius);
  transform: none;
  position: relative;
}

.church-body--apex .bb-apex-for-churches-hero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, color-mix(in srgb, var(--bb-apex-primary) 20%, transparent), transparent);
}

.church-body--apex .bb-apex-for-churches-mobile-bento {
  background: #fff;
}

.church-body--apex .bb-apex-for-churches-mobile-bento__stack {
  display: grid;
  gap: 24px;
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card {
  padding: 24px;
  border-radius: var(--bb-apex-radius-sm);
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  background: #fff;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  border-radius: var(--bb-apex-radius-sm);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card h3 {
  margin: 0 0 8px;
  font-size: 1.5rem;
  line-height: 1.33;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card--accent {
  background: var(--bb-apex-primary);
  border-color: transparent;
  color: #fff;
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card--accent h3,
.church-body--apex .bb-apex-for-churches-mobile-bento-card--accent p {
  color: #fff;
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card--accent p {
  opacity: 0.9;
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card__bars {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 128px;
  margin-top: 16px;
  padding: 16px;
  border-radius: var(--bb-apex-radius-sm);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card__bars span {
  flex: 1;
  height: var(--bar-height, 50%);
  border-radius: 4px 4px 0 0;
  background: rgba(255, 255, 255, 0.35);
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card__bars span:nth-child(2) {
  background: rgba(255, 255, 255, 0.5);
}

.church-body--apex .bb-apex-for-churches-mobile-bento-card__bars span:nth-child(3) {
  background: rgba(255, 255, 255, 0.7);
}

.church-body--apex .bb-apex-for-churches-mobile-faithful {
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-for-churches-mobile-faithful__inner {
  display: grid;
  gap: 32px;
}

.church-body--apex .bb-apex-for-churches-mobile-faithful__media {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-for-churches-mobile-faithful__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.church-body--apex .bb-apex-for-churches-mobile-cta__inner {
  padding: 32px;
  border-radius: 24px;
  background: var(--bb-apex-text);
  color: #fff;
  text-align: center;
}

.church-body--apex .bb-apex-for-churches-mobile-cta__title {
  margin: 0 0 24px;
  font-size: 1.75rem;
  line-height: 1.3;
  font-weight: 700;
  color: #fff;
}

.church-body--apex .bb-apex-for-churches-mobile-cta__link {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (min-width: 900px) {
  .church-body--apex .bb-apex-for-churches-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .church-body--apex .bb-apex-for-churches-unified__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .church-body--apex .bb-apex-for-churches-stewardship__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}

@media (max-width: 1099px) and (min-width: 900px) {
  .church-body--apex .bb-apex-for-churches-hero__title,
  .church-body--apex .bb-apex-for-churches-cta__title {
    font-size: 3rem;
  }

  .church-body--apex .bb-apex-for-churches-toolkit-card--offset {
    transform: none;
  }
}

@media (max-width: 899px) {
  .church-body--apex .bb-apex-for-churches-challenges,
  .church-body--apex .bb-apex-for-churches-unified,
  .church-body--apex .bb-apex-for-churches-toolkit,
  .church-body--apex .bb-apex-for-churches-onboarding,
  .church-body--apex .bb-apex-for-churches-stewardship,
  .church-body--apex .bb-apex-for-churches-cta,
  .church-body--apex .bb-apex-for-churches-mobile-bento,
  .church-body--apex .bb-apex-for-churches-mobile-faithful,
  .church-body--apex .bb-apex-for-churches-mobile-cta {
    padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
  }

  .church-body--apex .bb-apex-for-churches-challenges__grid,
  .church-body--apex .bb-apex-for-churches-toolkit__grid,
  .church-body--apex .bb-apex-for-churches-onboarding__steps,
  .church-body--apex .bb-apex-for-churches-stewardship__grid {
    grid-template-columns: 1fr;
  }

  .church-body--apex .bb-apex-for-churches-toolkit-card--offset {
    transform: none;
  }

  .church-body--apex .bb-apex-for-churches-onboarding__steps::before {
    display: none;
  }

  .church-body--apex .bb-apex-for-churches-onboarding__panel {
    padding: 32px 24px;
  }

  .church-body--apex .bb-apex-for-churches-cta__panel {
    padding: 40px 24px;
    border-radius: 24px;
  }

  .church-body--apex .bb-apex-for-churches-cta__title {
    font-size: 2rem;
  }
}

/* —— Apex Register Your Church (Stitch desktop/mobile) —— */
.church-body--apex .bb-apex-register {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  background: var(--bb-apex-surface);
}

.church-body--apex .bb-apex-register__mobile-hero {
  background: var(--bb-apex-primary);
  color: #fff;
  padding: calc(var(--bb-apex-section-pad-mobile) + 16px) var(--church-margin-mobile) 48px;
  position: relative;
  overflow: hidden;
}

.church-body--apex .bb-apex-register__mobile-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 24rem;
}

.church-body--apex .bb-apex-register__mobile-display {
  margin: 0 0 16px;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.church-body--apex .bb-apex-register__mobile-lead {
  margin: 0 0 24px;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
}

.church-body--apex .bb-apex-register__mobile-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.church-body--apex .bb-apex-register__mobile-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 12px;
  border-radius: var(--bb-apex-radius-sm);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
}

.church-body--apex .bb-apex-register__mobile-chip .material-symbols-outlined {
  font-size: 1.25rem;
}

.church-body--apex .bb-apex-register__aside {
  display: none;
  background: var(--bb-apex-surface-dim);
  padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  position: relative;
  overflow: hidden;
}

.church-body--apex .bb-apex-register__aside-inner {
  max-width: 28rem;
  position: relative;
  z-index: 1;
}

.church-body--apex .bb-apex-register__aside-title {
  margin: 0 0 16px;
  font-size: 2.5rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--bb-apex-primary);
  letter-spacing: -0.02em;
}

.church-body--apex .bb-apex-register__aside-lead,
.church-body--apex .bb-apex-register__aside-note {
  margin: 0 0 24px;
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-register__benefits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 24px;
}

.church-body--apex .bb-apex-register__benefit {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.church-body--apex .bb-apex-register__benefit-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--bb-apex-radius-sm);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, transparent);
  color: var(--bb-apex-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-register__benefit h3 {
  margin: 0 0 4px;
  font-size: 1.125rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-register__benefit p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-register__main {
  padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile) calc(var(--bb-apex-section-pad-mobile) + 16px);
  background: #fff;
}

.church-body--apex .bb-apex-register__main-inner {
  max-width: 40rem;
  margin: 0 auto;
}

.church-body--apex .bb-apex-register__header {
  margin-bottom: 32px;
}

.church-body--apex .bb-apex-register__title {
  margin: 0 0 16px;
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-register__lead {
  margin: 0 0 12px;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-register__lead--secondary {
  margin-bottom: 0;
}

.church-body--apex .bb-apex-register__alert {
  margin-bottom: 24px;
}

.church-body--apex .bb-apex-register-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.church-body--apex .bb-apex-register-form__section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.church-body--apex .bb-apex-register-form__section-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--bb-apex-border) 70%, transparent);
}

.church-body--apex .bb-apex-register-form__section-head .material-symbols-outlined {
  color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-register-form__section-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-register-form__grid {
  display: grid;
  gap: 16px;
}

.church-body--apex .bb-apex-register-form__grid--two {
  grid-template-columns: 1fr;
}

.church-body--apex .bb-apex-register-label {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-register-label__meta {
  font-weight: 500;
  color: var(--bb-apex-text-secondary);
  opacity: 0.85;
}

.church-body--apex .bb-apex-register-input {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid var(--bb-apex-border);
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-surface);
  font: inherit;
  font-size: 1rem;
  color: var(--bb-apex-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.church-body--apex .bb-apex-register-input::placeholder {
  color: color-mix(in srgb, var(--bb-apex-text-secondary) 55%, transparent);
}

.church-body--apex .bb-apex-register-input:focus {
  outline: none;
  border-color: var(--bb-apex-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--bb-apex-primary) 25%, transparent);
}

.church-body--apex .bb-apex-register-input--textarea {
  min-height: 120px;
  resize: vertical;
}

.church-body--apex .bb-apex-register-input--error {
  border-color: var(--bb-apex-error);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--bb-apex-error) 35%, transparent);
}

.church-body--apex .bb-apex-register-input:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.church-body--apex .bb-apex-register-field-error {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bb-apex-error);
}

.church-body--apex .bb-apex-register-field-error .material-symbols-outlined {
  font-size: 1rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-register-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--bb-apex-text-secondary);
  cursor: pointer;
}

.church-body--apex .bb-apex-register-checkbox input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-register-checkbox a {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-register-checkbox a:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-register-form__footer {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.church-body--apex .bb-apex-register-form__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.church-body--apex .bb-apex-register-submit {
  width: 100%;
  min-height: 48px;
}

.church-body--apex .bb-apex-register-submit--submitting,
.church-body--apex .bb-apex-register-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.church-body--apex .bb-apex-register-form__help {
  margin: 0;
  font-size: 0.875rem;
  color: var(--bb-apex-text-secondary);
  text-align: center;
}

.church-body--apex .bb-apex-register-form__help a {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-register-success {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  border-radius: var(--bb-apex-radius);
  border: 1px solid color-mix(in srgb, var(--bb-apex-primary) 25%, transparent);
  background: color-mix(in srgb, var(--bb-apex-primary) 6%, #fff);
}

.church-body--apex .bb-apex-register-success__icon {
  color: var(--bb-apex-primary);
  font-size: 2rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-register-success p {
  margin: 8px 0 0;
  line-height: 1.55;
}

@media (min-width: 900px) {
  .church-body--apex .bb-apex-register {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    min-height: calc(100vh - var(--bb-apex-header-height));
  }

  .church-body--apex .bb-apex-register__aside {
    display: block;
  }

  .church-body--apex .bb-apex-register__main {
    padding: var(--bb-apex-section-pad-desktop) var(--church-margin-desktop);
  }

  .church-body--apex .bb-apex-register__title {
    font-size: 2.5rem;
  }

  .church-body--apex .bb-apex-register-form__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .church-body--apex .bb-apex-register-form__actions {
    flex-direction: row;
    align-items: center;
    gap: 16px;
  }

  .church-body--apex .bb-apex-register-submit {
    width: auto;
    min-width: 220px;
  }

  .church-body--apex .bb-apex-register-form__help {
    text-align: left;
  }
}

@media (max-width: 899px) {
  .church-body--apex .bb-apex-register__main {
    margin-top: -24px;
    border-radius: 24px 24px 0 0;
    position: relative;
    z-index: 2;
    box-shadow: var(--bb-apex-shadow-md);
  }

  .church-body--apex .bb-apex-register__header .bb-apex-eyebrow,
  .church-body--apex .bb-apex-register__lead {
    display: none;
  }

  .church-body--apex .bb-apex-register__title {
    font-size: 1.5rem;
    margin-bottom: 8px;
  }
}

.church-body--apex #features,
.church-body--apex #pricing,
.church-body--apex #about,
.church-body--apex #welcome,
.church-body--apex #welcome-mobile {
  scroll-margin-top: var(--bb-apex-header-height);
}

/* —— Apex Church Directory (Stitch desktop/mobile) —— */
.church-body--apex .bb-apex-directory {
  padding: 32px var(--church-margin-mobile) 64px;
  background: var(--bb-apex-surface);
  min-height: 60vh;
  overflow-x: clip;
}

.church-body--apex .bb-apex-directory__inner {
  max-width: 1280px;
  margin: 0 auto;
  min-width: 0;
}

.church-body--apex .bb-apex-directory__header {
  margin-bottom: 32px;
}

.church-body--apex .bb-apex-directory__header--mobile {
  margin-bottom: 20px;
}

.church-body--apex .bb-apex-directory__title {
  margin: 0 0 12px;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-directory__title--mobile {
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}

.church-body--apex .bb-apex-directory__lead {
  margin: 0;
  max-width: 42rem;
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-directory__lead--mobile {
  font-size: 1rem;
  max-width: none;
}

.church-body--apex .bb-apex-directory__search-card {
  margin-bottom: 32px;
  padding: 24px;
  border-radius: var(--bb-apex-radius);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 60%, transparent);
  box-shadow: var(--bb-apex-shadow-md);
  min-width: 0;
}

.church-body--apex .bb-apex-directory__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 0;
}

.church-body--apex .bb-apex-directory__search-field {
  position: relative;
  min-width: 0;
  flex: 1 1 auto;
}

.church-body--apex .bb-apex-directory__search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bb-apex-text-secondary);
  pointer-events: none;
}

.church-body--apex .bb-apex-directory__input {
  width: 100%;
  min-width: 0;
  padding: 16px 16px 16px 48px;
  border: none;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-surface-dim);
  font: inherit;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-directory__input:focus {
  outline: 2px solid var(--bb-apex-primary);
  outline-offset: 2px;
}

.church-body--apex .bb-apex-directory__submit {
  width: 100%;
  justify-content: center;
}

.church-body--apex .bb-apex-directory__stats {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 16px;
  border-radius: var(--bb-apex-radius);
  background: color-mix(in srgb, var(--bb-apex-primary) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--bb-apex-primary) 18%, transparent);
  min-width: 0;
}

.church-body--apex .bb-apex-directory__stats-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-directory__stats-copy {
  min-width: 0;
}

.church-body--apex .bb-apex-directory__stats-count {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--bb-apex-primary-dark);
}

.church-body--apex .bb-apex-directory__stats-query {
  margin: 2px 0 0;
  font-size: 0.8125rem;
  color: var(--bb-apex-text-secondary);
  overflow-wrap: anywhere;
}

.church-body--apex .bb-apex-directory__count {
  margin: 0 0 24px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-directory__list {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}

.church-body--apex .bb-apex-directory-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 70%, transparent);
  border-radius: var(--bb-apex-radius);
  box-shadow: var(--bb-apex-shadow-md);
  min-width: 0;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.church-body--apex .bb-apex-directory-card:focus-within {
  border-color: color-mix(in srgb, var(--bb-apex-primary) 45%, var(--bb-apex-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bb-apex-primary) 12%, transparent), var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-directory-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  min-width: 0;
}

.church-body--apex .bb-apex-directory-card__logo {
  width: 64px;
  height: 64px;
  border-radius: var(--bb-apex-radius);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, #fff);
  color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-directory-card__logo .material-symbols-outlined {
  font-size: 2rem;
}

.church-body--apex .bb-apex-directory-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bb-apex-primary);
  background: color-mix(in srgb, var(--bb-apex-primary) 10%, #fff);
  flex-shrink: 0;
  max-width: 50%;
  overflow-wrap: anywhere;
}

.church-body--apex .bb-apex-directory-card__badge--single {
  color: var(--bb-apex-text-secondary);
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-directory-card__name {
  font-size: 1.25rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-directory-card__location {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin: 0 0 12px;
  font-size: 0.8125rem;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-directory-card__location .material-symbols-outlined {
  font-size: 1.125rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-directory-card__desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 12px;
}

.church-body--apex .bb-apex-directory-card__facts {
  margin-top: 12px;
}

.church-body--apex .bb-apex-directory-card__actions {
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.church-body--apex .bb-apex-directory-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  min-width: 0;
}

.church-body--apex .bb-apex-directory-card__footer-detail {
  min-width: 0;
  flex: 1 1 auto;
}

.church-body--apex .bb-apex-directory-card__footer-label {
  margin: 0;
  font-size: 0.75rem;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-directory-card__footer-value {
  margin: 2px 0 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--bb-apex-text);
  overflow-wrap: anywhere;
}

.church-body--apex .bb-apex-directory-card__cta {
  width: 100%;
  justify-content: center;
  background: var(--bb-apex-surface-dim);
  color: var(--bb-apex-primary);
  border: 1px solid var(--bb-apex-primary);
}

.church-body--apex .bb-apex-directory-card__cta:hover,
.church-body--apex .bb-apex-directory-card__cta:focus-visible {
  background: var(--bb-apex-primary);
  color: #fff;
}

.church-body--apex .bb-apex-directory-card__actions form {
  margin: 0;
  min-width: 0;
}

.church-body--apex .bb-apex-directory__empty {
  text-align: center;
  padding: 48px 16px;
}

.church-body--apex .bb-apex-directory__empty-icon {
  width: 96px;
  height: 96px;
  margin: 0 auto 24px;
  border-radius: 999px;
  background: var(--bb-apex-surface-dim);
  color: var(--bb-apex-text-secondary);
  display: grid;
  place-items: center;
}

.church-body--apex .bb-apex-directory__empty-icon .material-symbols-outlined {
  font-size: 3rem;
}

.church-body--apex .bb-apex-directory__empty h2 {
  margin: 0 0 8px;
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-directory__empty p {
  margin: 0 auto 16px;
  max-width: 24rem;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-directory__pager {
  margin-top: 32px;
}

.church-body--apex .bb-apex-directory__pager-link {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-directory__pager-link:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-directory__back {
  margin-top: 32px;
  text-align: center;
}

.church-body--apex .bb-apex-directory__back a {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-directory__back a:hover {
  text-decoration: underline;
}

.church-body--apex .bb-apex-directory__org {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.church-body--apex .bb-apex-directory__org-meta {
  display: flex;
  align-items: flex-start;
  gap: 4px;
}

.church-body--apex .bb-apex-directory__org-meta .material-symbols-outlined {
  font-size: 1.125rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-directory__branch-count {
  margin-top: 4px;
}

@media (min-width: 640px) {
  .church-body--apex .bb-apex-directory__form {
    flex-direction: row;
    align-items: stretch;
  }

  .church-body--apex .bb-apex-directory__submit {
    width: auto;
    min-width: 9rem;
    flex-shrink: 0;
  }
}

@media (min-width: 900px) {
  .church-body--apex .bb-apex-directory {
    padding: 48px var(--church-margin-desktop) 96px;
  }

  .church-body--apex .bb-apex-directory__header {
    text-align: left;
  }

  .church-body--apex .bb-apex-directory__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .church-body--apex .bb-apex-directory-card:hover {
    transform: translateY(-4px);
  }
}

@media (min-width: 1100px) {
  .church-body--apex .bb-apex-directory__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 899px) {
  .church-body--apex .bb-apex-directory-card__facts {
    display: none;
  }

  .church-body--apex .bb-apex-directory-card__footer + .bb-apex-directory-card__cta,
  .church-body--apex .bb-apex-directory-card__footer + form .bb-apex-directory-card__cta {
    width: auto;
    align-self: flex-end;
    min-width: 7.5rem;
    padding-left: 16px;
    padding-right: 16px;
  }

  .church-body--apex .bb-apex-directory-card__actions:has(.bb-apex-directory-card__footer) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }

  .church-body--apex .bb-apex-directory-card__actions:has(.bb-apex-directory-card__footer) .bb-apex-directory-card__footer {
    border-top: none;
    padding-top: 0;
    flex: 1 1 50%;
  }

  .church-body--apex .bb-apex-directory-card__actions:has(.bb-apex-directory-card__footer) form {
    flex: 0 0 auto;
  }
}

/* —— Apex Pricing (Stitch desktop/mobile) —— */
.church-body--apex .bb-apex-pricing__staff-note {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  max-width: 40rem;
  margin: 0 auto 32px;
  padding: 0 var(--church-margin-mobile);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  font-style: italic;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pricing__staff-note .material-symbols-outlined {
  color: var(--bb-apex-primary);
  flex-shrink: 0;
}

.church-body--apex .bb-apex-pricing {
  padding: 0 var(--church-margin-mobile) var(--bb-apex-section-pad-mobile);
  overflow-x: clip;
}

.church-body--apex .bb-apex-pricing__tiers {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr);
  max-width: 1280px;
  margin: 0 auto 32px;
  align-items: stretch;
}

.church-body--apex .bb-apex-pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border-radius: var(--bb-apex-radius);
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 70%, transparent);
  background: #fff;
  box-shadow: var(--bb-apex-shadow-md);
  min-width: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.church-body--apex .bb-apex-pricing-card--featured {
  border: 2px solid var(--bb-apex-primary);
  box-shadow: 0 20px 40px rgba(108, 92, 231, 0.12);
  z-index: 1;
}

.church-body--apex .bb-apex-pricing-card__badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 4px 16px;
  border-radius: 999px;
  background: var(--bb-apex-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.church-body--apex .bb-apex-pricing-card__eyebrow {
  margin: 0 0 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pricing-card__name {
  margin: 0 0 8px;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-pricing-card__price {
  margin: 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
}

.church-body--apex .bb-apex-pricing-card__price-amount {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-pricing-card__price-suffix {
  font-size: 1rem;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pricing-card__desc {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pricing-card__features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
  flex: 1 1 auto;
}

.church-body--apex .bb-apex-pricing-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pricing-card__features .material-symbols-outlined {
  color: var(--bb-apex-primary);
  font-size: 1.25rem;
  flex-shrink: 0;
}

.church-body--apex .bb-apex-pricing-card__cta {
  width: 100%;
  justify-content: center;
  margin-top: auto;
}

.church-body--apex .bb-apex-pricing-card__cta--outline {
  background: transparent;
  color: var(--bb-apex-primary);
  border: 2px solid var(--bb-apex-primary);
}

.church-body--apex .bb-apex-pricing-card__cta--outline:hover,
.church-body--apex .bb-apex-pricing-card__cta--outline:focus-visible {
  background: var(--bb-apex-primary);
  color: #fff;
}

.church-body--apex .bb-apex-pricing-card--partner {
  background: var(--bb-apex-text);
  border-color: transparent;
  color: #fff;
}

.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__name,
.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__price-amount {
  color: #fff;
}

.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__desc,
.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__features li,
.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__eyebrow,
.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__price-suffix {
  color: rgba(255, 255, 255, 0.78);
}

.church-body--apex .bb-apex-pricing-card--partner .bb-apex-pricing-card__features .material-symbols-outlined {
  color: #e4dfff;
}

.church-body--apex .bb-apex-pricing-card__cta--inverse {
  background: #fff;
  color: var(--bb-apex-text);
  border: none;
}

.church-body--apex .bb-apex-pricing-partner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: 1280px;
  margin: 0 auto 48px;
  border-radius: var(--bb-apex-radius);
  overflow: hidden;
  background: var(--bb-apex-text);
  color: #fff;
  box-shadow: var(--bb-apex-shadow-md);
}

.church-body--apex .bb-apex-pricing-partner__copy {
  padding: 40px;
}

.church-body--apex .bb-apex-pricing-partner__eyebrow {
  display: inline-block;
  margin: 0 0 16px;
  padding: 4px 12px;
  border-radius: var(--bb-apex-radius-sm);
  background: var(--bb-apex-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

.church-body--apex .bb-apex-pricing-partner__title {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 700;
  line-height: 1.15;
}

.church-body--apex .bb-apex-pricing-partner__lead {
  margin: 0 0 24px;
  font-size: 1.125rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  max-width: 32rem;
}

.church-body--apex .bb-apex-pricing-partner__price {
  margin: 0 0 24px;
  font-size: 2.25rem;
  font-weight: 700;
}

.church-body--apex .bb-apex-pricing-partner__cta {
  background: #fff;
  color: var(--bb-apex-text);
  border: none;
}

.church-body--apex .bb-apex-pricing-partner__features {
  padding: 40px;
  background: rgba(255, 255, 255, 0.06);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.church-body--apex .bb-apex-pricing-partner__features-title {
  margin: 0 0 24px;
  font-size: 1.25rem;
  font-weight: 600;
  color: #e4dfff;
}

.church-body--apex .bb-apex-pricing-partner__feature-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}

.church-body--apex .bb-apex-pricing-partner__feature-grid li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
}

.church-body--apex .bb-apex-pricing-partner__feature-grid .material-symbols-outlined {
  color: #e4dfff;
}

.church-body--apex .bb-apex-pricing-compare {
  padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
  background: #fff;
}

.church-body--apex .bb-apex-pricing-compare__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.church-body--apex .bb-apex-pricing-compare__header {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 32px;
}

.church-body--apex .bb-apex-pricing-compare__title {
  margin: 0 0 8px;
  font-size: 2rem;
  font-weight: 700;
}

.church-body--apex .bb-apex-pricing-compare__lead {
  margin: 0;
  color: var(--bb-apex-text-secondary);
  line-height: 1.55;
}

.church-body--apex .bb-apex-pricing-compare__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid color-mix(in srgb, var(--bb-apex-border) 60%, transparent);
  border-radius: var(--bb-apex-radius);
}

.church-body--apex .bb-apex-pricing-compare__table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.church-body--apex .bb-apex-pricing-compare__table th,
.church-body--apex .bb-apex-pricing-compare__table td {
  padding: 14px 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--bb-apex-border) 50%, transparent);
  text-align: left;
  vertical-align: top;
}

.church-body--apex .bb-apex-pricing-compare__table thead th {
  background: var(--bb-apex-surface-dim);
  font-weight: 700;
}

.church-body--apex .bb-apex-pricing-compare__table tbody th {
  font-weight: 600;
  color: var(--bb-apex-text);
  background: #fff;
  position: sticky;
  left: 0;
  z-index: 1;
}

.church-body--apex .bb-apex-pricing-compare__yes {
  color: var(--bb-apex-primary);
}

.church-body--apex .bb-apex-pricing-compare__no {
  color: var(--bb-apex-text-secondary);
}

.church-body--apex .bb-apex-pricing-atmosphere {
  padding: 0 var(--church-margin-mobile) var(--bb-apex-section-pad-mobile);
}

.church-body--apex .bb-apex-pricing-atmosphere__inner {
  max-width: 1280px;
  margin: 0 auto;
  min-height: 320px;
  border-radius: var(--bb-apex-radius);
  overflow: hidden;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--bb-apex-primary) 70%, transparent), transparent),
    url("/church/images/homepage/desktop-hero-auditorium.jpg") center / cover no-repeat;
  display: flex;
  align-items: center;
  padding: 48px;
}

.church-body--apex .bb-apex-pricing-atmosphere__copy {
  max-width: 32rem;
  color: #fff;
}

.church-body--apex .bb-apex-pricing-atmosphere__title {
  margin: 0 0 12px;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.2;
}

.church-body--apex .bb-apex-pricing-atmosphere__lead {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.55;
  opacity: 0.92;
}

.church-body--apex .bb-apex-pricing-notes {
  padding: var(--bb-apex-section-pad-mobile) var(--church-margin-mobile);
  background: var(--bb-apex-surface-dim);
}

.church-body--apex .bb-apex-pricing-notes__inner {
  max-width: 48rem;
  margin: 0 auto;
  text-align: center;
  color: var(--bb-apex-text-secondary);
  line-height: 1.6;
}

.church-body--apex .bb-apex-pricing-notes__title {
  margin: 0 0 16px;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--bb-apex-text);
}

.church-body--apex .bb-apex-pricing-notes a {
  color: var(--bb-apex-primary);
  font-weight: 600;
  text-decoration: none;
}

.church-body--apex .bb-apex-pricing-notes a:hover {
  text-decoration: underline;
}

@media (min-width: 900px) {
  .church-body--apex .bb-apex-pricing__tiers {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    align-items: stretch;
  }

  .church-body--apex .bb-apex-pricing-card--featured {
    transform: scale(1.03);
  }

  .church-body--apex .bb-apex-pricing-card:hover:not(.bb-apex-pricing-card--partner) {
    transform: translateY(-4px);
  }

  .church-body--apex .bb-apex-pricing-card--featured:hover {
    transform: scale(1.03) translateY(-4px);
  }

  .church-body--apex .bb-apex-pricing-partner {
    grid-template-columns: 1fr 1fr;
  }

  .church-body--apex .bb-apex-pricing-partner__features {
    border-top: none;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }

  .church-body--apex .bb-apex-pricing-partner__feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

