@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#fffaf0;--ink:#164f47;--muted:#596c61;--gold:#dc673f;--line:#d8e2cf;--mint:#e8f5de;--yellow:#f5d34f;--coral:#e46b47;--serif:'Libre Caslon Display',Baskerville,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:15px var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:2px solid var(--coral);outline-offset:5px}::selection{background:#f5d34f;color:var(--ink)}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:20px;left:20px;padding:15px;background:var(--paper);z-index:100}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font:52px/1.05 var(--serif);letter-spacing:-1px}em{font-family:var(--serif);font-weight:400}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;padding:18px 24px;border:0;font-size:13px;font-weight:550;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span:last-child{font-size:21px;line-height:1}.button-light{background:var(--yellow);color:var(--ink)}.button-light:hover{background:#ffe583}.button-dark{background:var(--coral);color:#fff}.button-dark:hover{background:#c54a2e}.preview-banner{text-align:center;background:#f5d34f;padding:7px 15px;font-size:10px;color:#4a542e}
.hero{position:relative;isolation:isolate;min-height:670px;height:min(780px,90svh);overflow:hidden;background:#fff0cc;color:var(--ink)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:brightness(1.18);animation:image-settle 1.8s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#fff1c9 0%,#fff1c9eb 22%,#fff1c99c 44%,transparent 70%)}.masthead{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #23554b30}.wordmark{display:flex;align-items:center;gap:14px}.wordmark svg{width:25px;height:34px;stroke:var(--coral);stroke-width:1.5;fill:none}.wordmark span{font:20px var(--serif)}.masthead-link{font-size:12px;color:#fff7df;text-shadow:0 1px 7px #2d1d10}.masthead-link span{margin-left:20px}.hero-copy{padding-top:76px;position:relative}.hero h1{font:clamp(85px,9.4vw,140px)/.93 var(--serif);letter-spacing:-3px;margin-bottom:24px;max-width:750px;animation:arrive .9s .1s both}.hero h1 em{color:#c54a2e}.hero-purpose{max-width:475px;font-size:19px;line-height:1.6;margin-bottom:25px;animation:arrive .9s .2s both}.hero-copy .button{animation:arrive .9s .3s both}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:12px}.hero-bottom a{color:#fff7df;font-size:27px}
.campaign{padding-block:36px 72px}.section-top{padding-bottom:28px;text-align:center;border-bottom:1px solid var(--line)}.dedication{font:21px/1.6 var(--serif);margin:0}.campaign-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:64px;padding-top:44px;align-items:start}.campaign-workspace{min-width:0}.progress-block h2{margin-bottom:30px;font-size:60px}.goal-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:13px}.goal-label strong{font-weight:600}.goal-track{height:42px;background:#e1edd3;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 0 1px #16524612}.goal-track>div{height:100%;width:0;background:repeating-linear-gradient(90deg,transparent 0 36px,#fff8e94d 36px 39px),linear-gradient(90deg,#1c826c,#57b98b);border-radius:4px;transition:width 1s cubic-bezier(.22,.7,.2,1)}.goal-total{display:flex;align-items:baseline;gap:18px;margin-top:16px}.goal-total>span:first-child{font:96px/1 var(--serif);letter-spacing:-3px;font-variant-numeric:lining-nums tabular-nums}.goal-total>span:last-child{font-size:13px;color:var(--muted)}#campaign-status{font-size:12px;color:#a33e28;margin-top:15px}#campaign-status:empty{display:none}.participate{margin-top:44px;padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:32px}.form-heading h2{font-size:40px;margin-bottom:26px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field label{font-size:12px;font-weight:500}.field input,.field select{height:45px;min-width:0;width:100%;padding:10px 0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #a0b4a1;border-radius:0;font-size:15px}.field select{cursor:pointer}.field input::placeholder{color:#819180}.field input:disabled{color:#8d9c87}.check-field{display:flex;align-items:center;gap:8px;margin:15px 0 25px;width:fit-content;cursor:pointer;font-size:12px}.check-field input{width:15px;height:15px;margin:0;accent-color:#1c826c}.form-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;margin-bottom:27px}.optional{font-size:10px;color:var(--muted);font-weight:400}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submit-button{width:100%;text-align:left}.form-status{font-size:12px;line-height:1.6;border-left:2px solid #1c826c;padding-left:12px;margin:15px 0 0}.form-status:empty{display:none}.form-status[data-error=true]{border-color:#a33e28;color:#a33e28}
.ledger-section{background:var(--mint);padding:30px 26px;border-top:5px solid #f5d34f;min-width:0}.ledger-heading h2{font-size:40px;margin-bottom:30px}.ledger-columns,.contribution{display:grid;grid-template-columns:minmax(0,1fr) 75px;align-items:center;gap:15px}.ledger-columns{font-size:11px;color:var(--muted);padding-bottom:14px;border-bottom:1px solid #bbd2b3}.ledger-columns span:last-child{text-align:right}.contributions{padding:0;margin:0;list-style:none;max-height:510px;overflow-y:auto;scrollbar-color:#9abf9c transparent;scrollbar-width:thin}.contribution{padding:18px 0;border-bottom:1px solid #cbdcc2}.contribution-name{font-size:13px;overflow-wrap:anywhere}.contribution-minutes{font:30px/1 var(--serif);text-align:right}.contribution-week{display:block;font-size:10px;color:var(--muted);margin-top:6px}.text-button{display:block;margin:22px auto 0;padding:8px;background:transparent;color:var(--ink);border:0;font-size:12px}.text-button:hover{color:#bf492c}.feed-status{font-size:12px;line-height:1.7;color:var(--muted);margin:20px 0 0}.feed-status:empty{display:none}
.story{display:grid;grid-template-columns:.45fr 1fr;gap:65px;padding-block:75px;align-items:start}.memory-photo{text-align:center;padding-top:80px}.portrait-frame{max-width:220px;border:1px solid #e6a94d;padding:12px;margin:0 auto 20px;transform:rotate(-3deg);background:#fff3cd;box-shadow:8px 10px 0 #f6dfa8}.portrait-frame img{display:block;width:100%;height:auto;aspect-ratio:136/164;object-fit:cover}.memory-photo>p{font:24px var(--serif);color:#bf492c;margin-top:26px}.story-copy h2{font-size:52px;margin-bottom:28px}.story-copy>p{font-size:16px;line-height:1.95;color:#385b50;margin:0}.verbatim{white-space:pre-line;direction:ltr;unicode-bidi:normal}.how-section{padding-block:65px;background:#fff0c8;color:var(--ink);border-top:1px solid #f0da94}.how-heading h2{font-size:52px;margin-bottom:28px}.how-copy{max-width:900px;font-size:16px;line-height:1.95;margin-bottom:35px}.tracking-row{border-top:1px solid #dec995;padding-top:27px}.tracking-link{display:flex;align-items:center;gap:18px;font-size:14px;width:fit-content}.tracking-link svg{width:25px;height:29px;stroke:#c54a2e;stroke-width:1.2}.tracking-link>span:last-child{margin-left:20px;font-size:22px}.tracking-link:hover{color:#c54a2e}footer{display:flex;justify-content:space-between;align-items:center;padding-block:35px;gap:25px}.footer-greeting{font:44px var(--serif);color:#c54a2e;margin:0}footer>a{font-size:12px}footer>a span{margin-left:15px}.noscript{padding:20px;text-align:center;background:var(--yellow)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes image-settle{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.campaign-grid{gap:35px;grid-template-columns:1.25fr 1fr}.ledger-section{padding:25px 20px}.ledger-heading h2{font-size:34px}.story{gap:40px;grid-template-columns:.4fr 1fr}.hero h1{font-size:108px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.hero{min-height:590px;height:80svh;max-height:720px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#fff1c9fa,#fff1c9dc 45%,#fff1c9a6 78%,#fff1c94d)}.masthead{height:78px}.wordmark span{font-size:17px}.wordmark svg{width:21px;height:28px}.masthead-link{font-size:9px}.masthead-link span{margin-left:4px}.hero-copy{padding-top:70px}.hero h1{font-size:clamp(66px,17vw,108px);line-height:.97;letter-spacing:-2px;margin-bottom:22px}.hero-purpose{font-size:16px;line-height:1.6;max-width:340px;margin-bottom:24px}.hero-copy .button{font-size:12px}.hero-bottom{bottom:25px}.hero-bottom>span{max-width:240px;font-size:10px}.hero-bottom a{font-size:25px}.dedication{font-size:18px}.campaign{padding-block:28px 45px}.section-top{padding-bottom:24px}.campaign-grid{grid-template-columns:1fr;gap:35px;padding-top:32px}.progress-block h2{font-size:50px;margin-bottom:25px}.goal-track{height:35px}.goal-total>span:first-child{font-size:85px}.goal-total>span:last-child{font-size:12px}.goal-label{font-size:12px}.participate{margin-top:32px;padding-top:28px}.form-heading h2{font-size:37px}.field input,.field select{font-size:16px}.form-row{gap:20px}.ledger-section{padding:27px 22px}.ledger-heading h2{font-size:39px}.contributions{max-height:430px}.story{grid-template-columns:1fr;gap:42px;padding-block:45px}.memory-photo{padding:0}.portrait-frame{width:155px}.memory-photo>p{font-size:23px}.story-copy h2,.how-heading h2{font-size:45px}.story-copy>p,.how-copy{font-size:15px;line-height:1.9}.how-section{padding-block:45px}.tracking-link{font-size:12px}footer{padding-block:28px}.preview-banner{font-size:9px}}
@media(max-width:360px){.hero h1{font-size:18vw}.hero-copy{padding-top:54px}.hero-purpose{font-size:15px}.hero-bottom>span{font-size:9px;max-width:210px}.masthead-link{font-size:8px}.goal-total{gap:12px}.goal-total>span:first-child{font-size:75px}.goal-total>span:last-child{font-size:11px}.form-row{gap:15px}.optional{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
