/* White and magenta light floats behind the content without moving reading targets. */
body{background:#fffafb;isolation:isolate}
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:-1;width:95vw;height:95vh;border-radius:50%;background:radial-gradient(ellipse,rgba(236,14,124,.19) 0%,rgba(255,168,211,.14) 35%,rgba(255,255,255,0) 70%);will-change:transform;animation:cloud-drift 17s ease-in-out infinite alternate}
body::before{left:-38vw;top:-30vh}body::after{right:-38vw;bottom:-35vh;animation-delay:-9s;animation-duration:23s}
@keyframes cloud-drift{0%{transform:translate3d(0,0,0) scale(.9)}50%{transform:translate3d(15vw,12vh,0) scale(1.2)}100%{transform:translate3d(32vw,-6vh,0) scale(1.05)}}
.hero,.story,.proof,.support,.faq{background:transparent}.experience,.report{background:rgba(255,244,249,.68)}.funds,.closing{background:rgba(255,230,241,.55)}.project-ribbon{background:rgba(255,255,255,.72)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 30% 30%,#ffbddc66,transparent 58%);mix-blend-mode:multiply;animation:hero-light 13s ease-in-out infinite alternate}
@keyframes hero-light{from{transform:translate(-15%,-8%);opacity:.5}to{transform:translate(20%,14%);opacity:.9}}
@media(prefers-reduced-motion:reduce){body::before,body::after,.hero::after,.button,.header-action,.support-dock .dock-link,.button::before,.support-dock .dock-link::before{animation:none!important;will-change:auto}}
/* A single shared atmosphere avoids seams between tinted section panels. */
body{background:#fff}body::before{background:radial-gradient(ellipse,rgba(236,14,124,.17),rgba(255,192,221,.13) 38%,transparent 72%)}body::after{background:radial-gradient(ellipse,rgba(41,169,224,.2),rgba(167,224,248,.14) 38%,transparent 72%);right:-22vw;bottom:-14vh}
.hero,.story,.proof,.support,.faq,.experience,.report,.funds,.closing,.project-ribbon{background:transparent;border-top:0;border-bottom:0;border-radius:0}.hero::after{background:radial-gradient(ellipse at 30% 30%,#c4edfa55,transparent 65%)}
.support-dock{border-top:0;box-shadow:0 -8px 30px #547a8a0c}.project-ribbon{box-shadow:none}
/* The moving KV-local rectangle clipped its glow at its translated bounds.
   Use only the shared, feathered page lights so no panel edge can cross the KV. */
.hero::after{content:none;animation:none;background:none}
.hero h1 .hero-type{mix-blend-mode:normal}
.hero-center{animation-fill-mode:backwards}
/* Continuous viewport canvas replaces all independently translated light panels. */
body::before,body::after{content:none;animation:none}.ambient-light{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero::after{content:none}.hero-center{background:transparent;filter:none;backdrop-filter:none}

/* Solid action color keeps contrast while a brief sun glint crosses the surface. */
.button,.header-action,.support-dock .dock-link{
  position:relative;isolation:isolate;overflow:hidden;
  background:#c90968!important;background-image:none!important;
  color:#fff;border:1px solid #c90968;box-shadow:none;
  animation:none!important;transition:background-color .2s,transform .2s;
}
.button::before,.header-action::before,.support-dock .dock-link::before{
  content:"";position:absolute;top:-60%;bottom:-60%;left:-65%;width:45%;
  background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.13) 40%,rgba(255,255,255,.48) 50%,rgba(255,255,255,.13) 60%,transparent 85%);
  transform:translateX(0) skewX(-16deg);pointer-events:none;z-index:-1;
  animation:sun-glint 5.5s ease-in-out infinite;
}
.header-action::before{animation-delay:1s}.support-dock .dock-link::before{animation-delay:1.8s}
@keyframes sun-glint{0%,65%{transform:translateX(0) skewX(-16deg)}90%,100%{transform:translateX(420%) skewX(-16deg)}}
.button:hover,.header-action:hover,.support-dock .dock-link:hover{background-color:#b4085c!important;transform:translateY(-2px);box-shadow:none}
.button:active,.header-action:active,.support-dock .dock-link:active{transform:translateY(0) scale(.99);box-shadow:none}
.support-dock .dock-link span,.support-dock .dock-link b{color:#fff}
.support-dock .dock-link img{filter:brightness(0) invert(1)}
@media(prefers-reduced-motion:reduce){.button::before,.header-action::before,.support-dock .dock-link::before{animation:none;content:none}}

.experience::after{content:none}
.light-bridge{width:100%;overflow:hidden;margin:-16px 0;pointer-events:none}
.light-bridge svg{display:block;width:100%;height:clamp(70px,13vw,150px)}
.light-bridge path{stroke-linecap:round;stroke-width:2}
.light-bridge .pink-trail{stroke:#ec0e7c}.light-bridge .cyan-trail{stroke:#29a9e0}
.light-bridge .trail{opacity:.2}.light-bridge .pulse{stroke-width:4;stroke-dasharray:4 96;animation:trail-pass 6s linear infinite}
.light-bridge .pulse.cyan-trail{animation-direction:reverse;animation-delay:-3s}
@keyframes trail-pass{to{stroke-dashoffset:-100}}
.closing .closing-art{height:auto;max-width:700px;margin:35px auto 0;background:none;border-radius:0;overflow:visible}
.closing-art img{width:100%;height:auto;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 90%,transparent)}
@media(prefers-reduced-motion:reduce){.light-bridge .pulse{animation:none}}
.closing-art img{aspect-ratio:1 / 1;object-fit:cover;object-position:center bottom;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 94%,transparent)}

.partners-preview{padding:55px 24px 45px;text-align:center;position:relative}
.partners-preview .eyebrow{margin-bottom:10px;font-size:10px}
.partners-preview h2{font-size:clamp(20px,2.2vw,28px);margin-bottom:18px;letter-spacing:.04em}
.partners-soon{font-family:Arial,sans-serif;font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.035em;color:#626a70;line-height:1.2;margin-bottom:16px}
.partners-soon span{color:#ec0e7c}.partners-caption{font-size:12px;margin:0;color:#626a70}
@media(max-width:760px){.partners-preview{padding:38px 22px 32px}.partners-caption{font-size:11px}}

.story-intro{max-width:760px;margin:0 auto}.story-intro h2{line-height:1.6;margin-bottom:22px}.story-intro p{font-size:16px;line-height:2;margin:0}.story .disaster-gallery{margin-top:30px}.story .teacher-message{margin-top:50px}.story .teacher-message h2{font-size:clamp(22px,3vw,32px)}.story .teacher-message blockquote{margin:24px auto}.story-promise{max-width:760px;margin:38px auto 22px}.story-promise h3{font-size:22px}.story-promise p{line-height:2}.story-details{max-width:760px;margin:16px auto;border-top:1px solid #b6c5ce;border-bottom:1px solid #b6c5ce}.story-details summary{padding:18px 30px 18px 0;font-size:14px}.story-details>div{padding:4px 0 18px}.story-details img{width:100%;height:auto;margin-bottom:20px}.story .teacher-name{margin-bottom:16px}.story .teacher-message>p{max-width:760px}.story{padding-bottom:65px}@media(max-width:760px){.story-intro h2{font-size:26px}.story-intro p{font-size:14px;line-height:1.95}.story-label{margin-bottom:20px}.story .teacher-message{margin-top:32px}.story-promise h3{font-size:20px}}
