@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ===== Calm palette: white + soft lavender, one purple brand color, coral only for Donate ===== */
:root{
  color-scheme:light dark;
  --bg:#ffffff; --soft:#f7f5fc; --tint:#efeafb; --ink:#26223b; --muted:#5f5a75; --line:#e7e2f2; --card:#ffffff;
  --primary:#6b4fd0; --primary-hover:#5a3fbd; --primary-ink:#ffffff; --link:#5a3fbd;
  --accent:#ec5f55; --accent-hover:#d94d44; --accent-soft:#fdecea;
  --shadow:0 1px 2px rgba(38,34,59,.05),0 8px 24px rgba(38,34,59,.07); --shadow-lg:0 14px 40px rgba(38,34,59,.12);
  --radius:20px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#15131f; --soft:#1b1928; --tint:#242036; --ink:#f2f0f8; --muted:#bbb6cf; --line:#2e2a42; --card:#1e1b2c;
    --primary:#9d86ff; --primary-hover:#b09dff; --primary-ink:#15131f; --link:#b8a8ff;
    --accent:#ff7a70; --accent-hover:#ff8f86; --accent-soft:#3a2026;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35); --shadow-lg:0 14px 40px rgba(0,0,0,.45);
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,"Segoe UI",Roboto,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;overflow-x:hidden}
main{overflow-x:clip;padding-bottom:10px}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,7vw,3.3rem)}
h2{font-size:clamp(1.5rem,4.6vw,2.1rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px;top:0;background:var(--primary);color:var(--primary-ink);padding:8px 14px;border-radius:0 0 12px 0;z-index:50}
.skip:focus{left:0}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--tint);padding:5px 14px;border-radius:999px;margin-bottom:14px}
.lead{font-size:clamp(1.06rem,2.4vw,1.2rem);color:var(--muted);max-width:720px}
.center .lead{margin-left:auto;margin-right:auto}
section{margin-top:40px}

/* header */
.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
@supports not (background:color-mix(in srgb,red 50%,blue)){.site-header{background:var(--bg)}}
.bar{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 14px 2px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.15rem}
.brand-mark{display:inline-flex;background:#fff;border-radius:50%;padding:2px;box-shadow:0 0 0 1px var(--line)}
.brand-mark img{width:38px;height:38px;border-radius:50%}
.more{position:relative}
.more-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .18s ease,transform .18s ease}
.more-btn:hover{background:var(--tint)}
.more-btn svg{fill:currentColor}
.more-btn[aria-expanded="true"]{background:var(--primary);color:var(--primary-ink);border-color:transparent}
.more-menu{position:absolute;right:0;top:52px;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column}
.more-menu[hidden]{display:none}
.more-menu a{padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700}
.more-menu a:hover,.more-menu a:focus-visible{background:var(--tint)}
.tabs{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px 12px 10px}
.tab{text-align:center;text-decoration:none;color:var(--muted);font-weight:800;font-size:.97rem;padding:8px 4px;border-radius:999px;white-space:nowrap;transition:background .18s ease,color .18s ease}
.tab:hover{background:var(--soft);color:var(--ink)}
.tab.is-active{background:var(--tint);color:var(--primary)}
@media (min-width:900px){.tabs{display:flex;justify-content:center;gap:10px}.tab{padding:8px 22px}}
@media (max-width:360px){.tab{font-size:.85rem}.brand{font-size:1rem}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:13px 28px;border-radius:999px;font-weight:800;font-size:1.06rem;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--primary);color:var(--primary-ink)}
.btn-primary:hover{background:var(--primary-hover)}
.btn-soft,.btn-outline{background:transparent;color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,transparent)}
.btn-soft:hover,.btn-outline:hover{background:var(--tint)}
.btn-mint{background:var(--card);color:var(--primary);border-color:var(--primary)}
.btn-mint:hover{background:var(--tint)}
.btn-block{width:100%}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:6px}
.btn-big{flex-direction:column;gap:2px;min-height:104px;border-radius:22px;padding:20px 22px;text-align:center}
.btn-big-title{font-size:1.4rem}
.btn-big-sub{font-weight:600;font-size:.98rem;opacity:.9}
.apply-buttons{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:700px){.apply-buttons{grid-template-columns:1fr 1fr}}
.btn-donate{background:var(--accent);color:#fff;font-size:1.25rem;min-height:62px;padding:14px 44px;margin:8px 0 14px;animation:pulse 2.8s ease-in-out infinite}
.btn-donate:hover{background:var(--accent-hover)}
.btn-donate span{font-size:1.15em;line-height:1;display:inline-block;animation:beat 1.4s ease-in-out infinite}

/* home hero */
.hero{margin-top:0;padding:28px 18px 30px;background:radial-gradient(ellipse at 50% 0%,var(--tint) 0%,transparent 70%),var(--bg)}
.logo-card{max-width:390px;margin:0 auto;background:#fff;border-radius:32px;padding:clamp(8px,2.4vw,20px);box-shadow:var(--shadow-lg);animation:float 7s ease-in-out infinite}
.logo-card img{width:100%}
.intro{text-align:center;margin-top:18px}
.intro .lead{margin:0 auto 1.4em}
.big-head{font-size:clamp(2.1rem,7.4vw,3.4rem);max-width:1000px;margin-left:auto;margin-right:auto}
.hl-yes,.slogan .yes{color:var(--primary)}
.hl-no,.slogan .no{color:inherit}

/* soft band */
.band{padding:48px 0;margin-top:48px;background:var(--soft)}
.band + .band{margin-top:0;background:var(--bg)}

/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr);gap:22px}}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.step h3{margin-bottom:.35em}
.step p{margin:0;color:var(--muted)}
.num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--primary);font-weight:900;font-size:1.1rem;margin-bottom:12px}

