.completed-section{background:var(--soft);padding:64px 0}.completed-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:50px;align-items:center}.completed-section .delivery-photo{max-width:400px}.completed-section .delivery-photo img{max-height:420px;object-fit:cover;object-position:center 65%}.completed-section figcaption{color:var(--muted);font-size:17px}.completed-school{display:flex;gap:20px;align-items:center;margin-bottom:22px}.completed-school .school-crest{width:84px}.completed-school .mission-badge{margin:0;color:var(--green);background:var(--surface);font-size:19px}.completed-copy h2{font-size:clamp(36px,4vw,50px);line-height:1.1;max-width:17ch}.completed-copy>p{font-size:21px;line-height:1.65;color:var(--text);margin:22px 0;max-width:48ch}.completed-details summary,.accounts-details>summary{font-size:20px;font-weight:850;cursor:pointer;min-height:48px;padding:12px 0;text-underline-offset:5px;color:var(--green)}.completed-expanded{padding:22px 0}.completed-expanded>p{font-size:19px;color:var(--text);margin-bottom:20px}.completed-expanded .light-stage{border-radius:14px;overflow:hidden;background:#071d49;color:white}.completed-expanded .light-stage .wrap{width:calc(100% - 32px)}.completed-expanded .light-controls{margin:20px 0;gap:18px}.completed-expanded .light-controls p{font-size:18px}.completed-expanded .light-switch{font-size:18px;padding:12px 16px;min-height:52px}.completed-expanded .light-footnote{padding-bottom:20px;font-size:16px}.completed-expanded .campaign-memory{color:var(--text);border-color:var(--line)}.completed-expanded .campaign-memory p,.completed-expanded .campaign-memory a span{color:var(--text)}
.funds-section{padding:56px 0}.funds-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:40px}.section-copy>p:not(.section-label){font-size:20px}.money{padding-top:20px}.money-heading{font-size:18px}.money-amount.has-value{font-size:42px}.money-breakdown{margin-top:16px;padding:16px 0}.money-updated{font-size:15px}.accounts-details{margin-top:28px;border-top:1px solid var(--line);padding-top:16px}.accounts-details>summary{color:var(--ink)}.accounts-intro{font-size:18px;color:var(--text);margin:18px 0}.accounts-details .project-grid{margin:24px 0}.site-footer{padding:30px 0 22px}.footer-bottom{margin-top:24px;padding-top:18px}.footer-top p{font-size:17px}.footer-top nav a{font-size:17px}.completed-details[open] summary{margin-bottom:10px}
@media(max-width:800px){.completed-layout,.funds-grid{grid-template-columns:minmax(0,1fr);gap:28px}.completed-section{padding:40px 0}.completed-section .delivery-photo{max-width:500px;width:100%}.completed-section .delivery-photo img{height:300px;width:100%;max-height:none;object-position:center 70%}.completed-copy h2{font-size:39px}.completed-copy>p{font-size:20px}.funds-section{padding:40px 0}.money-amount.has-value{font-size:38px}.completed-school{gap:14px}.completed-school .school-crest{width:70px}.completed-school .mission-badge{font-size:17px}.completed-details summary,.accounts-details>summary{font-size:19px}}

