/* =========================================================================
   Eternal Roam - Churches, Basilicas & Cathedrals parent (/destination/churches/)
   Scoped editorial gateway. Everything is namespaced under .er-churches-v1 so
   nothing leaks into the host theme or sibling category pages.

   Structural sibling of marian-shrines-v1 / routes-v1, but clay-led: clay is
   the signature accent (altar, tomb, worship, the visible memory of the
   Church), teal is the structural accent, and gold is reserved for relic and
   sacred-art moments only. Two signature systems carry the page identity:
     1. THE AXIS (.erc-axis) - a processional ribbon door -> nave -> crossing ->
        sanctuary -> apse, with the sanctuary marked as the center.
     2. THE LENS (.erc-lens) - a geometric marker vocabulary for what a church
        holds (tomb, altar, relic, light, route, saint, cathedra).

   Tokens are declared on the component root, not :root. Font families mirror
   the site foundation stacks (--er-serif / --er-sans / --er-mono fall back to
   system fonts until the global Spectral / DM Sans / DM Mono task lands; this
   page upgrades automatically when it does).
   ========================================================================= */

.er-churches-v1 {
  --erc-limestone: #ECE5D5;
  --erc-ivory:     #F4EFE2;
  --erc-paper:     #FBF7EC;
  --erc-vellum:    #F2ECDB;
  --erc-parchment: #E2D8C1;
  --erc-stone:     #CBC1AA;

  --erc-ink:   #1F1B14;
  --erc-ink-2: #3A332A;
  --erc-ink-3: #6E6555;
  --erc-ink-4: #8C8472;

  --erc-clay:      #9A4F2E;
  --erc-clay-deep: #7A3C20;
  --erc-clay-soft: rgba(154,79,46,.10);
  --erc-teal:      #2C5A57;
  --erc-teal-deep: #1F4441;
  --erc-teal-soft: rgba(44,90,87,.10);
  --erc-gold:      #A4823F;
  --erc-gold-soft: rgba(164,130,63,.13);

  --erc-rule:      rgba(31,27,20,.12);
  --erc-rule-soft: rgba(31,27,20,.07);
  --erc-rule-hair: rgba(31,27,20,.20);

  --erc-serif: var(--er-serif, 'Spectral', 'GT Sectra', Georgia, 'Times New Roman', serif);
  --erc-sans:  var(--er-sans, 'DM Sans', system-ui, -apple-system, sans-serif);
  --erc-mono:  var(--er-mono, 'DM Mono', ui-monospace, Menlo, monospace);

  --erc-r-sm: 3px;
  --erc-r-md: 5px;
  --erc-r-lg: 9px;

  background: var(--erc-paper);
  color: var(--erc-ink);
  font-family: var(--erc-sans);
  font-size: 15px;
  line-height: 1.6;
  position: relative;
  overflow-x: hidden;
}
.er-churches-v1 *,
.er-churches-v1 *::before,
.er-churches-v1 *::after { box-sizing: border-box; }
.er-churches-v1 img { max-width: 100%; display: block; }
.er-churches-v1 a { color: inherit; text-decoration: none; }

/* section wrappers - centered editorial column, sibling width discipline */
.er-churches-v1 .erc-sec { padding: 64px 56px; max-width: 1440px; margin: 0 auto; }
.er-churches-v1 .erc-sec.tight { padding: 46px 56px; }
.er-churches-v1 .erc-s-limestone { background: var(--erc-limestone); }
.er-churches-v1 .erc-s-vellum    { background: var(--erc-vellum); }

/* ===== TYPE ============================================================== */
.er-churches-v1 .erc-kicker {
  font-family: var(--erc-mono); font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--erc-ink-3); font-weight: 500;
  display: inline-flex; align-items: center; gap: 9px;
}
.er-churches-v1 .erc-kicker .tick { width: 6px; height: 6px; border-radius: 50%; background: var(--erc-clay); display: inline-block; flex: none; }
.er-churches-v1 .erc-kicker.teal .tick { background: var(--erc-teal); }
.er-churches-v1 .erc-kicker.gold .tick { background: var(--erc-gold); }
.er-churches-v1 .erc-display { font-family: var(--erc-serif); font-weight: 400; letter-spacing: -.018em; line-height: .96; color: var(--erc-ink); margin: 0; }
.er-churches-v1 .erc-h2 { font-family: var(--erc-serif); font-weight: 400; letter-spacing: -.012em; line-height: 1.06; margin: 0; color: var(--erc-ink); }
.er-churches-v1 .erc-lede { font-family: var(--erc-serif); font-weight: 300; line-height: 1.42; color: var(--erc-ink-2); }
.er-churches-v1 .erc-prose p { font-family: var(--erc-sans); font-size: 15px; line-height: 1.72; color: var(--erc-ink-2); margin: 0 0 15px; max-width: 60ch; }
.er-churches-v1 .erc-prose p:last-child { margin-bottom: 0; }
.er-churches-v1 em { font-style: italic; }

