/* Lower-page story: a gold trail that follows scroll, plus line-art scenes. Static pose = final pose (reduced motion). */
.sm-story{position:relative}
.sm-chap{position:relative}
.sm-spine{position:absolute;left:max(10px,2.2vw);top:0;bottom:0;width:1px;background:rgba(201,162,39,.14);z-index:2;pointer-events:none}
.sm-spine-fill{position:absolute;inset:0;background:linear-gradient(var(--gold),var(--gold2));transform-origin:top;transform:scaleY(var(--p,0));opacity:.8}
.sm-spine-dot{position:absolute;left:-4px;top:0;width:9px;height:9px;border-radius:50%;background:var(--gold2);transform:translateY(var(--py,0px));box-shadow:0 0 0 4px rgba(201,162,39,.16)}
.sm-chap::before{content:'';position:absolute;left:max(6px,calc(2.2vw - 4px));top:64px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid rgba(201,162,39,.5);z-index:3;transition:background .5s,transform .5s cubic-bezier(.3,1.6,.5,1)}
.sm-chap.sm-lit::before{background:var(--gold);transform:scale(1.35)}
.sm-scene{position:relative;margin:34px 0 8px;max-width:620px;border:0;overflow:hidden;background:linear-gradient(180deg,#0F1B14,#1F3428);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.sm-scene.sm-wide{margin:0 auto 44px}
.sm-scene.sm-band{margin:0 0 26px;max-width:720px;border:0;background:none}
.sm-door-scene{margin:0 auto 34px}
.sm-scene svg{display:block;width:100%;height:auto}
.sm-scene figcaption{position:absolute;left:14px;bottom:10px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.85}
.sm-band figcaption{display:none}
.sm-svg *{transform-box:fill-box;transform-origin:center}
.sm-svg .sm-l,.sm-svg .sm-walk .sm-l{fill:none;stroke:#EDD97A;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sm-svg .ln{fill:none;stroke:#C9A227;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.sm-svg .sm-hd{fill:#14241A;stroke:#EDD97A;stroke-width:1.7}
.sm-svg .sm-hair{fill:#EDD97A;stroke:none}
.sm-svg .sm-bod{fill:#1B3024;stroke:#EDD97A;stroke-width:1.6;stroke-linejoin:round}
.sm-svg .sm-pack{fill:#2A4430;stroke:#C9A227;stroke-width:1.1}
.sm-svg .sm-l.sm-th,.sm-svg .sm-ua{stroke-width:2.2}
.sm-svg .limb,.sm-svg .sm-knee,.sm-svg .sm-elb,.sm-svg .sm-wave{transform-box:view-box;transform-origin:0 0}
.sm-svg .gold{fill:#EDD97A}
.sm-svg .sm-beam{fill:rgba(237,217,122,.2)}
.sm-svg .sm-hill{fill:#162419;stroke:#C9A227;stroke-width:1;stroke-opacity:.5}
.sm-svg .sm-mid{fill:#1A2E21;stroke-opacity:.4}
.sm-svg .sm-far{fill:#101D15;stroke-opacity:.28}
.sm-svg .sm-snow{fill:#EDD97A;fill-opacity:.2}
.sm-svg .sm-fog{fill:#EDD97A;fill-opacity:.05;stroke:none}
.sm-svg .sm-tree{fill:#0F1B14;stroke:#C9A227;stroke-width:.9;stroke-opacity:.55;stroke-linejoin:round}
.sm-svg .sm-shd{fill:rgba(0,0,0,.4)}
.sm-svg .sm-bd{fill:#162419;stroke:#EDD97A;stroke-width:1.3;stroke-linejoin:round}
.sm-svg .sm-lamp{opacity:.9}
.sm-svg .sm-wall{fill:#14241A;stroke:#C9A227;stroke-width:1;stroke-opacity:.35}
.sm-svg .sm-int{fill:#D9B94A;fill-opacity:.5}
.sm-svg .sm-room{fill:#F2DE8A;fill-opacity:.22}
.sm-svg .sm-step{fill:#1A2E21;stroke:#C9A227;stroke-width:1.2;stroke-opacity:.8}
.sm-svg .sm-trunk{fill:#0F1B14;stroke:#C9A227;stroke-width:1.2;stroke-opacity:.8}
.sm-svg .sm-leaf{fill:#2A4430;stroke:#EDD97A;stroke-width:.9}
.sm-svg .sm-nbk{fill:#1D3326;stroke:#C9A227;stroke-width:1.2}
.sm-svg .sm-egg{fill:#EDD97A;fill-opacity:.85}
.sm-svg .sm-slopef{fill:#1A2E21;stroke:none}
.sm-svg .sm-snowline,.sm-svg .sm-prints{fill:none;stroke:#EDD97A;stroke-width:1.2;stroke-linecap:round}
.sm-svg .sm-prints{opacity:.4}
.sm-svg .sm-breath{opacity:0}
.sm-svg .sm-ring{fill:none}
/* static final poses */
.sm-door{transform-origin:0 50%;transform:scaleX(.22)}
.sm-fignow{transform:none}
.sm-sunr{transform:translateY(-24px)}
.sm-twig{opacity:1}
.sm-flag{transform-origin:0 50%}
.sm-svg .sm-fig-ground{stroke:#C9A227;stroke-opacity:.5}
.sm-svg .sm-wave{transform:rotate(-10deg)}

@media(prefers-reduced-motion:no-preference){
.sm-chap:not(.sm-on) .dic,.sm-chap:not(.sm-on)::before,.sm-chap:not(.sm-on) #close-cta::after{animation-play-state:paused!important}
.sm-paused *,.sm-paused *::before,.sm-paused *::after{animation-play-state:paused!important}
.sm-walk .sm-ll,.sm-walk .sm-ra{animation:smLegA .8s ease-in-out infinite alternate}
.sm-walk .sm-rl,.sm-walk .sm-la{animation:smLegA .8s ease-in-out infinite alternate-reverse}
.sm-walk .sm-ra,.sm-walk .sm-la{animation-name:smArm}
.sm-walk .sm-knee{animation:smKnee .8s ease-in-out infinite alternate}
.sm-walk .sm-rl .sm-knee{animation-direction:alternate-reverse}
.sm-walk .sm-elb{animation:smElb .8s ease-in-out infinite alternate}
.sm-walk .sm-la .sm-elb{animation-direction:alternate-reverse}
.sm-walk .sm-fig{animation:smBob .4s ease-in-out infinite alternate}
@keyframes smBob{from{transform:translateY(0) rotate(.8deg)}to{transform:translateY(-1.3px) rotate(-.4deg)}}
@keyframes smKnee{from{transform:rotate(-4deg)}to{transform:rotate(44deg)}}
@keyframes smLegA{from{transform:rotate(-26deg)}to{transform:rotate(26deg)}}
@keyframes smArm{from{transform:rotate(22deg)}to{transform:rotate(-22deg)}}
@keyframes smElb{from{transform:rotate(-8deg)}to{transform:rotate(-34deg)}}
.sm-wave{animation:smWave .9s ease-in-out infinite alternate}
@keyframes smWave{from{transform:rotate(-28deg)}to{transform:rotate(30deg)}}
.sm-pine{transform-box:fill-box;transform-origin:50% 100%;animation:smSway 5s ease-in-out infinite alternate}
@keyframes smSway{from{transform:rotate(-.9deg)}to{transform:rotate(.9deg)}}
.sm-grass{transform-box:fill-box;transform-origin:50% 100%;animation:smSway 3s ease-in-out infinite alternate}
.sm-fog{animation:smFog 16s ease-in-out infinite alternate}
@keyframes smFog{from{transform:translateX(-14px)}to{transform:translateX(14px)}}
@keyframes smLamp{0%,100%{opacity:.5}50%{opacity:1}}
.sm-lamp{animation:smLamp 3s ease-in-out infinite}
/* fit + door scenes */
.sm-go{animation:smGo 9s linear infinite}
@keyframes smGo{0%{transform:translateX(-170px);opacity:0}5%{opacity:1}74%{transform:translateX(6px);opacity:1}86%{transform:translateX(34px);opacity:0}100%{transform:translateX(34px);opacity:0}}
.sm-door{animation:smDoor 9s ease-in-out infinite}
@keyframes smDoor{0%,36%{transform:scaleX(1)}52%,92%{transform:scaleX(.22)}100%{transform:scaleX(1)}}
.sm-beam,.sm-int,.sm-room{animation:smBeam 9s ease-in-out infinite}
.sm-go,.sm-door,.sm-beam,.sm-int,.sm-room{animation-delay:-3.5s}
@keyframes smBeam{0%,36%{opacity:.12}54%,90%{opacity:1}100%{opacity:.12}}
.sm-tw{animation:smTw 3.4s ease-in-out infinite}.sm-tw:nth-child(2n){animation-delay:-1.1s}.sm-tw:nth-child(3n){animation-delay:-2.2s}
@keyframes smTw{0%,100%{opacity:.15}50%{opacity:.95}}
.sm-path{stroke-dasharray:4 7;animation:smDash 3s linear infinite}
@keyframes smDash{to{stroke-dashoffset:-22}}
/* origin */
.sm-sunr{animation:smSun 9s ease-in-out infinite alternate}
@keyframes smSun{from{transform:translateY(36px)}to{transform:translateY(-24px)}}
.sm-rays{transform-origin:250px 130px;transform-box:view-box;animation:smRay 40s linear infinite}
@keyframes smRay{to{transform:rotate(360deg)}}
.sm-bird{animation:smBird 7s ease-in-out infinite;animation-delay:-2.2s}
@keyframes smBird{0%{transform:translate(250px,-50px);opacity:0}8%{opacity:1}34%{transform:translate(8px,2px)}42%,56%{transform:translate(0,12px)}100%{transform:translate(-90px,-60px);opacity:0}}
.sm-wing{animation:smFlap .3s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes smFlap{from{transform:scaleY(1)}to{transform:scaleY(-.6)}}
.sm-twig{animation:smTwig 7s ease-out infinite}.sm-twig.t2{animation-delay:.5s}.sm-twig.t3{animation-delay:1s}
@keyframes smTwig{0%,40%{opacity:0;transform:translateY(-8px)}52%,92%{opacity:1;transform:none}100%{opacity:0}}
.sm-egg{animation:smEgg 7s ease-in-out infinite}.sm-egg.e2{animation-delay:.3s}.sm-egg.e3{animation-delay:.6s}
@keyframes smEgg{0%,50%{fill-opacity:.55}70%,90%{fill-opacity:1}100%{fill-opacity:.55}}
.sm-leaves{transform-origin:50% 100%;animation:smSway 6s ease-in-out infinite alternate}
/* learn */
.sm-climb{animation:smClimb 9s ease-in-out infinite;animation-delay:-2.5s}
@keyframes smClimb{0%{transform:translate(-114px,48px);opacity:0}4%{opacity:1}10%,22%{transform:translate(-114px,48px)}30%,44%{transform:translate(-76px,32px)}52%,66%{transform:translate(-38px,16px)}74%,88%{transform:translate(0,0)}96%{transform:translate(38px,-16px);opacity:1}100%{transform:translate(38px,-16px);opacity:0}}
.sm-chat{animation:smTw 4s ease-in-out infinite}
/* route */
.sm-trav{offset-path:path('M30 52Q110 8 190 28T350 50T500 22T570 40');offset-rotate:0deg;animation:smTrav 9s linear infinite}
@keyframes smTrav{from{offset-distance:0%}to{offset-distance:100%}}
.sm-ping{animation:smPing 9s ease-out infinite}
@keyframes smPing{0%,6%{transform:scale(.4);opacity:.9}20%,100%{transform:scale(3.2);opacity:0}}
/* team */
.sm-slope{animation:smSlope 9s ease-in-out infinite;animation-delay:-2.5s}
@keyframes smSlope{0%{transform:translate(-70px,15px);opacity:0}8%{opacity:1}90%{opacity:1}100%{transform:translate(10px,-2px);opacity:0}}
.sm-rope{stroke-dasharray:3 4;animation:smDash 1.5s linear infinite}
.sm-flag{animation:smFlag 1.6s ease-in-out infinite alternate}
@keyframes smFlag{from{transform:scaleX(1)}to{transform:scaleX(.6)}}
.sm-breath{animation:smBreath 2.4s ease-out infinite}
@keyframes smBreath{0%{opacity:.7;transform:translateX(0)}100%{opacity:0;transform:translateX(7px)}}
/* scroll-triggered reveals of existing content */
.sm-js .fit2-card li{opacity:0;transform:translateX(-16px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.sm-js .sm-in .fit2-card li{opacity:1;transform:none}
.sm-js .fit2-card li svg path{stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .8s ease .3s}
.sm-js .sm-in .fit2-card li svg path{stroke-dashoffset:0}
.sm-js .sm-in .fit2-card li:nth-child(2),.sm-js .sm-in .fit2-card li:nth-child(2) svg path{transition-delay:.25s}
.sm-js .sm-in .fit2-card li:nth-child(3),.sm-js .sm-in .fit2-card li:nth-child(3) svg path{transition-delay:.5s}
.sm-js .sm-in .fit2-card li:nth-child(4),.sm-js .sm-in .fit2-card li:nth-child(4) svg path{transition-delay:.75s}
.sm-js #industries .ind-card{opacity:0;transform:translateY(22px) scale(.97);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s}
.sm-js #industries.sm-in .ind-card{opacity:1;transform:none}
.sm-js #industries.sm-in .ind-card:nth-child(2){transition-delay:.12s}.sm-js #industries.sm-in .ind-card:nth-child(3){transition-delay:.24s}.sm-js #industries.sm-in .ind-card:nth-child(4){transition-delay:.36s}.sm-js #industries.sm-in .ind-card:nth-child(5){transition-delay:.48s}.sm-js #industries.sm-in .ind-card:nth-child(n+6){transition-delay:.6s}
.sm-js .diff .di{opacity:0;transform:translateX(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1),padding-left .3s}
.sm-js .diff.sm-in .di{opacity:1;transform:none}
.sm-js .diff.sm-in .di:nth-child(2){transition-delay:.15s}.sm-js .diff.sm-in .di:nth-child(3){transition-delay:.3s}.sm-js .diff.sm-in .di:nth-child(n+4){transition-delay:.45s}
.sm-js .diff.sm-in .dic{animation:smRing 3.8s ease-in-out infinite}
@keyframes smRing{0%,75%,100%{box-shadow:0 0 0 0 rgba(201,162,39,0)}85%{box-shadow:0 0 0 7px rgba(201,162,39,.2)}}
#close-cta{position:relative}
.sm-on #close-cta::after{content:'';position:absolute;inset:0;border-radius:999px;border:1px solid var(--gold2);animation:smCta 2.6s ease-out infinite;pointer-events:none}
@keyframes smCta{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.25,1.6);opacity:0}}
#book{position:relative;overflow:hidden}
#book::before{content:'';position:absolute;left:50%;bottom:-60%;width:140%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.2),rgba(201,162,39,.05) 40%,transparent 62%);pointer-events:none;animation:smDawn 8s ease-in-out infinite alternate}
@keyframes smDawn{from{transform:translateX(-50%) translateY(14%)}to{transform:translateX(-50%) translateY(-6%)}}
#book>*{position:relative}
}
@media(prefers-reduced-motion:reduce){.sm-svg *{animation:none!important}.sm-spine-dot{display:none}.sm-spine-fill{transform:scaleY(1)}}
@media(max-width:768px){.sm-scene{margin-top:24px}.sm-scene.sm-wide{margin-bottom:34px}}
