/* Shared desktop columns: media spans the grid, prose starts on its left edge. */
:root{--content-width:1120px;--page-gutter:24px}
.section{padding-inline:max(var(--page-gutter),calc((100% - var(--content-width))/2))}
.support-dock .dock-copy b{font-size:17px;line-height:1.5}
.support-dock .dock-copy span{display:block;font-size:12px;margin:4px 0 0}
.support-dock .dock-link{min-width:300px;gap:8px;flex-direction:column;padding:12px 24px}
.support-dock .dock-link img{width:100px}
.support-dock .dock-link span{font-size:15px;line-height:1.4}
.support-dock{padding:14px max(24px,calc((100% - 1120px)/2));gap:28px}
@media(min-width:761px){
 :root{--page-gutter:32px}.section{padding-block:88px}.site-header{padding-inline:max(32px,calc((100% - 1120px)/2))}
 .story-label,.story-intro,.teacher-message,.story-promise,.story-details,.story-bridge,.project-visual{max-width:none;width:100%;margin-inline:0}
 .story-intro p,.teacher-message>p,.teacher-message blockquote,.story-promise p,.story-details>div{max-width:760px;margin-left:0;margin-right:0}
 .story .teacher-message{max-width:none;margin-top:64px}.story .teacher-message>p,.story .teacher-message blockquote{margin-left:0;margin-right:0}
 .story-details{margin-top:24px}.story-details>a{display:block;max-width:900px}
 .section-intro{text-align:left;margin-bottom:40px}.section-intro p{max-width:760px}
 h2,.story .teacher-message h2{font-size:36px;line-height:1.65;letter-spacing:.025em}
 .disaster-gallery{grid-template-columns:1.5fr 1fr;gap:24px}
 .experience-grid{gap:32px}.play-card:nth-child(2),.play-card:nth-child(3){padding-top:0}
 .proof{grid-template-columns:1fr 1fr;gap:48px}.proof-photo{width:100%;margin:0}
 .funds-layout{grid-template-columns:340px minmax(0,1fr);gap:48px}
 .faq{grid-template-columns:1fr;gap:24px}.faq-list{width:100%}
 .business-intro{gap:48px}.returns-grid{gap:24px}
 .closing{text-align:left}.closing>p{max-width:760px;margin-left:0;margin-right:0}.closing .closing-art{max-width:700px}
 .project-ribbon{max-width:1120px;margin-inline:auto;padding-inline:0;gap:24px}
 footer{padding-inline:max(32px,calc((100% - 1120px)/2))}
}
@media(max-width:760px){
 body{padding-bottom:160px}.support-dock{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px}
 .support-dock .dock-copy{width:100%;text-align:left}.support-dock .dock-copy b{font-size:13px}.support-dock .dock-copy span{font-size:10px;margin-top:2px}
 .support-dock .dock-link{flex-direction:row;min-width:0;gap:14px;min-height:48px;padding:10px 14px}.support-dock .dock-link img{width:86px}.support-dock .dock-link span{font-size:13px}
}
