:root{--navy:#102c47;--navy-2:#183e60;--ink:#18232d;--muted:#5e6b76;--line:#d8dee3;--paper:#f6f7f5;--white:#fff;--accent:#f2c94c;--accent-dark:#c49000;--green:#31735c;--green-soft:#e3f0e8;--blue-soft:#e7eef4;--max:1180px;--shadow:0 18px 50px #102c4717}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);margin:0;font-family:Inter,Arial,system-ui,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.025em;color:var(--navy);font-family:"Source Serif 4",Georgia,serif}h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:.98}h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}h3{line-height:1.25}.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.skip-link{z-index:100;background:var(--accent);padding:.7rem 1rem;font-weight:800;position:fixed;top:-10rem;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px}.eyebrow{color:var(--navy-2);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.7rem;font-size:.78rem;font-weight:800;line-height:1.2;display:block}.button{cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:.65rem 1.1rem;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.button-primary{background:var(--navy);color:#fff}.button-secondary{border-color:var(--navy);color:var(--navy)}.button-accent{background:var(--accent);color:#172530}.button-outline{border-color:var(--navy);color:var(--navy)}.button:hover{transform:translateY(-1px)}.text-link{color:var(--navy);text-underline-offset:.25rem;align-items:center;gap:.5rem;font-weight:800;text-decoration-thickness:1px;display:inline-flex}.text-link.light{color:#fff}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#fffffffa;position:relative}.header-row{justify-content:space-between;align-items:center;gap:2rem;min-height:78px;display:flex}.brand{color:var(--navy);align-items:center;gap:.8rem;line-height:1.15;text-decoration:none;display:flex}.brand-mark{background:var(--navy);color:#fff;place-items:center;width:2.65rem;height:2.65rem;font-family:Georgia,serif;font-size:1.3rem;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem;font-size:.72rem}.main-nav{align-items:center;gap:1.35rem;display:flex}.main-nav>a{font-size:.87rem;font-weight:700;text-decoration:none}.main-nav>a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent-dark);text-underline-offset:.45rem;text-decoration-thickness:3px}.nav-actions{gap:.5rem;margin-left:.4rem;display:flex}.menu-button{border:1px solid var(--navy);min-height:44px;color:var(--navy);background:0 0;padding:.5rem .8rem;font-weight:800;display:none}.dashboard-hero{color:#fff;background:var(--navy);padding:clamp(2rem,5vw,4.5rem) 0 0;overflow:hidden}.hero-topline{letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid #ffffff38;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.6rem;font-size:.76rem;font-weight:800;display:flex}.year-pill{background:#ffffff17;padding:.45rem .7rem}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(2rem,7vw,6rem);padding:clamp(3rem,7vw,6.5rem) 0;display:grid}.hero-copy h1{color:#fff;max-width:760px;margin-bottom:1.5rem}.hero-copy p{color:#cbd8e2;max-width:610px;font-size:1.1rem}.hero-actions{align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.fundraising-panel{border-top:4px solid var(--accent);background:#ffffff14;padding:1.8rem;box-shadow:0 20px 70px #00000029}.panel-label{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;font-size:.78rem;display:flex}.big-money{margin:1.7rem 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(2.8rem,5vw,4.4rem);font-weight:700;line-height:1}.fundraising-panel>p:nth-of-type(2){color:#cbd8e2}.data-pending{color:#d6e0e7;border-top:1px solid #fff3;border-bottom:1px solid #fff3;margin:1.5rem 0;padding:1rem 0;font-size:.9rem}.progress{background:#dce1e4;width:100%;height:10px;overflow:hidden}.progress>span{background:var(--accent);height:100%;display:block}.fundraising-panel .progress{background:#ffffff2e;margin:1.5rem 0}.next-threshold{margin-bottom:0;font-size:.9rem}.stat-strip{border-top:1px solid #fff3;grid-template-columns:repeat(4,1fr);margin:0;display:grid}.stat-strip>div,.stat-strip>a{border-right:1px solid #fff3;min-width:0;padding:1.5rem 1.2rem 1.8rem;text-decoration:none}.stat-strip>:first-child{padding-left:0}.stat-strip>:last-child{border-right:0}.stat-strip span{color:#b9c8d4;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;display:block}.stat-strip strong{margin:.4rem 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:700;line-height:1.1;display:block}.stat-strip a{transition:background-color .15s;position:relative}.stat-strip a:hover,.stat-strip a:focus-visible{background:#ffffff14}.stat-strip a small{color:var(--accent);margin-top:.7rem;font-size:.74rem;font-weight:800;display:block}.stat-strip .date-stat{font-size:clamp(1.4rem,2.4vw,2rem)}.section{padding:clamp(4rem,8vw,7rem) 0}.compact-top{padding-top:1rem}.section-tint{background:var(--paper)}.section-heading{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.4rem;display:flex}.section-heading h2{max-width:720px;margin-bottom:0}.section-heading>p{max-width:390px;color:var(--muted);margin-bottom:.25rem}.section-lead{max-width:470px;color:var(--muted);font-size:1.05rem}.milestone-list{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.milestone-list li{border-top:4px solid #0000;padding:2rem 1.3rem 0 0;position:relative}.milestone-list li:before{content:"";border:2px solid var(--navy);background:#fff;border-radius:50%;width:13px;height:13px;position:absolute;top:-7px;left:0}.milestone-list li.reached{border-top-color:var(--green)}.milestone-list li.reached:before{background:var(--green);border-color:var(--green)}.milestone-marker{background:var(--blue-soft);width:2.4rem;height:2.4rem;color:var(--navy);border-radius:50%;place-items:center;margin-bottom:1.2rem;font-size:.82rem;font-weight:800;display:grid}.reached .milestone-marker{background:var(--green-soft);color:var(--green)}.milestone-threshold{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.milestone-list h3{margin:.3rem 0 .7rem;font-size:1.05rem}.milestone-list p{color:var(--muted);font-size:.9rem;line-height:1.55}.project-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}.update-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.update-grid-all{grid-template-columns:repeat(2,1fr)}.update-card{border:1px solid var(--line);background:#fff;padding:1.6rem}.update-meta{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-bottom:2rem;font-size:.72rem;font-weight:800;display:flex}.update-card h3{color:var(--navy);font-family:"Source Serif 4",serif;font-size:1.55rem}.update-card p{color:var(--muted);font-size:.92rem}.update-card .update-summary{color:var(--ink);font-weight:700}.project-card{border:1px solid var(--line);background:#fff;flex-direction:column;min-height:350px;padding:1.6rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 1px #102c4708}.project-card:hover,.project-card:focus-within{border-color:var(--navy);box-shadow:var(--shadow);transform:translateY(-2px)}.project-card-top{justify-content:space-between;align-items:start;display:flex}.project-no{color:#a5afb7;font-family:"Source Serif 4",serif;font-size:2rem}.status{background:var(--blue-soft);color:var(--navy);text-transform:uppercase;padding:.35rem .55rem;font-size:.72rem;font-weight:800}.status-in_progress,.status-approved{background:var(--green-soft);color:var(--green)}.status-completed{background:var(--navy);color:#fff}.project-card h3{color:var(--navy);margin:2.5rem 0 .8rem;font-family:"Source Serif 4",serif;font-size:1.55rem}.project-card h3 a{text-decoration:none}.project-card h3 a:after{content:"";position:absolute;inset:0}.project-card h3 a:focus-visible{outline:0}.project-card>p{color:var(--muted)}.project-money{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.5rem;margin:auto 0 0;padding-top:1rem;display:grid}.project-money dt{color:var(--muted);text-transform:uppercase;font-size:.68rem}.project-money dd{margin:.15rem 0 0;font-weight:800}.project-card-cta{color:var(--navy);margin-top:1rem;font-size:.82rem;font-weight:800}.project-section{padding-top:clamp(4rem,8vw,7rem);scroll-margin-top:2rem}.project-detail{padding:2rem 0 clamp(4rem,8vw,7rem)}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:.55rem;margin-bottom:clamp(3rem,7vw,6rem);font-size:.84rem;display:flex}.breadcrumbs a{color:var(--navy)}.project-detail-grid{grid-template-columns:1.35fr .65fr;align-items:start;gap:clamp(2rem,8vw,7rem);display:grid}.project-detail h1{max-width:800px;margin:1rem 0 1.5rem}.project-lead{max-width:760px;color:var(--navy);font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.45}.prose{max-width:720px;color:var(--muted);font-size:1.05rem}.project-facts{border-top:4px solid var(--accent);background:var(--paper);padding:2rem}.project-facts dl{margin:0}.project-facts dl>div{border-bottom:1px solid var(--line);padding:1rem 0}.project-facts dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.project-facts dd{color:var(--navy);margin:.2rem 0 0;font-weight:800}.split-section{grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,8vw,7rem);display:grid}.document-list{border-top:1px solid var(--navy)}.document-row{border-bottom:1px solid var(--line);grid-template-columns:9rem 1fr 9rem 1rem;align-items:center;gap:1rem;min-height:86px;text-decoration:none;display:grid}.document-row:hover strong{text-underline-offset:.2rem;text-decoration:underline}.doc-type,.document-row time{color:var(--muted);text-transform:uppercase;font-size:.75rem}.page-intro{border-bottom:1px solid var(--line);padding:clamp(3.5rem,8vw,7.5rem) 0 2.5rem}.page-intro h1{max-width:950px;margin-bottom:1.5rem}.page-intro p{max-width:700px;color:var(--muted);margin-bottom:0;font-size:1.1rem}.empty-state{border:1px solid var(--line);background:var(--paper);padding:2rem}.empty-state strong{color:var(--navy);margin-bottom:.4rem;font-family:"Source Serif 4",serif;font-size:1.4rem;display:block}.empty-state p,.data-note{color:var(--muted);margin-bottom:0}.data-note{margin-top:1rem;font-size:.85rem}.finance-summary{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.finance-summary div{border-right:1px solid var(--line);padding:1.5rem}.finance-summary div:last-child{border-right:0}.finance-summary .emphasis{background:var(--navy);color:#fff}.finance-summary dt{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.finance-summary .emphasis dt{color:#c7d2dc}.finance-summary dd{margin:.5rem 0 0;font-family:"Source Serif 4",serif;font-size:1.85rem;font-weight:700}.budget-table{border-top:1px solid var(--navy)}.budget-row{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr 1fr 1.4fr;align-items:center;gap:1rem;min-height:72px;padding:.8rem 0;display:grid}.budget-head{min-height:48px;color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.budget-row .progress{height:7px}.budget-row .progress>span{background:var(--navy)}.class-participation{border-top:1px solid var(--navy)}.class-row{border-bottom:1px solid var(--line);grid-template-columns:5rem 1fr 4rem;align-items:center;gap:1.2rem;min-height:64px;display:grid}.class-row .progress{height:8px}.class-row .progress>span{background:var(--navy)}.class-row>span{color:var(--navy);text-align:right;font-weight:800}.all-projects{grid-template-columns:repeat(2,1fr)}.inline-cta{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:2rem;margin-top:1rem;padding:2.2rem;display:flex}.inline-cta h2{color:#fff;margin-bottom:.4rem}.inline-cta p{color:#cbd8e2;margin-bottom:0}.archive-year{grid-template-columns:.35fr 1fr;gap:4rem;margin-bottom:5rem;display:grid}.archive-year-title>span{color:var(--muted);text-transform:uppercase;font-size:.76rem}.archive-year-title h2{margin-top:.4rem}.about-grid,.payment-grid,.application-grid{grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,7rem);display:grid}.people-list{border-top:1px solid var(--navy)}.people-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:1.4rem 0;display:flex}.people-list span{color:var(--muted);text-align:right}.principles-card{background:var(--paper);padding:2.2rem}.check-list{padding:0;list-style:none}.check-list li{border-bottom:1px solid var(--line);padding:.8rem 0 .8rem 2rem;position:relative}.check-list li:before{content:"✓";color:var(--green);font-weight:800;position:absolute;left:0}.contact-band{justify-content:space-between;align-items:center;gap:3rem;display:flex}.contact-band>div:first-child{max-width:700px}.contact-band>div:last-child{flex-direction:column;align-items:start;gap:1rem;display:flex}.payment-form,.application-form{border:1px solid var(--line);box-shadow:var(--shadow);padding:2rem}fieldset{border:0;border-bottom:1px solid var(--line);margin:0 0 2.2rem;padding:0 0 2.2rem}legend{color:var(--navy);margin-bottom:1.1rem;font-family:"Source Serif 4",serif;font-size:1.35rem;font-weight:700}.amount-options{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.amount-options label{cursor:pointer}.amount-options input{opacity:0;position:absolute}.amount-options span{border:1px solid var(--line);flex-direction:column;justify-content:center;min-height:80px;padding:.8rem;font-weight:800;display:flex}.amount-options small{color:var(--muted);font-size:.72rem;font-weight:500}.amount-options input:checked+span{border:2px solid var(--navy);background:var(--blue-soft)}.amount-options input:focus-visible+span{outline:3px solid var(--accent-dark);outline-offset:3px}.other-amount[hidden]{display:none!important}.amount-summary{border-left:4px solid var(--accent);background:var(--paper);color:var(--navy);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.amount-summary span{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:800}.amount-summary strong{font-family:"Source Serif 4",serif;font-size:1.45rem}.field{color:var(--navy);gap:.45rem;margin:1rem 0;font-size:.83rem;font-weight:800;display:grid}.field input,.field textarea{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #aab5bd;border-radius:0;padding:.75rem;font-size:1rem;font-weight:500}.field textarea{resize:vertical}.transfer-box{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:.2rem 1rem;padding:1rem 0;display:grid}.transfer-box>span{color:var(--muted);text-transform:uppercase;grid-column:1;font-size:.74rem}.transfer-box strong{overflow-wrap:anywhere;grid-column:1}.copy-button{border:1px solid var(--navy);color:var(--navy);cursor:pointer;background:0 0;grid-area:1/2/3;padding:.45rem .7rem;font-weight:800}.copy-status{min-height:1.5rem;color:var(--green);margin-bottom:0;font-size:.85rem;font-weight:800}.future-payment{background:var(--navy);color:#fff;align-self:start;padding:2.5rem}.future-payment .eyebrow,.future-payment h2{color:#fff}.future-payment p{color:#c7d2dc}.payment-qr{background:#fff;place-items:center;width:min(250px,100%);min-height:250px;margin:2rem auto 1rem;display:grid}.payment-qr:empty{background:#ffffff0a;border:1px dashed #93a9bb}.payment-qr:empty:before{content:"QR";color:var(--accent);font-family:"Source Serif 4",Georgia,serif;font-size:2.2rem;font-weight:700}.payment-qr svg{width:100%;height:auto;display:block}.qr-status{text-align:center;min-height:1.5rem;font-size:.84rem}.privacy-note{border-top:1px solid #fff3;padding-top:1rem;font-size:.82rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.consent{align-items:start;gap:.7rem;margin:1.2rem 0;font-size:.88rem;display:flex}.consent input{flex:none;width:1.15rem;height:1.15rem;margin-top:.2rem}.form-note{color:var(--muted);margin:1rem 0 0;font-size:.82rem}.application-aside{background:var(--paper);align-self:start;padding:2.4rem}.application-aside ol{padding-left:1.4rem}.application-aside li{border-bottom:1px solid var(--line);padding:.8rem 0 .8rem .6rem}.application-aside strong,.application-aside span{display:block}.application-aside span{color:var(--muted)}.site-footer{background:var(--navy);color:#c7d2dc;padding:0 0 1.5rem;font-size:.88rem}.footer-cta{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 0;display:flex}.footer-cta .eyebrow{color:var(--accent);margin-bottom:.35rem}.footer-cta p{color:#fff;margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:700;line-height:1.15}.footer-actions{flex:none;gap:.6rem;display:flex}.footer-button{color:#fff;border-color:#ffffffa6}.footer-grid{grid-template-columns:1.4fr .7fr 1fr;gap:clamp(2rem,7vw,6rem);padding:3rem 0;display:grid}.footer-about{max-width:390px}.footer-brand{color:#fff;align-items:center;gap:.85rem;line-height:1.25;text-decoration:none;display:inline-flex}.footer-brand .brand-mark{color:var(--navy);background:#fff}.footer-about p{max-width:360px;margin:1.2rem 0 0}.footer-heading{color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.85rem;font-size:.76rem;display:block}.footer-nav ul{margin:0;padding:0;list-style:none}.footer-nav li+li{margin-top:.35rem}.footer-nav a,.footer-contact a,.footer-bottom a{color:#fff;text-underline-offset:.2rem;font-weight:700}.footer-contact address{margin-top:1rem;font-style:normal}.footer-bottom{border-top:1px solid #fff3;justify-content:space-between;gap:2rem;padding-top:1.4rem;font-size:.78rem;display:flex}@media (width<=900px){.menu-button{display:block}.main-nav{border-bottom:1px solid var(--line);box-shadow:var(--shadow);background:#fff;flex-direction:column;align-items:stretch;gap:1rem;padding:1.3rem 1rem 1.6rem;display:none;position:absolute;top:78px;left:0;right:0}.main-nav.is-open{display:flex}.nav-actions{margin:.5rem 0 0}.nav-actions .button{flex:1}.hero-grid,.split-section,.about-grid,.payment-grid,.application-grid,.project-detail-grid{grid-template-columns:1fr}.stat-strip,.finance-summary{grid-template-columns:1fr 1fr}.stat-strip>:nth-child(2),.finance-summary div:nth-child(2){border-right:0}.milestone-list{grid-template-columns:1fr 1fr;row-gap:2rem}.project-grid,.update-grid{grid-template-columns:1fr 1fr}.archive-year{grid-template-columns:1fr;gap:1rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}@media (width<=620px){.brand small{display:none}.brand strong{max-width:150px;font-size:.88rem}.hero-topline{flex-direction:column;align-items:start}.hero-grid{padding-top:3.5rem}.hero-actions,.section-heading,.inline-cta,.contact-band,.footer-cta,.footer-bottom{flex-direction:column;align-items:stretch}.hero-actions{gap:1rem}.stat-strip{grid-template-columns:1fr 1fr}.stat-strip>*{padding:1.2rem .7rem}.stat-strip>:nth-child(odd){padding-left:0}.stat-strip strong{font-size:1.5rem}.milestone-list,.project-grid,.update-grid,.finance-summary,.footer-grid{grid-template-columns:1fr}.milestone-list{border-top:0}.milestone-list li{border-top:1px solid var(--line)}.milestone-list li.reached{border-top:4px solid var(--green)}.finance-summary div{border-right:0;border-bottom:1px solid var(--line)}.document-row{grid-template-columns:1fr 1rem;gap:.35rem 1rem;padding:.9rem 0}.document-row .doc-type,.document-row time{grid-column:1}.document-row>span:last-child{grid-area:1/2/4}.budget-head{display:none}.budget-row{grid-template-columns:1fr 1fr}.budget-row strong,.budget-row>div{grid-column:1/-1}.amount-options,.form-row{grid-template-columns:1fr}.class-row{grid-template-columns:3rem 1fr 3.5rem;gap:.7rem}.payment-form,.application-form,.future-payment,.application-aside{padding:1.3rem}.people-list>div{flex-direction:column}.people-list span{text-align:left}.footer-actions{grid-template-columns:1fr;display:grid}.footer-bottom{gap:.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