/* illustrations: one soft tint family */
.pic{margin:0;position:relative;background:var(--tint);border-radius:24px;padding:18px 14px 12px;display:flex;flex-direction:column;align-items:center;transition:transform .25s ease,box-shadow .25s ease}
.pic:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pic img{height:200px;width:auto;object-fit:contain;animation:float 7s ease-in-out infinite}
.pic:nth-child(2) img{animation-delay:-2.3s}.pic:nth-child(3) img{animation-delay:-4.6s}.pic:nth-child(4) img{animation-delay:-1.2s}.pic:nth-child(5) img{animation-delay:-3.5s}.pic:nth-child(6) img{animation-delay:-5.6s}
.pic.photo img{height:200px;width:200px;object-fit:cover;border-radius:16px;animation:none}
.pic figcaption{margin-top:10px;font-weight:800;color:var(--ink);text-align:center}
.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mini-gallery .pic img{height:clamp(110px,28vw,230px)}
@media (min-width:760px){.mini-gallery{gap:22px}}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px}
.gallery .pic img{height:clamp(120px,34vw,190px)}
.gallery .pic.photo img{height:clamp(120px,34vw,190px);width:clamp(120px,34vw,190px)}
@media (min-width:760px){.gallery{grid-template-columns:repeat(3,1fr);gap:22px}}
.big-sub{margin-bottom:24px}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,34px);box-shadow:var(--shadow);margin-bottom:20px}
.card p:last-child{margin-bottom:0}
.soft-lav,.soft-mint,.soft-sky,.soft-yellow{background:var(--card)}
.card h2{font-size:clamp(1.35rem,4vw,1.75rem)}
.page-head{padding:34px 20px 8px;margin-top:0}
.page-head + section{margin-top:22px}
.plain-steps{padding-left:1.3em;margin:0}
.plain-steps li{margin-bottom:.7em}
.plain-steps li::marker{color:var(--primary);font-weight:800}
.values{list-style:none;padding:0;margin:0}
.values li{display:flex;gap:12px;align-items:flex-start;margin-bottom:.8em}
.v-dot{flex:0 0 10px;height:10px;border-radius:50%;margin-top:.55em;background:var(--primary)}

/* apply info */
.info-box{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,34px)}
.info-box h2{font-size:clamp(1.35rem,4vw,1.75rem)}
.info-grid{display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:16px}
@media (min-width:760px){.info-grid{grid-template-columns:1fr 1fr}}
.info-item{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.info-item h3{margin-bottom:.5em}
.tag{display:inline-block;font-size:.95rem;font-weight:800;color:var(--primary);background:var(--tint);padding:4px 12px;border-radius:999px}
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:28px;margin-bottom:.6em}
.checks li::before{content:"";position:absolute;left:4px;top:.5em;width:12px;height:7px;border-left:3px solid var(--primary);border-bottom:3px solid var(--primary);transform:rotate(-45deg)}
.fine{font-size:.92rem;color:var(--muted)}
.info-box .fine{margin:0}

