/* The About page: each chapter is its words beside its photos, sides
   alternating, so the page reads as text with pictures, not a gallery. */
.about-hero { width: min(1120px, calc(100% - 64px)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(32px, 6vw, 80px); align-items: center; padding: clamp(40px, 7vw, 88px) 0; }
.about-hero h1 { font-size: clamp(3rem, 7vw, 5.5rem); line-height: 1; margin: 0 0 24px; }
.about-hero .lede { color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.3rem); max-width: 40ch; margin: 0; }
.about figure, .about-hero figure { margin: 0; }
.about img, .about-hero img { display: block; width: 100%; height: auto; border-radius: 12px; }
.lead-photo img { aspect-ratio: 3 / 4; object-fit: cover; box-shadow: 0 24px 48px -24px rgb(0 0 0 / .6); }
figcaption { font-size: .8125rem; color: var(--muted); padding-top: 8px; }
.about .chapter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; padding-top: clamp(48px, 7vw, 88px); }
.about .chapter.flip .chapter-text { order: 2; }
.about .chapter h2 { margin-bottom: 16px; }
.about .chapter .eyebrow { margin: 0 0 8px; color: var(--clay); }
.about .chapter-text p:not(.eyebrow) { font-size: 1.125rem; line-height: 1.65; }
/* One main photo and up to two below it, all 4:3, so every chapter has the
   same footprint; object-position keeps faces and signs in a portrait crop. */
.chapter-photos img { aspect-ratio: 4 / 3; object-fit: cover; }
.chapter-photos .thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.chapter-photos .thumbs figcaption { padding-top: 6px; }
.why, .method { max-width: 680px; margin-inline: auto; }
.why p, .method p { font-size: 1.125rem; line-height: 1.65; }
.home.about .why { padding-top: clamp(56px, 8vw, 104px); }
.method { padding-bottom: clamp(40px, 6vw, 72px); }
.go-cities { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 999px; background: var(--accent); color: #13294B; font-weight: 700; text-decoration: none; }
.go-cities:hover { text-decoration: underline; }
.about .site-footer { border-top: 1px solid var(--rule); }
@media (max-width: 760px) {
  .about-hero { width: calc(100% - 40px); grid-template-columns: 1fr; }
  .lead-photo img { aspect-ratio: 4 / 3; }
  .about .chapter { grid-template-columns: 1fr; }
  .about .chapter.flip .chapter-text { order: 0; }
}

/* Text pages (methodology, review policy): a hero band, then one reading column. */
.page-hero { width: min(760px, calc(100% - 64px)); margin-inline: auto; padding: clamp(40px, 7vw, 88px) 0 clamp(36px, 6vw, 72px); }
.page-hero h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); line-height: 1.02; margin: 8px 0 20px; }
.page-hero .eyebrow { color: var(--accent); margin: 0; }
.page-hero .lede { color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 52ch; margin: 0 0 16px; }
.byline { font-size: .875rem; color: var(--muted); margin: 0; }
.prose { max-width: 680px; margin-inline: auto; }
.prose h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-bottom: 12px; }
.prose p, .prose li, .prose dd { font-size: 1.0625rem; line-height: 1.65; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: 8px; }
.levels-list dt { font: 600 1.2rem/1.3 var(--display); margin-top: 18px; }
.levels-list dd { margin: 4px 0 0; }
.table-wrap { overflow-x: auto; margin: 8px 0 16px; }
.prose table { border-collapse: collapse; width: 100%; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.prose th, .prose td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--rule); vertical-align: top; }
.prose thead th { font-size: .8125rem; color: var(--muted); }
.prose-page .site-footer { margin-top: clamp(40px, 6vw, 72px); flex-wrap: wrap; gap: 8px 16px; }
@media (max-width: 760px) { .page-hero { width: calc(100% - 40px); } }
.contact-address { margin: 8px 0 0; font: 600 clamp(1.2rem, 2.4vw, 1.6rem)/1.3 var(--body); }
.contact-address a { color: var(--accent); text-underline-offset: .2em; }