/* ===== SHARED PRIMITIVES ================================================= */
.er-churches-v1 .erc-crumb { font-family: var(--erc-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--erc-ink-3); }
.er-churches-v1 .erc-crumb a { color: var(--erc-clay-deep); }

/* buttons */
.er-churches-v1 .erc-btn {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  font-family: var(--erc-sans); font-weight: 500; font-size: 13.5px;
  padding: 13px 22px; border-radius: 999px; border: 1px solid transparent;
  text-decoration: none; letter-spacing: .01em;
}
.er-churches-v1 .erc-btn.clay { background: var(--erc-clay); color: #fff; }
.er-churches-v1 .erc-btn.ghost { background: transparent; color: var(--erc-ink); border-color: var(--erc-rule-hair); }
.er-churches-v1 .erc-btn.text { background: transparent; color: var(--erc-ink); padding: 6px 0; }
.er-churches-v1 .erc-btn .arrow { transition: transform .2s; }
.er-churches-v1 .erc-btn:hover .arrow { transform: translateX(3px); }
.er-churches-v1 .erc-btn.clay:hover { background: var(--erc-clay-deep); }

/* Save action - the journey button helper output, styled to the handoff pill.
   The helper emits <button class="add-to-journey erc-save ..."> with an <i> icon
   and a label span; we normalize both to the quiet mono pill. */
.er-churches-v1 .erc-save {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--erc-mono); font-size: 10.5px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--erc-ink-2);
  padding: 8px 13px; border: 1px solid var(--erc-rule-hair);
  border-radius: 999px; background: var(--erc-paper); cursor: pointer;
  white-space: nowrap; line-height: 1;
}
.er-churches-v1 .erc-save:hover { border-color: var(--erc-clay); color: var(--erc-clay-deep); }
.er-churches-v1 .erc-save i { font-size: 11px; }
.er-churches-v1 .erc-save.is-saved,
.er-churches-v1 .erc-save.added { background: var(--erc-clay); color: #fff; border-color: var(--erc-clay); }

/* section head */
.er-churches-v1 .erc-sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--erc-ink); margin-bottom: 32px; }
.er-churches-v1 .erc-sechead .lhs { max-width: 38ch; }
.er-churches-v1 .erc-sechead h2 { font-family: var(--erc-serif); font-weight: 400; letter-spacing: -.014em; line-height: 1.04; font-size: 42px; margin: 14px 0 0; color: var(--erc-ink); }
.er-churches-v1 .erc-sechead .rhs { font-size: 13px; color: var(--erc-ink-3); max-width: 34ch; line-height: 1.55; text-align: right; flex: none; }

/* image frame - real photography, cover-cropped, with a warm gradient behind
   it as a load fallback. Caption/credit overlays bottom-left. */
.er-churches-v1 .erc-img {
  position: relative; overflow: hidden; border-radius: var(--erc-r-md);
  background: linear-gradient(176deg, #d9cfb7 0%, #c3b693 100%);
  color: var(--erc-ink-2);
}
.er-churches-v1 .erc-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.er-churches-v1 .erc-img .cap {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
  padding: 22px 13px 9px;
  font-family: var(--erc-mono); font-size: 9px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,247,236,.92);
  background: linear-gradient(to top, rgba(20,15,9,.62), rgba(20,15,9,0));
  display: flex; justify-content: flex-end; gap: 10px;
}

