/* GFG 2026 / modern editorial motion layer — original, no generated imagery */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#15364c;--coral:#ef654b;--sun:#ffcf43;--butter:#fff4d4;--sky:#e8f6fa}
body{font-family:'DM Sans',sans-serif;overflow-x:hidden}h1,h2,h3,.brand,.number,.tier .price{font-family:'Outfit',sans-serif;letter-spacing:-.055em}h1{font-weight:900;line-height:1.01}h2{font-weight:800;line-height:1.06}.header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#fffffff0!important;border-bottom:1px solid #e9e9e4;transition:box-shadow .3s}.header.scrolled{box-shadow:0 12px 40px #15364c17}.navlinks a:not(.btn){position:relative}.navlinks a:not(.btn):after{content:'';position:absolute;left:0;right:100%;height:2px;bottom:-5px;background:var(--coral);transition:right .3s}.navlinks a:not(.btn):hover:after{right:0}.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s;box-shadow:0 7px 0 #a82e2214}.btn:before{content:'';position:absolute;inset:0;background:#ffffff30;transform:translateX(-110%) skewX(-25deg);transition:transform .65s;z-index:-1}.btn:hover:before{transform:translateX(110%) skewX(-25deg)}.btn:hover{transform:translateY(-4px);box-shadow:0 13px 25px #b93b2630}.btn:focus-visible,.giving-option:focus-visible,a:focus-visible{outline:3px solid #136db5;outline-offset:4px}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:4px;z-index:1000;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#f46b4e,#ffd447)}.hero{min-height:min(820px,94svh);background:#fff8e9}.hero .container{position:relative;z-index:1}.hero .eyebrow,.sponsorhero .eyebrow{display:inline-block;background:#fff;border:1px solid #e9c9b4;padding:10px 15px;border-radius:50px;letter-spacing:.13em}.hero h1{animation:heroEnter .9s both}.hero p{animation:heroEnter 1s .15s both}.hero .actions{animation:heroEnter 1s .28s both}.hero img.bg{animation:photoReveal 1.4s both;object-position:center}.hero:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:48px;background:#fff;clip-path:polygon(0 80%,100% 0,100% 100%,0 100%);z-index:1}.eventstrip{position:relative;z-index:2}.moment-marquee{overflow:hidden;background:#f16b51;color:#fff;padding:13px 0;white-space:nowrap;font-weight:900;font-family:Outfit,sans-serif;letter-spacing:.13em;font-size:.85rem}.marquee-track{display:inline-block;min-width:max-content;animation:marquee 34s linear infinite}.marquee-track span{color:#ffda55;margin:0 28px;font-size:1.1rem}.moment-marquee:hover .marquee-track{animation-play-state:paused}.section{position:relative}.section .eyebrow{font-size:.76rem}.split{gap:7%}.frame{overflow:visible}.frame img{border-radius:20px;box-shadow:0 20px 60px #15364c1a;transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .75s}.frame:hover img{transform:scale(1.025)}.frame:after{border-radius:20px}.impact{gap:16px;background:transparent;border:0}.impact>div{border-radius:20px;border:1px solid #eedbc7;box-shadow:0 10px 28px #15364c09;transition:transform .3s}.impact>div:hover{transform:translateY(-7px)}.number{font-weight:900;letter-spacing:-.075em}.section.forest{background:#e4f5f7}.quote{font-family:Outfit,sans-serif;font-weight:800}.photo-grid{gap:16px}.photo-grid img{border-radius:18px;transition:transform .5s,filter .5s;filter:saturate(1.04)}.photo-grid img:hover{transform:scale(1.035);filter:saturate(1.18)}.photo-grid{overflow:hidden;border-radius:18px}.details .detail{transition:transform .3s}.details .detail:hover{transform:translateY(-5px)}.cta{isolation:isolate;overflow:hidden}.cta .container{position:relative;z-index:2}.cta-orb{position:absolute;border-radius:50%;z-index:0;pointer-events:none;filter:blur(1px);opacity:.55}.orb-one{width:380px;height:380px;top:-240px;left:-100px;background:#fff3b0}.orb-two{width:450px;height:450px;bottom:-300px;right:-100px;background:#fff7ce}.cta h2{font-size:clamp(3rem,7vw,7rem)}.sponsorhero{min-height:570px;display:flex;align-items:center;isolation:isolate}.sponsorhero .container{position:relative;z-index:1}.sponsorhero h1{animation:heroEnter .9s both}.sponsor-spark{position:absolute;right:7%;top:18%;font-size:clamp(7rem,17vw,19rem);line-height:1;color:#ffce42;opacity:.7;animation:sparkRotate 35s linear infinite;pointer-events:none}.giving-card{border:1px solid #e5e8e9;box-shadow:0 25px 70px #15364c16;transition:box-shadow .35s,transform .35s}.giving-card:hover{box-shadow:0 32px 85px #15364c21}.giving-option{font-family:Outfit,sans-serif;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s}.giving-option[aria-pressed=true]{box-shadow:0 6px 0 #ef654b25,inset 0 0 0 1px #ef654b}.giving-option:hover{transform:translateY(-4px)}.tier{border-radius:22px;box-shadow:0 6px 25px #15364c0b;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}.tier:hover,.tier:focus-within{transform:translateY(-12px);box-shadow:0 28px 60px #15364c24}.tier.featured{background:#fff0bf}.giving-steps>div{transition:transform .3s}.giving-steps>div:hover{transform:translateY(-6px)}.reveal{transform:translateY(40px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.visible .tier,.reveal.visible .detail{animation:heroEnter .7s both}.reveal.visible .tier:nth-child(2),.reveal.visible .detail:nth-child(2){animation-delay:.12s}.reveal.visible .tier:nth-child(3),.reveal.visible .detail:nth-child(3){animation-delay:.24s}.reveal.visible .tier:nth-child(4){animation-delay:.36s}@keyframes heroEnter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes photoReveal{from{opacity:.5;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes marquee{to{transform:translateX(-33.333%)}}@keyframes sparkRotate{to{transform:rotate(360deg)}}
@media(max-width:720px){.hero{min-height:720px}.hero:before{background:linear-gradient(90deg,#fff5e9f5,#fff5e9bb)}.sponsor-spark{right:-12%;top:8%;opacity:.2}.impact{gap:12px}.photo-grid{overflow:visible}.navlinks{z-index:30}.moment-marquee{font-size:.72rem}.cta-orb{opacity:.3}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.marquee-track{animation:none}}
