:root{--forest:#163300;--forest-2:#214708;--green:#00843d;--lime:#9fe870;--lime-deep:#d9ffc2;--ink:#142116;--body:#3c4a40;--mute:#667268;--paper:#eef3ea;--white:#ffffff;--line:#d5dece;--danger:#8d2b2b;--shadow:0 18px 50px rgba(22,51,0,0.12);--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%}button,input,select{font:inherit;color:inherit}a{color:inherit}#give,#roll,#why{scroll-margin-top:92px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:76px;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(22,51,0,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.logo,.nav{display:flex;align-items:center}.logo{gap:.75rem;text-decoration:none;font-weight:700;letter-spacing:-.02em}.footer small,.house-count small,.logo small,td small{display:block;font-weight:600;color:var(--mute);letter-spacing:0;font-size:.78rem}.logo-mark{width:56px;height:56px;border-radius:50%;object-fit:cover;background:white;box-shadow:0 0 0 2px rgba(255,255,255,.85)}.nav nav{display:flex;align-items:center;gap:1.25rem}.btn-as-link,.nav nav a{text-decoration:none;font-weight:600;color:var(--body)}.btn-as-link,.nav-cta{background:var(--lime);color:var(--forest)!important;border:0;border-radius:999px;padding:.55rem 1rem;cursor:pointer}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:2.5rem;gap:2.5rem;align-items:center;padding:4.5rem 6vw 4rem;background:radial-gradient(900px 420px at 10% -10%,rgba(159,232,112,.18),transparent 55%),repeating-linear-gradient(-45deg,rgba(159,232,112,.05) 0 10px,transparent 10px 22px),var(--forest);color:#f4f8ef}.eyebrow,.kicker,.meter-kicker{margin:0 0 .8rem;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}h1,h2,h3{font-family:var(--sans);font-weight:800;letter-spacing:-.03em}.hero h1{margin:0;font-size:clamp(2.7rem,6vw,5rem);line-height:.98;max-width:11ch}.band p,.card p,.lede,.section-head p{color:var(--body);font-size:1.12rem}.hero .lede{color:rgba(244,248,239,.86);max-width:38rem;margin:1.25rem 0 0}.hero-actions,.trust{display:flex;flex-wrap:wrap;gap:.8rem}.hero-actions{margin-top:1.6rem}.trust{margin:1.5rem 0 0;padding:0;list-style:none;color:rgba(244,248,239,.78);font-size:.95rem}.trust li{display:flex;align-items:center;gap:.45rem}.trust li:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--lime)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.3rem;font-weight:700;text-decoration:none;border:1.5px solid transparent;cursor:pointer}.btn-primary{background:var(--lime);color:var(--forest)}.btn-primary:hover{background:var(--lime-deep)}.btn-ghost{color:#f4f8ef;border-color:rgba(244,248,239,.35)}.btn-ghost:hover{border-color:white}.btn-secondary{background:white;color:var(--forest);border-color:var(--line)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.meter{background:white;color:var(--ink);border-radius:var(--radius);padding:1.6rem 1.5rem 1.3rem;box-shadow:var(--shadow)}.meter-kicker{color:var(--green)}.meter-raised{margin:0;font-family:var(--sans);font-weight:800;font-size:clamp(2.6rem,5vw,3.6rem);line-height:.95;letter-spacing:-.04em}.meter-of{display:flex;justify-content:space-between;gap:1rem;margin:.35rem 0 .9rem;color:var(--mute);font-weight:600}.bar{height:14px;border-radius:999px;background:#e5eedd;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--lime));width:0;transition:width .7s ease}.meter-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;margin:1.1rem 0 .4rem}.meter-stats div{background:var(--paper);border-radius:16px;padding:.75rem .7rem}.meter-stats dt{color:var(--mute);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.meter-stats dd{margin:.15rem 0 0;font-family:var(--sans);font-weight:800;font-size:1.45rem}.fine,.meter-note,.note{color:var(--mute);font-size:.92rem}.meter-note{margin:.8rem 0 0}.section{padding:4.2rem 6vw}.section-head{text-align:center;max-width:40rem;margin:0 auto 2rem}.section-head.left{text-align:left;margin-left:0}.admin h1,.band h2,.form-card h1,.section-head h2{margin:0 0 .45rem;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.section-head p{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;max-width:1080px;margin:0 auto}.card{background:white;border-radius:24px;padding:1.5rem 1.35rem 1.4rem;border:1px solid rgba(22,51,0,.06);box-shadow:0 8px 24px rgba(22,51,0,.04)}.card h3{margin:0 0 .45rem;font-size:1.55rem}.card h3:before{content:"";display:block;width:2.25rem;height:4px;margin-bottom:.8rem;border-radius:99px;background:var(--green)}.card p{margin:0}.band{background:white}.band-inner{max-width:1080px;margin:0 auto;padding:4rem 6vw;display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:2.5rem;gap:2.5rem}.band p{margin:0}.steps{margin:.4rem 0 0;padding-left:1.2rem;color:var(--body)}.steps li{margin:.55rem 0;padding-left:.25rem}.steps li::marker{color:var(--green);font-weight:700}.form-card{max-width:680px;margin:0 auto;background:white;border-radius:var(--radius);padding:1.6rem 1.4rem 1.2rem;box-shadow:var(--shadow)}fieldset{border:0;margin:0 0 1rem;padding:0}legend{font-weight:700;margin-bottom:.55rem}.amounts{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.5rem;gap:.5rem}.amounts button,.choice label{border:1.5px solid var(--line);background:white;border-radius:14px;padding:.75rem .4rem;font-weight:700;cursor:pointer}.amounts button.is-on,.choice label.is-on{background:var(--forest);color:var(--lime);border-color:var(--forest)}.custom-amount,.field,.roll-tools label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:700}.donate>.field{margin-bottom:.85rem}.custom-amount input,.field input,.field select,.roll-tools input,.roll-tools select{width:100%;border:1.5px solid var(--line);background:#fbfcf9;border-radius:14px;padding:.8rem .85rem;font-weight:600}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:.85rem}.custom-amount{margin-top:.75rem;font-weight:650}.choice{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.choice label{position:relative;text-align:center}.choice label:focus-within{outline:3px solid var(--forest);outline-offset:2px}.choice input{position:absolute;opacity:0;inset:0}.form-error{background:#fdecec;color:var(--danger);border-radius:12px;padding:.7rem .8rem;font-weight:650}.fine{margin:.75rem 0 0}.center{text-align:center}.note{margin:-.2rem 0 .9rem;background:var(--paper);border-radius:12px;padding:.7rem .8rem}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.receipt h3{margin:.2rem 0;font-size:2.1rem}.receipt-amount{font-family:var(--sans);font-weight:800;font-size:2.4rem;margin:.2rem 0}.reference{color:var(--mute);font-size:.92rem}.houses{list-style:none;margin:0 auto;padding:0;max-width:820px}.houses li{display:grid;grid-template-columns:9.5rem 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;margin:.45rem 0}.house-name{font-weight:700}.house-track{height:10px;background:#e1eadb;border-radius:999px;overflow:hidden}.house-track i{display:block;height:100%;background:var(--green)}.house-count{text-align:right;font-weight:700;min-width:5.5rem}.roll-tools{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:.75rem;gap:.75rem;max-width:820px;margin:0 auto 1rem}.roll{list-style:none;margin:0 auto;padding:0;max-width:820px;background:white;border-radius:24px;overflow:hidden;border:1px solid rgba(22,51,0,.06)}.roll li{display:flex;justify-content:space-between;gap:1rem;padding:.95rem 1.1rem;border-top:1px solid var(--line)}.roll li:first-child{border-top:0}.roll li.is-new{background:#f3fbe9}.roll strong,.roll-money b{display:block}.roll span,.roll time{color:var(--mute);font-size:.92rem}.roll-money{text-align:right}.empty{text-align:center;color:var(--body);background:white;border-radius:20px;padding:1.5rem;max-width:820px;margin:0 auto}.footer{display:grid;grid-template-columns:1.2fr 1fr .8fr;grid-gap:1.5rem;gap:1.5rem;padding:2.2rem 6vw 2.6rem;background:var(--forest);color:#f4f8ef}.footer p{margin:.3rem 0 0;color:rgba(244,248,239,.78)}.motto{font-size:1.6rem;font-weight:800;margin:0}.motto,.motto span{font-family:var(--sans)}.motto span{display:block;font-style:normal;font-size:.95rem;color:rgba(244,248,239,.75)}.footer-links{display:grid;justify-items:end;grid-gap:.35rem;gap:.35rem}.footer-links a{color:var(--lime);font-weight:700;text-decoration:none}.footer small{color:rgba(244,248,239,.65)}.admin{min-height:100vh}.admin-login{margin-top:2rem}.admin-login h1{font-size:2.4rem}.admin-actions{max-width:1080px;margin:0 0 1rem}.table-wrap{overflow-x:auto;background:white;border-radius:20px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:760px}td,th{text-align:left;padding:.8rem .9rem;vertical-align:top;border-bottom:1px solid var(--line)}th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}.status{display:inline-block;border-radius:999px;padding:.1rem .5rem;background:var(--paper);font-weight:700;text-transform:capitalize}.status-paid{background:var(--lime);color:var(--forest)}.status-failed,.status-mismatch{background:#fdecec;color:var(--danger)}:focus-visible{outline:3px solid var(--forest);outline-offset:2px}.footer :focus-visible,.hero :focus-visible{outline-color:var(--lime)}@media (max-width:900px){.band-inner,.cards,.footer,.hero{grid-template-columns:1fr}.hero{padding:2.6rem 1.25rem 2rem}.hero h1{max-width:none}.band-inner,.section{padding-left:1.25rem;padding-right:1.25rem}.nav nav a:not(.nav-cta){display:none}.amounts,.choice,.roll-tools,.split{grid-template-columns:1fr 1fr}.amounts{grid-template-columns:repeat(3,1fr)}.footer-links{justify-items:start}.houses li{grid-template-columns:7.2rem 1fr auto}}@media (max-width:560px){.choice,.meter-stats,.split{grid-template-columns:1fr}.amounts{grid-template-columns:1fr 1fr}.houses li{grid-template-columns:1fr auto}.house-track{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bar span{transition:none}}