:root{--gaze-x:0px;--gaze-y:0px;--head-yaw:0deg;--head-pitch:0deg;--head-roll:0deg;--body-yaw:0deg;--scene-travel:0px}.character-scene{width:53%;right:0;top:6%;height:85%;perspective:1000px;isolation:isolate}.character-scene:before{inset:15% 0 15%;background:radial-gradient(ellipse,#96ff000b,transparent 70%);filter:blur(25px)}.character{position:absolute;left:50%;top:45%;width:380px;height:440px;margin:-220px 0 0 -190px;border:0;background:transparent;padding:0;cursor:pointer;outline-offset:15px;transform:translateY(var(--scene-travel));perspective:900px;z-index:3;-webkit-user-select:none;user-select:none}.character:focus-visible{outline:1px dashed #96ff0080;border-radius:45%}.character-float{display:block;width:100%;height:100%;position:relative;animation:character-float 6s ease-in-out infinite;transform-style:preserve-3d}.character-head{position:absolute;top:55px;left:25px;width:330px;height:263px;transform:rotateX(var(--head-pitch)) rotateY(var(--head-yaw)) rotateZ(var(--head-roll));transform-style:preserve-3d;z-index:4;will-change:transform}.head-shell{display:block;position:absolute;inset:0;border-radius:44% 43% 44% 44% / 41% 41% 50% 50%;background:radial-gradient(ellipse at 32% 0%,#747a70 0%,#343a30 9%,#161b14 24%,#060a05 55%,#111c0a 88%,#4b7229 100%);box-shadow:inset 0 2px 1px #d9e1d660,inset 2px 0 3px #c3cbb333,inset -3px -4px 5px #96ff002b,0 25px 40px #0008,0 0 70px #5b8e0010;transform-style:preserve-3d;overflow:hidden}.shell-shine{position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(123deg,transparent 11%,#c2cbb70b 15%,#d4ddc520 18%,#b6c1a307 23%,transparent 33%);pointer-events:none}.head-rim{position:absolute;left:10%;right:10%;bottom:6%;height:13%;border-bottom:1px solid #74a54344;border-radius:0 0 50% 50%;filter:blur(.5px)}.character-insignia{position:absolute;top:15px;left:calc(50% - 7px);font-size:16px;color:#b1c49b6b;line-height:1;text-shadow:0 0 10px #96ff0030}.ear{position:absolute;top:92px;width:29px;height:66px;border-radius:45%;z-index:-1;background:linear-gradient(90deg,#010400,#3c4730 50%,#090d06 80%);box-shadow:inset 1px 0 2px #bdc8ad44}.ear:after{content:'';position:absolute;top:17%;height:63%;width:3px;background:#8ae23580;box-shadow:0 0 7px #96ff0060;border-radius:2px;left:9px}.ear-left{left:-13px;transform:rotate(-9deg)}.ear-right{right:-13px;transform:rotate(9deg) scaleX(-1)}.visor{position:absolute;inset:23% 8% 15%;border-radius:43% 43% 43% 43% / 37% 37% 45% 45%;background:radial-gradient(ellipse at 50% 75%,#192612 0%,#050a03 38%,#010300 73%);border:1px solid #34442a;box-shadow:inset 0 6px 12px #000,0 1px 1px #a4b7912b,inset 0 -2px 3px #86b85a1c;transform:translateZ(16px);overflow:hidden}.visor-glint{position:absolute;inset:0;background:linear-gradient(140deg,#c7d7b20c,transparent 20% 40%,#d9e6c405 47%,transparent 50%);pointer-events:none;z-index:4}.eyes{position:absolute;top:24%;left:18%;right:18%;height:55%;display:flex;justify-content:space-between;gap:32px;transform:translateZ(8px)}.eye{display:block;position:relative;width:61px;height:79px;transition:transform .3s;filter:drop-shadow(0 0 12px #96ff001f)}.eyelid{display:block;position:relative;width:100%;height:100%;transform-origin:50% 50%;animation:character-blink 6.8s infinite}.eye-light{display:block;position:absolute;inset:0;overflow:hidden;border-radius:43% 43% 45% 45% / 41% 41% 45% 45%;background:radial-gradient(ellipse at 30% 25%,#d5ff8a 0%,#b6ff50 27%,#96ff00 61%,#64b600 100%);box-shadow:inset 0 0 7px #e2ffaf70,inset 0 -4px 8px #497c1470,0 0 6px #96ff0066,0 0 20px #96ff0024}.pupil{display:block;position:absolute;width:30px;height:43px;top:calc(50% - 21px);left:calc(50% - 15px);border-radius:46%;background:radial-gradient(ellipse at 37% 28%,#213018,#020600 60%);transform:translate(var(--gaze-x),var(--gaze-y));box-shadow:0 0 2px #26361b,inset 0 0 4px #000}.pupil>i{position:absolute;top:7px;left:7px;width:7px;height:10px;border-radius:50%;background:#f3ffdfc9;transform:rotate(30deg);box-shadow:9px 10px 0 -2px #b0f45160}.character-mouth{position:absolute;bottom:16%;left:calc(50% - 12px);width:24px;height:10px;border-bottom:2px solid #8ed54488;border-radius:0 0 55% 55%;box-shadow:0 4px 6px -4px #96ff00;transition:width .3s,transform .3s}.cheek{position:absolute;bottom:24%;width:20px;height:2px;background:linear-gradient(90deg,transparent,#739f3850,transparent);border-radius:50%}.cheek-left{left:10%;transform:rotate(15deg)}.cheek-right{right:10%;transform:rotate(-15deg)}.character-neck{position:absolute;width:60px;height:48px;top:291px;left:160px;background:linear-gradient(90deg,#0a1005,#5a684b 40%,#182111 55%,#030601);border-radius:25px;z-index:1}.character-body{position:absolute;top:308px;left:114px;width:152px;height:104px;background:radial-gradient(ellipse at 35% 4%,#66715a,#202b18 16%,#0c1407 40%,#030601 75%,#2c401c);border-radius:44% 44% 39% 39% / 43% 43% 32% 32%;border-top:1px solid #a2b98a30;box-shadow:inset 0 -2px 3px #628e303b,0 16px 26px #0008;transform:rotateY(var(--body-yaw));z-index:2;transform-style:preserve-3d}.body-core{display:grid;place-items:center;position:absolute;inset:17% 23%;border:1px solid #4e682f35;border-radius:40%;background:radial-gradient(#1f3212,#060d02);box-shadow:inset 0 3px 8px #000b}.body-core svg{width:32px;height:32px;fill:none;stroke:#8bd13d;stroke-width:1.4;filter:drop-shadow(0 0 5px #96ff0050)}.character-hand{position:absolute;top:333px;width:40px;height:65px;border-radius:45%;background:radial-gradient(ellipse at 30% 15%,#59694c,#182511 23%,#030700 75%);box-shadow:inset -1px -2px 3px #7bbd3b40,0 9px 17px #0008;z-index:3}.hand-left{left:58px;transform:rotate(22deg);animation:hand-left 6s ease-in-out infinite}.hand-right{right:58px;transform:rotate(-22deg);animation:hand-right 6s ease-in-out infinite}.character-floor{position:absolute;top:calc(45% + 196px);left:50%;width:300px;height:35px;margin-left:-150px;border-radius:50%;background:radial-gradient(ellipse,#000c 0%,#0008 30%,#96ff0008 50%,transparent 70%);filter:blur(6px);animation:floor-breathe 6s ease-in-out infinite;transform:translateY(var(--scene-travel))}.character-orbit{position:absolute;top:calc(45% - 184px);left:50%;width:440px;height:440px;margin-left:-220px;border:1px solid #9cc76b0e;border-radius:50%;pointer-events:none;z-index:0}.orbit-one{transform:rotateX(64deg) rotateZ(-28deg)}.orbit-two{transform:rotateY(65deg) rotateZ(24deg);width:490px;height:490px;top:calc(45% - 210px);margin-left:-245px;border-color:#9cc76b0b}.character-orbit>span{display:block;position:absolute;width:5px;height:5px;background:#a1df5a;box-shadow:0 0 12px #96ff0044;top:50%;left:-3px;border-radius:50%;transform-origin:222px 0;animation:orbit-dot 20s linear infinite}.orbit-two>span{width:3px;height:3px;transform-origin:247px 0;animation-duration:28s;animation-direction:reverse;background:#758c62}.scene-coordinate{position:absolute;font-size:7px;letter-spacing:1.3px;line-height:1.9;color:#6a795b;pointer-events:none}.coordinate-one{left:14%;top:17%}.coordinate-two{right:8%;bottom:22%}.character-caption{position:absolute;top:calc(45% + 237px);left:12%;right:12%;text-align:center;z-index:4}.character-name{display:flex;gap:8px;justify-content:center;align-items:center;font-size:9px;letter-spacing:2px;color:#b8c7a7}.character-name>i{width:4px;height:4px;background:#96ff00;border-radius:50%;box-shadow:0 0 8px #96ff00}.character-caption>p{font-size:11px;color:#80946f;line-height:1.7;margin-top:10px;min-height:19px}.character-hint{display:block;color:#526546;font-size:7px;letter-spacing:1px;margin-top:9px}.motion-toggle{position:absolute;bottom:-8px;right:11%;border:0;background:transparent;color:#627855;font-size:8px;padding:8px;z-index:5;letter-spacing:.3px}.motion-toggle>span{color:#a0c57b;margin-right:5px}.character.is-curious .eye{transform:translateY(-3px) scaleY(1.04)}.character.is-curious .character-mouth{transform:scaleX(1.2)}.character.is-waving .hand-right{animation:character-wave 1.4s ease-in-out both;transform-origin:50% 90%}.character.is-waving .eye:first-child .eyelid{animation:character-wink 1.4s both}.character.is-waving .character-mouth{transform:scaleX(1.3) scaleY(1.3)}.scroll-progress{position:fixed;left:0;top:0;height:2px;right:0;background:linear-gradient(90deg,#456524,#96ff00);transform:scaleX(0);transform-origin:left;z-index:1000;pointer-events:none}.motion-reveal{opacity:0;transform:translate3d(0,25px,0);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.motion-reveal.is-visible{opacity:1;transform:translateZ(0)}.project-screen{transform:perspective(1100px) rotateX(var(--card-x,0deg)) rotateY(var(--card-y,0deg));transition:transform .3s ease,background .3s;will-change:transform}.package-card{transition:border-color .3s,box-shadow .3s,opacity .8s,transform .8s}.package-card:hover{border-color:#557e33;box-shadow:0 8px 35px #0003}.button>span{transition:transform .3s}.button:hover>span{transform:translate(2px,-2px)}.companion{position:fixed;right:25px;bottom:24px;z-index:30;opacity:0;transform:translateY(25px) scale(.8);pointer-events:none;transition:opacity .35s,transform .45s cubic-bezier(.18,.8,.2,1)}.character-away .companion{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.companion-toggle{border:1px solid #485e34;background:radial-gradient(ellipse at 35% 0%,#4d5a40,#17200f 20%,#050a02 65%);box-shadow:inset 0 1px 1px #d0e8b533,0 12px 35px #0009,0 0 30px #96ff0008;width:65px;height:60px;border-radius:40%;display:grid;place-items:center;cursor:pointer;position:relative;z-index:2}.mini-face{width:50px;height:37px;border-radius:35%;background:linear-gradient(#020500,#0d1805);box-shadow:inset 0 2px 5px #000,0 1px 1px #899b5c30;display:flex;justify-content:center;gap:9px;align-items:center;position:relative}.mini-eye{width:11px;height:17px;background:#a1ff27;border-radius:45%;box-shadow:0 0 8px #96ff0025;overflow:hidden;position:relative}.mini-eye>i{position:absolute;left:3px;top:4px;width:5px;height:9px;border-radius:50%;background:#071100;transform:translate(calc(var(--gaze-x)*.24),calc(var(--gaze-y)*.22))}.mini-mouth{position:absolute;bottom:4px;left:calc(50% - 4px);width:8px;height:3px;border-bottom:1px solid #8bd13d;border-radius:50%}.companion-hint{position:absolute;right:79px;top:24px;font-size:7px;color:#8aa573;letter-spacing:.8px;width:max-content;text-shadow:0 2px 6px #000;transition:opacity .3s}.companion.is-open .companion-hint{opacity:0}.companion-menu{position:absolute;right:0;bottom:78px;width:290px;background:linear-gradient(135deg,#182110,#090e06);border:1px solid #425b2e;box-shadow:0 22px 65px #000a;border-radius:12px;padding:22px}.companion-menu>div{display:flex;gap:9px;align-items:center}.companion-menu strong{font-size:14px;font-weight:500;color:#dbeacb}.companion-menu button{margin-left:auto;background:transparent;border:0;color:#86a56c;font-size:12px;padding:4px}.companion-menu>p{font-size:10px;color:#7b9468;margin:11px 0 18px}.companion-menu>a{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid #344828;font-size:11px;color:#bfd6ac}.companion-menu>a>span{color:#96ff00}.character-away .character-float,.character-away .character-orbit>span,.character-away .character-floor,.character-away .eyelid{animation-play-state:paused}.character-away .sculpture{pointer-events:none}.motion-paused .character-float,.motion-paused .eyelid,.motion-paused .character-hand,.motion-paused .character-orbit>span,.motion-paused .character-floor,.motion-paused .ticker>div{animation:none!important}.motion-paused .motion-reveal{opacity:1;transform:none;transition:none}.motion-paused .character,.motion-paused .character-head,.motion-paused .character-body,.motion-paused .project-screen{transform:none}.motion-paused .character{transform:translateY(0)}.motion-paused .project-screen{transition:none}.motion-paused .companion{transition:none}.motion-paused .eye{transition:none}@keyframes character-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}@keyframes hand-left{0%,100%{transform:translateY(0) rotate(22deg)}50%{transform:translateY(6px) rotate(14deg)}}@keyframes hand-right{0%,100%{transform:translateY(3px) rotate(-22deg)}50%{transform:translateY(-4px) rotate(-15deg)}}@keyframes floor-breathe{0%,100%{opacity:.8;width:290px;margin-left:-145px}50%{opacity:.4;width:240px;margin-left:-120px}}@keyframes character-blink{0%,43%,48%,100%{transform:scaleY(1)}45%,46%{transform:scaleY(.06)}}@keyframes orbit-dot{to{transform:rotate(360deg)}}@keyframes character-wave{0%,100%{transform:translate(0,0) rotate(-22deg)}25%{transform:translate(25px,-80px) rotate(-65deg)}40%{transform:translate(25px,-80px) rotate(-25deg)}55%{transform:translate(25px,-80px) rotate(-65deg)}70%{transform:translate(25px,-80px) rotate(-25deg)}85%{transform:translate(25px,-80px) rotate(-65deg)}}@keyframes character-wink{0%,20%,65%,100%{transform:scaleY(1)}30%,55%{transform:scaleY(.08)}}@media(min-width:1500px){.character{width:380px;height:440px;scale:1.15}.character-caption{top:calc(45% + 270px)}.character-floor{top:calc(45% + 225px)}.coordinate-one{top:14%}}@media(max-width:1050px) and (min-width:651px){.character-scene{width:52%;right:-3%;top:9%;opacity:1}.character{scale:.85}.character-caption{top:calc(45% + 206px);left:3%;right:3%}.character-caption>p{font-size:10px}.character-floor{top:calc(45% + 175px)}.coordinate-one{left:5%;top:19%;font-size:6px}.coordinate-two{display:none}.character-orbit{width:360px;height:360px;margin-left:-180px}.orbit-one>span{transform-origin:182px 0}.orbit-two{width:400px;height:400px;margin-left:-200px}.orbit-two>span{transform-origin:202px 0}.hero-copy{max-width:64%}.hero h1{font-size:clamp(58px,6.6vw,78px)}.hero-actions{gap:18px;flex-wrap:wrap}.hero-actions .button{font-size:10px;padding:15px 17px}.hero-actions .text-link{font-size:10px}}@media(max-width:650px){.hero{min-height:975px}.hero-copy{margin-top:32px;max-width:100%}.hero-actions{gap:16px}.character-scene{width:100%;height:460px;top:auto;bottom:66px;right:0;opacity:1}.character{scale:.77;top:39%;}.character-caption{top:calc(39% + 174px);left:10%;right:10%}.character-name{font-size:8px;letter-spacing:1.5px}.character-caption>p{font-size:10px;margin-top:8px}.character-hint{font-size:6px;margin-top:7px}.character-floor{top:calc(39% + 145px);width:220px;margin-left:-110px;animation:none}.coordinate-one{top:18%;left:8%;font-size:5px}.coordinate-two{display:none}.character-orbit{width:320px;height:320px;margin-left:-160px;top:calc(39% - 155px)}.orbit-one>span{transform-origin:162px 0}.orbit-two{width:350px;height:350px;margin-left:-175px;top:calc(39% - 170px)}.orbit-two>span{transform-origin:177px 0}.motion-toggle{font-size:7px;right:calc(50% - 65px);bottom:-9px}.companion{right:15px;bottom:17px}.companion-toggle{width:56px;height:53px}.mini-face{width:44px;height:33px;gap:8px}.mini-eye{width:10px;height:16px}.mini-eye>i{left:2px;top:3px}.companion-hint{display:none}.companion-menu{bottom:68px;width:276px;padding:20px}.motion-reveal{transform:translate3d(0,16px,0);transition-duration:.6s}.project-screen{transform:none;will-change:auto}.character-away .companion-toggle{box-shadow:0 8px 25px #000a}}@media(prefers-reduced-motion:reduce){.character-float,.eyelid,.character-hand,.character-orbit>span,.character-floor{animation:none!important}.character-head,.character-body,.pupil,.mini-eye>i{transform:none!important}.motion-reveal{opacity:1!important;transform:none!important;transition:none!important}.companion{transition:none}.character{transform:none}.project-screen{transform:none!important}}
body.motion-opt-in .character-float{animation:character-float 6s ease-in-out infinite!important}body.motion-opt-in .eyelid{animation:character-blink 6.8s infinite!important}body.motion-opt-in .hand-left{animation:hand-left 6s ease-in-out infinite!important}body.motion-opt-in .hand-right{animation:hand-right 6s ease-in-out infinite!important}body.motion-opt-in .character-floor{animation:floor-breathe 6s ease-in-out infinite!important}body.motion-opt-in .character-orbit>span{animation:orbit-dot 20s linear infinite!important}body.motion-opt-in .orbit-two>span{animation-duration:28s!important;animation-direction:reverse!important}body.motion-opt-in .character-head{transform:rotateX(var(--head-pitch)) rotateY(var(--head-yaw)) rotateZ(var(--head-roll))!important}body.motion-opt-in .character-body{transform:rotateY(var(--body-yaw))!important}body.motion-opt-in .pupil{transform:translate(var(--gaze-x),var(--gaze-y))!important}body.motion-opt-in .mini-eye>i{transform:translate(calc(var(--gaze-x)*.24),calc(var(--gaze-y)*.22))!important}body.motion-opt-in .character{transform:translateY(var(--scene-travel))}body.motion-opt-in .character.is-waving .hand-right{animation:character-wave 1.4s ease-in-out both!important}body.motion-opt-in .character.is-waving .eye:first-child .eyelid{animation:character-wink 1.4s both!important}body.motion-opt-in .ticker>div{animation:ticker 44s linear infinite!important}.motion-toggle{border:1px solid #3c502d;border-radius:20px;padding:9px 14px;color:#a6bc93;background:#10170c}.motion-paused .character.is-curious .eye{transform:none}
body.motion-opt-in.character-away .character-float,body.motion-opt-in.character-away .character-orbit>span,body.motion-opt-in.character-away .character-floor,body.motion-opt-in.character-away .eyelid,body.motion-opt-in.character-away .character-hand{animation-play-state:paused!important}
body.motion-opt-in .motion-reveal{opacity:0!important;transform:translate3d(0,25px,0)!important;transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)!important}body.motion-opt-in .motion-reveal.is-visible{opacity:1!important;transform:translateZ(0)!important}
