/* Each school has its own story. The supplied photographs remain unaltered. */
.light-story{padding:80px 0;background:#071d49}
.light-story .wrap{display:block}
.mission-heading{display:flex;gap:32px;align-items:center}
.school-crest{width:148px;aspect-ratio:1;background:white;border-radius:16px;overflow:hidden;flex:none}
.school-crest img{width:100%;height:100%;object-fit:cover}
.mission-badge{display:inline-block;padding:8px 16px;border:1px solid #9fd6b5;background:#153f39;color:#d4f7df;border-radius:40px;font-size:20px;font-weight:850;margin-bottom:18px}
.mission-heading h2{font-size:clamp(42px,5.5vw,72px);line-height:1.04;max-width:20ch}
.mission-intro{font-size:22px;line-height:1.65;color:#d5e1ef;max-width:70ch;margin:30px 0}
.light-stage{margin-top:32px}
.light-scene{border:0;border-radius:0;width:100%;background:#112b43}
.light-scene>svg{aspect-ratio:600/330;max-height:720px;width:100%;height:auto;stroke:none}
.light-controls{margin-top:28px;gap:30px;flex-wrap:wrap}
.light-switch{font-size:20px;min-height:62px;padding:16px 25px;white-space:normal;text-align:left;max-width:100%}
.switch-track{flex:none}
.light-controls p{font-size:20px;max-width:44ch;color:#d5e1ef}
.light-footnote{font-size:16px;text-align:left;margin-top:16px;color:#bbcede}
.delivery-story{margin-top:70px!important;display:grid!important;grid-template-columns:1.15fr 1fr;gap:50px!important;align-items:start!important}
.delivery-photo{margin:0;min-width:0}
.delivery-photo img{width:100%;height:auto;border-radius:16px}
.delivery-photo figcaption{font-size:17px;color:#d5e1ef;margin-top:14px}
.delivery-copy{padding-top:20px;min-width:0}
.delivery-copy h3{font-size:clamp(36px,4vw,52px);line-height:1.1;margin:10px 0 24px}
.delivery-copy>p{font-size:22px;line-height:1.65;color:#d5e1ef;margin-bottom:24px}
.delivery-copy>.text-link{font-size:20px;color:#f3c949}
.campaign-memory{margin-top:35px;border-top:1px solid #61738b;padding-top:18px}
.campaign-memory summary{font-size:19px;min-height:48px;cursor:pointer;font-weight:800}
.campaign-memory p,.campaign-memory a span{display:block;font-size:17px;color:#d5e1ef;margin:14px 0}
.campaign-memory img{width:100%;height:auto;border-radius:8px}
.project-grid{grid-template-columns:minmax(0,1fr);gap:40px}
.project-card,.project-card:first-child{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.school-project-art{background:#102e44;color:white;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;min-width:0}
.school-project-art.jir{background:#eee7f4;color:#482366}
.school-project-art>.school-crest{width:170px}
.school-project-art>strong{font-size:32px;line-height:1.13;max-width:18ch;letter-spacing:-.03em}
.school-project-art>a{font-size:20px;text-underline-offset:5px;font-weight:800;padding:10px}
.school-project-art>p{font-size:19px;max-width:26ch;color:#d5e1ef}
.construction-label{background:repeating-linear-gradient(135deg,#f3c949,#f3c949 12px,#f7d876 12px,#f7d876 24px);color:#071d49;padding:9px 18px;border-radius:6px;font-size:18px;font-weight:900}
.pending-pitch{width:min(100%,300px);height:145px;border:2px dashed #9eb0bb;position:relative;transform:perspective(500px) rotateX(25deg);opacity:.75}
.pending-pitch:before{content:'';position:absolute;inset:0 50%;border-left:2px dashed #9eb0bb}
.pending-pitch:after{content:'';position:absolute;width:55px;height:55px;left:calc(50% - 28px);top:calc(50% - 28px);border:2px dashed #9eb0bb;border-radius:50%}
.pending-pitch i,.pending-pitch b{position:absolute;top:28%;height:44%;width:18%;border:2px dashed #9eb0bb}
.pending-pitch i{left:-2px}.pending-pitch b{right:-2px}
.project-body{padding:36px;gap:22px}
.project-top h3{font-size:34px;line-height:1.14}
.project-status{font-size:18px;padding:7px 14px}
.project-body>p,.project-story p{font-size:20px;line-height:1.65}
.project-story summary{font-size:19px}
.project-amounts{gap:20px}.project-amounts dt{font-size:18px}.project-amounts dd{font-size:30px;line-height:1.25}
.project-progress .bar-scale,.collection-progress .bar-scale{font-size:18px;color:var(--text)}
.project-progress progress,.collection-progress progress{display:block;width:100%;height:13px;appearance:none;border:0;margin-top:12px;border-radius:8px;overflow:hidden;background:var(--line)}
.collection-progress .button{margin-top:24px;font-size:20px}
.project-detail{font-size:19px}.collection-progress{margin-top:auto}
@media(max-width:1250px){.desktop-nav{display:none}.menu-button{display:grid}.header-actions{margin-left:auto}.header-inner{gap:18px}}
@media(max-width:900px){.delivery-story{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}.delivery-photo{max-width:680px;margin:auto}.delivery-copy{padding:0}.project-card,.project-card:first-child{grid-template-columns:minmax(0,1fr)}.school-project-art{padding:32px}.school-project-art>.school-crest{width:135px}}
@media(max-width:700px){.light-story{padding:48px 0}.mission-heading{gap:20px;align-items:flex-start;flex-wrap:wrap}.school-crest{width:110px}.mission-heading h2{font-size:43px}.mission-badge{font-size:18px;margin-bottom:14px}.mission-intro{font-size:20px;margin-top:24px}.light-stage{margin-top:24px}.light-scene>svg{min-height:230px}.light-controls{gap:20px}.light-controls p{font-size:19px;max-width:none}.light-switch{font-size:19px}.delivery-story{margin-top:44px!important}.delivery-copy>p{font-size:20px}.project-body{padding:24px}.project-top h3{font-size:32px}.project-amounts{grid-template-columns:minmax(0,1fr)}.neighbor-invite .text-button{margin-left:0}.header-inner{gap:8px}.brand-location{max-width:18ch}.header-actions{flex-shrink:0}.brand-name{font-size:25px}.brand-mark{display:none}.header-inner.wrap{width:calc(100% - 24px)}.school-project-art>strong{font-size:30px}.funds-section h2{overflow-wrap:anywhere}.money-breakdown{grid-template-columns:1fr}.money-breakdown>div+div{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.footer-brand{flex-wrap:wrap}}
@media(max-width:380px){.header-actions .theme-button{display:none}.mission-heading h2{font-size:40px}.project-body{padding:20px}.project-top h3{font-size:30px}.light-switch{padding:16px}.alias-card{padding:20px}.conversation-art span{padding:12px}}
@media(prefers-reduced-motion:reduce){.light-story *{transition:none!important;animation:none!important}}
