/* Shared design foundation, rebuilt after reference review. */
:root{--paper:#fff;--line:#d0d5d6;--gutter:32px;--muted:#667176;--wash:#f0f1ed}
body{background:var(--paper)}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.015em}
h1{font-size:clamp(40px,4.5vw,64px);line-height:1.12}
h2{font-size:clamp(29px,3vw,40px);line-height:1.2}
.eyebrow{font-weight:500;letter-spacing:.05em}
.site-header{background:#fff;border:0;backdrop-filter:none}
.header-inner{min-height:94px;padding-block:15px}
.header-inner nav{gap:30px}
.header-inner nav>a:not(.button){font-weight:400;font-size:13px}
.header-inner nav>a.nav-action{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:3px;min-height:45px;padding:10px 18px;margin-left:13px;gap:20px;font-size:12px;font-weight:500}
.header-inner nav>a.nav-action:hover{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.nav-action>span{font-size:17px}
.menu-toggle{border:0;border-radius:0;padding-inline:0;gap:13px;font-weight:400}
.button{border-radius:3px;min-height:46px;padding:11px 19px;font-size:13px;font-weight:500;gap:20px;letter-spacing:0;background:var(--navy);border-color:var(--navy);box-shadow:none;transition:background .22s,color .22s,border-color .22s}
.button:hover{background:var(--cobalt);border-color:var(--cobalt)}
.button.secondary{color:var(--navy);background:transparent;border-color:#929b9e}
.button.secondary:hover{color:#fff;background:var(--navy);border-color:var(--navy)}
.button.light{color:var(--navy);background:#fff;border-color:#fff}
.button.light:hover{background:#edf1f2;border-color:#edf1f2;color:var(--navy)}
.button:disabled,.button:disabled:hover{background:#e6ebef;border-color:#e6ebef;color:#5d6e7c}
.text-link{font-size:13px;font-weight:500}
.tag[class]{display:inline-flex;align-items:center;gap:8px;padding:0;background:transparent;border:0;border-radius:0;color:var(--ink);font-size:10px;font-weight:500;letter-spacing:.04em;line-height:1.5;text-transform:uppercase}
.tag[class]::before{content:'';display:block;width:5px;height:5px;flex:0 0 5px;background:var(--cobalt)}
.tag.grant::before{background:var(--teal)}
.tag.news::before{background:var(--magenta)}
.tag.event::before{background:#ac8100}
.tag.planning::before{background:var(--red)}
.tag.support::before{background:#267fa6}
.card-meta{align-items:baseline;gap:15px;margin-bottom:25px}
.listing-status{font-size:11px;color:var(--muted);text-align:right;white-space:nowrap}
.opportunity-card h3{font-weight:500;letter-spacing:-.015em;font-size:25px;line-height:1.3}
.card-footer{align-items:end;gap:16px;flex-wrap:wrap}
.card-footer>a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid #8a999f;border-radius:0;width:auto;height:auto;min-height:44px;font-size:11px;line-height:1.4;color:var(--navy)}
.card-footer>a>span:last-child{font-size:18px}
.card-footer>a:hover{background:transparent;color:var(--cobalt);border-color:var(--cobalt)}
.card-apply{margin-top:20px}
.card-apply .button{width:100%;justify-content:space-between;gap:12px;text-align:left}
.card-apply+.card-source{margin-top:16px}
.opportunity-apply-page{max-width:850px}
.opportunity-apply-page>.back{display:inline-block;margin-bottom:32px}
.opportunity-apply-page h1{font-size:clamp(2rem,4.5vw,3.5rem)}
.apply-selected-title{font-size:1.35rem;line-height:1.5;font-weight:500;margin-bottom:28px;overflow-wrap:anywhere}
.opportunity-apply-page>.lead{font-size:1.12rem}
.opportunity-apply-page>p{max-width:740px}
.apply-account-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}
.apply-account-actions .button{min-width:130px;justify-content:space-between}
.apply-availability,.apply-further-help{font-size:.85rem;color:var(--muted);margin-top:20px}
.opportunity-apply-page form{margin:24px 0}
.card-apply a:focus-visible,.opportunity-apply-page a:focus-visible,.opportunity-apply-page button:focus-visible,.article-header-actions a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:480px){.apply-account-actions{display:grid;grid-template-columns:1fr}.apply-account-actions .button{width:100%}.apply-selected-title{font-size:1.15rem}.opportunity-apply-page .button{max-width:100%}}
.page-head h1{font-size:clamp(40px,4.5vw,64px);font-weight:500;letter-spacing:-.02em}
.page-head{padding-top:65px}
.hub-heading{display:block}
.form-layout>form,.check-page .detail-grid>form,.workspace-page .stat-grid,.readiness-band{border-radius:6px}
.check-intro{display:block;max-width:980px;margin-bottom:55px}
.check-intro h1{font-size:clamp(40px,4.5vw,64px);font-weight:500;letter-spacing:-.02em}
.check-intro .lead{max-width:750px}
.directory-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.directory-intro h1{font-size:clamp(38px,4vw,58px);font-weight:500;line-height:1.16;letter-spacing:-.02em}
.directory-photo{margin:0;overflow:hidden;border:0;border-radius:14px}
.directory-photo>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
/* The footer continues the light, quiet page composition. */
.site-footer{background:#f0f1ed;color:var(--navy);padding-top:65px}
.footer-opening{padding-bottom:55px;margin-bottom:50px;border-color:#bac2c4}
.footer-opening>.eyebrow{font-size:11px;color:#5e6c72;letter-spacing:.025em;margin-bottom:28px}
.footer-invitation{color:var(--navy);font-size:clamp(38px,4.7vw,66px);font-weight:500;letter-spacing:-.02em;line-height:1.13;gap:40px}
.footer-invitation:hover{color:var(--navy)}
.footer-invitation>.link-arrow{width:48px;height:48px;border:1px solid #7b898e;border-radius:50%;background:none;color:var(--navy);font-size:23px}
.footer-invitation:hover>.link-arrow{background:var(--navy);border-color:var(--navy);color:#fff;transform:translate(3px,-3px)}
.footer-grid .footer-brand{color:var(--navy);font-size:29px}
.footer-brand>span{color:#267fa6;font-size:20px}
.footer-grid p{color:#52636c;font-size:14px}
.footer-grid .footer-label{color:#536770;letter-spacing:.05em}
.footer-grid>div>a:not(.footer-brand),.footer-grid .text-button{color:var(--navy);font-size:13px}
.footer-grid small,.footer-bottom small{color:#586a74}
.footer-bottom{border-color:#bac2c4}
.footer-bottom a{color:var(--navy)}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline-color:var(--blue)}
.brand-spectrum{height:3px}
@media(max-width:1150px){.header-inner nav{gap:18px}.header-inner nav>a.nav-action{font-size:11px;padding-inline:14px;margin-left:0;gap:14px}.directory-intro{gap:35px}}
@media(max-width:850px){:root{--gutter:24px}.header-inner{min-height:80px;padding-block:14px}.header-inner nav{gap:4px 20px}.header-inner nav[data-collapsible=true][data-open=true]>a.nav-action{font-size:15px;margin-top:12px;padding:11px 18px;align-self:start;gap:22px;border:1px solid var(--navy);border-radius:3px}.page-head h1{font-size:50px}.check-intro h1{font-size:50px}.directory-intro{grid-template-columns:1fr;gap:32px}.directory-intro h1{font-size:48px}.footer-invitation{font-size:50px}.footer-grid .footer-brand{font-size:25px}.footer-brand>span{font-size:17px}}
@media(max-width:600px){:root{--gutter:20px}.header-inner{min-height:78px;padding-block:13px}.header-inner nav[data-collapsible=true][data-open=true]>a:not(.nav-action){font-size:21px}.page-head{padding-top:45px}.page-head h1,.check-intro h1{font-size:39px}.directory-intro h1{font-size:39px}.directory-photo{border-radius:12px}.card-meta{gap:12px}.tag[class]{font-size:9px;gap:7px}.listing-status{font-size:10px}.site-footer{padding-top:48px}.footer-opening{padding-bottom:40px;margin-bottom:40px}.footer-opening>.eyebrow{font-size:9px;line-height:1.6;margin-bottom:25px}.footer-invitation{font-size:clamp(33px,8.5vw,48px);gap:20px}.footer-invitation>.link-arrow{flex-shrink:0;width:35px;height:35px;font-size:19px}.footer-grid .footer-brand{font-size:28px}.footer-brand>span{font-size:18px}.footer-bottom{margin-top:38px}.check-intro{margin-bottom:35px}}
@media(max-width:360px){.footer-invitation{font-size:31px}.footer-invitation>.link-arrow{width:30px;height:30px;font-size:17px}.brand-wordmark{font-size:19px}.brand-domain{font-size:12px}}
