body{margin:0;background:#FFFDF8;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
a{color:#1D6A52}a:hover{color:#14503D}
h1,h2,h3,p{margin:0}
button{font-family:inherit}
a,button{transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease}
a:active,button:active{transform:scale(.97)}
.mobile-nav,.m-bar,.swipe-hint{display:none}

@media (max-width: 860px){
.nav-links,.hide-sm{display:none !important}
.menu-btn{display:inline-flex !important}
.mobile-nav{display:flex}
.m-bar{display:flex}
.swipe-hint{display:inline-flex}
.sec{padding-top:56px !important;padding-bottom:56px !important}
.sec-tail{padding-bottom:56px !important}
.hero{padding-top:14px !important;padding-bottom:8px !important;gap:26px !important}
.hero-media{padding:10px 6px 0 0 !important}
.hero-main{aspect-ratio:4 / 3.5 !important;border-radius:24px !important}
.hero-float{width:38% !important;border-width:4px !important;border-radius:18px !important}
.strip{padding-bottom:36px !important}
.cta-row>a{flex:1 1 auto;justify-content:center}
.stats{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px !important}
.stat{padding:18px !important;border-radius:18px !important}
.stat-num{font-size:30px !important}
.work-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px !important}
.work-card{padding:18px !important;gap:10px !important;border-radius:20px !important}
.work-card h3{font-size:19px !important}
.work-card p{font-size:14px !important}
.work-card .ic{width:44px !important;height:44px !important;border-radius:14px !important}
.band-text{padding:30px 22px !important}
.snap-row{flex-wrap:nowrap !important;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding:0 24px 8px;scroll-padding-inline:24px;scrollbar-width:none;overscroll-behavior-x:contain}
.snap-row::-webkit-scrollbar{display:none}
.snap-row>*{flex:0 0 84% !important;scroll-snap-align:start}
.team-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px !important}
.team-grid img{border-radius:18px !important}
.team-grid strong{font-size:15px !important}
.team-grid span{font-size:13px !important}
.give-card{padding:22px !important;border-radius:24px !important}
.foot{padding-bottom:120px !important}
}

/* entrance + scroll reveal: fades for everyone, movement only when motion is allowed */
@keyframes fade{from{opacity:0}}
.hero-in>*{animation:fade .7s ease-out backwards}
.hero-in>*:nth-child(2){animation-delay:.08s}
.hero-in>*:nth-child(3){animation-delay:.16s}
.hero-in>*:nth-child(4){animation-delay:.24s}
.hero-in>*:nth-child(5){animation-delay:.32s}
.hero-media{animation:fade .8s .15s ease-out backwards}
.js-anim .reveal{opacity:0;transition:opacity .7s ease, translate .8s cubic-bezier(.2,.7,.2,1)}
.js-anim .reveal.in{opacity:1}
.js-anim .bar-fill{scale:0 1;transform-origin:left center;transition:scale 1.3s cubic-bezier(.2,.7,.2,1) .25s}
.js-anim .bar-fill.in{scale:1 1}
.work-grid>.reveal:nth-child(2),.snap-row>.reveal:nth-child(2),ol>.reveal:nth-child(2){transition-delay:.08s}
.work-grid>.reveal:nth-child(3),.snap-row>.reveal:nth-child(3),ol>.reveal:nth-child(3){transition-delay:.16s}
.work-grid>.reveal:nth-child(4){transition-delay:.24s}
.strip{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}

@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
.strip{overflow-x:auto !important;scrollbar-width:none}
}
@media (prefers-reduced-motion: no-preference){
@keyframes rise{from{opacity:0;translate:0 24px}}
.hero-in>*{animation-name:rise;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
@keyframes zoomin{from{opacity:0;scale:.94}}
.hero-media{animation:zoomin .9s .15s cubic-bezier(.2,.7,.2,1) backwards}
.js-anim .reveal{translate:0 30px}
.js-anim .reveal.in{translate:0 0}
@keyframes mark{from{background-size:0% .32em}}
.mark{animation:mark .9s .8s cubic-bezier(.2,.7,.2,1) backwards}
@keyframes pop{from{opacity:0;translate:0 -6px}}
.pop{animation:pop .22s ease-out}
@keyframes beat{0%,60%,100%{scale:1}10%{scale:1.2}20%{scale:1}30%{scale:1.12}40%{scale:1}}
.beat{animation:beat 2.6s ease-in-out infinite}
@keyframes bob{50%{translate:0 -9px}}
.hero-float{animation:bob 5s ease-in-out infinite}
@keyframes pulse{from{box-shadow:0 0 0 0 rgba(29,106,82,.55)}to{box-shadow:0 0 0 9px rgba(29,106,82,0)}}
.live-dot{animation:pulse 1.8s ease-out infinite}
@keyframes strip{to{translate:-50% 0}}
.strip-track{animation:strip 50s linear infinite}
.strip:hover .strip-track,.strip:active .strip-track{animation-play-state:paused}
}

.mobile-nav[hidden]{display:none !important}
.seg{background:transparent;color:#5D6766}
.seg[aria-pressed="true"]{background:#FFFFFF;color:#1F2A2E;box-shadow:0 2px 8px rgba(31,42,46,.12)}
.chip,.amt{border:1.5px solid #E2D6C4;background:#FFFFFF;color:#1F2A2E}
.chip[aria-pressed="true"]{background:#1F2A2E;color:#FFFDF8;border-color:#1F2A2E}
.amt[aria-pressed="true"]{background:#FDE3B8;border-color:#F2A23A}
.copy-btn{background:#1F2A2E}
.copy-btn.done{background:#1D6A52}
.faq{border:1px solid #EADFCF;border-radius:20px;background:#FFFDF8}
.faq[open]{background:#FFFFFF}
.faq summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px 14px 20px;font-size:17px;font-weight:700;color:#1F2A2E}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#F5EEE3;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;font-weight:500}
.faq[open] summary::after{content:"\2212"}
