*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper,#f5f2e9);color:#192820;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:var(--accent,#245844);text-underline-offset:4px}a,button,input,textarea,select{touch-action:manipulation}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px;border:1px solid #b7c3b9;border-radius:6px;background:#fff;color:#192820;text-decoration:none;font-weight:650;cursor:pointer;min-height:44px}.button{background:#192820;color:white;border-color:#192820}.button:hover,button:hover{filter:brightness(.9)}:focus-visible{outline:3px solid #db7533;outline-offset:3px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:auto;padding:26px 30px;border-bottom:1px solid #bec6b9}.topbar a{text-decoration:none;font-weight:700}.topbar a:first-child{text-transform:capitalize}main{max-width:1180px;padding:0 30px;margin:auto}section{padding:64px 0;border-bottom:1px solid #bec6b9}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;padding:65px 0 75px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:750;color:var(--accent);margin:0 0 18px}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(3rem,6.5vw,5.6rem);max-width:850px}h2{font-size:clamp(2rem,4vw,3rem);max-width:800px}h3{font-size:1.6rem;margin-top:35px}.lead{font-size:1.25rem;max-width:560px;margin-bottom:30px}.small{font-size:.85rem;color:#48564c}.story{max-width:840px}.preserve{white-space:pre-line;overflow-wrap:anywhere}p{max-width:850px}figure{margin:0}figure img{width:100%;max-height:540px;object-fit:contain;border-radius:18px}.garden{height:440px;border-radius:180px 180px 12px 12px;background:#dfe7d4;position:relative;overflow:hidden;color:#245844;padding:160px 35px 0}.garden span{position:relative;z-index:2;font-family:Georgia,serif;font-style:italic;font-size:2.6rem;line-height:1.15}.sun{position:absolute;right:36px;top:45px;width:100px;height:100px;background:#eab968;border-radius:50%}.stem{position:absolute;bottom:-20px;width:18px;height:170px;background:#77945e;transform:rotate(-12deg);right:35px;border-radius:100%}.stem:before{content:'';position:absolute;right:4px;top:40px;width:75px;height:45px;border-radius:100% 0;background:#77945e}.stem.two{right:110px;height:120px;transform:rotate(20deg)}.stem.three{right:190px;height:70px}.timeline{list-style:none;padding:0;margin:25px 0;display:grid;gap:18px}.timeline li{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:24px;row-gap:5px;border-left:3px solid var(--accent,#245844);padding-left:20px;min-width:0;overflow-wrap:anywhere}.timeline li>strong{grid-column:1;grid-row:1;font-weight:700}.timeline li>p{grid-column:2;grid-row:1;margin:0}.timeline li>a{grid-column:2;grid-row:2;justify-self:start}@media(max-width:600px){.timeline li{grid-template-columns:minmax(0,1fr);gap:5px}.timeline li>strong,.timeline li>p,.timeline li>a{grid-column:1;grid-row:auto}}.action{scroll-margin-top:20px}.composer{display:grid;grid-template-columns:1fr 1.4fr;gap:42px;margin-top:38px;background:#fff9;padding:30px;border-radius:12px}label{display:block;font-weight:650;font-size:.9rem;margin:15px 0 7px}input,textarea,select{width:100%;min-height:44px;border:1px solid #9ba99e;border-radius:5px;padding:10px 12px;background:#fff;color:#192820}textarea{resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.sources{list-style:none;padding:0}.sources li{margin:18px 0}.sources span{display:block;font-size:.85rem;color:#48564c}footer{padding:45px 0}footer>p:first-child{font-family:Georgia,serif;font-size:1.8rem;font-style:italic}#email-status{font-size:.9rem;overflow-wrap:anywhere}#contact-detail{font-size:.85rem;overflow-wrap:anywhere}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}@media(max-width:700px){.topbar{padding:20px;align-items:flex-start;font-size:.85rem}main{padding:0 20px}.hero{grid-template-columns:1fr;gap:30px;padding:45px 0}.garden{height:310px;padding:90px 30px 0}.garden span{font-size:2.3rem}.composer{grid-template-columns:1fr;padding:20px;gap:10px}section{padding:40px 0}h1{font-size:3.25rem}.button-row>*{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.recipient-picker{border:0;padding:0;margin:34px 0 0;min-width:0}.recipient-picker legend{font-size:1.4rem;font-weight:750;letter-spacing:-.025em}.recipient-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.recipient-card{min-width:0;background:#fff;border:1px solid #b7c3b9;border-radius:10px;overflow-wrap:anywhere;transition:border-color .15s,box-shadow .15s}.recipient-card:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.recipient-card:focus-within{outline:3px solid #db7533;outline-offset:3px}.recipient-choice{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 12px;margin:0;cursor:pointer;font-size:1rem;min-height:64px}.recipient-choice input{width:20px;min-height:20px;height:20px;flex:0 0 20px;margin:4px 0 0;accent-color:var(--accent);padding:0}.recipient-name{display:block;font-size:1.12rem;line-height:1.35}.recipient-choice-hint{display:block;margin-top:6px;font-size:.78rem;color:#48564c;font-weight:400}.recipient-info{padding:0 20px 20px}.recipient-info p{margin:7px 0}.recipient-group{font-size:.78rem;font-weight:750;color:var(--accent);letter-spacing:.04em}.recipient-role{font-size:.92rem}.recipient-address{font-size:.88rem}.recipient-info>a{display:inline-block;font-size:.85rem;padding:8px 0;min-height:44px}.composer>div{min-width:0}.composer .eyebrow{margin-bottom:8px}#contact-detail{font-size:1rem;font-weight:650;margin:0 0 22px}.composer input,.composer textarea{min-width:0}