/* donate */
.donate-hero{margin-top:0;padding:30px 0 0;background:radial-gradient(ellipse at 50% 0%,var(--tint) 0%,transparent 72%),var(--bg)}
.slogan{font-size:clamp(2rem,6.6vw,3.3rem);max-width:880px;margin-left:auto;margin-right:auto}
.donate-box{display:grid;gap:22px;grid-template-columns:1fr;align-items:stretch}
@media (min-width:900px){.donate-box{grid-template-columns:5fr 7fr;gap:28px}}
.donate-art{background:var(--tint);border-radius:28px;display:flex;align-items:center;justify-content:center;gap:2%;padding:26px 20px;min-height:240px;overflow:hidden}
.donate-art img{width:52%;max-width:300px;height:auto;animation:float 7s ease-in-out infinite}
.donate-art img + img{animation-delay:-3.4s;width:44%;max-width:255px}
.donate-card{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-lg);padding:clamp(22px,4vw,36px)}
.donate-card h2{font-size:clamp(1.4rem,4vw,1.9rem);margin-bottom:.3em}
.donate-card .tagline{color:var(--muted);margin-bottom:20px}
.amounts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;padding:0;border:0}
@media (min-width:600px){.amounts{grid-template-columns:repeat(3,1fr)}}
.amount{appearance:none;-webkit-appearance:none;font-family:inherit;text-align:left;cursor:pointer;background:var(--card);color:var(--ink);border:2px solid var(--line);border-radius:16px;padding:14px 14px 13px;display:flex;flex-direction:column;gap:2px;min-height:92px;position:relative;transition:border-color .18s ease,background .18s ease,transform .2s ease,box-shadow .2s ease}
.amount:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}
.amount .amt{font-size:clamp(1.35rem,4.6vw,1.65rem);font-weight:900;line-height:1.1;letter-spacing:-.01em}
.amount .what{font-size:.92rem;color:var(--muted);font-weight:700;line-height:1.25}
.amount[aria-checked="true"]{border-color:var(--primary);background:var(--tint)}
.amount[aria-checked="true"] .amt{color:var(--primary)}
.amount[aria-checked="true"]::after{content:"";position:absolute;right:12px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.donate-card .btn-donate{width:100%;margin:4px 0 12px}
.donate-card .fine{margin:0;text-align:center}
.other-amt{display:none;margin:-4px 0 16px}
.other-amt.show{display:block}
.other-amt label{display:block;font-weight:800;margin-bottom:6px}
.other-amt .money{display:flex;align-items:center;border:2px solid var(--line);border-radius:14px;background:var(--bg);padding:0 14px}
.other-amt .money:focus-within{border-color:var(--primary)}
.other-amt .money span{font-weight:900;color:var(--muted);font-size:1.2rem}
.other-amt input{flex:1;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1.2rem;font-weight:800;padding:12px 8px;min-width:0;outline:none}
.cta-card{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}

/* forms */
.form-card{max-width:760px;margin-left:auto;margin-right:auto}
.field{margin-bottom:16px}
.field label{display:block;font-weight:800;margin-bottom:6px}
.req{color:var(--accent)}
.field input,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}
.field textarea{resize:vertical;min-height:130px}
.field.invalid input,.field.invalid textarea{border-color:var(--accent)}
.consent{display:flex;gap:12px;align-items:flex-start;margin:4px 0 18px;font-size:.95rem;color:var(--muted);cursor:pointer}
.consent input{flex:0 0 auto;width:22px;height:22px;margin:2px 0 0;accent-color:var(--primary);cursor:pointer}
.consent.invalid{color:var(--accent)}
.grant-card{border-top:4px solid var(--primary)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{margin:12px 0 0;font-weight:700;min-height:1em}
.form-status.err{color:var(--accent)}
.form-status.ok{color:var(--primary)}
.form-done{text-align:center;padding:12px 0}
.form-done .big{font-size:2.6rem}

/* legal */
.legal{max-width:800px;margin-top:0}
.legal-head{padding:34px 0 18px}
.legal h2{font-size:1.3rem;margin-top:1.6em}
.legal ul{padding-left:1.2em}
.legal li{margin-bottom:.5em}
.draft-note{background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:12px;padding:14px 16px;font-size:.95rem}

/* footer */
.site-footer{background:var(--soft);border-top:1px solid var(--line);margin-top:56px;padding:34px 20px calc(30px + env(safe-area-inset-bottom))}
.foot-inner{max-width:1100px;margin:0 auto;text-align:center}
.foot-mark{margin:0 auto 10px}
.foot-mark img{width:44px;height:44px}
.foot-line{margin:0 0 6px;color:var(--muted);font-size:.96rem}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:14px 0}
.foot-links a{font-weight:800;text-decoration:none}
.foot-links a:hover{text-decoration:underline}
.copy{margin:0;color:var(--muted);font-size:.9rem}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;font-weight:700;z-index:60;box-shadow:var(--shadow-lg);max-width:calc(100% - 32px);text-align:center}
.toast[hidden]{display:none}
.center-row{justify-content:center}

