.campaign-page{--cp-green:#153f35;--cp-red:#963f36;--cp-gold:#cda858;--cp-paper:#fcf8ec;color:#213d33;overflow-wrap:anywhere;max-width:1280px;margin:auto;padding:36px 32px 72px}.campaign-theme-community{--cp-red:#35665a;--cp-gold:#b79854}.campaign-page h1,.campaign-page h2,.campaign-home h2{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.08}.campaign-page h1{margin:20px 0;font-size:clamp(2.8rem,6vw,5.5rem)}.campaign-page h2{margin:15px 0 28px;font-size:clamp(2rem,4vw,3.1rem)}.campaign-page p{line-height:1.75}.campaign-back{text-underline-offset:5px;padding:10px 0 28px;text-decoration:underline;display:inline-block}.campaign-eyebrow{letter-spacing:.19em;text-transform:uppercase;font-size:.72rem;font-weight:700}.campaign-hero{isolation:isolate;background:var(--cp-green);color:#fff9e8;border-radius:28px;grid-template-columns:1.3fr 1fr;align-items:center;gap:40px;padding:56px;animation:.7s ease-out campaign-enter;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 50px #1f483314}.campaign-theme-christmas .campaign-hero:before{content:"✦ · ✧ · ✦ · ✧ · ✦ · ✧ · ✦";color:#f2d08b;letter-spacing:22px;white-space:nowrap;opacity:.7;pointer-events:none;z-index:-1;font-size:20px;animation:5s ease-in-out infinite campaign-glimmer;position:absolute;top:14px;left:0;right:0}.campaign-theme-christmas .campaign-hero:after{content:"✧";opacity:.08;pointer-events:none;z-index:-1;font-size:220px;animation:7s ease-in-out infinite campaign-float;position:absolute;bottom:-28px;right:28px}.campaign-hero>img{object-fit:cover;border-radius:18px;width:100%;height:380px}.campaign-name{color:#f0d799;font-size:1.05rem;font-weight:700}.campaign-description{max-width:54ch}.campaign-dates{opacity:.85;font-size:.8rem}.campaign-art{color:#f8dda0;animation:7s ease-in-out infinite campaign-float}.campaign-art svg{width:100%;max-height:390px;display:block}.campaign-community-art{text-align:center;color:#e9c77c;font-size:200px}.campaign-button{background:var(--cp-red,#963f36);color:#fff8e7;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:16px 23px;font:700 .9rem/1.4 Arial,sans-serif;transition:transform .2s,box-shadow .2s;display:inline-flex}.campaign-hero .campaign-button{color:#213d33;background:#f0d799;margin-top:14px}.campaign-button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #0002}.campaign-advance{text-align:center;padding:70px 30px 35px}.campaign-progress{grid-template-columns:250px minmax(0,1fr);align-items:center;gap:28px;max-width:750px;margin:auto;display:grid}.campaign-radial{aspect-ratio:1;width:240px;max-width:100%;margin:auto;position:relative}.campaign-radial svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.ring-track{stroke:#e7e4d6;stroke-width:12px}.ring-value{stroke:var(--cp-red,#963f36);stroke-width:15px;stroke-linecap:round;animation:1.3s ease-out both campaign-ring}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:24%}.ring-center strong{white-space:nowrap;font-family:Georgia,serif;font-size:2.15rem;font-weight:400}.ring-center span{font-size:.78rem}.ring-center .campaign-star{color:#a77c2f;font-size:1.9rem}.campaign-numbers{text-align:left;gap:22px;display:grid}.campaign-numbers div{gap:6px;display:grid}.campaign-numbers span{color:#5a6a5d;font-size:.85rem}.campaign-numbers strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:400}.campaign-numbers div:first-child strong{color:var(--cp-red,#963f36);font-size:clamp(1.8rem,4vw,2.65rem)}.campaign-milestones{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:10px;display:flex}.campaign-milestone{color:#4f5748;cursor:pointer;background:#fcf8ee;border:1px solid #d5c7a6;border-radius:24px;min-width:70px;min-height:44px;padding:10px;font-size:.82rem}.campaign-milestone[data-reached=true]{color:#fff6df;background:#244f46;border-color:#244f46}.campaign-hint{color:#715227;grid-column:1/-1;margin:0}.campaign-note{color:#596c60;max-width:76ch;margin:20px auto;font-size:.83rem;line-height:1.65}.campaign-text-button{color:#244f46;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #8e9f90;min-height:44px;padding:10px}.campaign-donate{text-align:center;background:#f5eddb;border-radius:24px;padding:44px;scroll-margin-top:150px}.campaign-donate>p{max-width:65ch;margin-left:auto;margin-right:auto}.campaign-ways{flex-wrap:wrap;justify-content:center;align-items:center;gap:50px;padding-top:18px;display:flex}.campaign-qr{max-width:340px;margin:0}.campaign-qr img{object-fit:contain;background:#fff;border-radius:14px;width:min(100%,320px);height:auto;margin:0 auto 10px;padding:10px;display:block}.campaign-qr figcaption{font-size:.8rem;line-height:1.5}.campaign-memory,.campaign-supporters{padding:60px 0 10px}.campaign-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0;display:grid}.campaign-gallery figure{margin:0}.campaign-photo{cursor:zoom-in;background:0 0;border:0;border-radius:14px;width:100%;padding:0;display:block;overflow:hidden}.campaign-photo img{object-fit:cover;width:100%;height:250px;transition:transform .4s;display:block}.campaign-photo:hover img{transform:scale(1.04)}.campaign-gallery figcaption{color:#596c60;padding:10px 2px;font-size:.83rem;line-height:1.6}.campaign-donors{border-top:1px solid #d8dfd4;margin:30px 0;padding:0;list-style:none}.campaign-donors li{border-bottom:1px solid #d8dfd4;justify-content:space-between;align-items:center;gap:20px;padding:22px 10px;display:flex}.campaign-donors li>div{gap:8px;display:grid}.campaign-donors span{color:#596c60;font-size:.8rem}.campaign-donors li>strong{color:var(--cp-red);white-space:nowrap}.campaign-update{color:#5c6c62;border-top:1px solid #d8dfd4;padding-top:24px;font-size:.77rem}.campaign-lightbox{background:#fffaf0;border:0;border-radius:18px;max-width:min(92vw,1000px);max-height:94vh;padding:20px}.campaign-lightbox::backdrop{background:#102d25db}.campaign-lightbox>img{object-fit:contain;max-width:100%;height:auto;max-height:70vh;margin:20px auto;display:block}.campaign-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.campaign-index-card{background:#fcf8ec;border:1px solid #d8dfd4;border-radius:20px;padding:30px;display:block}.campaign-index-card .campaign-progress{grid-template-columns:1fr;gap:10px}.campaign-index-card .campaign-numbers{flex-wrap:wrap;justify-content:space-between;gap:20px;margin-bottom:25px;display:flex}.campaign-home{--cp-red:#963f36;--cp-green:#153f35;background:linear-gradient(120deg,#fffaf0,#f0f3e7);border:1px solid #d8c9a5;border-radius:20px;grid-template-columns:1fr 1.1fr;align-items:center;gap:28px;width:calc(100% - 48px);max-width:1260px;margin:45px auto 0;padding:34px 40px;animation:.7s ease-out campaign-enter;display:grid;box-shadow:0 12px 35px #1d47310a}.campaign-home h2{margin:14px 0;font-size:2.4rem}.campaign-home .campaign-progress{grid-template-columns:150px minmax(0,1fr);gap:22px}.campaign-home .campaign-radial{width:150px}.campaign-home .ring-center strong{font-size:1.7rem}.campaign-home .ring-center span:not(.campaign-star){font-size:.65rem}.campaign-home .campaign-star{font-size:1.1rem}.campaign-home .campaign-numbers strong,.campaign-home .campaign-numbers div:first-child strong{font-size:1.55rem}.campaign-home .campaign-numbers{gap:14px}.campaign-admin{overflow-wrap:anywhere}.campaign-admin-summary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;padding:20px 0;display:grid}.campaign-admin-summary>div{border-left:2px solid #cda858;gap:8px;padding-left:12px;display:grid}.campaign-admin-summary span{color:#596c60;font-size:.8rem}.campaign-admin-form{gap:14px;display:grid}.campaign-admin-card{margin-top:25px}.campaign-admin-actions,.campaign-admin-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.campaign-admin-filters label{flex:1;min-width:180px}.campaign-image-field{border-bottom:1px solid #d8dfd4;padding:15px 0}.campaign-image-field img,.campaign-gallery-editor img{object-fit:contain;background:#fff;max-width:100%}.campaign-gallery-editor{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.campaign-admin-contributions{margin-top:50px}.campaign-contribution{margin:15px 0}.campaign-contribution-dialog{width:min(94vw,650px);max-height:92vh;overflow:auto}.campaign-contribution-dialog form{gap:14px;display:grid}.campaign-history{width:min(94vw,900px);max-height:90vh;overflow:auto}.campaign-history pre{white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid #ddd;padding-bottom:20px;font-size:.8rem}.campaign-closed{color:#f0d799;font-weight:700}a.campaign-button:focus-visible,.campaign-page button:focus-visible,.campaign-home a:focus-visible,.campaign-admin button:focus-visible{outline-offset:4px;outline:3px solid #bb8c31}@keyframes campaign-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes campaign-ring{0%{stroke-dasharray:0 100}}@keyframes campaign-glimmer{50%{opacity:.35}}@keyframes campaign-float{50%{transform:translateY(-7px)}}@media (width<=900px){.campaign-hero{gap:20px;padding:38px}.campaign-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-home{grid-template-columns:1fr}.campaign-home .campaign-progress{max-width:100%;margin:0}.campaign-home .campaign-numbers{flex-wrap:wrap;gap:35px;display:flex}.campaign-hero>img{height:300px}}@media (width<=600px){.campaign-page{padding:24px 18px 45px}.campaign-hero{border-radius:20px;grid-template-columns:1fr;gap:12px;padding:36px 24px 20px}.campaign-page h1{font-size:2.8rem}.campaign-art{max-height:220px}.campaign-art svg{height:220px}.campaign-hero>img{height:240px}.campaign-advance{padding:50px 0 30px}.campaign-progress{grid-template-columns:1fr;gap:20px}.campaign-numbers{text-align:center;grid-template-columns:1fr 1fr}.campaign-numbers div:first-child{grid-column:1/-1}.campaign-milestones{gap:7px}.campaign-milestone{min-width:61px}.campaign-donate{padding:30px 20px}.campaign-gallery{grid-template-columns:1fr}.campaign-photo img{height:240px}.campaign-donors li{gap:12px;padding:20px 0;display:grid}.campaign-index{grid-template-columns:1fr}.campaign-home{width:calc(100% - 36px);padding:26px 22px}.campaign-home h2{font-size:2rem}.campaign-home .campaign-progress{grid-template-columns:1fr}.campaign-home .campaign-numbers{text-align:center;grid-template-columns:1fr;gap:18px;display:grid}.campaign-home .campaign-radial{width:160px}.campaign-home .campaign-numbers div:first-child{grid-column:auto}.campaign-admin-summary{grid-template-columns:1fr 1fr}.campaign-admin-summary strong{font-size:.95rem}.campaign-admin .panel{padding:18px}}@media (prefers-reduced-motion:reduce){.campaign-page *,.campaign-home *,.campaign-page :before,.campaign-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.campaign-motion .ring-value{stroke:#a7463a;animation:none}.campaign-motion .ring-track{stroke-dasharray:100 0}.campaign-motion .ring-orbit{stroke:#bb8c32;stroke-width:3px;stroke-linecap:round;transform-origin:50%;animation:6s linear infinite campaign-orbit}.campaign-motion .campaign-star{animation:3.2s ease-in-out infinite campaign-shine}.campaign-motion .ring-orbit,.campaign-motion .campaign-star{animation-play-state:paused}.campaign-motion[data-moving=true] .ring-orbit,.campaign-motion[data-moving=true] .campaign-star{animation-play-state:running}.campaign-hero:not([data-in-view=true]) .campaign-art,.campaign-hero:not([data-in-view=true]):before,.campaign-hero:not([data-in-view=true]):after{animation-play-state:paused}.campaign-hero[data-in-view=true] h1,.campaign-hero[data-in-view=true] .campaign-description,.campaign-home[data-in-view=true] .campaign-home-copy,.campaign-motion[data-moving=true] .campaign-numbers,.campaign-motion[data-moving=true] .campaign-hint{animation:.65s ease-out both campaign-enter}.campaign-home .campaign-progress{width:100%}.campaign-home .campaign-hint{text-align:center;font-size:.86rem}.campaign-home-donate{grid-column:1/-1;justify-self:center}.campaign-home .campaign-home-copy .campaign-button{margin-inline:auto;display:table}.campaign-milestone{transition:transform .2s,background-color .2s,box-shadow .2s}.campaign-milestone:hover,.campaign-milestone[aria-pressed=true]{transform:translateY(-3px);box-shadow:0 4px #d5c7a6}.campaign-page .campaign-donate{scroll-margin-top:55px}.campaign-page .campaign-ways{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;max-width:890px;margin-inline:auto;display:grid}.campaign-pay-card{background:#fffaf0;border:1px solid #d9c9a6;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;max-width:none;margin:0;padding:22px;display:flex}.campaign-pay-card:only-child{grid-column:1/-1}.campaign-pay-card h3{margin:0;font:400 1.65rem Georgia,serif}.campaign-pay-card p{max-width:34ch;margin:0}.campaign-pay-card .campaign-button{margin-top:8px}.campaign-pay-card.campaign-qr img{object-fit:contain;width:auto;max-width:100%;height:285px;margin:0;padding:0;display:block}.campaign-qr p:not(.campaign-eyebrow){font-size:.85rem}.campaign-donor-panel{--row:3.6rem;max-height:calc(5 * var(--row) + 2.9rem);scrollbar-color:#a4814b #f1e6ce;background:#fffaf0;border:1px solid #d9c9a6;border-radius:15px;overflow:auto}.campaign-donor-panel:focus-visible{outline-offset:4px;outline:3px solid #a4814b}.campaign-donor-panel>p{margin:0;padding:24px}.campaign-donor-panel .campaign-donors{table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left;border:none;width:100%;margin:0}.campaign-donors th,.campaign-donors td{overflow-wrap:anywhere;padding:8px 12px}.campaign-donors thead th{z-index:1;color:#fff6df;background:#244f46;height:2.8rem;position:sticky;top:0}.campaign-donors tbody tr{height:var(--row)}.campaign-donors tbody tr:nth-child(2n){background:#f5eddb}.campaign-donors tbody th{font-weight:700}.campaign-donors td:nth-child(3){color:#963f36;font-weight:700}.campaign-sendoff{text-align:center;border-top:1px solid #d9c9a6;margin-top:40px;padding:26px}@keyframes campaign-orbit{to{transform:rotate(360deg)}}@keyframes campaign-shine{50%{opacity:.54;transform:scale(1.18)rotate(10deg)}}@media (width<=600px){.campaign-page .campaign-ways{grid-template-columns:1fr}.campaign-donor-panel{--row:5.1rem}.campaign-donors th,.campaign-donors td{padding:7px 5px;font-size:.77rem}.campaign-home .campaign-progress{margin-inline:auto}}@media (prefers-reduced-motion:reduce){.campaign-motion .ring-orbit{display:none}.campaign-milestone:hover,.campaign-milestone[aria-pressed=true]{transform:none}}