/* Optional campaign presentation: no external fonts, scripts or tracking. */
.topbar{flex-wrap:wrap}.topbar>a:first-child{flex:1;min-width:150px;overflow-wrap:anywhere}.header-timer{text-align:center;order:1;flex:1 1 220px}.topbar>a:nth-child(2){order:3}.share-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;order:2;flex:1 1 250px}.share-tools a,.share-tools button{font-size:.8rem;min-height:44px;padding:8px 10px;border:1px solid #b7c3b9;border-radius:6px;background:#fff;display:inline-flex;align-items:center}.share-tools [hidden]{display:none}.share-tools p{flex-basis:100%;font-size:.8rem;margin:0}.header-timer p{margin:4px 0}.timer-label{font-weight:700}.header-timer time{font-size:.85rem;overflow-wrap:anywhere}#header-countdown{font-variant-numeric:tabular-nums;font-size:1.15rem}.footer-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:24px}.footer-row p{margin:0;overflow-wrap:anywhere}.footer-row>p:last-child{text-align:right}.footer-row>p:first-of-type{text-align:center}.existing-efforts .sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.existing-efforts li{padding:20px;border:1px solid #b7c3b9;border-radius:10px;margin:0}.existing-efforts a{font-weight:700}.existing-efforts p{margin-bottom:0}.campaign-background p{max-width:850px}@media(max-width:700px){.header-timer,.share-tools{flex-basis:100%;text-align:left;justify-content:flex-start}.footer-row{grid-template-columns:1fr;gap:16px}.footer-row>p:first-of-type,.footer-row>p:last-child{text-align:left}}

/* Native filter buttons enhance the static, fully readable contact list. */
.recipient-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.recipient-filters[hidden],.recipient-card[hidden]{display:none}.recipient-filters button{border:1px solid var(--accent);border-radius:999px;padding:9px 15px;background:transparent;color:var(--accent);font:inherit;cursor:pointer}.recipient-filters button[aria-pressed="true"]{background:var(--accent);color:white}.recipient-filters button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Compact header controls; icon buttons retain comfortable touch targets. */
.share-tools .share-icon{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;justify-content:center;color:inherit;text-decoration:none;box-sizing:border-box}
.share-tools .share-icon svg{width:20px;height:20px;flex-shrink:0}
.share-tools .share-icon:focus-visible{outline:3px solid var(--accent,#245844);outline-offset:3px}
.share-tools .share-icon[hidden]{display:none}
.header-timer{flex-basis:200px;font-size:.9rem}
.header-timer p{margin:3px 0}
.header-timer time{font-size:.8rem}
#header-countdown{font-size:1rem;line-height:1.35}
@media(max-width:700px){.header-timer{flex-basis:100%}}

/* The appeal stays before the full contact list, including on narrow screens. */
#appeal-heading{scroll-margin-top:24px}#appeal-form{margin-top:20px}


/* Recipient browsing stays in the composer; cards remain native radio choices. */
.composer{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.recipient-card{cursor:pointer}.recipient-info>a{cursor:pointer}
.recipient-search[hidden],#recipient-options[hidden]{display:none}
.recipient-search{position:relative;margin-bottom:24px}.recipient-search-control{display:flex;gap:8px;min-width:0}.recipient-search-control input{flex:1;min-width:0}.recipient-search-control button{flex:0 0 44px;padding:8px}
#recipient-search-help{margin:0 0 10px}#recipient-search-status{margin:8px 0}
#recipient-options{list-style:none;padding:4px;margin:8px 0 0;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #9ba99e;border-radius:5px}
#recipient-options li{padding:12px;min-height:44px;cursor:pointer;overflow-wrap:anywhere;line-height:1.45;border-radius:3px}
#recipient-options li[aria-selected="true"]{font-weight:750;border-left:3px solid var(--accent,#245844)}
#recipient-options li:hover,#recipient-options li.is-active{background:#e7eee3;outline:2px solid var(--accent,#245844);outline-offset:-2px}
@media(max-width:700px){.composer{grid-template-columns:minmax(0,1fr)}}

/* Native fragment navigation works offline and without JavaScript. */
.source-list>li{scroll-margin-top:24px}.source-list>li:target,.source-list>li:focus{outline:3px solid var(--accent,#245844);outline-offset:6px}.source-citation{white-space:nowrap}