/* The community comes first; campaigns are one part of its story. */
.community-intro{padding:clamp(36px,6vw,72px) 0;background:var(--surface)}
.community-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,72px)}
.community-emblem{background:white;border-radius:28px;padding:clamp(20px,3vw,36px);text-align:center;max-width:420px;width:100%;margin:auto;box-shadow:0 14px 45px #071d490b}
.community-emblem img{display:block;width:100%;height:auto;object-fit:contain}.community-emblem span{display:block;font-size:clamp(28px,3vw,40px);font-weight:900;letter-spacing:-.03em;color:#071d49;margin-top:12px}
.community-location{color:var(--green);font-size:17px;font-weight:800;margin-bottom:14px}.community-copy h1{font-size:clamp(32px,3.6vw,50px);line-height:1.13;letter-spacing:-.035em;color:var(--ink)}
.community-copy>p:not(.community-location){font-size:clamp(18px,1.5vw,21px);line-height:1.65;margin:20px 0;color:var(--text);max-width:52ch}.community-copy>.button{margin-top:4px;gap:16px}.community-copy>p.community-invite{font-size:17px;color:var(--muted);margin:14px 0 0}
.proposal-modal{width:min(760px,calc(100% - 32px));max-height:88dvh;height:fit-content;padding:clamp(20px,4vw,36px);border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);overflow:auto;overscroll-behavior:contain}.proposal-modal::backdrop{background:#071d4999;backdrop-filter:blur(4px)}
.proposal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.proposal-heading p{font-weight:800;color:var(--green);font-size:17px;margin-bottom:8px}.proposal-heading h2{font-size:clamp(28px,3vw,36px);line-height:1.16;color:var(--ink)}.proposal-heading>button{flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--ink);font-size:28px}
.proposal-intro{font-size:18px;line-height:1.6;margin:20px 0 24px}.proposal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.proposal-fields label{display:grid;gap:9px;font-size:17px;font-weight:800;min-width:0}.proposal-wide{grid-column:1/-1}.proposal-fields :is(input,textarea,select){width:100%;min-width:0;min-height:48px;padding:12px 14px;font:inherit;font-weight:400;font-size:17px;line-height:1.5;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-sizing:border-box}.proposal-fields textarea{resize:vertical}.proposal-fields :is(input,textarea,select):focus-visible{outline:3px solid var(--green);outline-offset:3px}.proposal-privacy,.proposal-delivery{font-size:16px;line-height:1.6;margin:20px 0;color:var(--muted)}.proposal-delivery strong{overflow-wrap:anywhere}.proposal-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.proposal-actions .button{font-size:17px;min-height:48px}.proposal-actions .text-button{font-size:17px;min-height:44px}.proposal-modal #proposalStatus{font-size:17px;line-height:1.6;margin-top:16px;color:var(--green)}
@media(max-width:700px){.community-layout{grid-template-columns:minmax(0,1fr);gap:30px}.community-emblem{max-width:260px;padding:20px}.community-emblem span{font-size:29px}.community-copy h1 br{display:none}.community-copy>.button{width:100%}.proposal-fields{grid-template-columns:minmax(0,1fr)}.proposal-actions .button{width:100%}.proposal-heading h2{font-size:28px}}

.community-emblem{position:relative;isolation:isolate;border:2px solid #2a8752;overflow:visible;transform:perspective(1000px) rotateX(var(--card-x,0deg)) rotateY(var(--card-y,0deg));transition:transform 400ms cubic-bezier(.22,.61,.36,1),box-shadow 400ms cubic-bezier(.22,.61,.36,1);box-shadow:8px 10px 0 #c9dfcf,0 22px 42px #071d4912}
.community-emblem:before{content:"";position:absolute;inset:10px -12px -12px 10px;z-index:-1;background:#14723b;border-radius:28px;transform:rotate(2deg)}.community-emblem:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:26px;background:white}.community-emblem img{position:relative;transform:translateZ(18px)}.community-emblem.is-tilting{will-change:transform;box-shadow:10px 14px 0 #c9dfcf,0 28px 50px #071d491c}
.community-intro{position:relative;overflow:hidden;background:radial-gradient(ellipse at 4% 70%,#e5f2e9 0,transparent 48%),var(--surface)}.community-copy{position:relative}.community-location:before{content:"";display:inline-block;width:12px;height:12px;margin-right:9px;border-radius:50%;background:#eaae19;box-shadow:0 0 0 5px #eaae1918}.completed-school:after{content:"";width:clamp(30px,5vw,70px);height:3px;background:#eaae19;border-radius:2px}.funds-section{border-top:3px solid #086b3024}
.proposal-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.proposal-modal form[aria-busy=true]{opacity:.8}.proposal-modal button:disabled{cursor:wait;opacity:.65}
@media(prefers-reduced-motion:no-preference){.community-emblem img{animation:emblem-arrive 700ms cubic-bezier(.22,.61,.36,1) both}@keyframes emblem-arrive{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}
@media(prefers-reduced-motion:reduce){.community-emblem,.community-emblem img{animation:none!important;transition:none!important;transform:none!important;will-change:auto!important}}
@media(max-width:700px){.community-emblem{box-shadow:6px 8px 0 #c9dfcf,0 18px 32px #071d4910}.community-emblem:before{inset:8px -9px -9px 8px}.community-intro{padding-top:40px}}

/* A quieter welcome and one stack of evidence for J.I.R. */
.mobile-experience .community-intro{padding-block:clamp(40px,7vw,88px)}
.mobile-experience .community-copy h1{font-size:clamp(2.1rem,1.3rem + 3vw,4rem);line-height:1.12;max-width:17ch;word-spacing:.04em}
.mobile-experience .community-copy>p{font-size:clamp(1.125rem,1rem + .45vw,1.375rem);line-height:1.65;max-width:48ch}
.welcome-scroll{display:inline-flex;align-items:center;gap:14px;margin-top:24px;font-size:1.0625rem;font-weight:800;text-decoration:none;padding-block:12px;color:var(--green)}
.welcome-scroll span{font-size:1.5rem}
.jir-gallery{min-width:0;width:100%;padding:20px 12px 0;scroll-margin-top:120px;align-self:start}
.gallery-stack{position:relative;margin:0 12px 0 0;isolation:isolate}
.gallery-behind{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:6px solid #fff;border-radius:18px;box-shadow:0 8px 25px #071d491c;pointer-events:none}
.gallery-behind-one{transform:translate(9px,-8px) rotate(2deg);z-index:-1}
.gallery-behind-two{transform:translate(16px,-16px) rotate(4deg);z-index:-2}
.gallery-frame{position:relative;overflow:hidden;aspect-ratio:4/5;background:#fff;border:6px solid #fff;border-radius:18px;box-shadow:0 16px 36px #071d4924}
.gallery-slide{margin:0;width:100%;height:100%}
.gallery-slide img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.gallery-document img{object-fit:contain;background:#fff}
.gallery-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;align-items:center;margin-top:20px}
.gallery-controls button{height:48px;width:48px;background:var(--navy);color:#fff;border:0;border-radius:50%;font-size:26px;transition:transform 300ms cubic-bezier(.22,.61,.36,1)}
.gallery-controls button:active{transform:scale(.94)}
.gallery-controls p{font-size:clamp(1rem,.95rem + .2vw,1.125rem);font-weight:800;text-align:center;line-height:1.4}
.gallery-hint{font-size:1rem;line-height:1.5;text-align:center;color:var(--muted);margin-top:12px}
.gallery-receipt{margin-top:16px;width:100%;font-size:1.0625rem}
.jir-gallery:focus-visible{outline:3px solid var(--gold);outline-offset:6px}
@media(prefers-reduced-motion:no-preference){.gallery-slide:not([hidden]){animation:gallery-change 300ms cubic-bezier(.22,.61,.36,1)}@keyframes gallery-change{from{opacity:.5;transform:translateX(8px)}to{opacity:1;transform:none}}}
@media(max-width:700px){.jir-gallery{max-width:460px;margin-inline:auto}.mobile-experience .community-layout{gap:32px}.mobile-experience .community-copy h1{max-width:18ch}}
@media(prefers-reduced-motion:reduce){.gallery-controls button{transition:none}}

.jir-gallery{max-width:560px;margin-inline:auto}
