/* Source-backed program detail, preserving the Foundation's established design. */
.content-inner { max-width: var(--max); margin-inline: auto; }
.content-inner > p, .content-section > p { max-width: 80ch; }
.content-inner > p { margin-inline: auto; }
.content-lead { font-size: 1.15rem; line-height: 1.8; color: var(--muted); }
.content-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(20px,3vw,36px); align-items: start; margin-block: 28px; }
.content-card { min-width: 0; height: 100%; padding: clamp(22px,2.5vw,34px); background: var(--paper); border: 1px solid var(--border); border-radius: 6px; }
.content-card h3 { font-size: 1.5rem; line-height: 1.3; }
.content-card > :last-child { margin-bottom: 0; }
.content-card p { color: var(--muted); }
.content-grid > .content-card:only-child { grid-column: 1 / -1; }
.content-grid > .content-card:nth-child(3):last-child { grid-column: 1 / -1; }
.content-note { margin-block: 24px; padding: 20px 24px; border-left: 3px solid var(--gold); background: #f0ede5; color: #354550; font-size: .9375rem; line-height: 1.7; }
.content-jump { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-block: 26px; padding-block: 12px; }
.content-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 15px; border: 1px solid var(--border); border-radius: 4px; background: var(--paper); color: var(--navy); font-size: .875rem; font-weight: 650; line-height: 1.4; text-decoration: none; }
.content-jump a:hover { border-color: var(--gold-ink); background: var(--cream); }
.content-jump.pp-container { padding-inline: var(--gutter); max-width: calc(var(--max) + 2 * var(--gutter)); }
.content-jump.fri-shell { padding-inline: var(--gutter); }
.table-scroll { width: 100%; overflow-x: auto; margin-block: 28px; border: 1px solid var(--border); border-radius: 6px; background: var(--paper); }
.content-table, .table-scroll table { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.6; }
.content-table caption, .table-scroll caption { padding: 20px; text-align: left; color: var(--navy); font-weight: 700; background: var(--cream); }
.content-table th, .content-table td, .table-scroll th, .table-scroll td { padding: 16px 20px; vertical-align: top; text-align: left; border-bottom: 1px solid var(--border); }
.content-table thead, .table-scroll thead { background: var(--navy); color: white; }
.content-table thead th, .table-scroll thead th { color: white; }
.content-table tbody th, .table-scroll tbody th { color: var(--navy); font-weight: 650; }
.content-table tr:last-child > *, .table-scroll tr:last-child > * { border-bottom: 0; }
.content-table tbody tr:nth-child(even), .table-scroll tbody tr:nth-child(even) { background: #f6f3ed; }
.content-table-hint { font-size: .875rem; color: var(--muted); }
.content-faq details, details.document-preview, .content-section details { padding: 20px 24px; margin-block: 14px; border: 1px solid var(--border); background: var(--paper); border-radius: 6px; }
.content-faq summary, .document-preview summary, .content-section summary { cursor: pointer; color: var(--navy); font-weight: 650; line-height: 1.5; min-height: 28px; }
.content-faq details[open] summary, .document-preview[open] summary, .content-section details[open] summary { margin-bottom: 18px; }
.document-preview iframe { width: 100%; height: min(760px,80vh); min-height: 420px; background: #e9e9e9; border: 1px solid var(--border); }
.content-figure, .content-card figure { margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: white; }
.content-figure img, .content-card figure img { display: block; width: 100%; height: auto; object-fit: contain; }
.content-grid .content-figure { align-self: start; }
.document-covers { margin-top: 36px; align-items: stretch; }
.document-covers > a { display: block; max-width: 440px; margin-inline: auto; text-decoration: none; }
.document-covers img { aspect-ratio: 8.5 / 11; object-fit: contain; }
.giving-hub .content-section { max-width: 1100px; margin: 54px auto 0; padding: 42px 0 0; border-top: 1px solid var(--border); }
.giving-hub .content-section.darker { background: transparent; }
.giving-hub .content-section .section-heading { max-width: 800px; }
.giving-hub .content-jump { max-width: 1100px; justify-content: center; margin-inline: auto; }
.content-resources { margin-block: 28px; }
.content-resources .content-card { margin-bottom: 18px; }
.thank-you-main .content-section { text-align: left; }
@media (max-width: 700px) {
  .content-grid { grid-template-columns: 1fr; gap: 22px; }
  .content-grid > .content-card:nth-child(3):last-child { grid-column: auto; }
  .content-jump { gap: 8px; }
  .content-jump a { padding: 9px 12px; }
  .table-scroll table { min-width: 580px; }
  .content-table th, .content-table td, .table-scroll th, .table-scroll td { padding: 13px 16px; }
  .content-note { padding: 16px 18px; }
  .content-faq details, details.document-preview, .content-section details { padding: 18px; }
  .document-preview iframe { min-height: 380px; height: 65vh; }
  .giving-hub .content-section { margin-top: 38px; padding-top: 34px; }
}
@media print {
  .content-jump, .document-preview iframe { display: none; }
  .content-grid { display: block; }
  .content-card, tr, figure { break-inside: avoid; }
  .table-scroll { overflow: visible; }
  .table-scroll table { min-width: 0; }
}
