/* Shared page geometry. Keep hero measurements in one place. */
:root{--page-top:64px;--page-bottom:72px;--hero-gap:64px;--hero-title-size:clamp(44px,4.7vw,62px)}
.page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);align-items:start;gap:var(--hero-gap);padding-block:var(--page-top) var(--page-bottom);min-height:560px}
.page-hero .page-hero-copy>.eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.6px;margin:0 0 24px}
.page-hero h1,.document-page h1,.status-page h1{font-size:var(--hero-title-size);line-height:1.08;letter-spacing:-.035em}
.page-hero .hero-description,.page-hero .campaign-lead{font-size:17px;line-height:1.65;max-width:560px;margin:24px 0 0}
.page-hero .hero-actions,.page-hero .campaign-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}
.page-hero .page-hero-media{margin:0;align-self:start}
.page-hero .page-hero-media img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:5/3;object-fit:cover;object-position:center;border-radius:0}
.document-page,.status-page{padding-block:var(--page-top) var(--page-bottom)}
.status-page{max-width:1320px;text-align:left}
.document-page h1,.status-page h1{margin-top:24px}
.status-page>p:not(.eyebrow){margin:26px 0;max-width:650px}
@media(max-width:1100px){:root{--hero-gap:36px}}
@media(max-width:1000px){:root{--page-top:48px;--page-bottom:52px}.page-hero{grid-template-columns:1fr;gap:32px;min-height:0}.page-hero .page-hero-copy{max-width:680px}.page-hero .page-hero-media{width:100%}}
@media(max-width:640px){:root{--page-top:32px;--page-bottom:40px;--hero-title-size:clamp(36px,10.25vw,44px)}.page-hero{gap:28px}.page-hero h1,.document-page h1,.status-page h1{line-height:1.12}.page-hero .page-hero-copy>.eyebrow{font-size:8px;letter-spacing:1.1px}.page-hero .hero-description,.page-hero .campaign-lead{font-size:15px;line-height:1.6;margin-top:24px}.page-hero .hero-actions,.page-hero .campaign-actions{align-items:flex-start;flex-direction:column;gap:13px;margin-top:27px}.page-hero .hero-actions .button,.page-hero .campaign-actions .button{min-width:208px}.page-hero .campaign-eyebrow-sub{font-size:10px;margin-top:16px}}

/* One footer structure and type scale across all public pages. */
.site-footer{padding:40px 0 26px;background:#fff}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px}
.site-footer .footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.site-footer .footer-brand{font:32px/1.1 var(--serif);letter-spacing:-1.2px}
.site-footer .footer-identity p{font-size:12px;line-height:1.6;color:var(--muted);max-width:none;margin:0}
.site-footer .footer-nav{display:flex;align-items:center;flex-wrap:wrap;gap:28px}
.site-footer .footer-nav a{display:inline-flex;align-items:center;min-height:36px;font-size:12px;line-height:1.5;color:var(--muted)}
.site-footer .footer-nav a:hover{color:var(--navy)}
.site-footer .footer-bottom{display:block;border-top:1px solid var(--line);margin-top:28px;padding-top:18px;font-size:10px;line-height:1.5;text-align:left}
.site-footer .footer-bottom>span:last-child{max-width:none;text-align:left}
@media(max-width:760px){.site-footer{padding:32px 0 24px}.site-footer .footer-main{grid-template-columns:1fr;gap:22px}.site-footer .footer-brand{font-size:29px}.site-footer .footer-nav{gap:8px 24px}.site-footer .footer-nav a{min-height:44px}.site-footer .footer-bottom{margin-top:20px;padding-top:16px}}
