:root{--a-bg: #fff9f2;--a-ink: #1a2a4a;--a-ink-soft: #4a5878;--a-paper: #ffffff;--a-red: #d23a3a;--a-red-deep: #a82828;--a-blue: #1e4a8c;--a-blue-deep: #0f2e5c;--a-gold: #f5b942;--a-cream: #fdf1dd;--a-mint: #d7e8d0;--a-peach: #ffe4d1;--a-border: #e8dfd0;--bg: var(--a-bg);--ink: var(--a-ink);--ink-soft: var(--a-ink-soft);--paper: var(--a-paper);--red: var(--a-red);--red-deep: var(--a-red-deep);--blue: var(--a-blue);--blue-deep: var(--a-blue-deep);--gold: var(--a-gold);--cream: var(--a-cream);--mint: var(--a-mint);--peach: var(--a-peach);--border: var(--a-border);--radius: 20px;--radius-sm: 12px;--display-font: "Fraunces", Georgia, serif;--script-font: "Caveat", cursive}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:DM Sans,-apple-system,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}.wrap{max-width:1200px;margin:0 auto;padding:0 28px}.topbar{background:var(--blue);color:#fff;font-size:13px;padding:8px 0}.topbar .wrap{display:flex;gap:20px;align-items:center;justify-content:space-between}.topbar-left{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.topbar-left span{display:inline-flex;gap:6px;align-items:center;opacity:.92}.topbar-left .dot{width:4px;height:4px;border-radius:50%;background:#ffffff80}.topbar a{text-decoration:none;opacity:.92}.topbar a:hover{opacity:1;text-decoration:underline}nav.main{background:var(--paper);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}nav.main .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;gap:20px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}.brand-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--display-font);font-weight:800;font-size:22px;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--red);flex-shrink:0;overflow:hidden}.brand-mark img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.brand-txt-main{font-family:var(--display-font);font-weight:700;font-size:20px;line-height:1.1;letter-spacing:-.01em}.brand-txt-sub{font-size:12px;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.nav-links{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.nav-links button{padding:8px 14px;color:var(--ink);font-size:14px;font-weight:500;border-radius:999px;transition:background .15s}.nav-links button:hover{background:var(--cream)}.nav-links button.active{background:var(--blue);color:#fff}.btn-join{background:var(--red);color:#fff;padding:10px 20px;border-radius:999px;font-weight:600;font-size:14px;box-shadow:0 2px 0 var(--red-deep);transition:transform .1s,box-shadow .1s}.btn-join:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--red-deep)}main{min-height:60vh}section{padding:80px 0}section.tight{padding:48px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:700}.eyebrow:before{content:"";width:24px;height:2px;background:var(--red)}h1.display,h2.display{font-family:var(--display-font);font-weight:700;letter-spacing:-.02em;line-height:1.05;color:var(--ink);margin:0}h1.display{font-size:clamp(44px,6vw,76px)}h2.display{font-size:clamp(32px,4vw,48px)}.script{font-family:var(--script-font);font-weight:600;color:var(--red);font-style:italic}.lead{font-size:18px;line-height:1.55;color:var(--ink-soft)}.ph{position:relative;background:var(--cream);border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;color:var(--ink-soft);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.ph:after{content:attr(data-label);position:absolute;bottom:12px;left:14px;padding:4px 10px;background:#ffffffd9;border-radius:999px;font-weight:600;color:var(--ink);font-size:11px}.illus{width:100%;height:100%;display:block}.hero{padding-top:56px;padding-bottom:48px;position:relative}.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative;z-index:1}.hero:before{content:"";position:absolute;top:40px;right:-120px;width:360px;height:360px;background:radial-gradient(circle,var(--peach) 0%,transparent 70%);z-index:0;pointer-events:none}.hero:after{content:"";position:absolute;bottom:-40px;left:-80px;width:280px;height:280px;background:radial-gradient(circle,var(--mint) 0%,transparent 70%);z-index:0;pointer-events:none}.hero h1{margin-top:18px}.hero .lead{margin-top:20px;max-width:520px}.hero-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.hero.centered{text-align:center}.hero.centered .wrap{grid-template-columns:1fr;max-width:820px}.hero.centered .eyebrow{justify-content:center}.hero.centered .lead{margin:24px auto 0;max-width:580px}.hero.centered .hero-ctas,.hero.centered .hero-stats{justify-content:center}.mascot-badge{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;background:var(--paper);border:1.5px solid var(--border);border-radius:999px;box-shadow:0 8px 20px -12px #1a2a4a40;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}.mascot-badge img{width:34px;height:34px;border-radius:50%;background:var(--red);padding:2px;object-fit:contain;flex-shrink:0}.hero.centered .mascot-badge{margin-left:auto;margin-right:auto}.paw-trail{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.paw-trail .paw{position:absolute;opacity:.14;filter:drop-shadow(0 2px 0 rgba(168,40,40,.15))}.paw-trail .paw-1{top:12%;left:6%}.paw-trail .paw-2{top:22%;right:10%}.paw-trail .paw-3{top:58%;left:12%}.paw-trail .paw-4{bottom:8%;right:14%;opacity:.1}.paw-trail .paw-5{bottom:28%;left:48%;opacity:.09}.paw-bullets li:before{content:"";background:var(--gold) url(/images/paw-red.svg) center / 58% no-repeat}.volunteer{position:relative;overflow:hidden}.volunteer:before,.volunteer:after{content:"";position:absolute;background:url(/images/paw-red.svg) center / contain no-repeat;opacity:.07;pointer-events:none}.volunteer:before{width:140px;height:140px;top:60px;right:-20px;transform:rotate(22deg)}.volunteer:after{width:90px;height:90px;bottom:40px;left:4%;transform:rotate(-28deg)}.vol-intro,.vol-grid{position:relative;z-index:1}.donate:after{content:"";position:absolute;width:220px;height:220px;right:-40px;bottom:-40px;background:url(/images/paw-red.svg) center / contain no-repeat;opacity:.08;transform:rotate(14deg);pointer-events:none;z-index:0}.donate .wrap{position:relative;z-index:1}.committees-head{position:relative;display:inline-flex;align-items:center;gap:12px}.committees-head .paw-stamp{display:inline-block;width:26px;height:26px;background:url(/images/paw-red.svg) center / contain no-repeat;opacity:.75}.school-news{background:var(--paper);border-top:1px solid var(--border);position:relative;overflow:hidden}.school-news:before{content:"";position:absolute;width:180px;height:180px;top:40px;left:-30px;background:url(/images/paw-red.svg) center / contain no-repeat;opacity:.06;transform:rotate(-18deg);pointer-events:none}.school-news .wrap{position:relative;z-index:1}.school-news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}.school-news .eyebrow{color:var(--blue)}.school-news .eyebrow:before{display:none}.eyebrow-westie{width:26px;height:26px;border-radius:50%;background:var(--red);padding:1px;object-fit:contain;margin-right:-2px}.school-news-all{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--cream);color:var(--blue);font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border);transition:background .15s,color .15s}.school-news-all:hover{background:var(--blue);color:#fff}.school-news-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--border)}.school-news-list li{border-bottom:1px solid var(--border)}.school-news-list a{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:20px 0;text-decoration:none;color:var(--ink);align-items:center;transition:transform .15s,padding-left .15s;position:relative}.school-news-list a:before{content:"";position:absolute;left:-32px;top:50%;transform:translateY(-50%) rotate(-14deg);width:20px;height:20px;background:url(/images/paw-red.svg) center / contain no-repeat;opacity:0;transition:opacity .2s,left .2s}.school-news-list a:hover{padding-left:14px;color:var(--blue)}.school-news-list a:hover:before{opacity:.9;left:-8px}.sn-date{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--red)}.sn-title{font-family:var(--display-font);font-weight:600;font-size:19px;line-height:1.35}.sn-arrow{color:var(--ink-soft);font-size:18px}@media(max-width:720px){.school-news-list a{grid-template-columns:1fr auto;gap:6px 16px}.sn-date{grid-column:1 / -1}}.btn-primary{background:var(--red);color:#fff;padding:14px 24px;border-radius:999px;font-weight:600;font-size:15px;box-shadow:0 3px 0 var(--red-deep);transition:transform .1s,box-shadow .1s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--red-deep)}.btn-secondary{background:var(--paper);color:var(--ink);padding:14px 24px;border-radius:999px;font-weight:600;font-size:15px;border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--cream)}.hero-stats{display:flex;gap:32px;margin-top:44px;flex-wrap:wrap}.hero-stat .n{font-family:var(--display-font);font-weight:700;font-size:36px;color:var(--blue);line-height:1}.hero-stat .l{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-top:6px;font-weight:600}.hero-visual{position:relative}.hero-visual .card-a{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px -20px #1a2a4a4d}.hero-visual .sticker{position:absolute;top:-16px;right:-16px;width:120px;height:120px;background:var(--gold);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--display-font);font-weight:700;color:var(--ink);font-size:13px;line-height:1.1;transform:rotate(8deg);box-shadow:0 8px 24px -8px #0003;z-index:2}.hero-visual .sticker span.big{display:block;font-size:22px;margin-top:2px}.hero-visual .floatnote{position:absolute;bottom:-24px;left:-20px;background:var(--paper);padding:14px 18px;border-radius:var(--radius-sm);box-shadow:0 12px 30px -12px #0003;display:flex;gap:12px;align-items:center;max-width:260px;z-index:2}.floatnote .icon{width:38px;height:38px;border-radius:10px;background:var(--mint);display:grid;place-items:center;flex-shrink:0}.floatnote .txt{font-size:12px;color:var(--ink-soft);line-height:1.3}.floatnote .txt strong{color:var(--ink);display:block;font-size:13px;margin-bottom:2px}.ticker{background:var(--blue);color:#fff;padding:14px 0;overflow:hidden;position:relative}.ticker-inner{display:flex;gap:60px;animation:scroll 40s linear infinite;width:max-content}.ticker-item{display:inline-flex;align-items:center;gap:12px;font-size:14px;white-space:nowrap}.ticker-item .badge{background:var(--gold);color:var(--ink);padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.about-visual{position:relative;aspect-ratio:5/4}.about-visual .img-main{position:absolute;inset:0;border-radius:var(--radius);overflow:hidden}.about-visual .img-sub{position:absolute;width:45%;aspect-ratio:1;bottom:-30px;right:-20px;border-radius:var(--radius);overflow:hidden;border:6px solid var(--bg)}.mission-pillars{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}.pillar{padding:20px;background:var(--cream);border-radius:var(--radius-sm)}.pillar .ico{width:36px;height:36px;margin-bottom:12px}.pillar h4{margin:0 0 6px;font-family:var(--display-font);font-weight:700;font-size:18px;color:var(--ink)}.pillar p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft)}.events-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:24px;flex-wrap:wrap}.event-filters{display:flex;gap:8px;flex-wrap:wrap}.event-filter{padding:8px 16px;border-radius:999px;font-size:13px;font-weight:500;background:var(--paper);border:1px solid var(--border);color:var(--ink-soft)}.event-filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.events-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.event-card{background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px #00000026}.event-card.feat{grid-row:span 2;display:grid;grid-template-rows:1fr auto}.event-media{aspect-ratio:16/10;background:var(--mint);position:relative;overflow:hidden}.event-card.feat .event-media{aspect-ratio:auto}.event-date-chip{position:absolute;top:16px;left:16px;background:var(--paper);padding:8px 12px;border-radius:10px;text-align:center;min-width:56px;box-shadow:0 4px 12px #0000001a}.event-date-chip .m{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:700}.event-date-chip .d{font-family:var(--display-font);font-weight:700;font-size:22px;color:var(--ink);line-height:1;margin-top:2px}.event-body{padding:24px;flex:1;display:flex;flex-direction:column}.event-card.feat .event-body{padding:32px}.event-meta{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-weight:600;display:flex;gap:12px;margin-bottom:10px}.event-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-soft);align-self:center}.event-title{font-family:var(--display-font);font-weight:700;font-size:22px;line-height:1.15;color:var(--ink);margin:0 0 10px}.event-card.feat .event-title{font-size:32px}.event-desc{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:0 0 18px;flex:1}.event-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}.rsvp-btn{font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;background:var(--blue);color:#fff;transition:background .15s}.rsvp-btn:hover{background:var(--blue-deep)}.rsvp-btn.booked{background:var(--mint);color:var(--ink)}.event-time{font-size:12px;color:var(--ink-soft)}.event-card[hidden]{display:none}.board{background:var(--paper)}.board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}.board-card{text-align:center;background:var(--bg);padding:28px 20px;border-radius:var(--radius);position:relative;transition:transform .15s}.board-card:hover{transform:translateY(-3px)}.board-avatar{width:100px;height:100px;border-radius:50%;margin:0 auto 16px;background:var(--cream);display:grid;place-items:center;font-family:var(--display-font);font-weight:700;font-size:32px;color:var(--blue);position:relative}.board-avatar:before{content:"";position:absolute;inset:-4px;border:2px dashed var(--red);border-radius:50%;opacity:.3}.board-name{font-family:var(--display-font);font-weight:700;font-size:18px;color:var(--ink);margin:0 0 4px}.board-role{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:700}.board-contact{font-size:13px;color:var(--ink-soft);margin-top:8px;text-decoration:none}.board-contact:hover{color:var(--blue)}.committees{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}.committee{padding:22px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.committee h5{margin:0 0 6px;font-family:var(--display-font);font-weight:700;font-size:16px;color:var(--ink);display:flex;justify-content:space-between}.committee .chair{font-size:12px;color:var(--ink-soft)}.committee .chair strong{color:var(--blue)}.join{background:var(--blue);color:#fff;position:relative;overflow:hidden}.join:before,.join:after{content:"";position:absolute;border-radius:50%}.join:before{width:400px;height:400px;background:#f5b9421f;top:-100px;right:-100px}.join:after{width:300px;height:300px;background:#d23a3a26;bottom:-80px;left:-80px}.join .wrap{position:relative;z-index:1}.join-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}.join h2{color:#fff}.join .lead{color:#ffffffd1}.join .eyebrow{color:var(--gold)}.join .eyebrow:before{background:var(--gold)}.join-bullets{list-style:none;padding:0;margin:28px 0 0}.join-bullets li{padding:10px 0;display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#ffffffeb;border-bottom:1px solid rgba(255,255,255,.15)}.join-bullets li:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:12px;font-weight:700;flex-shrink:0;margin-top:1px}.join-card{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:36px;box-shadow:0 30px 60px -20px #0006}.join-card .price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.join-card .price{font-family:var(--display-font);font-weight:700;font-size:56px;color:var(--red);line-height:1}.join-card .price-unit{font-size:14px;color:var(--ink-soft)}.join-card .price-sub{font-size:13px;color:var(--ink-soft);margin-bottom:24px}.form-row{margin-bottom:16px}.form-row label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink-soft);margin-bottom:6px}.form-row input,.form-row select{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-family:inherit;font-size:14px;background:var(--bg);color:var(--ink)}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--blue)}.family-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.family-row input{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:13px;background:var(--bg)}.family-row select{padding:10px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:13px;background:var(--bg);width:110px}.family-row button.rm{color:var(--red);font-size:18px;width:32px;height:32px;border-radius:50%}.family-row button.rm:hover{background:#fee}.add-more{font-size:13px;font-weight:600;color:var(--blue);padding:8px 0}.add-more:hover{text-decoration:underline}.pay-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.pay-opt{padding:12px 8px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg);font-size:12px;font-weight:600;color:var(--ink);text-align:center}.pay-opt.sel{border-color:var(--blue);background:var(--paper)}.join-total{margin:24px 0 20px;padding:16px;background:var(--cream);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:baseline}.join-total .lbl{font-size:13px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.join-total .val{font-family:var(--display-font);font-weight:700;font-size:28px;color:var(--ink)}.btn-pay{width:100%;background:var(--red);color:#fff;padding:16px;border-radius:var(--radius-sm);font-weight:700;font-size:15px;transition:background .15s}.btn-pay:hover{background:var(--red-deep)}.join-success{text-align:center;padding:20px 0}.join-success .check{width:64px;height:64px;margin:0 auto 16px;background:#2e7d4f;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:32px}.join-success h3{font-family:var(--display-font);font-size:26px;color:var(--ink);margin:0 0 8px}.volunteer{background:var(--bg)}.vol-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:48px}.vol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.vol-card{padding:32px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--border);display:flex;flex-direction:column;position:relative;overflow:hidden}.vol-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--accent, var(--red))}.vol-card.a{--accent: var(--red)}.vol-card.b{--accent: var(--blue)}.vol-ico{width:48px;height:48px;margin-bottom:16px}.vol-card h3{font-family:var(--display-font);font-weight:700;font-size:24px;color:var(--ink);margin:0 0 8px}.vol-card p{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0 0 20px;flex:1}.vol-card .need{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.vol-card .need-chip{font-size:11px;padding:4px 10px;background:var(--cream);color:var(--ink);border-radius:999px;font-weight:600}.vol-card .capacity{font-size:12px;color:var(--ink-soft);margin-bottom:12px}.vol-card .capacity-bar{height:6px;background:var(--cream);border-radius:999px;overflow:hidden;margin-top:6px}.vol-card .capacity-fill{height:100%;background:var(--accent, var(--red));border-radius:999px}.vol-card .signup{align-self:flex-start;padding:10px 18px;background:var(--ink);color:#fff;border-radius:999px;font-size:13px;font-weight:600}.vol-card .signup:hover{background:var(--blue)}.vol-card .signup.done{background:#2e7d4f}.news{background:var(--paper)}.news-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.news-card{border-radius:var(--radius);overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.news-card.main .news-media{aspect-ratio:16/9}.news-media{aspect-ratio:4/3;background:var(--peach)}.news-body{padding:24px;flex:1;display:flex;flex-direction:column}.news-card.main .news-body{padding:32px}.news-cat{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--red);margin-bottom:8px}.news-title{font-family:var(--display-font);font-weight:700;font-size:20px;line-height:1.2;color:var(--ink);margin:0 0 8px}.news-card.main .news-title{font-size:32px}.news-excerpt{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:0 0 12px;flex:1}.news-date{font-size:12px;color:var(--ink-soft)}.donate{background:var(--cream);position:relative;overflow:hidden}.donate-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}.goal-card{background:var(--paper);border-radius:var(--radius);padding:32px;box-shadow:0 20px 40px -20px #00000026}.goal-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.goal-raised{font-family:var(--display-font);font-weight:700;font-size:42px;color:var(--ink);line-height:1}.goal-of{font-size:14px;color:var(--ink-soft)}.goal-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-weight:600;margin-bottom:20px}.goal-bar{height:12px;background:var(--cream);border-radius:999px;overflow:hidden;position:relative}.goal-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:999px;width:72%;position:relative;transition:width .8s cubic-bezier(.2,.8,.4,1)}.donate-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0 16px}.donate-amount{padding:14px;background:var(--bg);border:2px solid var(--border);border-radius:var(--radius-sm);font-weight:700;font-family:var(--display-font);font-size:18px;color:var(--ink)}.donate-amount.sel{border-color:var(--red);background:var(--paper);color:var(--red)}.btn-donate{width:100%;padding:14px;background:var(--red);color:#fff;border-radius:var(--radius-sm);font-weight:700;font-size:15px;margin-top:8px}.btn-donate:hover{background:var(--red-deep)}footer.site{background:var(--ink);color:#fff;padding:64px 0 24px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.foot-brand{max-width:320px}.foot-brand .brand-mark{background:var(--red);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--red)}.foot-brand .brand-txt-main{color:#fff}.foot-brand .brand-txt-sub{color:#fff9}.foot-brand p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:20px 0 0}.foot-col h6{margin:0 0 14px;font-family:var(--display-font);font-size:16px;font-weight:700;color:#fff}.foot-col ul{list-style:none;padding:0;margin:0}.foot-col ul li{margin-bottom:8px}.foot-col ul li a{color:#ffffffb3;text-decoration:none;font-size:14px}.foot-col ul li a:hover{color:#fff}.contact-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;color:#fffc;font-size:13px;line-height:1.5}.contact-row svg{flex-shrink:0;margin-top:2px}.contact-row a{color:#ffffffb3;text-decoration:none}.contact-row a:hover{color:#fff}.newsletter{margin-top:16px;display:flex;gap:8px}.newsletter input{flex:1;padding:10px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;font-size:13px;font-family:inherit}.newsletter input::placeholder{color:#ffffff80}.newsletter button{padding:10px 18px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;font-weight:600}.foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px;color:#ffffff80}.social{display:flex;gap:10px}.social a{width:36px;height:36px;border-radius:50%;background:#ffffff1a;display:grid;place-items:center;color:#fff;transition:background .15s}.social a:hover{background:var(--red)}.modal-backdrop{position:fixed;inset:0;background:#0e1c3899;display:grid;place-items:center;z-index:100;padding:24px;animation:fadeIn .2s}.modal-backdrop[hidden]{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border-radius:var(--radius);max-width:500px;width:100%;padding:36px;position:relative;animation:popIn .25s cubic-bezier(.2,.8,.4,1.2)}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal .close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:20px;color:var(--ink-soft)}.modal h3{font-family:var(--display-font);font-size:28px;margin:0 0 6px;color:var(--ink)}.modal .meta{font-size:14px;color:var(--ink-soft);margin-bottom:20px;display:flex;gap:16px}@media(max-width:960px){.hero .wrap,.about-grid,.donate-grid,.join-grid,.vol-intro{grid-template-columns:1fr;gap:40px}.events-grid{grid-template-columns:1fr 1fr}.event-card.feat{grid-row:auto;grid-column:span 2}.board-grid{grid-template-columns:repeat(2,1fr)}.committees,.news-grid,.vol-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}}
