/* Church-first entity page. Ported from the church page mockup.
   The site navbar (_nav_logged_out) and footer (_site_footer) are shared
   partials styled by logo.css / ministry-style.css / splash.css; this file
   only styles the church-specific hero, quote, grid, and CTA. */
:root {
  --ink: #154740;
  --ink-soft: #1e6156;
  --gold: #ddab3f;
  --gold-deep: #b78c2a;
  --parchment: #f5faf8;
  --paper: #ffffff;
  --slate: #4b615c;
  --line: #dde9e4;
  --green: #2e6e4e;
  --radius: 14px;
}
body.church { background: var(--parchment); color: var(--ink); }
body.church .ch-hero, body.church .ch-quote, body.church .ch-section, body.church .ch-cta { box-sizing: border-box; }
.ch-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ch-wrap * { box-sizing: border-box; }

.ch-hero { background: linear-gradient(150deg, #11332f 0%, #175249 50%, #1f6b5d 100%); color: #fff; padding: 54px 0 46px; }
.ch-hero h1 { font-family: 'Fraunces', Georgia, serif; }
.ch-crumb { font-size: 13px; color: rgba(255,255,255,.5); margin-bottom: 22px; }
.ch-crumb a { color: var(--gold); font-weight: 600; text-decoration: none; }
.ch-hero__grid { display: flex; gap: 34px; align-items: center; flex-wrap: wrap; }
.ch-avatar { width: 132px; height: 132px; border-radius: 24px; background: linear-gradient(135deg, #2e7a6b, #1c554c); border: 3px solid var(--gold); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.45); font-size: 12px; font-weight: 600; text-align: center; flex-shrink: 0; overflow: hidden; }
.ch-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ch-hero__info h1 { font-size: clamp(28px, 4.4vw, 42px); font-weight: 600; letter-spacing: -.01em; margin: 0; }
.ch-sub { margin-top: 6px; font-size: 16px; color: rgba(255,255,255,.7); }
.ch-chips { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; align-items: center; }
.ch-chip { font-size: 12px; font-weight: 700; letter-spacing: .04em; border-radius: 20px; padding: 5px 14px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.85); }
.ch-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(46,110,78,.25); border: 1px solid rgba(110,190,150,.4); color: #9fd8b8; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; border-radius: 20px; padding: 5px 14px; }
.ch-stats { display: flex; gap: 0; margin-top: 26px; border-top: 1px solid rgba(255,255,255,.12); flex-wrap: wrap; }
.ch-stats__cell { padding: 18px 30px 0 0; margin-right: 30px; }
.ch-stats__n { font-family: 'Fraunces', serif; font-size: 28px; font-weight: 600; color: var(--gold); }
.ch-stats__l { font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: rgba(255,255,255,.5); font-weight: 600; }

.ch-quote { background: var(--paper); border-bottom: 1px solid var(--line); padding: 44px 24px; text-align: center; }
.ch-quote__q { font-family: 'Fraunces', serif; font-size: clamp(19px, 2.8vw, 25px); font-weight: 500; max-width: 720px; margin: 0 auto; line-height: 1.45; }
.ch-quote__q::before { content: "\201C"; color: var(--gold-deep); font-size: 30px; margin-right: 4px; }
.ch-quote__who { margin-top: 12px; font-size: 14px; color: var(--slate); }
.ch-quote__who a { color: var(--gold-deep); font-weight: 600; text-decoration: none; }

.ch-section { padding: 56px 0; }
.ch-section h2 { font-family: 'Fraunces', Georgia, serif; }
.ch-sec-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 28px; flex-wrap: wrap; gap: 10px; }
.ch-sec-head h2 { font-size: clamp(24px, 3.4vw, 32px); font-weight: 600; margin: 0; }
.ch-sec-head__count { font-size: 14px; color: var(--slate); }
.ch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 900px) { .ch-grid { grid-template-columns: 1fr; } }
.ch-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .18s, box-shadow .18s; }
.ch-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px -18px rgba(23,28,38,.22); }
.ch-card__thumb { display: block; }
.ch-card__thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; background: #ddd; }
.ch-card__thumb-ph { width: 100%; aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; text-align: center; padding: 0 16px; background: linear-gradient(135deg, var(--ink-soft), var(--ink)); }
.ch-card__body { padding: 16px 18px 18px; }
.ch-card__title { font-size: 16.5px; font-weight: 600; margin: 0 0 8px; line-height: 1.35; }
.ch-card__title a { color: var(--ink); text-decoration: none; }
.ch-card__title a:hover { color: var(--ink-soft); }
.ch-card__pieces { font-size: 13px; color: var(--slate); }
.ch-card__speaker { font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--gold-deep); font-weight: 700; margin-bottom: 4px; }
.ch-card__speaker a { color: var(--gold-deep); border-bottom: 1px dotted var(--gold-deep); text-decoration: none; }
.ch-hero__speaker { margin-top: 8px; font-size: 13px; font-weight: 600; }
.ch-hero__speaker a { color: var(--gold); border-bottom: 1px dotted var(--gold); text-decoration: none; }
.ch-empty { color: var(--slate); font-size: 15px; }

.ch-video { position: relative; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 32px; border-radius: var(--radius); overflow: hidden; background: #000; }
.ch-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ch-pieces { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 0; margin: 0; }
@media (max-width: 700px) { .ch-pieces { grid-template-columns: 1fr; } }
.ch-pieces__item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.ch-pieces__link { display: block; padding: 16px 18px; font-weight: 600; color: var(--ink); text-decoration: none; }
.ch-pieces__link:hover { color: var(--ink-soft); }
.ch-pieces__link span { color: var(--gold-deep); }

/* The bottom CTA reuses the site's shared ".final" paste-link band
   (see sermon-library.ejs), styled by sermon-library.css. */
