.charity-hero .hero-art-frame{position:relative;height:min(650px,calc(100svh - 150px));min-height:480px;overflow:hidden}.charity-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.charity-hero .hero-art-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,24,.88),rgba(5,16,24,.4) 35%,transparent 65%)}.charity-hero .hero-copy{top:7%;width:36%;z-index:2}.charity-hero .hero-copy .hero-description{font-size:clamp(.9rem,1.25vw,1.15rem)}@media(max-width:900px){.charity-hero .hero-art-frame{height:600px;min-height:0}.charity-hero .charity-image{object-position:62% center}.charity-hero .hero-art-frame:after{background:linear-gradient(90deg,rgba(5,16,24,.85),rgba(5,16,24,.2))}.charity-hero .hero-copy{position:absolute;top:24px;left:24px;width:calc(100% - 48px);padding:0;max-width:340px}.charity-hero .hero-copy h1{font-size:clamp(2rem,7vw,3rem)}.charity-hero .hero-copy .hero-description{position:static;width:auto;margin:18px 0;font-size:1rem;line-height:1.5}.charity-hero .hero-copy .actions{position:static;margin-top:18px;display:flex;flex-wrap:wrap}.charity-hero .hero-copy .eyebrow{display:none}.charity-hero .hero-bottom{position:relative;margin:0}}

/* Gentle whole-scene camera movement and warm window light. */
.charity-hero .charity-image{animation:none;transform:none;will-change:auto}
.charity-hero .hero-art-frame:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 88% 12%,rgba(255,223,160,.28),rgba(255,229,180,.08) 22%,transparent 52%);opacity:.22;animation:charity-sunlight 10s ease-in-out infinite alternate}

@keyframes charity-sunlight{from{opacity:.18}to{opacity:.48}}
.charity-motion-toggle{position:absolute;right:20px;bottom:20px;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:44px;background:rgba(7,20,28,.82);border:1px solid #ffffff70;border-radius:6px;color:#fff;font:500 12px/1.3 Arial,sans-serif;cursor:pointer}
.charity-motion-toggle input{width:16px;height:16px;accent-color:#b71935;margin:0}
.charity-hero:has(.charity-motion-toggle input:checked) .charity-image,.charity-hero:has(.charity-motion-toggle input:checked) .hero-art-frame:before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.charity-hero .charity-image{animation:none;transform:none;will-change:auto}.charity-hero .hero-art-frame:before{animation:none;opacity:.16}.charity-motion-toggle{display:none}}

.charity-hero .charity-scene{display:block;width:100%;height:100%}.charity-hero:has(.charity-motion-toggle input:checked) .wall-banner-ripple{display:none}@media(prefers-reduced-motion:reduce){.wall-banner-ripple{display:none}}

.banner-center-light{animation:banner-light 8s ease-in-out infinite alternate;opacity:.4}@keyframes banner-light{from{opacity:.25}to{opacity:.85}}.charity-hero:has(.charity-motion-toggle input:checked) .banner-center-light{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.banner-center-light{animation:none;opacity:.3}}

/* Visible window-light sweep; the photo itself remains stationary. */
.charity-hero .hero-art-frame:before{inset:-15% -40%;background:linear-gradient(112deg,transparent 30%,rgba(255,224,155,.04) 39%,rgba(255,231,177,.14) 47%,rgba(255,242,212,.18) 51%,rgba(255,224,155,.035) 60%,transparent 68%);opacity:1;transform:translateX(18%);animation:room-sun-sweep 10s ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes room-sun-sweep{0%{transform:translateX(18%);opacity:.5}50%{opacity:.9}100%{transform:translateX(-22%);opacity:.65}}
.banner-folds{animation:corner-fabric-folds 2.5s ease-in-out infinite alternate;transform-box:view-box;transform-origin:center}
@keyframes corner-fabric-folds{from{transform:translateX(-24px);opacity:.8}to{transform:translateX(24px);opacity:1}}
.banner-center-light{animation-duration:5s}
.charity-hero:has(.charity-motion-toggle input:checked) .banner-folds{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.charity-hero .hero-art-frame:before{animation:none;transform:none;opacity:.15}.banner-folds{animation:none}}