/* ===== SIGNATURE 1 - THE AXIS =========================================== */
.er-churches-v1 .erc-axis { display: grid; grid-template-columns: repeat(5, 1fr); align-items: stretch; border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); background: var(--erc-paper); overflow: hidden; }
.er-churches-v1 .erc-axis .node { position: relative; padding: 20px 18px 18px; border-right: 1px solid var(--erc-rule); display: flex; flex-direction: column; gap: 6px; }
.er-churches-v1 .erc-axis .node:last-child { border-right: none; }
.er-churches-v1 .erc-axis .node::before { content: ''; position: absolute; left: 0; right: 0; top: 50px; height: 1px; background: var(--erc-rule-hair); }
.er-churches-v1 .erc-axis .node .dot { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--erc-ink-4); background: var(--erc-paper); position: relative; z-index: 1; margin-bottom: 6px; }
.er-churches-v1 .erc-axis .node.center .dot { border-color: var(--erc-clay); background: var(--erc-clay); box-shadow: 0 0 0 4px var(--erc-clay-soft); }
.er-churches-v1 .erc-axis .node.apse { background: var(--erc-clay-soft); }
.er-churches-v1 .erc-axis .node .lab { font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--erc-ink-4); }
.er-churches-v1 .erc-axis .node h4 { font-family: var(--erc-serif); font-size: 17px; font-weight: 500; margin: 0; }
.er-churches-v1 .erc-axis .node p { font-size: 11.5px; color: var(--erc-ink-3); line-height: 1.5; margin: 2px 0 0; }
.er-churches-v1 .erc-axis .node.center .lab { color: var(--erc-clay-deep); }

/* ===== SIGNATURE 2 - THE LENS =========================================== */
.er-churches-v1 .erc-lens { display: inline-flex; align-items: center; gap: 7px; font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .11em; text-transform: uppercase; color: var(--erc-ink-2); white-space: nowrap; }
.er-churches-v1 .erc-lens .mk { width: 9px; height: 9px; flex: none; display: inline-block; }
.er-churches-v1 .erc-lens.tomb   .mk { background: var(--erc-clay); }
.er-churches-v1 .erc-lens.altar  .mk { height: 3px; background: var(--erc-clay); align-self: center; }
.er-churches-v1 .erc-lens.relic  .mk { background: var(--erc-gold); transform: rotate(45deg); width: 8px; height: 8px; }
.er-churches-v1 .erc-lens.light  .mk { border: 1.6px solid var(--erc-gold); border-radius: 50%; background: transparent; }
.er-churches-v1 .erc-lens.route  .mk { width: 0; height: 0; background: none; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 9px solid var(--erc-teal); }
.er-churches-v1 .erc-lens.saint  .mk { border-radius: 50%; background: var(--erc-teal); }
.er-churches-v1 .erc-lens.seat   .mk { border: 1.5px solid var(--erc-teal); background: linear-gradient(180deg, var(--erc-teal) 0 50%, transparent 50% 100%); }
.er-churches-v1 .erc-lensrow { display: flex; flex-wrap: wrap; gap: 7px 14px; }

/* ===== HERO ============================================================= */
.er-churches-v1 .erc-hero { display: grid; grid-template-columns: 1.04fr 0.96fr; gap: 0; border-bottom: 1px solid var(--erc-ink); margin-top: 24px; }
.er-churches-v1 .erc-hero .left { padding: 18px 56px 56px 0; display: flex; flex-direction: column; justify-content: center; }
.er-churches-v1 .erc-hero .left .erc-display { font-size: 78px; margin: 22px 0 0; max-width: 13ch; }
.er-churches-v1 .erc-hero .left .erc-display em { font-weight: 300; }
.er-churches-v1 .erc-hero .left .erc-lede { font-size: 25px; margin: 24px 0 18px; max-width: 24ch; font-style: italic; color: var(--erc-ink); }
.er-churches-v1 .erc-hero .left .body { font-size: 15.5px; color: var(--erc-ink-2); line-height: 1.72; margin: 0; max-width: 54ch; }
.er-churches-v1 .erc-hero .ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.er-churches-v1 .erc-hero .right { position: relative; }
.er-churches-v1 .erc-hero .right .erc-img { height: 100%; min-height: 600px; border-radius: 0; }
.er-churches-v1 .erc-hero .overlay { position: absolute; left: 18px; bottom: 18px; right: 18px; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.er-churches-v1 .erc-hero .onote { background: rgba(28,22,15,.62); backdrop-filter: blur(6px); color: rgba(255,247,236,.94); border: 1px solid rgba(255,247,236,.18); border-radius: var(--erc-r-sm); padding: 11px 14px; max-width: 230px; }
.er-churches-v1 .erc-hero .onote .k { font-family: var(--erc-mono); font-size: 8.5px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,247,236,.62); }
.er-churches-v1 .erc-hero .onote .v { font-family: var(--erc-serif); font-style: italic; font-weight: 300; font-size: 15px; line-height: 1.3; margin-top: 4px; }
.er-churches-v1 .erc-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; margin-top: 30px; }
.er-churches-v1 .erc-fact { padding: 13px 0; border-top: 1px solid var(--erc-rule); display: flex; flex-direction: column; gap: 3px; }
.er-churches-v1 .erc-fact .n { font-family: var(--erc-serif); font-size: 17px; color: var(--erc-ink); }
.er-churches-v1 .erc-fact .l { font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--erc-ink-3); }

