/* The full scene and its light move with ordinary page scrolling. */
.growth-scroll{--growth-bg-x:0px;--growth-bg-y:0px;--growth-bg-x-reverse:0px;--growth-bg-y-reverse:0px;position:relative;isolation:isolate;height:220vh;height:220svh;min-height:900px;overflow:hidden;overflow:clip;background:#104B38;color:var(--white)}
.growth-scroll__backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(150deg,#0B392C 0%,#104B38 43%,#0C3D2E 100%)}
.growth-scroll__backdrop::before,.growth-scroll__backdrop::after{content:"";position:absolute;width:min(88vw,920px);height:min(88vw,920px);border-radius:50%;filter:blur(clamp(64px,10vw,144px));opacity:.25;will-change:transform}
.growth-scroll__backdrop::before{left:-24%;top:7%;background:#FF7A21;transform:translate3d(var(--growth-bg-x),var(--growth-bg-y),0)}
.growth-scroll__backdrop::after{right:-28%;bottom:2%;background:#F7F3E8;opacity:.13;transform:translate3d(var(--growth-bg-x-reverse),var(--growth-bg-y-reverse),0)}
.growth-scroll__stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.growth-collision{position:relative;z-index:2;width:100%;padding:0 24px;text-align:center;pointer-events:none}
.growth-lockup{position:relative;width:fit-content;max-width:100%;margin:0 auto}
.growth-headline,.growth-fragment__text{display:flex;align-items:baseline;justify-content:center;gap:.25em;font-family:var(--font-head);font-size:clamp(2.8rem,12vw,13rem);font-weight:700;line-height:1.12;letter-spacing:-.055em;white-space:nowrap;color:var(--white);margin:0}
.growth-word{display:inline-block;will-change:transform}
.growth-word--orange{color:var(--accent)}
.growth-fragment{position:absolute;inset:0;opacity:0;pointer-events:none;display:none;will-change:transform,opacity}
.is-ready .growth-fragment{display:block}
.growth-fragment__text{width:100%;height:100%}
.growth-caption{font-size:clamp(.85rem,1.3vw,1.05rem);font-weight:600;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;color:#FFAD72;margin:2rem 0 0;min-height:2.8em}
.growth-impact{position:absolute;inset:0;z-index:1;pointer-events:none}
.growth-impact__ring{position:absolute;left:50%;top:50%;width:160px;height:160px;margin:-80px 0 0 -80px;border:2px solid var(--accent);border-radius:50%;opacity:0}
.growth-impact__flash{position:absolute;inset:0;background:var(--accent);opacity:0}
.growth-impact__spark{position:absolute;left:50%;top:50%;width:20px;height:8px;background:var(--accent);border-radius:1px;opacity:0}
.growth-impact.is-impact .growth-impact__ring{animation:collision-ring .9s cubic-bezier(.16,1,.3,1) both}
.growth-impact.is-impact .growth-impact__flash{animation:collision-flash .5s ease-out both}
.growth-impact.is-impact .growth-impact__spark{animation:collision-spark .8s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--spark-delay)}
.growth-collision.is-impact{animation:collision-jolt .5s ease-out both}
@keyframes collision-ring{from{transform:scale(.2);opacity:.8}to{transform:scale(9);opacity:0}}
@keyframes collision-flash{from{opacity:.22}to{opacity:0}}
@keyframes collision-spark{from{transform:translate(0,0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--spark-x),var(--spark-y)) rotate(var(--spark-r)) scale(0);opacity:0}}
@keyframes collision-jolt{0%,100%{transform:translate(0,0)}20%{transform:translate(-10px,6px)}40%{transform:translate(8px,-5px)}60%{transform:translate(-5px,3px)}80%{transform:translate(3px,-2px)}}
.growth-scroll__progress{position:absolute;bottom:0;left:0;width:100%;height:2px;z-index:3;background:#F7F3E812}
.growth-scroll__progress>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--growth-progress,0));transform-origin:left center}
.growth-scroll:not(.is-ready) .growth-scroll__progress{display:none}
.home-about{padding-bottom:1.5rem}
.home-about__visual{position:relative;max-width:540px;width:100%;justify-self:center;border-radius:28px;overflow:hidden;background:var(--brand)}
.home-about__visual>img{width:100%;height:auto;display:block}
.home-about__experience{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.7rem;background:var(--white);padding:.75rem 1rem;border-radius:14px;box-shadow:0 4px 20px #062C2020;color:var(--brand)}
.home-about__experience strong{font-family:var(--font-head);font-size:2.8rem;color:var(--orange-ink);line-height:1}
.home-about__experience span{font-size:.8rem;line-height:1.3}
.mascot-strip{--mascot-size:112px;position:relative;height:120px;overflow:hidden;background:var(--white);contain:layout paint}
.mascot-walker{position:absolute;bottom:-20px;left:0;width:var(--mascot-size);height:var(--mascot-size);transform:translateX(calc(50vw - 56px));will-change:transform}
.mascot-sprite{display:block;width:100%;height:100%;background-image:url('../img/about/dog-walk-sprite.webp?v=v20260922-audit');background-repeat:no-repeat;background-size:400% 200%;background-position:0 0}
.mascot-bubble{position:absolute;bottom:91px;left:50%;transform:translateX(-50%);border-radius:99px;background:var(--brand);color:var(--white);padding:.45rem .85rem;font-size:.8rem;font-weight:600;line-height:1.25;white-space:nowrap}
.mascot-bubble::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:var(--brand);transform:translateX(-50%) rotate(45deg);z-index:-1}
.js .mascot-walker{animation:mascot-crossing 15s linear infinite;animation-delay:-3.75s}
.js .mascot-sprite{animation:mascot-gait .74s steps(1,end) infinite}
@keyframes mascot-crossing{from{transform:translate3d(-136px,0,0)}to{transform:translate3d(calc(100vw + 136px),0,0)}}
@keyframes mascot-gait{0%{background-position:0% 0%}12.5%{background-position:33.333333% 0%}25%{background-position:66.666667% 0%}37.5%{background-position:100% 0%}50%{background-position:0% 100%}62.5%{background-position:33.333333% 100%}75%{background-position:66.666667% 100%}87.5%,100%{background-position:100% 100%}}
.page-hidden .logo-marquee__track{animation-play-state:paused!important}
@media(max-width:960px){.growth-scroll{min-height:850px}.growth-scroll__backdrop::before,.growth-scroll__backdrop::after{width:105vw;height:105vw}.growth-headline,.growth-fragment__text{font-size:clamp(2.6rem,12.5vw,9rem)}}
@media(max-width:700px){.growth-scroll{height:230vh;height:230svh;min-height:1250px}.growth-collision{padding-inline:16px}.growth-headline,.growth-fragment__text{font-size:clamp(2.5rem,15vw,6rem)}.growth-caption{font-size:.8rem;letter-spacing:.1em;margin-top:1.75rem}.growth-impact__spark{width:14px;height:6px}.home-about__visual{max-width:440px;border-radius:22px}.home-about__experience{bottom:.75rem;left:.75rem;padding:.65rem .85rem}.home-about__experience strong{font-size:2.4rem}}
@media(max-height:500px){.growth-headline,.growth-fragment__text{font-size:min(11vw,26vh)}.growth-caption{margin-top:.75rem;font-size:.65rem}}
.no-js .growth-scroll{height:auto;min-height:0}
.js .growth-scroll:not(.is-ready){height:auto;min-height:0}
.no-js .growth-scroll__stage,.js .growth-scroll:not(.is-ready) .growth-scroll__stage{position:relative;min-height:400px}
@media(prefers-reduced-motion:reduce){.growth-scroll__backdrop::before,.growth-scroll__backdrop::after{transform:none!important}.growth-fragment,.growth-impact,.growth-scroll__progress{display:none!important}.growth-headline{opacity:1!important}.growth-caption{animation:none!important}.js .mascot-walker,.js .mascot-sprite{animation:none!important}.mascot-walker{transform:translateX(calc(50vw - 56px));will-change:auto}}
