/* Horizontal hero slider and layered caption motion. */
.hero{height:460px;position:relative;overflow:hidden;background:#1a1a1a;color:#fff}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 45%;transform:scale(1.08) translateX(-2.5%)}
.hero-slide.is-active>img{animation:heroPanRight 5.8s ease-out both}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0008 48%,#0005 100%)}
.hero-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:0;max-width:none}
.hero-copy h1{font-size:50px;line-height:1.08;margin:0 0 15px;font-weight:800;max-width:650px;opacity:0;transform:translateX(-28px)}
.hero-slide.is-active .hero-copy h1{animation:heroTextIn .65s .18s ease-out forwards}
.hero-copy p{font-size:14px;margin:0 0 20px;opacity:0;transform:translateX(-18px)}
.hero-slide.is-active .hero-copy p{animation:heroTextIn .55s .35s ease-out forwards}
.hero-copy .btn{border-radius:22px;padding:10px 19px;background:transparent;border:2px solid #fff;opacity:0;transform:translateY(10px)}
.hero-slide.is-active .hero-copy .btn{animation:heroButtonIn .5s .52s ease-out forwards}
.hero-dots{position:absolute;z-index:3;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.hero-dots button{width:8px;height:8px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.hero-dots button.is-active{width:24px;border-radius:8px;background:var(--pink);border-color:var(--pink)}
@keyframes heroPanRight{from{transform:scale(1.08) translateX(-2.5%)}to{transform:scale(1.08) translateX(2.5%)}}
@keyframes heroTextIn{to{opacity:1;transform:translateX(0)}}
@keyframes heroButtonIn{to{opacity:1;transform:translateY(0)}}
.quick a{position:relative;transition:background-color .3s ease,opacity .3s ease,filter .3s ease}
.quick:hover a:not(:hover){opacity:.58}
.quick a:hover,.quick a:focus-visible{background:#ff4776;opacity:1;filter:brightness(1.04)}
.quick a:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.funding{margin:15px 0 17px}
.funding-meta{display:flex;justify-content:space-between;gap:8px;color:#b4b7bb;font:12px/1.3 Arial,sans-serif}
.funding-meta span:last-child{text-align:right}
.funding-bar{height:13px;position:relative;margin:43px 0 0;background:#f3f3f4;border-radius:9px}
.funding-bar>span{display:block;width:var(--raised);height:100%;border-radius:inherit;background:var(--pink)}
.funding-bar>b{position:absolute;left:var(--raised);top:-50px;transform:translateX(-50%);min-width:50px;padding:8px 9px;border-radius:3px;background:#282b30;color:#fff;text-align:center;font:bold 12px/1 Arial,sans-serif}
.funding-bar>b:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#282b30}
.card .funding{margin:14px 0 12px}
.card .funding-meta{font-size:8px;gap:4px}
.card .funding-bar{height:5px;margin-top:33px}
.card .funding-bar>b{top:-39px;min-width:38px;padding:6px 5px;font-size:9px}
.card .funding-bar>b:after{border-width:5px}
.callout{position:relative;isolation:isolate;min-height:300px;display:flex;align-items:center;justify-content:center;background-color:#343434;background-image:linear-gradient(#0008,#0008),url('https://images.unsplash.com/photo-1509099836639-18ba1795216d?auto=format&fit=crop&w=2000&q=88');background-attachment:fixed;background-position:center 48%;background-size:cover;background-repeat:no-repeat}
.callout>.wrap{width:min(var(--wrap),calc(100% - 42px))}
.callout h2{font-size:clamp(38px,5vw,64px)}
.testimonials{position:relative;isolation:isolate;background-color:#555;background-image:linear-gradient(#0009,#0009),url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=2000&q=85');background-position:center;background-size:cover;background-attachment:fixed}
.testimonials .center-title{color:#fff;margin-bottom:34px}
.testimonial-window{overflow:hidden}
.testimonial-track{display:flex;gap:24px;transition:transform .7s cubic-bezier(.2,.75,.25,1);will-change:transform}
.testimonial-track .quote{flex:0 0 calc((100% - 48px)/3);min-width:0;min-height:326px;padding:0;background:#fff;color:#25282b;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.quote-main{padding:35px 30px 22px;min-height:220px}
.quote-main p{font:17px/1.5 Georgia,serif;color:#202124;margin:0 0 25px}
.quote-rating{font-size:12px;color:#777}
.quote-rating b{font-size:16px;color:var(--pink)}
.quote-person{min-height:95px;border-top:1px solid #e7e7e7;display:flex;align-items:center;gap:14px;padding:16px 30px}
.quote-person img{width:66px;height:66px;object-fit:cover;border-radius:50%;order:2;margin-left:auto;border:5px solid #f4eeed}
.quote-person strong,.quote-person small{display:block}
.quote-person strong{font-size:15px;color:#383a3c}
.quote-person small{font-size:12px;color:#96999c;margin-top:5px}
.testimonial-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:24px}
.testimonial-controls>button{width:30px;height:30px;border-radius:50%;border:1px solid #ffffffa0;color:#fff;background:transparent;font-size:20px;line-height:1;cursor:pointer}
.testimonial-controls>button:hover,.testimonial-controls>button:focus-visible{background:var(--pink);border-color:var(--pink)}
.testimonial-dots{display:flex;gap:7px}
.testimonial-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#ffffff70;cursor:pointer}
.testimonial-dots button.is-active{width:22px;border-radius:6px;background:var(--pink)}
.volunteer{min-height:500px;padding:55px 15px;display:flex;align-items:center;justify-content:center;background-color:#47705a;background-image:linear-gradient(#0002,#0002),url('https://images.unsplash.com/photo-1758599669406-d5179ccefcb9?auto=format&fit=crop&w=2000&q=85');background-position:center;background-size:cover;background-attachment:fixed}
.volunteer-box{width:min(420px,100%);padding:39px 48px;background:#fff;box-shadow:0 12px 35px #0002;text-align:center}
.volunteer-box .volunteer-pretitle{font-size:28px;line-height:1.2;color:#555;margin:0 0 4px}
.volunteer-box h2{font-size:46px;line-height:1.1;font-weight:800;margin:0 0 25px;color:#26292d}
.volunteer-box>p:not(.volunteer-pretitle){font-size:14px;line-height:1.65;color:#85898d;margin:0 0 26px}
.volunteer-box .small-btn{border:2px solid var(--pink);border-radius:24px;padding:13px 26px;color:var(--pink);font-size:12px;font-weight:700;text-transform:uppercase;box-shadow:0 12px 24px #00000012}
.volunteer-box .small-btn:hover{background:var(--pink);color:#fff}
.partners{overflow:hidden}
.partners .wrap{display:block;overflow:hidden}
.partners-window{overflow:hidden;width:100%}
.partners-track{display:flex;align-items:center;width:max-content;animation:partnerMarquee 26s linear infinite}
.partners-window:hover .partners-track{animation-play-state:paused}
.partner-logo{height:100px;flex:0 0 min(285px,26vw);display:flex;align-items:center;justify-content:center;color:#bfc1c4;font-size:27px;font-weight:800;letter-spacing:-1px;white-space:nowrap;opacity:.72}
.partner-logo.docker{font-size:28px;font-weight:500}
.partner-logo.chatelaine{font-size:23px;letter-spacing:1px}
.partner-logo.produe{font-size:25px;font-style:italic;font-weight:500}
.partner-logo.ingredis{font-size:30px;font-weight:500}
@keyframes partnerMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.footer{background:#222831;color:#aeb8c8;padding:14px 0 26px}
.footer .footer-grid{grid-template-columns:1.45fr 1fr 1fr 1fr;gap:54px;padding:0 8px 68px}
.footer .footer-grid>div>h3{font-size:20px;line-height:1.3;color:#fff;margin:0 0 24px;font-weight:700}
.footer .footer-grid>div:not(.footer-about) a{font:14px/1.5 Georgia,serif;color:#9daec7;margin:0 0 11px}
.footer .footer-grid>div:not(.footer-about) a:hover{color:#fff}
.footer .footer-brand{display:flex;align-items:center;gap:3px;margin:0 0 32px;color:#fff}
.footer-brand svg{width:57px;height:57px;fill:none;stroke:#f42c62;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.footer-brand strong{display:block;font-size:30px;line-height:1;font-weight:800;letter-spacing:-1px}
.footer-brand em,.footer-about h3 em{font-style:normal;color:#f42c62}
.footer-brand small{display:block;color:#a6aab1;font-size:13px;margin:5px 0 0 37px}
.footer .footer-about h3{font:700 25px/1.4 Georgia,serif;margin:0 0 27px;color:#fff}
.footer .footer-about p{font:15px/1.8 Georgia,serif;color:#fff;margin:0;max-width:330px}
.footer-bottom{border-top:1px solid #ffffff20;text-align:center;padding:40px 0 0}
.footer-social{display:flex;justify-content:center;gap:15px;margin-bottom:29px}
.footer .footer-social a{width:43px;height:43px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:16px;font-weight:bold;margin:0;transition:background .2s,border-color .2s}
.footer .footer-social a:hover{background:var(--pink);border-color:var(--pink)}
.footer-bottom h2{font-size:42px;line-height:1.1;font-weight:800;color:#fff;margin:0 0 27px}
.footer-bottom p{font-size:14px;color:#fff;margin:0}
@media(max-width:620px){.callout{min-height:270px;background-attachment:scroll;background-position:center center}}
@media(max-width:900px){.testimonial-track .quote{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:620px){.testimonial-track{gap:14px}.testimonial-track .quote{flex-basis:100%;min-height:300px}.quote-main{padding:28px 24px 18px;min-height:205px}.quote-person{padding:14px 24px}.volunteer{min-height:390px;padding:35px 18px;background-attachment:scroll}.volunteer-box{padding:32px 25px}.volunteer-box h2{font-size:40px}.volunteer-box .volunteer-pretitle{font-size:24px}}
@media(max-width:620px){.partner-logo{height:78px;flex-basis:190px;font-size:22px}.partner-logo.chatelaine{font-size:18px}.partner-logo.produe{font-size:21px}.partner-logo.ingredis{font-size:24px}}
@media(max-width:900px){.footer .footer-grid{gap:30px;grid-template-columns:1.3fr 1fr 1fr 1fr}}
@media(max-width:620px){.footer{padding-top:28px}.footer .footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px;padding:0 0 40px}.footer .footer-about{grid-column:span 2}.footer .footer-grid>div>h3{font-size:17px;margin-bottom:16px}.footer .footer-about h3{font-size:22px}.footer-bottom{padding-top:28px}.footer-bottom h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.partners-track{animation:none}.partners-track .partner-logo[aria-hidden="true"]{display:none}}
@media(max-width:900px){.hero{height:410px}.hero-copy h1{font-size:45px}}
@media(max-width:620px){.hero{height:390px}.hero-slide>img{object-position:58% center}.hero-copy h1{font-size:39px;max-width:440px}.hero-copy p{font-size:12px}.hero-dots{bottom:14px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide>img,.hero-copy h1,.hero-copy p,.hero-copy .btn{animation:none!important;transition:none!important}.hero-copy h1,.hero-copy p,.hero-copy .btn{opacity:1;transform:none}}
