/* Shared page templates, forms, and interaction states. */
[hidden]{display:none!important}html{scroll-padding-top:24px}body{overflow-wrap:break-word}header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}main:focus{outline:none}.page-opening{padding:64px 0}.page-opening h1{font-size:var(--type-page);line-height:1.08;letter-spacing:-.035em;max-width:22ch;margin:0 0 24px}.page-opening .lead{font-size:var(--type-lead);line-height:1.5;max-width:48ch;margin-bottom:0}.eyebrow{font-size:var(--type-caption);font-weight:700;margin:0 0 16px}.reading-surface{background:#fffdf5;margin:0 calc(-1 * var(--page-gutter));padding:64px var(--page-gutter)}.reading-surface+.section{margin-top:0}.section{padding:64px 0}.section>h2{font-size:var(--type-section);line-height:1.15;letter-spacing:-.025em}.prose{max-width:65ch}.prose h2{font-size:var(--type-section);line-height:1.15;letter-spacing:-.025em;margin:40px 0 20px}.prose h2:first-child{margin-top:0}.prose h3{font-size:var(--type-item);line-height:1.2;margin:32px 0 16px}.prose p,.prose li{font-size:var(--type-body);line-height:1.65}.prose li{margin-bottom:12px}.prose img{height:auto;max-width:100%}.prose a{overflow-wrap:anywhere}.prose blockquote{border-left:2px solid;padding-left:24px;margin-left:0}.prose pre{overflow:auto;max-width:100%;padding:16px;background:#f8df53}.prose table{display:block;overflow:auto;max-width:100%;border-collapse:collapse}.prose td,.prose th{padding:12px;border-bottom:1px solid}.reading-surface:has(.prose:empty){display:none}.page-opening+.reading-surface .prose:empty{display:none}.reading-surface+.contact,.section+.contact{margin-top:64px}button,input,select,textarea{font:inherit;border-radius:0}button,.button-primary{background:#291e20;color:#fffdf5;border:2px solid #291e20;padding:13px 20px;min-height:48px;font-size:var(--type-ui);line-height:1.4;font-weight:700;cursor:pointer}.button-primary{display:inline-block;text-decoration:none;overflow-wrap:anywhere}button:hover,.button-primary:hover{background:#fffdf5;color:#291e20}button:focus-visible,input:focus-visible,select:focus-visible,.button-primary:focus-visible{outline:3px solid #291e20;outline-offset:4px}label{display:block;font-size:var(--type-ui);font-weight:700;margin-bottom:8px}input,select{background:#fffdf5;color:#291e20;border:2px solid #291e20;padding:12px;min-height:48px;min-width:0;max-width:100%;width:100%;font-size:16px}.filter-bar{display:flex;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:24px}.filter-bar>div:first-child{flex:2 1 260px}.filter-bar>div:nth-child(2){flex:1 1 220px}.result-count,.search-status{font-size:var(--type-caption);margin:24px 0}.story-list,.search-results{list-style:none;padding:0;margin:0}.story-list li{display:grid;grid-template-columns:210px 1fr;gap:64px;border-top:2px solid;padding:32px 0}.story-meta{display:flex;flex-direction:column;gap:8px;font-size:var(--type-caption);line-height:1.5}.story-list h2,.search-results h2{font-size:var(--type-item);line-height:1.2;letter-spacing:-.015em;margin:0 0 16px}.story-list p{margin:0 0 12px}.caption{font-size:var(--type-caption)}.empty-state{padding:40px 0;border-top:2px solid}.empty-state h2{font-size:var(--type-item)}.search-controls{display:flex;gap:16px;max-width:700px}.search-results li{border-top:2px solid;padding:24px 0}.search-results p{margin:0}.contact .closing-body{min-width:0}.contact .closing-body a{overflow-wrap:anywhere}.contact .action-secondary:hover{background:#291e20;color:#fffdf5;border-color:#291e20}.contact+.grouped-footer{margin-top:0}.page-opening+.reading-surface:has(.prose)>div{min-height:1px}a:focus-visible{outline:3px solid #291e20;outline-offset:5px}.contact a:focus-visible{outline-color:#291e20}.skip{padding:12px;background:#fffdf5;color:#291e20}.mobile-menu summary:focus-visible{outline:3px solid #291e20;outline-offset:4px}
@media(max-width:700px){.page-opening,.section{padding:40px 0}.reading-surface{padding:40px 24px}.reading-surface+.contact,.section+.contact{margin-top:40px}.story-list li{grid-template-columns:1fr;gap:16px;padding:24px 0}.story-meta{gap:4px}.filter-bar{gap:16px}.filter-bar>div{flex-basis:100%!important}.search-controls{flex-wrap:wrap}.search-controls input{flex:1 1 180px}.prose h2{margin-top:32px}.contact{transform:none;margin-left:0;margin-right:0;width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){.contact,.closing-title,.closing-body{border:1px solid CanvasText}a,button{forced-color-adjust:auto}}
.article-image{margin:0 0 32px}.article-image img{display:block;width:100%;height:auto}.article-image figcaption{font-size:14px;line-height:1.5;margin-top:12px}.review-notice{border:2px solid;padding:16px;font-size:16px;line-height:1.5}
.story-list li>*{min-width:0}.story-list a{overflow-wrap:anywhere}
.page-opening .lead p,.page-opening .lead li{font-size:inherit;line-height:inherit}.page-opening .lead p{max-width:inherit;margin-bottom:16px}.page-opening .lead>:last-child{margin-bottom:0}
.work+.contact{margin-top:64px}
#commitments{padding-top:24px}.funders-section{max-width:none;padding-top:40px}.funders-section>p{max-width:65ch}.funders-copy{column-count:2;column-gap:clamp(32px,5vw,80px);width:66.6667%;max-width:none}.funders-copy>:first-child{margin-top:0}.funders-copy li{break-inside:avoid;overflow-wrap:anywhere}
@media(max-width:800px){.funders-copy{column-count:1;width:100%}}
@media(max-width:700px){.work+.contact{margin-top:40px}#commitments{padding-top:16px}.funders-section{padding-top:32px}}

.opening .hero-copy p+p{margin-top:16px}
.team-section+.team-section{margin-top:80px;padding-top:64px;border-top:2px solid #291e20}.team-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--column-gap);margin:32px 0}.team-profile{min-width:0;border-top:1px solid #291e20;padding-top:24px}.team-profile h3{font-size:var(--type-item);line-height:1.2;margin:0 0 8px}.team-profile .eyebrow{margin:0 0 16px}.team-profile p:not(.eyebrow){font-size:var(--type-body);line-height:1.65}
@media(max-width:900px){.team-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.team-section+.team-section{margin-top:56px;padding-top:48px}.team-profiles{grid-template-columns:1fr;gap:32px}}
