.overview-page h1,
.overview-page h2,
.overview-page h3 { word-break: keep-all; }

.overview-hero {
  display: grid;
  gap: 38px;
  padding-block: 66px 76px;
}

.overview-hero h1 {
  font-size: clamp(33px, 5.2vw, 50px);
  line-height: 1.4;
  letter-spacing: -.045em;
  font-weight: 550;
}

.overview-lead {
  max-width: 510px;
  margin-top: 27px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.95;
}

.overview-page .overview-photo {
  min-height: 300px;
  aspect-ratio: 4 / 3;
}

.overview-section {
  display: grid;
  gap: 36px;
  border-top: 1px solid var(--line);
  padding-block: 65px 76px;
}

.overview-page h2 {
  font-size: clamp(28px, 3.6vw, 36px);
  line-height: 1.45;
  letter-spacing: -.035em;
  font-weight: 550;
}

.overview-section-heading p {
  margin-top: 22px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}

.overview-ministry {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 16px;
  padding-block: 29px;
  border-bottom: 1px solid var(--line);
}

.overview-ministry:first-child { padding-top: 0; }
.overview-ministry:last-child { padding-bottom: 0; border-bottom: 0; }
.overview-number { padding-top: 6px; font-size: 11px; letter-spacing: .04em; color: var(--muted); }
.overview-ministry h3 { font-size: 23px; font-weight: 550; line-height: 1.5; letter-spacing: -.035em; }
.overview-ministry p { max-width: 560px; margin-top: 14px; font-size: 15px; line-height: 1.95; color: var(--muted); }

.overview-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  width: fit-content;
  margin-top: 16px;
  border-bottom: 1px solid #cbd1c1;
  padding-block: 8px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.7;
  transition: color .2s, border-color .2s;
}

.overview-link:hover { color: #4b5940; border-color: #4b5940; }
.overview-link-row { display: flex; flex-wrap: wrap; gap: 6px 28px; }

.overview-band { background: #f4f5ef; }
.overview-band-inner { display: grid; gap: 28px; padding-block: 62px 68px; }
.overview-band-copy p { max-width: 580px; color: var(--muted); font-size: 15px; line-height: 1.95; }
.overview-band-copy p.overview-note { margin-top: 18px; font-size: 12px; line-height: 1.8; }

.overview-closing { padding-block: 72px 80px; text-align: center; }
.overview-closing p { margin-top: 24px; color: var(--muted); font-size: 14px; line-height: 1.95; }
.overview-closing .overview-link { margin-top: 24px; }

.overview-page .church-section { min-height: 0; padding-block: 66px 76px; }
.overview-page .church-card { min-width: 0; }
.overview-community .overview-photo { align-self: start; }
.overview-community-list { margin-top: 27px; }
.overview-community-list > div { padding-block: 20px; border-bottom: 1px solid var(--line); }
.overview-community-list > div:first-child { padding-top: 0; }
.overview-community-list dt { font-size: 16px; font-weight: 550; line-height: 1.6; letter-spacing: -.02em; }
.overview-community-list dd { margin-top: 9px; color: var(--muted); font-size: 14px; line-height: 1.9; }

@media (min-width: 761px) {
  .overview-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 70px;
    padding-block: 110px 120px;
  }
  .overview-page .overview-photo { min-height: 360px; }
  .overview-section {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 80px;
    padding-block: 95px 110px;
  }
  .overview-section-heading { align-self: start; position: sticky; top: 135px; }
  .overview-ministry { grid-template-columns: 32px minmax(0, 1fr); gap: 22px; padding-block: 33px; }
  .overview-ministry h3 { font-size: 25px; }
  .overview-band-inner { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 80px; padding-block: 82px 90px; }
  .overview-band-copy { padding-top: 4px; }
  .overview-closing { padding-block: 100px 110px; }
  .overview-page .church-section { padding-block: 110px 105px; }
  .overview-community { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 75px; align-items: center; }
  .overview-community .overview-photo { align-self: stretch; aspect-ratio: auto; min-height: 430px; }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .overview-hero, .overview-section, .overview-band-inner, .overview-community { gap: 42px; }
  .overview-page .overview-photo { min-height: 320px; }
}

@media (max-width: 380px) {
  .overview-hero h1 { font-size: 31px; }
  .overview-page .overview-photo { min-height: 260px; }
  .overview-ministry { grid-template-columns: 20px minmax(0, 1fr); gap: 12px; }
  .overview-ministry h3 { font-size: 21px; }
}
