@font-face{font-family:Pixel;src:url('assets/fonts/PressStart2P-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--navy:#163c58;--cream:#fffdf1;--yellow:#ffe391;--water:#89e0ee;--pixel:Pixel,'Courier New',monospace;--body:'Courier New',monospace;--shadow:5px 5px 0 var(--navy)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--navy);background:#4acbdd url('assets/pixel-ocean.webp') center center/cover fixed no-repeat;font-family:var(--body);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px dashed var(--navy);outline-offset:6px}img{max-width:100%;object-fit:contain;image-rendering:pixelated}h1,h2,p{margin:0}h1,h2{font-family:var(--pixel);font-weight:400}h1{font-size:28px;line-height:1.65;letter-spacing:-1px}h2{font-size:12px;line-height:1.8}p{font-size:15px;line-height:1.7}.site{max-width:1152px;padding:0 40px;margin:auto;min-height:100svh;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:123px;padding:15px 0 20px}.brand{display:flex;align-items:center;gap:15px;font-family:var(--pixel);font-size:16px;line-height:1.65;text-transform:uppercase;letter-spacing:-.7px}.brand img{width:70px;height:76px;filter:drop-shadow(2px 3px 0 #fffdf1)}nav{display:flex;gap:12px;align-items:center}nav a,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--cream);border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy);font-family:var(--pixel);font-size:9px;line-height:1.65;text-transform:uppercase;padding:13px 14px;transition:transform .12s,box-shadow .12s,background .12s}nav a:hover,.button:hover{background:#ffedb5;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--navy)}nav a:active,.button:active{transform:translate(3px,3px);box-shadow:none}nav a[aria-current=page],.button{background:var(--yellow)}main{flex:1}.game-window{background:var(--cream);border:3px solid var(--navy);box-shadow:var(--shadow)}.window-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:2px solid var(--navy);height:32px;padding:5px 15px;font-family:var(--pixel);font-size:8px;line-height:1.7;text-transform:uppercase}.window-dots{display:flex;gap:6px}.window-dots i{width:10px;height:10px;background:var(--yellow);border:2px solid var(--navy);box-shadow:inset 2px 2px 0 #fffdf1}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:385px}.hero-copy{padding:37px 36px 36px}.hero p{margin-top:19px;max-width:405px}.actions{display:flex;flex-direction:column;gap:14px;margin-top:25px;max-width:290px}.button{font-size:10px;min-height:43px;padding:12px 16px;text-align:center}.button.secondary{background:var(--cream)}.button.secondary:hover{background:#d4f3f8}.hero-world{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#72dbea url('assets/pixel-ocean.webp') center center/auto 100% no-repeat;border-left:2px solid var(--navy);min-height:330px;padding:30px}.hero-world .mascot{width:100%;max-width:285px;height:auto;position:relative;z-index:1;filter:drop-shadow(5px 8px 0 #163c5833);animation:bob 3.5s steps(5,end) infinite}.partners{display:flex;align-items:center;gap:22px;padding:17px 20px;margin:20px 0 28px;border:3px solid var(--navy);background:var(--cream);box-shadow:var(--shadow)}.partners h2{text-transform:uppercase;border-right:2px solid var(--navy);padding:8px 22px 8px 0}.partners p{font-size:12px;flex:1;line-height:1.6}.partners .button{font-size:8px;flex-shrink:0;min-height:35px;padding:9px 12px}.window-content{padding:29px 37px 31px}.page-intro{text-align:center;margin-bottom:26px}.page-intro p{margin-top:5px}.team{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:690px;margin:0 auto 26px}.team article{border:2px solid var(--navy);box-shadow:4px 4px 0 var(--navy);padding:13px 13px 17px;text-align:center;background:var(--cream)}.character{position:relative;display:flex;align-items:center;justify-content:center;height:165px;background:#93e1ed;margin-bottom:15px;--cap:#fffdf1;--shine:#c4e9ec;overflow:hidden}.character-blue{--cap:#246b91;--shine:#498eb2;background:#b1edf2}.gear-icon{width:135px;height:116px}.team h2{font-size:12px;line-height:1.6}.team p{font-size:13px;margin-top:5px}.team-invite{display:flex;align-items:center;justify-content:center;gap:25px;border:2px solid var(--navy);padding:12px;max-width:780px;margin:0 auto}.team-invite p{font-size:13px}.team-invite .button{min-height:34px;font-size:9px;padding:8px 13px}.donation-panel,.financial{border:2px solid var(--navy);box-shadow:4px 4px 0 var(--navy);padding:23px;margin:0 0 22px}.donation-panel{display:flex;align-items:center;justify-content:space-between;gap:25px}.donation-panel h2,.financial h2{text-transform:uppercase;font-size:12px;margin-bottom:10px}.donation-panel p{font-size:14px}.donation-panel .button{margin-top:19px;font-size:9px}.donation-art{--cap:#ffe391;--shine:#fff4c9;background:#b8ecf1;padding:13px;border:2px solid var(--navy)}.financial{margin-bottom:0;padding:17px 23px}.financial p{font-size:13px}.mail-panel{border:2px solid var(--navy);box-shadow:var(--shadow);max-width:560px;margin:0 auto 13px;padding:25px 26px;display:flex;flex-direction:column;align-items:center;text-align:center}.envelope{width:104px;height:78px;margin-bottom:11px}.mail-panel h2{text-transform:uppercase;margin-bottom:8px}.email-link{font-size:17px;font-weight:bold;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}.mail-panel .button{margin-top:22px;min-width:210px}.bubble{position:absolute;width:10px;height:10px;border:2px solid #fffdf1;box-shadow:2px 2px 0 #72c9de;pointer-events:none}.bubble-one{left:12%;top:54%;animation:bubble 5s steps(8,end) infinite}.bubble-two{right:13%;top:32%;width:7px;height:7px;animation:bubble 6s steps(8,end) infinite reverse}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;margin:23px -3px 20px;color:var(--cream);background:#163c58;border:2px solid #fffdf1;box-shadow:3px 3px 0 var(--navy)}footer p{font-size:10px;line-height:1.6}footer a{font-size:10px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.skip{position:absolute;top:-100px;left:15px;z-index:10;background:var(--yellow);border:2px solid var(--navy);padding:12px}.skip:focus{top:10px}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bubble{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(-17px);opacity:1}}@media(max-width:950px){.site{padding:0 27px}header{flex-direction:column;gap:15px;padding:17px 0 23px}.brand{font-size:14px}.brand img{height:57px;width:56px}nav{gap:12px}h1{font-size:24px}.hero-copy{padding:28px 25px}.hero p{font-size:14px}.hero-world{padding:20px}.window-content{padding:27px}.team{gap:24px}.team h2{font-size:10px}.partners{gap:17px;padding:15px}.partners h2{padding-right:17px;font-size:10px}}@media(max-width:600px){body{background-attachment:scroll;background-position:center top;background-size:auto 100%}.site{padding:0 17px}.brand{font-size:14px}header{gap:16px;min-height:0;padding:17px 0 23px}nav{width:100%;gap:8px;justify-content:space-between}nav a{font-size:7px;padding:10px 7px;flex:1}.window-bar{font-size:6px;height:29px;padding:6px 9px;gap:8px}.window-dots{gap:4px}.window-dots i{width:8px;height:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 22px}.hero h1{font-size:22px;line-height:1.8}.hero p{font-size:14px;margin-top:15px}.actions{max-width:none;margin-top:23px}.button{font-size:9px}.hero-world{border-left:0;border-top:2px solid var(--navy);min-height:260px;padding:23px}.hero-world .mascot{max-width:210px}.partners{display:grid;grid-template-columns:1fr;padding:17px;gap:11px}.partners h2{border:0;padding:0}.partners .button{justify-self:start;margin-top:4px}.partners p{font-size:13px}.window-content{padding:25px 17px}.page-intro h1{font-size:19px;line-height:1.8;letter-spacing:-.5px}.page-intro p{font-size:13px;margin-top:9px}.team{grid-template-columns:1fr;gap:22px;max-width:270px}.team h2{font-size:11px}.character{height:145px}.team-invite{flex-direction:column;gap:10px;padding:16px}.donation-panel{display:block;padding:18px}.donation-panel h2,.financial h2{font-size:10px}.donation-panel p{font-size:13px}.donation-panel .button{font-size:8px;width:100%}.donation-art{display:none}.financial{padding:18px}.mail-panel{padding:22px 12px}.mail-panel h2{font-size:10px}.email-link{font-size:13px}.mail-panel .button{min-width:0;width:100%;font-size:8px}footer{flex-direction:column;align-items:flex-start;gap:10px;margin:25px 0 18px;padding:13px}footer p{font-size:10px}footer a{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:600px){.hero h1{font-size:clamp(17px,5.6vw,22px)}.page-intro h1{font-size:clamp(15px,4.85vw,19px)}}

/* Add partners to the original logo group; script.js builds the seamless loop. */
.partners{flex-wrap:wrap;gap:18px}.partner-marquee{flex:1;min-width:0;overflow:hidden;padding:8px 0}.partner-track{display:flex;width:max-content}.partner-logos{display:flex;align-items:center;gap:32px;padding:0 16px;flex-shrink:0}.partner-logos a{display:flex;align-items:center;justify-content:center;width:180px;height:88px;padding:8px}.partner-logos img{image-rendering:auto;object-fit:contain;max-width:100%;width:150px;height:72px}.partner-logos .partner-arena{width:90px;height:64px}.partner-logos .partner-ymca{width:180px;height:55px}.partner-logos .partner-folsom{background:var(--navy);padding:12px;width:160px;height:72px}.partner-track.is-ready{animation:partner-scroll var(--scroll-duration,24s) linear infinite}.partners:hover .partner-track,.partners:focus-within .partner-track,.partners.is-paused .partner-track{animation-play-state:paused}.partner-pause{font:11px var(--body);color:var(--navy);background:transparent;border:1px solid var(--navy);padding:7px;cursor:pointer}.partner-pause:focus-visible{outline:3px dashed var(--navy);outline-offset:3px}.partners>.button{font-size:7px}@keyframes partner-scroll{to{transform:translateX(var(--scroll-distance))}}@media(max-width:950px){.partner-marquee{flex-basis:60%}.partners>.button{margin-left:auto}}@media(max-width:600px){.partners{display:flex;align-items:center;gap:12px}.partners h2{border:0;padding:0;flex:1}.partner-marquee{flex:0 0 100%;order:2}.partner-pause{order:1}.partners>.button{order:3;margin:0 auto}.partner-logos{gap:20px;padding:0 10px}.partner-logos a{width:150px}}@media(prefers-reduced-motion:reduce){.partner-marquee{overflow:visible;flex-basis:100%}.partner-track{width:100%;transform:none!important}.partner-logos{flex-wrap:wrap;justify-content:center;width:100%;gap:16px}.partner-copy,.partner-pause{display:none!important}}