/* ===== THRESHOLD / BRIDGE =============================================== */
.er-churches-v1 .erc-bridge { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 60px; align-items: start; margin-bottom: 34px; }
.er-churches-v1 .erc-bridge h2 { font-size: 44px; margin: 18px 0 0; max-width: 16ch; }
.er-churches-v1 .erc-bridge .erc-prose { padding-top: 8px; }
.er-churches-v1 .erc-bridge .erc-prose .small { color: var(--erc-ink-3); font-size: 13.5px; }
.er-churches-v1 .erc-axis-note { font-family: var(--erc-serif); font-style: italic; font-weight: 300; font-size: 17px; color: var(--erc-ink-2); margin: 22px 0 0; max-width: 74ch; }

/* ===== HOW TO READ A CHURCH ============================================= */
.er-churches-v1 .erc-readgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); overflow: hidden; background: var(--erc-paper); }
.er-churches-v1 .erc-read { padding: 26px 26px 28px; border-right: 1px solid var(--erc-rule); border-bottom: 1px solid var(--erc-rule); display: flex; flex-direction: column; gap: 10px; position: relative; }
.er-churches-v1 .erc-read:nth-child(3n) { border-right: none; }
.er-churches-v1 .erc-read:nth-child(n+4) { border-bottom: none; }
.er-churches-v1 .erc-read .top { display: flex; align-items: center; justify-content: space-between; }
.er-churches-v1 .erc-read .num { font-family: var(--erc-mono); font-size: 10px; letter-spacing: .16em; color: var(--erc-clay); }
.er-churches-v1 .erc-read .ic { width: 30px; height: 30px; display: grid; place-items: center; }
.er-churches-v1 .erc-read .ic svg { display: block; }
.er-churches-v1 .erc-read .lab { font-family: var(--erc-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--erc-ink-4); }
.er-churches-v1 .erc-read h3 { font-family: var(--erc-serif); font-size: 24px; font-weight: 500; line-height: 1.08; margin: 2px 0 0; }
.er-churches-v1 .erc-read p { font-size: 13.5px; color: var(--erc-ink-2); line-height: 1.6; margin: 0; }

/* ===== ANCHOR CHURCHES (hierarchical) ================================== */
.er-churches-v1 .erc-anchorgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.er-churches-v1 .erc-feat { position: relative; border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); overflow: hidden; display: flex; flex-direction: column; background: var(--erc-paper); transition: box-shadow .2s, transform .2s, border-color .2s; }
.er-churches-v1 .erc-feat:hover { box-shadow: 0 18px 40px -28px rgba(31,27,20,.45); border-color: var(--erc-rule-hair); }
/* Whole-card link: the Open-guide anchor stretches over the card (image
   included) via ::after, while the Save control is raised above it. No nested
   anchors; keyboard focus rings the card. Reusable across the feature cards. */