/* motion */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 40%,transparent)}60%{box-shadow:0 0 0 14px color-mix(in srgb,var(--accent) 0%,transparent)}}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.14)}}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
/* Motion stays on even when the phone asks for reduced motion (owner's request) — only smooth scrolling is turned off */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#give{margin-top:22px}
.donate-hero .lead{margin-bottom:0}
@media (prefers-color-scheme: dark){.pic,.donate-art{background:#e9e4f8}.pic figcaption{color:#26223b}}

/* ===================== v3: soft color + visible motion ===================== */
:root{
  --lav:#efe8fd; --mint:#e2f6ee; --sky:#e3f0fc; --sun:#fff3d4; --peach:#ffe7e2;
  --lav-d:#7b5ce0; --mint-d:#1f9e78; --sky-d:#2f86c9; --sun-d:#c98a00; --peach-d:#e2574c;
  --band-lav:#f5f1fe; --band-mint:#eefaf5;
  --hero-grad:linear-gradient(120deg,#e7dbff 0%,#d6eafd 28%,#d5f4e6 52%,#fff0c8 76%,#ffded8 100%);
}
@media (prefers-color-scheme: dark){
  :root{
    --lav:#2a2346; --mint:#173229; --sky:#172a3e; --sun:#352c16; --peach:#3a2226;
    --lav-d:#b9a6ff; --mint-d:#6fe0b8; --sky-d:#86c6f5; --sun-d:#ffd36b; --peach-d:#ff9a90;
    --band-lav:#1d1930; --band-mint:#152420;
    --hero-grad:linear-gradient(120deg,#2b2350 0%,#1b2b45 28%,#183329 52%,#3a3118 76%,#3c2229 100%);
  }
}
@keyframes drift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-1.5deg)}50%{transform:translateY(-4px) rotate(0)}75%{transform:translateY(-12px) rotate(1.5deg)}}
@keyframes floaty{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.01)}}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(24px,-18px) scale(1.08)}66%{transform:translate(-18px,14px) scale(.95)}}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0);opacity:.9}50%{transform:scale(1.25) rotate(20deg);opacity:1}}
@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}

/* header accents */
.tab.is-active{background:var(--lav);color:var(--lav-d)}
.tab[href="donate.html"]:not(.is-active):hover{background:var(--peach);color:var(--peach-d)}
.site-header{border-bottom:1px solid var(--line);box-shadow:0 2px 0 0 color-mix(in srgb,var(--lav-d) 18%,transparent)}

