/* A single outer width and masthead rhythm across the integrated site. */
:root{--frame-gutter:32px;--page-inset:32px;--mast-copy:340px;--mast-gap:56px;--mast-top:36px}
.page-frame{width:calc(100% - var(--frame-gutter)*2);max-width:1600px;margin-inline:auto}
.site-header{width:100%;max-width:none;margin-inline:0;padding-inline:max(calc(var(--frame-gutter) + 1px),calc((100% - 1600px)/2 + 1px));border-inline:0;flex-shrink:0}
.site-header .wordmark{padding-inline:var(--page-inset)}
.masthead,#about .masthead,#impact .masthead{
 display:grid;grid-template-columns:minmax(0,1fr) var(--mast-copy);
 grid-template-rows:auto 1fr;grid-template-areas:"label description" "title description";
 gap:48px var(--mast-gap);min-height:320px;padding:var(--mast-top) var(--page-inset) 40px;
}
.masthead .mast-label,.masthead .mast-title,.masthead .mast-desc,
#about .mast-label,#about .mast-title,#about .mast-desc{padding:0;border:0;margin:0;min-width:0}
.masthead .mast-label{align-self:start}
.masthead .mast-title,.masthead .mast-desc{align-self:end}
.masthead h1,#impact .masthead h1{font-size:clamp(44px,5.3vw,80px);line-height:1.04;letter-spacing:-.045em}
.masthead .mast-desc p,#about .mast-desc p{font-size:17px;line-height:1.6;max-width:none}
@media(max-width:1200px){:root{--mast-copy:300px;--mast-gap:32px}}
@media(max-width:960px){:root{--frame-gutter:20px;--page-inset:28px;--mast-copy:280px;--mast-gap:28px}}
@media(max-width:700px){
 .masthead,#about .masthead,#impact .masthead{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"label" "title" "description";min-height:0;gap:26px;padding-bottom:32px}
 .masthead .mast-desc{grid-column:1}
}
@media(max-width:650px){
 :root{--frame-gutter:14px;--page-inset:20px;--mast-top:28px}
 .masthead h1,#impact .masthead h1{font-size:clamp(36px,10vw,60px)}
 .masthead .mast-desc p,#about .mast-desc p{font-size:16px}
}

/* The Science label shares the masthead's position, over the full-width image. */
#science .science-content .cover-page-label.eyebrow{
 position:absolute;z-index:2;top:var(--mast-top);left:calc(var(--science-frame-offset) + var(--page-inset));
 margin:0;padding:0;font:500 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f5f2dc;
}
#science .science-content .cover h1{grid-row:1/3}
#science .science-content .cover-copy>p:not(.eyebrow){grid-row:1}
#science .science-content .cover-link{grid-row:2}
@media(max-width:650px){
 #science .science-content .cover h1,#science .science-content .cover-copy>p:not(.eyebrow),#science .science-content .cover-link{grid-row:auto}
}

/* Footer content uses the same outer grid and inner inset as the header. */
.site-footer{width:100%;max-width:none;margin-inline:0;padding-inline:max(var(--frame-gutter),calc((100% - 1600px)/2))}
.site-footer>span.footer-credit{padding-inline:calc(var(--page-inset) + 1px)}

/* The closing section owns the single shared divider. The section above it
   must not paint a second border at the same edge. */
.team-people > .team-person:last-child,
.econ-wastage > .econ-source:last-child,
#science .science-content > .research-bench:last-child { border-bottom: 0; }
