.document-section { padding: 64px 0; background: #fff; color: #192319; }
/* Content containers must not inherit Automatic CSS's shrink-to-fit flex layout. */
.site-shell main .container:not(.about-grid):not(.work-grid) { display: flow-root; }
.site-shell main .container > * { min-width: 0; }
.site-shell main :is(.section-head-center, .page-hero-content, .contact-form-wrapper, .newsletter-box) { width: 100%; }
.site-shell main :is(h1, h2, h3, h4) { overflow-wrap: break-word; letter-spacing: 0; }
.site-shell .page-hero > .container > .tag { margin-bottom: 16px; }
.site-shell .section-head-center > p { margin: 16px auto 0; }
.site-shell .page-hero h1 { font-size: 48px; }
.site-shell .section-head-center h2 { font-size: 40px; }
.site-shell .contact-card a { overflow-wrap: anywhere; }
.site-shell .contact-form-wrapper { max-width: 720px; }
.site-shell .featured-story:not(:has(img)) { height: auto; min-height: 280px; background: #193c2c; }
.site-shell .featured-story:not(:has(img))::before { content: none; }
.site-shell .story-hero-content.container { width: min(1180px, calc(100% - 40px)); padding-inline: 0; }
.site-shell .stories-grid .story-card { display: flex; flex-direction: column; }
.site-shell .stories-grid .story-body { display: flex; flex-direction: column; flex: 1; }
.site-shell .stories-grid .story-body .text-btn { margin-top: auto; padding-top: 12px; }
.site-shell .partner-logo { height: 80px; }
.site-shell .team-tabs-nav { max-width: 100%; flex-wrap: wrap; }
.site-shell .team-tabs-nav .tab-btn { white-space: normal; }
.site-shell .team-grid > *, .site-shell .schools-grid > * { min-width: 0; }
.site-shell .team-card h4, .site-shell .team-role { overflow-wrap: anywhere; }
.site-shell .work-grid { width: min(1180px, calc(100% - 40px)); }
.site-shell .process-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.site-shell .process-intro h2 { font-size: 64px; line-height: 1.1; }
.site-shell .work-list > div { grid-template-columns: 64px minmax(0, .8fr) minmax(0, 1fr); gap: 32px; }
.site-shell .work-list h3 { font-size: 40px; line-height: 1.15; }
.site-shell .footer-grid { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, .75fr)) minmax(0, 1.2fr); gap: 28px; align-items: start; }
.site-shell .footer-grid > * { min-width: 0; }
.site-shell .footer-grid a, .site-shell .footer-grid p { overflow-wrap: anywhere; }
.site-shell .footer-grid h3 { margin-top: 0; }
.site-shell .districts-grid, .site-shell .school-types-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.site-shell :is(.districts-grid, .school-types-grid) > * { min-width: 0; }
.site-shell .districts-grid > div > div > div:first-child { flex-shrink: 0; }
.site-shell .school-types-grid svg { flex-shrink: 0; }
.site-shell .school-types-grid h3 { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
    .site-shell .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .site-shell .footer-grid > :first-child { grid-column: 1 / -1; max-width: 560px; }
}
@media (max-width: 820px) {
    .site-shell .process-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 48px; }
    .site-shell .process-intro h2 { font-size: 48px; }
    .site-shell .work-list > div { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; }
    .site-shell .work-list p { grid-column: 2; }
    .site-shell .work-list h3 { font-size: 32px; }
    .site-shell .page-hero h1 { font-size: 36px; }
    .site-shell .section-head-center h2 { font-size: 32px; }
}
@media (max-width: 600px) {
    .site-shell .districts-grid, .site-shell .school-types-grid { grid-template-columns: minmax(0, 1fr); }
    .site-shell .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .site-shell .work-grid { width: calc(100% - 28px); }
    .site-shell .story-hero-content.container { width: calc(100% - 28px); }
    .site-shell .page-hero h1, .site-shell .section-head-center h2 { font-size: 30px; }
    .site-shell .process-intro h2 { font-size: 38px; }
    .site-shell .process-intro p, .site-shell .work-list p { font-size: 17px; }
    .site-shell .work-list h3 { font-size: 26px; }
    .site-shell .team-tabs-nav { gap: 0; }
    .site-shell .team-tabs-nav .tab-btn { flex: 1 1 100px; padding: 12px 8px; font-size: 13px; }
}
.districts a { display: grid; min-width: 0; text-decoration: none; }
.districts a:focus-visible { outline: 3px solid #193c2c; outline-offset: 4px; }
.document-copy { max-width: 1040px; overflow-wrap: anywhere; }
.document-copy :is(#impact-statistics, #programme-directory, #introductory-material, #news) { scroll-margin-top: 140px; }
.document-copy .outcome-table { table-layout: fixed; }
.document-copy .outcome-table caption { text-align: left; padding-bottom: 12px; color: #526158; font-size: 14px; }
.document-copy .outcome-table th, .document-copy .outcome-table td { vertical-align: top; }
.programme-directory-group { border-bottom: 1px solid #d9dfdb; padding: 20px 0; }
.programme-directory-group summary { cursor: pointer; color: #193c2c; font-size: 24px; font-weight: 600; }
.programme-directory-group dl { margin: 20px 0 0; }
.programme-directory-group dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; padding: 16px 0; border-top: 1px solid #edf1ed; }
.programme-directory-group dt { font-weight: 600; }
.programme-directory-group dd { margin: 0; }
@media (max-width: 600px) {
    .programme-directory-group summary { font-size: 21px; }
    .programme-directory-group dl > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
.document-copy h2 { font-size: 30px; line-height: 1.3; margin: 48px 0 20px; letter-spacing: 0; }
.document-copy h2:first-child { margin-top: 0; }
.document-copy h3 { font-size: 22px; line-height: 1.4; margin: 28px 0 12px; letter-spacing: 0; }
.document-copy p, .document-copy li { font-size: 17px; line-height: 1.8; }
.document-copy p { margin-bottom: 18px; }
.document-copy ul, .document-copy ol { padding-left: 24px; margin-bottom: 24px; list-style: revert; }
.document-copy li { margin-bottom: 8px; }
.document-copy a { color: #007b98; text-decoration: underline; text-underline-offset: 4px; }
.document-copy .outcome-table { width: 100%; border-collapse: collapse; margin: 24px 0; }
.outcome-table th, .outcome-table td { padding: 14px; text-align: left; border-bottom: 1px solid #d9dfdb; overflow-wrap: anywhere; }
.outcome-table th { background: #edf6ef; }
.document-copy .report-note { color: #536257; font-size: 15px; }
.document-copy .programme-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 0; list-style: none; }
.programme-links li { border-bottom: 1px solid #d9dfdb; padding: 20px 0; }
.programme-links a { font-size: 24px; font-weight: 600; }
.story-hero:has(.story-hero-content):not(:has(img)) { background: #193c2c; }
@media (max-width: 600px) {
    .document-section { padding: 40px 0; }
    .document-copy h2 { font-size: 25px; }
    .document-copy h3 { font-size: 20px; }
    .document-copy p, .document-copy li { font-size: 16px; }
    .document-copy .programme-links { grid-template-columns: 1fr; }
    .outcome-table th, .outcome-table td { padding: 10px 6px; font-size: 14px; }
    .awards-grid { grid-template-columns: minmax(0, 1fr); }
}