.er-churches-v1 .erc-feat .erc-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.er-churches-v1 .erc-feat .erc-stretch:focus-visible::after { outline: 2px solid var(--erc-clay); outline-offset: -3px; border-radius: var(--erc-r-md); }
.er-churches-v1 .erc-feat .erc-save { position: relative; z-index: 2; }
.er-churches-v1 .erc-feat .ph .erc-img img { transition: transform .5s ease; }
.er-churches-v1 .erc-feat:hover .ph .erc-img img { transform: scale(1.035); }
.er-churches-v1 .erc-feat .ph { position: relative; }
.er-churches-v1 .erc-feat .ph .erc-img { border-radius: 0; height: 230px; }
.er-churches-v1 .erc-feat .ribbon { position: absolute; top: 13px; left: 13px; z-index: 1; background: rgba(251,247,236,.93); backdrop-filter: blur(4px); border: 1px solid var(--erc-rule-hair); border-radius: 999px; padding: 5px 12px; font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-clay-deep); white-space: nowrap; }
.er-churches-v1 .erc-feat .progress { position: absolute; top: 13px; right: 13px; z-index: 1; background: rgba(31,27,20,.74); color: rgba(255,247,236,.92); border-radius: 999px; padding: 5px 11px; font-family: var(--erc-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.er-churches-v1 .erc-feat .in { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.er-churches-v1 .erc-feat .loc { font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-ink-3); }
.er-churches-v1 .erc-feat h3 { font-family: var(--erc-serif); font-size: 28px; font-weight: 500; margin: 6px 0 0; line-height: 1.04; }
.er-churches-v1 .erc-feat .desc { font-family: var(--erc-serif); font-style: italic; font-weight: 300; font-size: 15px; color: var(--erc-ink); line-height: 1.46; margin: 12px 0 0; max-width: 46ch; }
.er-churches-v1 .erc-feat .lensrow { margin: 15px 0 0; padding-top: 14px; border-top: 1px solid var(--erc-rule-soft); }
.er-churches-v1 .erc-feat .ftr { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.er-churches-v1 .erc-feat .ftr .erc-btn.text { font-size: 13px; font-weight: 500; }
.er-churches-v1 .erc-feat .ftr .muted { color: var(--erc-ink-4); }
.er-churches-v1 .erc-feat.lead { grid-column: span 2; flex-direction: row; }
.er-churches-v1 .erc-feat.lead .ph { width: 46%; flex: none; }
.er-churches-v1 .erc-feat.lead .ph .erc-img { height: 100%; min-height: 340px; }
.er-churches-v1 .erc-feat.lead .in { width: 54%; padding: 32px 34px 30px; justify-content: center; }
.er-churches-v1 .erc-feat.lead h3 { font-size: 40px; margin-top: 8px; }
.er-churches-v1 .erc-feat.lead .desc { font-size: 17.5px; max-width: 40ch; margin-top: 16px; }
.er-churches-v1 .erc-continue { border: 1px dashed var(--erc-rule-hair); border-radius: var(--erc-r-md); background: var(--erc-vellum); display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 28px; min-height: 200px; }
.er-churches-v1 .erc-continue h3 { font-family: var(--erc-serif); font-size: 24px; font-weight: 500; line-height: 1.1; }
.er-churches-v1 .erc-continue p { font-size: 13px; color: var(--erc-ink-3); line-height: 1.55; margin: 0; max-width: 32ch; }
.er-churches-v1 .erc-continue .erc-btn.text { font-weight: 500; color: var(--erc-clay-deep); }

/* ===== BROWSE BY WHAT THE CHURCH HOLDS ================================== */
.er-churches-v1 .erc-browsegrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.er-churches-v1 .erc-browse { border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); background: var(--erc-paper); overflow: hidden; display: flex; flex-direction: column; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.er-churches-v1 .erc-browse:hover { border-color: var(--erc-clay); box-shadow: 0 14px 30px -24px rgba(31,27,20,.4); }
.er-churches-v1 .erc-browse .strip { height: 7px; }
.er-churches-v1 .erc-browse .bd { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 11px; flex: 1; }
.er-churches-v1 .erc-browse .erc-lens { font-size: 10.5px; }
.er-churches-v1 .erc-browse h3 { font-family: var(--erc-serif); font-size: 22px; font-weight: 500; margin: 2px 0 0; }
.er-churches-v1 .erc-browse p { font-size: 13px; color: var(--erc-ink-3); line-height: 1.55; margin: 0; flex: 1; }
.er-churches-v1 .erc-browse .ex { font-family: var(--erc-mono); font-size: 10px; letter-spacing: .05em; color: var(--erc-ink-2); padding-top: 12px; border-top: 1px solid var(--erc-rule); }
.er-churches-v1 .erc-browse .go { font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-clay-deep); display: inline-flex; align-items: center; gap: 7px; }

/* ===== A PILGRIM'S FIRST CHURCHES ====================================== */
.er-churches-v1 .erc-firstgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.er-churches-v1 .erc-first { border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); background: var(--erc-paper); overflow: hidden; display: flex; flex-direction: column; }
.er-churches-v1 .erc-first .ph .erc-img { border-radius: 0; height: 130px; }
.er-churches-v1 .erc-first .bd { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.er-churches-v1 .erc-first .bestfor { font-family: var(--erc-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-clay-deep); }
.er-churches-v1 .erc-first .bestfor span { display: block; color: var(--erc-ink-2); font-size: 11px; letter-spacing: .04em; text-transform: none; margin-top: 4px; line-height: 1.45; }
.er-churches-v1 .erc-first h3 { font-family: var(--erc-serif); font-size: 20px; font-weight: 500; line-height: 1.08; }
.er-churches-v1 .erc-first p { font-size: 12.5px; color: var(--erc-ink-3); line-height: 1.55; margin: 0; flex: 1; }
.er-churches-v1 .erc-first .time { font-family: var(--erc-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-ink-4); padding-top: 11px; border-top: 1px solid var(--erc-rule-soft); display: flex; align-items: center; gap: 7px; }
.er-churches-v1 .erc-first .time .d { width: 5px; height: 5px; border-radius: 50%; background: var(--erc-teal); }

/* ===== CHURCHES BY CITY ================================================ */
.er-churches-v1 .erc-citygrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.er-churches-v1 .erc-city { border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); background: var(--erc-paper); overflow: hidden; display: grid; grid-template-columns: 0.9fr 1.1fr; }
.er-churches-v1 .erc-city.lead { grid-column: span 2; grid-template-columns: 1fr 1fr; }
.er-churches-v1 .erc-city .ph .erc-img { border-radius: 0; height: 100%; min-height: 230px; }
.er-churches-v1 .erc-city.lead .ph .erc-img { min-height: 320px; }
.er-churches-v1 .erc-city .bd { padding: 24px 26px 26px; display: flex; flex-direction: column; }
.er-churches-v1 .erc-city .ch { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.er-churches-v1 .erc-city h3 { font-family: var(--erc-serif); font-size: 27px; font-weight: 500; }
.er-churches-v1 .erc-city .ct { font-family: var(--erc-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-ink-3); }
.er-churches-v1 .erc-city .blurb { font-size: 13px; color: var(--erc-ink-2); line-height: 1.6; margin: 12px 0 16px; }
.er-churches-v1 .erc-city .clist { display: flex; flex-direction: column; margin-top: auto; }
.er-churches-v1 .erc-city .crow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid var(--erc-rule); }
.er-churches-v1 .erc-city .crow:first-child { border-top: 1px solid var(--erc-ink); }
.er-churches-v1 .erc-city a.crow:hover .nm { color: var(--erc-clay-deep); }
.er-churches-v1 .erc-city .crow .nm { font-family: var(--erc-serif); font-size: 15px; color: var(--erc-ink); }
.er-churches-v1 .erc-city .crow .st { font-family: var(--erc-mono); font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--erc-ink-4); white-space: nowrap; }

