:root{--af-green:#19c37d;--af-green-dark:#16a34a;--af-green-soft:#e6f8f0;--bg:#fff;--text:#0f172a;--muted:#6b7280;--border:#e5e7eb;--shadow-sm:0 2px 6px rgba(0,0,0,.05);--shadow-md:0 10px 25px rgba(0,0,0,.08);--tint-food:#ecfdf5;--tint-health:#fee2e2;--tint-housing:#eef2ff;--tint-utilities:#f0f9ff;--tint-education:#fff7ed;--tint-income:#f5f3ff;--donate-green:#19c37d;--donate-green-dark:#16a34a;--donate-ring:rgba(25,195,125,.45);--donate-shadow:rgba(25,195,125,.55)}:root[data-theme=dark]{--bg:#0b1220;--text:#e5e7eb;--muted:#94a3b8;--border:#1f2937;--shadow-sm:0 2px 10px rgba(0,0,0,.35);--shadow-md:0 16px 40px rgba(0,0,0,.4)}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}a{color:inherit}img{max-width:100%;height:auto}button,input,select{font-family:inherit}.container{width:min(1100px,92%);margin:0 auto}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border)}.headerRow{justify-content:space-between;padding:10px 0}.brandRow,.headerRow{display:flex;align-items:center}.brandRow{gap:10px}.hero{text-align:center;padding:28px 0 8px}.hero h1{margin:0 0 8px;font-size:clamp(28px,3.5vw,44px);letter-spacing:-.02em}.hero p{margin:0;color:var(--muted);font-size:clamp(14px,1.4vw,18px)}.toolbar{margin-top:8px}.searchInlineForm{width:100%;margin-top:18px}.searchInline{position:relative;width:100%}.searchInlineInput{width:100%;padding:14px 104px 14px 16px;border-radius:16px;border:1px solid var(--border);outline:none;font-size:16px;background:var(--bg);color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.searchInlineInput:focus{border-color:var(--af-green);box-shadow:0 0 0 4px rgba(25,195,125,.18);transform:translateY(-1px)}.searchInlineActions{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;gap:8px;align-items:center}.iconOnly{height:38px;min-width:38px;padding:0 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--af-green);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;transition:background .15s ease,transform .12s ease}.iconOnly:hover{background:rgba(25,195,125,.1);transform:translateY(-1px)}.iconOnly:active{transform:scale(.96)}.filtersRow{justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.filtersRow,.stateSelectWrap{display:flex;align-items:center}.stateSelectWrap{gap:8px;color:var(--muted)}.langSelect{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:9px 12px;transition:border-color .18s ease,box-shadow .18s ease}.langSelect:focus{outline:none;border-color:var(--af-green);box-shadow:0 0 0 4px rgba(25,195,125,.16)}.countRow{margin-top:10px}.muted{color:var(--muted)}.chips{display:flex;gap:8px;overflow:auto;padding:2px 0}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;padding:9px 14px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease}.chip:hover{transform:translateY(-1px)}.chipActive{background:var(--af-green-soft);border-color:rgba(25,195,125,.4);color:#0b3d2b;font-weight:700}:root[data-theme=dark] .chipActive{background:#0f2a22;border-color:#0e3527;color:#c6f0dc}.supportBox{background:linear-gradient(180deg,#f0fdf4,#fff);border:1px solid #d1fae5;border-radius:20px;padding:22px 18px;margin:22px auto;max-width:560px;text-align:center;box-shadow:var(--shadow-md)}:root[data-theme=dark] .supportBox{background:linear-gradient(180deg,rgba(25,195,125,.1),hsla(0,0%,100%,.02));border-color:rgba(25,195,125,.18)}.af-donate{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;background:linear-gradient(135deg,var(--donate-green),var(--donate-green-dark));color:#06281b;font-weight:900;font-size:18px;text-decoration:none;box-shadow:0 14px 30px -10px var(--donate-shadow),inset 0 2px 0 hsla(0,0%,100%,.38);transition:transform .18s ease,box-shadow .25s ease;isolation:isolate}.af-donate__icon{font-size:22px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.af-donate:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 18px 40px -12px var(--donate-shadow),inset 0 2px 0 hsla(0,0%,100%,.45)}.af-donate:active{transform:scale(.97)}.af-donate__sub{font-size:12px;font-weight:700;opacity:.92}.af-donate:after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:2px solid var(--donate-ring);animation:donatePulse 2.6s ease-out infinite;pointer-events:none}@keyframes donatePulse{0%{opacity:.9;transform:scale(.96)}70%,to{opacity:0;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.af-donate:after{animation:none}}@media (max-width:480px){.af-donate{width:100%;justify-content:center;font-size:17px;padding:16px 22px}}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:16px 0 28px}.card{border:1px solid var(--border);background:var(--bg);border-radius:18px;padding:14px;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,transform .18s ease,opacity .48s ease;opacity:0;transform:translateY(16px)}.grid.reveal .card{opacity:1;transform:translateY(0)}.card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 26px rgba(0,0,0,.12)}.card h3{display:flex;align-items:center;gap:6px;margin:6px 0}.card p{color:var(--muted);margin:0}.badge{display:inline-block;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);margin-bottom:8px;color:#0f172a}:root[data-theme=dark] .badge{color:#cbd5e1}.cardActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.apply{background:#111827;color:#fff;border:0;border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:800;transition:transform .12s ease,box-shadow .2s ease}.apply:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.12)}:root[data-theme=dark] .apply{background:#e5e7eb;color:#0b1220}.secondary{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:9px 12px;cursor:pointer;transition:background .15s ease,transform .12s ease}.secondary:hover{background:rgba(25,195,125,.08);transform:translateY(-1px)}.iconBtn{background:transparent;border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .12s ease}.iconBtn:hover{background:rgba(25,195,125,.08);transform:translateY(-1px)}.pulse{animation:pulseAnim .3s ease-in-out}@keyframes pulseAnim{0%{transform:scale(1);opacity:.85}50%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:1}}.menuWrap{position:relative;display:inline-block}.menu{position:absolute;top:100%;left:0;margin-top:6px;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:6px;box-shadow:0 10px 26px rgba(0,0,0,.12);z-index:30}.menu button{width:100%;text-align:left;background:transparent;border:0;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--text)}.menu button:hover{background:rgba(25,195,125,.1)}.empty{text-align:center;padding:32px 0;color:var(--muted)}.emptyArt{font-size:46px;margin-bottom:10px}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40}.modal{position:fixed;inset:auto 0 0 0;margin:auto;top:10%;width:min(680px,92%);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:16px;z-index:50;box-shadow:0 20px 50px rgba(0,0,0,.22)}.modalHeader{display:flex;align-items:center;justify-content:space-between}.modalTitle{margin:.25rem 0 .5rem}.modalBody{color:var(--muted)}.modalActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.closeX{background:transparent;border:0;cursor:pointer;font-size:18px;color:var(--text)}.footer{border-top:1px solid var(--border);text-align:center;padding:18px 0;color:var(--muted)}.footer>div:first-child{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.footer a{font-weight:500;text-decoration:none;color:inherit;white-space:nowrap}.footer span{opacity:.6}@media (max-width:560px){.footer>div:first-child{gap:14px}.footer span{display:none}}