@font-face{font-family:"Fraunces";src:url(fonts/fraunces.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter.woff2) format("woff2");font-weight:400 600;font-display:swap}
:root{--night:#0e1b33;--night2:#16284a;--glow:#c4ff70;--glow-soft:rgba(196,255,112,.55);--sun:#f6a623;--coral:#ef6f45;--cream:#fdf6ec;--sand:#f6ead8;--ink:#1d2433;--muted:#4f5a6b;--blue:#0066ab;--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:1.0625rem}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.15;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,6.5vw,3.6rem)}
h2{font-size:clamp(1.6rem,4.5vw,2.4rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.narrow{max-width:760px}
.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--sun);color:var(--night);padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.small{font-size:.9rem;color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:600;color:var(--glow);margin-bottom:.8rem}
.eyebrow.dark{color:var(--coral)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,246,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(14,27,51,.08)}
.header-row{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:1rem}
.brand img{width:92px;height:auto}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;cursor:pointer;border-radius:12px}
.bars,.bars::before,.bars::after{display:block;width:24px;height:2.5px;background:var(--night);border-radius:2px;position:relative;transition:.25s}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-7px}.bars::after{top:7px}
.nav-open .bars{background:transparent}
.nav-open .bars::before{top:0;transform:rotate(45deg)}
.nav-open .bars::after{top:0;transform:rotate(-45deg)}
.site-nav{position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid rgba(14,27,51,.1);padding:.5rem 1.25rem 1.25rem;display:none}
.nav-open .site-nav{display:block}
.site-nav ul{list-style:none;margin:0 0 1rem;padding:0}
.site-nav li a{display:block;padding:.8rem .25rem;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid rgba(14,27,51,.07)}
.site-nav a[aria-current=page]{color:var(--coral)}
@media(min-width:900px){
 .nav-toggle{display:none}
 .site-nav{position:static;display:flex;align-items:center;gap:1.5rem;padding:0;border:0;background:none}
 .site-nav ul{display:flex;gap:1.6rem;margin:0}
 .site-nav li a{border:0;padding:.4rem 0;font-size:.98rem}
 .site-nav li a:hover{color:var(--coral)}
 .site-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--coral)}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid transparent;transition:transform .15s,box-shadow .2s,background .2s;cursor:pointer;font-size:1rem;line-height:1.2;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-donate{background:linear-gradient(135deg,var(--sun),var(--coral));color:#1b1206;box-shadow:0 6px 22px rgba(239,111,69,.35)}
.btn-donate:hover{box-shadow:0 10px 30px rgba(239,111,69,.5),0 0 0 4px rgba(246,166,35,.18)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{border-color:var(--glow);color:var(--glow)}
.btn-dark{background:var(--night);color:#fff}
.btn-dark:hover{background:var(--night2)}
.btn-sm{padding:.6rem 1.2rem;font-size:.95rem}
.btn-lg{padding:1rem 1.9rem;font-size:1.08rem}
.btn-block{display:flex;width:100%}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.site-nav .btn-donate{width:100%}
@media(min-width:900px){.site-nav .btn-donate{width:auto}}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 80% 110%,#3a2a4a 0%,rgba(58,42,74,0) 55%),radial-gradient(90% 70% at 10% 0%,#1f3766 0%,rgba(31,55,102,0) 60%),var(--night);color:#eef2fa;padding:4.5rem 0 7.5rem}
.stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff9,transparent),radial-gradient(1px 1px at 70% 20%,#fff8,transparent),radial-gradient(1.5px 1.5px at 85% 55%,#fff7,transparent),radial-gradient(1px 1px at 40% 70%,#fff6,transparent),radial-gradient(1px 1px at 55% 40%,#fff7,transparent),radial-gradient(1.5px 1.5px at 10% 80%,#fff6,transparent),radial-gradient(1px 1px at 92% 12%,#fff8,transparent);opacity:.8}
.hero-inner{position:relative;z-index:2;max-width:940px}
.motto{font-size:clamp(2.3rem,7.4vw,4.4rem);color:#fff;margin-bottom:1.2rem}
.glow{color:var(--glow);text-shadow:0 0 18px var(--glow-soft),0 0 42px rgba(196,255,112,.35)}
.lede{font-size:1.15rem;color:inherit;opacity:.9;max-width:640px}
.page-hero .lede{color:#dfe6f3}
.bands{position:absolute;right:-60px;bottom:-70px;width:340px;height:260px;z-index:1;opacity:.9}
.band{position:absolute;border-radius:50%;border:14px solid;width:210px;height:120px;transform:rotate(-18deg)}
.b1{border-color:#c4ff70;box-shadow:0 0 24px rgba(196,255,112,.6),inset 0 0 18px rgba(196,255,112,.45);left:0;top:40px}
.b2{border-color:#7ee7ff;box-shadow:0 0 24px rgba(126,231,255,.55),inset 0 0 18px rgba(126,231,255,.4);left:60px;top:80px}
.b3{border-color:#ffb55e;box-shadow:0 0 24px rgba(255,181,94,.55),inset 0 0 18px rgba(255,181,94,.4);left:20px;top:125px}
.b4{border-color:#ff8fc8;box-shadow:0 0 24px rgba(255,143,200,.5),inset 0 0 18px rgba(255,143,200,.35);left:95px;top:0}
@media(min-width:900px){.hero{padding:7rem 0 8rem}.bands{right:4%;bottom:14%;width:360px;height:300px}}
@media(max-width:600px){.bands{opacity:.4;right:-110px;bottom:-120px}.hero{padding-bottom:5.5rem}}

/* sections */
.section{padding:4rem 0}
.section.alt,.program.alt{background:var(--sand)}
.split{display:grid;gap:2.5rem;align-items:center}
@media(min-width:860px){.split{grid-template-columns:1.4fr 1fr;gap:4rem}}
.founder{margin:0;justify-self:center;max-width:280px}
.founder img{border-radius:var(--radius);box-shadow:0 18px 40px rgba(14,27,51,.18);width:100%}
.founder figcaption{margin-top:.8rem}
.mission{background:var(--night);color:#fff}
.mission blockquote{margin:0}
.mission blockquote p{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.5rem,4.2vw,2.3rem);line-height:1.3;margin:0}
.glow-text{color:var(--glow);text-shadow:0 0 16px var(--glow-soft)}
.cards{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1.5rem}
.card{background:#fff;border-radius:var(--radius);padding:1.6rem;box-shadow:0 2px 0 rgba(14,27,51,.04),0 10px 30px rgba(14,27,51,.07);display:flex;flex-direction:column}
.card p{color:var(--muted)}
.card .more{margin-top:auto;font-weight:600;color:var(--coral);text-decoration:none}
.card .more::after{content:" \2192"}
.give-band{background:linear-gradient(135deg,#fff1dc,#ffe0cf)}
.give-row{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
@media(min-width:800px){.give-row{flex-direction:row;align-items:center;justify-content:space-between}.give-row>div{max-width:620px}}
.merch-row{display:flex;flex-direction:column;gap:2rem;align-items:center}
@media(min-width:800px){.merch-row{flex-direction:row;gap:4rem}}
.bands-inline{position:relative;right:auto;bottom:auto;flex:none;width:300px;height:230px;background:var(--night);border-radius:24px;opacity:1}
.bands-inline .band{width:170px;height:96px;border-width:12px}
.bands-inline .b1{left:30px;top:50px}.bands-inline .b2{left:80px;top:85px}.bands-inline .b3{left:40px;top:120px}.bands-inline .b4{left:105px;top:22px}

/* page hero */
.page-hero{background:var(--night);color:#fff;padding:3.5rem 0 3rem}
.page-hero h1{color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.chips a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.3);padding:.45rem .9rem;border-radius:999px;font-size:.92rem}
.chips a:hover{border-color:var(--glow);color:var(--glow)}
.program{scroll-margin-top:80px}
.questions{background:var(--night);color:#fff;border-radius:var(--radius);padding:1.6rem 1.8rem;margin:1.5rem 0}
.questions ol{margin:0;padding-left:1.3rem}
.questions li{margin:.4rem 0;font-size:1.1rem}
.questions li::marker{color:var(--glow);font-weight:700}
.ticks{list-style:none;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 1.2rem}
.ticks li{background:#fff;border-radius:12px;padding:.7rem 1rem;font-weight:600}
.ticks li::before{content:"\2726  ";color:var(--coral)}
.pull{font-family:"Fraunces",Georgia,serif;font-size:1.4rem;line-height:1.35}
details{background:#fff;border-radius:14px;margin:.7rem 0;padding:0 1.2rem;box-shadow:0 4px 16px rgba(14,27,51,.06)}
summary{cursor:pointer;font-weight:600;padding:1rem 0;list-style-position:inside}
details[open] summary{color:var(--coral)}
details p{color:var(--muted)}

/* placeholders */
.todo{display:block;background:#fff6d8;border:2px dashed #e0a800;color:#5a4300;border-radius:12px;padding:.8rem 1rem;font-size:.95rem;margin:1rem 0}
.todo strong{color:#7a5a00}

/* gallery */
.album{margin-top:2.5rem;font-size:1.5rem}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
@media(min-width:700px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{margin:0;aspect-ratio:1;border-radius:14px;background:repeating-linear-gradient(45deg,#efe2cc,#efe2cc 10px,#f5ebdb 10px,#f5ebdb 20px);display:flex;align-items:center;justify-content:center;color:#8a7552;font-weight:600;font-size:.9rem;overflow:hidden}
.tile.photo img{width:100%;height:100%;object-fit:cover}
.logo-tile{background:#fff}
.logo-tile img{object-fit:contain!important;padding:12%}

/* donate */
.donate-box{display:grid;gap:2rem;align-items:center}
@media(min-width:860px){.donate-box{grid-template-columns:1fr 1fr;gap:4rem}}
.donate-card{background:var(--night);color:#fff;border-radius:24px;padding:1.8rem;box-shadow:0 0 0 1px rgba(196,255,112,.25),0 20px 50px rgba(14,27,51,.3)}
.donate-label{font-weight:600;margin-bottom:.8rem}
.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}
.amount{display:block;text-align:center;padding:.85rem 0;border-radius:12px;border:1.5px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-weight:600;font-size:1.1rem}
.amount:hover{border-color:var(--glow);color:var(--glow);box-shadow:0 0 14px rgba(196,255,112,.3)}
.donate-card .small{color:#c9d2e3;margin:.9rem 0 0}
.taxnote{background:#fff;border-left:4px solid var(--sun);padding:.9rem 1rem;border-radius:8px}
.three{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}

/* contact */
.contact-grid{display:grid;gap:1.2rem}
@media(min-width:800px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-grid h2{font-size:1.3rem;margin-top:.4rem}
.big-link{font-size:1.2rem;font-weight:600;word-break:break-word}

/* social */
.social{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0}
.social a{display:inline-flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#fff;transition:.2s}
.social a:hover{background:var(--glow);color:var(--night);box-shadow:0 0 16px var(--glow-soft)}
.social svg{width:20px;height:20px;fill:currentColor}
.social-lg a{width:52px;height:52px;background:var(--night)}
.social-lg svg{width:24px;height:24px}

/* footer */
.site-footer{background:#0a1426;color:#c9d2e3;padding:3.5rem 0 1.5rem;font-size:.97rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;gap:2rem}
@media(min-width:800px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}}
.footer-logo{width:120px;background:var(--cream);border-radius:14px;padding:10px}
.motto-sm{font-family:"Fraunces",Georgia,serif;color:var(--glow);margin-top:1rem;font-size:1.1rem}
.footer-h{font-family:"Inter",sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;color:#fff;margin-bottom:.8rem}
.site-footer .small{color:#9aa6bc}
.footer-base{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;font-size:.88rem}
.footer-nav{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:0;padding:0}
.footer-nav a{text-decoration:none;color:#c9d2e3}
.footer-base p{margin:0}

/* toast */
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);background:var(--night);color:#fff;padding:.9rem 1.3rem;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.3),0 0 0 1px rgba(196,255,112,.35);z-index:200;width:min(420px,calc(100% - 2rem));text-align:center}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