/* ===== FULL COLLECTION ================================================= */
.er-churches-v1 .erc-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 26px; }
.er-churches-v1 .erc-filter { font-family: var(--erc-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--erc-rule-hair); background: transparent; color: var(--erc-ink-2); cursor: pointer; white-space: nowrap; }
.er-churches-v1 .erc-filter.on { background: var(--erc-ink); color: var(--erc-paper); border-color: var(--erc-ink); }
.er-churches-v1 .erc-filter .ct { color: var(--erc-ink-4); margin-left: 6px; }
.er-churches-v1 .erc-filter.on .ct { color: rgba(255,247,236,.6); }
.er-churches-v1 .erc-filterbar .sp { flex: 1; }
.er-churches-v1 .erc-filterbar .res { font-family: var(--erc-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--erc-ink-3); }
.er-churches-v1 .erc-collgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.er-churches-v1 .erc-coll { border: 1px solid var(--erc-rule); border-radius: var(--erc-r-md); background: var(--erc-paper); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.er-churches-v1 .erc-coll[hidden] { display: none; }
.er-churches-v1 .erc-coll:hover { box-shadow: 0 14px 30px -24px rgba(31,27,20,.4); }
.er-churches-v1 .erc-coll .ph { position: relative; }
.er-churches-v1 .erc-coll .ph .erc-img { border-radius: 0; height: 140px; }
.er-churches-v1 .erc-coll .ph .progress { position: absolute; top: 10px; right: 10px; z-index: 1; background: rgba(31,27,20,.74); color: rgba(255,247,236,.92); border-radius: 999px; padding: 4px 9px; font-family: var(--erc-mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.er-churches-v1 .erc-coll .bd { padding: 15px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.er-churches-v1 .erc-coll .reg { font-family: var(--erc-mono); font-size: 8.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--erc-ink-3); }
.er-churches-v1 .erc-coll h3 { font-family: var(--erc-serif); font-size: 19px; font-weight: 500; line-height: 1.1; }
.er-churches-v1 .erc-coll p { font-size: 12px; color: var(--erc-ink-3); line-height: 1.5; margin: 0; flex: 1; }
.er-churches-v1 .erc-coll .tags { display: flex; flex-wrap: wrap; gap: 5px; }
.er-churches-v1 .erc-coll .t { font-family: var(--erc-mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; color: var(--erc-ink-2); background: rgba(31,27,20,.05); border: 1px solid var(--erc-rule-soft); border-radius: 999px; padding: 3px 8px; }
.er-churches-v1 .erc-coll .ftr { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid var(--erc-rule-soft); margin-top: 4px; }
.er-churches-v1 .erc-coll .view { font-family: var(--erc-mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: var(--erc-clay-deep); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.er-churches-v1 .erc-coll .view.muted { color: var(--erc-ink-4); cursor: default; }
.er-churches-v1 .erc-coll .erc-save { font-size: 9px; padding: 6px 10px; }
.er-churches-v1 .erc-collnote { display: flex; justify-content: center; margin-top: 34px; font-family: var(--erc-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--erc-ink-3); }

/* ===== QUIET JOURNEY CTA (warm clay, never a black band) =============== */
.er-churches-v1 .erc-cta { background: var(--erc-clay-soft); border: 1px solid rgba(154,79,46,.22); border-radius: var(--erc-r-lg); padding: 50px 54px; display: grid; grid-template-columns: 1.5fr auto; gap: 48px; align-items: center; }
.er-churches-v1 .erc-cta .em { font-family: var(--erc-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--erc-clay-deep); }
.er-churches-v1 .erc-cta h2 { color: var(--erc-ink); font-family: var(--erc-serif); font-weight: 400; font-size: 38px; letter-spacing: -.012em; margin: 14px 0 12px; max-width: 18ch; }
.er-churches-v1 .erc-cta p { color: var(--erc-ink-2); font-size: 15px; line-height: 1.65; margin: 0; max-width: 52ch; }
.er-churches-v1 .erc-cta .acts { display: flex; flex-direction: column; gap: 11px; min-width: 250px; }
.er-churches-v1 .erc-cta .acts .erc-btn,
.er-churches-v1 .erc-cta .acts .erc-save { justify-content: center; }
.er-churches-v1 .erc-cta .acts .erc-btn.ghost { border-color: rgba(154,79,46,.35); color: var(--erc-clay-deep); }

/* ===== IMAGE CREDITS ==================================================== */
.er-churches-v1 .erc-credits { padding: 40px 56px 56px; max-width: 1440px; margin: 0 auto; border-top: 1px solid var(--erc-rule-soft); }
.er-churches-v1 .erc-credits-head { font-family: var(--erc-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--erc-ink-3); margin: 0 0 14px; }
.er-churches-v1 .erc-credits-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 40px; }
.er-churches-v1 .erc-credit { font-size: 11.5px; color: var(--erc-ink-3); line-height: 1.5; }
.er-churches-v1 .erc-credit .place { color: var(--erc-ink-2); }
.er-churches-v1 .erc-credit a { color: var(--erc-clay-deep); }

/* =========================================================================
   RESPONSIVE - single-column translation at the handoff 390 artboard intent
   ========================================================================= */
@media (max-width: 1100px) {
  .er-churches-v1 .erc-sec { padding: 52px 40px; }
  .er-churches-v1 .erc-hero { grid-template-columns: 1fr; }
  .er-churches-v1 .erc-hero .left { padding: 6px 0 28px; }
  .er-churches-v1 .erc-hero .left .erc-display { font-size: 56px; }
  .er-churches-v1 .erc-hero .right .erc-img { min-height: 360px; }
  .er-churches-v1 .erc-bridge { grid-template-columns: 1fr; gap: 22px; }
  .er-churches-v1 .erc-readgrid { grid-template-columns: repeat(2, 1fr); }
  .er-churches-v1 .erc-read:nth-child(3n) { border-right: 1px solid var(--erc-rule); }
  .er-churches-v1 .erc-read:nth-child(2n) { border-right: none; }
  .er-churches-v1 .erc-read:nth-child(n+4) { border-bottom: 1px solid var(--erc-rule); }
  .er-churches-v1 .erc-read:nth-child(n+5) { border-bottom: none; }
  .er-churches-v1 .erc-browsegrid { grid-template-columns: repeat(2, 1fr); }
  .er-churches-v1 .erc-firstgrid { grid-template-columns: repeat(2, 1fr); }
  .er-churches-v1 .erc-collgrid { grid-template-columns: repeat(2, 1fr); }
  .er-churches-v1 .erc-citygrid { grid-template-columns: 1fr; }
  .er-churches-v1 .erc-city.lead { grid-column: auto; }
}

@media (max-width: 720px) {
  .er-churches-v1 { font-size: 15px; }
  .er-churches-v1 .erc-sec { padding: 40px 20px; }
  .er-churches-v1 .erc-sechead { flex-direction: column; align-items: flex-start; gap: 8px; }
  .er-churches-v1 .erc-sechead h2 { font-size: 31px; }
  .er-churches-v1 .erc-sechead .rhs { text-align: left; max-width: 100%; }
  .er-churches-v1 .erc-hero .left .erc-display { font-size: 42px; }
  .er-churches-v1 .erc-hero .left .erc-lede { font-size: 21px; }
  .er-churches-v1 .erc-hero .right .erc-img { min-height: 280px; }
  .er-churches-v1 .erc-hero .ctas .erc-btn { justify-content: center; flex: 1 1 100%; }
  .er-churches-v1 .erc-facts { grid-template-columns: 1fr 1fr; }
  .er-churches-v1 .erc-axis { grid-template-columns: 1fr; }
  .er-churches-v1 .erc-axis .node { border-right: none; border-bottom: 1px solid var(--erc-rule); }
  .er-churches-v1 .erc-axis .node::before { display: none; }
  .er-churches-v1 .erc-axis .node:last-child { border-bottom: none; }
  .er-churches-v1 .erc-readgrid,
  .er-churches-v1 .erc-browsegrid,
  .er-churches-v1 .erc-firstgrid,
  .er-churches-v1 .erc-collgrid { grid-template-columns: 1fr; }
  .er-churches-v1 .erc-read { border-right: none !important; border-bottom: 1px solid var(--erc-rule) !important; }
  .er-churches-v1 .erc-read:last-child { border-bottom: none !important; }
  .er-churches-v1 .erc-anchorgrid { grid-template-columns: 1fr; }
  .er-churches-v1 .erc-feat.lead { grid-column: auto; flex-direction: column; }
  .er-churches-v1 .erc-feat.lead .ph,
  .er-churches-v1 .erc-feat.lead .in { width: 100%; }
  .er-churches-v1 .erc-feat.lead .ph .erc-img { min-height: 200px; height: 200px; }
  .er-churches-v1 .erc-feat.lead .in { padding: 22px; }
  .er-churches-v1 .erc-feat.lead h3 { font-size: 30px; }
  .er-churches-v1 .erc-feat.lead .desc { font-size: 15px; }
  .er-churches-v1 .erc-city,
  .er-churches-v1 .erc-city.lead { grid-template-columns: 1fr; grid-column: auto; }
  .er-churches-v1 .erc-city .ph .erc-img { min-height: 180px; height: 180px; }
  .er-churches-v1 .erc-cta { grid-template-columns: 1fr; gap: 24px; padding: 32px 24px; }
  .er-churches-v1 .erc-cta .acts { min-width: 0; }
  .er-churches-v1 .erc-cta h2 { font-size: 30px; }
  .er-churches-v1 .erc-credits { padding: 32px 20px 44px; }
  .er-churches-v1 .erc-credits-list { grid-template-columns: 1fr; }
}