/* hero: soft pastel gradient that slowly drifts + two soft blobs */
.hero,.donate-hero,.page-head{position:relative;isolation:isolate;overflow:hidden;background:var(--hero-grad);background-size:280% 280%;animation:drift 22s ease-in-out infinite}
.hero::before,.hero::after,.donate-hero::before,.donate-hero::after,.page-head::before,.page-head::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(36px);opacity:.65;animation:blob 14s ease-in-out infinite;pointer-events:none}
.hero::before,.donate-hero::before,.page-head::before{width:260px;height:260px;left:-60px;top:20px;background:#c9b6ff}
.hero::after,.donate-hero::after,.page-head::after{width:240px;height:240px;right:-50px;bottom:-40px;background:#a9e7cf;animation-delay:-6s;animation-duration:17s}
@media (prefers-color-scheme: dark){.hero::before,.donate-hero::before,.page-head::before{background:#5b45b0}.hero::after,.donate-hero::after,.page-head::after{background:#1f6a53}}
.hero{padding:34px 18px 40px;border-radius:0 0 40px 40px}
.logo-card{animation:floaty 5.5s ease-in-out infinite;box-shadow:0 18px 50px rgba(107,79,208,.18)}
.hero .spark,.donate-hero .spark{position:absolute;font-size:22px;line-height:1;animation:twinkle 3.2s ease-in-out infinite;z-index:0;pointer-events:none}
.donate-hero{padding:38px 0 44px;margin-bottom:6px;border-radius:0 0 40px 40px}
.page-head{max-width:none;padding:38px 20px 30px;border-radius:0 0 36px 36px;margin-bottom:8px}
.page-head{padding-left:max(20px,calc((100% - 1060px)/2));padding-right:max(20px,calc((100% - 1060px)/2))}
.page-head .lead{max-width:720px}
.page-head.center .lead{margin-left:auto;margin-right:auto}
.page-head .eyebrow,.donate-hero .eyebrow{background:rgba(255,255,255,.75);color:var(--lav-d)}
@media (prefers-color-scheme: dark){.page-head .eyebrow,.donate-hero .eyebrow{background:rgba(0,0,0,.25)}}
.hl-no,.slogan .no{color:var(--peach-d)}
.hl-yes,.slogan .yes{color:var(--lav-d)}
.hl-yes,.slogan .yes,.hl-no,.slogan .no{display:inline-block;animation:bob 4.5s ease-in-out infinite}
.hl-no,.slogan .no{animation-delay:-2.2s}
.eyebrow{background:var(--lav);color:var(--lav-d)}

/* buttons: lift + shine */
.btn{position:relative;overflow:hidden}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn-primary{background:linear-gradient(135deg,#7b5ce0,#5a3fbd);box-shadow:0 6px 18px rgba(107,79,208,.28)}
@media (prefers-color-scheme: dark){.btn-primary{background:linear-gradient(135deg,#a38cff,#8a6ff5)}}
.btn-primary::after,.btn-donate::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.btn-donate{background:linear-gradient(135deg,#ff7d6e,#ec5f55);box-shadow:0 8px 22px rgba(236,95,85,.3)}
.btn-soft{background:var(--peach);color:var(--peach-d);border-color:transparent}
.btn-soft:hover{background:var(--peach)}
.btn-mint{background:var(--mint);color:var(--mint-d);border-color:color-mix(in srgb,var(--mint-d) 45%,transparent)}
.btn-mint:hover{background:var(--mint)}

/* steps band: soft lavender, each card its own pastel */
.band{background:var(--band-lav)}
.band + .band{background:var(--band-mint)}
.band-steps{border-radius:36px;margin-left:10px;margin-right:10px}
.band-kids{border-radius:36px;margin:14px 10px 0}
.step{border:0;position:relative;overflow:hidden}
.step.s1{background:var(--peach)}.step.s2{background:var(--sky)}.step.s3{background:var(--mint)}
.step.s1 .num{background:var(--peach-d)}.step.s2 .num{background:var(--sky-d)}.step.s3 .num{background:var(--mint-d)}
.step .num{color:#fff;width:46px;height:46px;font-size:1.2rem;box-shadow:0 6px 14px rgba(0,0,0,.12)}
@media (prefers-color-scheme: dark){.step .num{color:#15131f}}
.step:hover .num{animation:pop .5s ease}
.step p{color:var(--ink);opacity:.82}
.step::after{content:"";position:absolute;right:-26px;bottom:-26px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.45)}
@media (prefers-color-scheme: dark){.step::after{background:rgba(255,255,255,.05)}}

/* illustration tiles: alternating soft pastels, kids bob */
.pic{background:var(--lav)}
.pic:nth-child(5n+2){background:var(--sky)}
.pic:nth-child(5n+3){background:var(--sun)}
.pic:nth-child(5n+4){background:var(--mint)}
.pic:nth-child(5n+5){background:var(--peach)}
.pic img{animation:bob 5s ease-in-out infinite;transform-origin:50% 90%}
.pic:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:var(--shadow-lg)}
@media (prefers-color-scheme: dark){
  .pic{background:#ece6fb}.pic:nth-child(5n+2){background:#e1eefb}.pic:nth-child(5n+3){background:#fff1cf}.pic:nth-child(5n+4){background:#dcf4ea}.pic:nth-child(5n+5){background:#ffe3de}
  .donate-art{background:linear-gradient(140deg,#e1eefb,#dcf4ea)}
}
.donate-art{background:linear-gradient(140deg,var(--sky),var(--mint));position:relative}
.donate-art img{animation:bob 5s ease-in-out infinite}
.donate-art img + img{animation-delay:-2.5s}

/* donate tiles: a soft color touch */
.amount{border-color:var(--line)}
.amount:nth-child(1){border-top:4px solid #b9a3f5}.amount:nth-child(2){border-top:4px solid #8cc9f2}.amount:nth-child(3){border-top:4px solid #86dcbb}
.amount:nth-child(4){border-top:4px solid #ffd26e}.amount:nth-child(5){border-top:4px solid #ffa08f}.amount:nth-child(6){border-top:4px solid #c9c3d9}
.amount[aria-checked="true"]{background:var(--lav);border-color:var(--lav-d)}
.amount[aria-checked="true"] .amt{color:var(--lav-d)}
.donate-card{border:0;box-shadow:0 18px 50px rgba(107,79,208,.14)}

/* about cards + values: pastel tints */
.card.soft-lav{background:var(--lav);border:0}.card.soft-mint{background:var(--mint);border:0}.card.soft-sky{background:var(--sky);border:0}.card.soft-yellow{background:var(--sun);border:0}
.card.soft-lav h2{color:var(--lav-d)}.card.soft-mint h2{color:var(--mint-d)}.card.soft-sky h2{color:var(--sky-d)}.card.soft-yellow h2{color:var(--sun-d)}
@media (prefers-color-scheme: light){.card.soft-yellow h2{color:#9a6a00}.card.soft-mint h2{color:#16805f}}
.card{transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.v-dot{width:14px;height:14px;flex-basis:14px;animation:twinkle 3s ease-in-out infinite}
.v-dot.coral{background:var(--peach-d)}.v-dot.yellow{background:#f2b705}.v-dot.mint{background:var(--mint-d)}.v-dot.lav{background:var(--lav-d)}.v-dot.sky{background:var(--sky-d)}
.values li:nth-child(2) .v-dot{animation-delay:-.6s}.values li:nth-child(3) .v-dot{animation-delay:-1.2s}.values li:nth-child(4) .v-dot{animation-delay:-1.8s}.values li:nth-child(5) .v-dot{animation-delay:-2.4s}

/* apply info box */
.info-box{background:var(--band-lav);border:0}
.info-item{border:0}
.info-grid .info-item:nth-child(1){background:var(--card);border-top:5px solid var(--lav-d)}
.info-grid .info-item:nth-child(2){background:var(--card);border-top:5px solid var(--mint-d)}
.form-card{border-top:5px solid var(--lav-d)}
.grant-card{border-top-color:var(--mint-d)}
.draft-note{background:var(--sun);border-left-color:var(--sun-d)}

/* footer */
.site-footer{background:var(--band-lav)}
.foot-mark{animation:floaty 6s ease-in-out infinite}

/* scroll reveal: slide + fade, a bit more noticeable */
.js .reveal{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .75s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .pic.reveal{transform:translateY(40px) scale(.92)}
@media (prefers-reduced-motion:reduce){.js .reveal{transition-duration:.55s,.6s}}

/* Apply hero photo + side-by-side buttons (Nov 8) */
.apply-hero{position:relative;border-radius:28px;overflow:hidden;background:#eee url("img/hands-heart.jpg") center/cover no-repeat !important;padding:56px 22px !important;min-height:300px;display:flex;flex-direction:column;justify-content:center}
.apply-hero::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.62);z-index:0}
.apply-hero>*{position:relative;z-index:1}
.apply-hero h1,.apply-hero .lead{text-shadow:0 1px 8px rgba(255,255,255,.9)}
@media (prefers-color-scheme:dark){.apply-hero::before{background:rgba(20,18,30,.62)}.apply-hero h1,.apply-hero .lead{text-shadow:0 1px 8px rgba(0,0,0,.8)}}
.apply-buttons{display:grid !important;grid-template-columns:1fr 1fr;gap:12px;max-width:640px;margin-left:auto;margin-right:auto}
.apply-buttons .btn-big{padding:14px 10px !important;min-height:0 !important;border-radius:16px}
.apply-buttons .btn-big-title{font-size:1.05rem !important}
.apply-buttons .btn-big-sub{font-size:.8rem !important;line-height:1.25}
.apply-hero .eyebrow{align-self:center}
