/* Veli has a place and a task. All character movement ends in a resting pose. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.veli-actor{display:block;position:relative;width:120px;aspect-ratio:2/3;flex-shrink:0;pointer-events:none;isolation:isolate}
.veli-sprite{display:block;position:absolute;inset:0;transform-origin:50% 90%;z-index:1}
.veli-sprite>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.veli-sprite>.veli-hand,.veli-sprite>.veli-leg{visibility:hidden}
.veli-ground{position:absolute;left:24%;right:17%;bottom:8%;height:3%;border-radius:50%;background:#35202f20;filter:blur(3px);z-index:0}
.veli-actor[data-pose=sit] .veli-ground{display:none}
.veli-actor[data-action=wave] .veli-body{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 55%,40% 55%,37% 52%,30% 49%,24% 45%,21% 40%,23% 26%,0 26%)}
.veli-actor[data-action=wave] .veli-hand{visibility:visible;clip-path:polygon(0 26%,23% 26%,21% 40%,24% 45%,30% 49%,37% 52%,40% 55%,0 55%);transform-origin:38% 53.5%;animation:veli-hand-hello .65s ease-in-out 2}
.veli-actor[data-action=walk] .veli-body{clip-path:polygon(0 0,100% 0,100% 71%,72% 71%,68% 76%,56% 80%,41% 81%,0 81%)}
.veli-actor[data-action=walk] .veli-leg{visibility:visible}
.veli-leg-left{clip-path:polygon(21% 92%,44% 92%,52% 78%,42% 78%,34% 85%,21% 85%);transform-origin:45% 79%}
.veli-leg-right{clip-path:polygon(55% 93%,80% 93%,80% 85%,65% 84%,73% 71%,66% 74%,60% 81%);transform-origin:67% 76%}
.veli-actor[data-action=walk] .veli-leg-left{animation:veli-step .34s ease-in-out infinite alternate}
.veli-actor[data-action=walk] .veli-leg-right{animation:veli-step .34s ease-in-out infinite alternate-reverse}
.veli-actor[data-action=walk] .veli-sprite{animation:veli-stride .34s ease-in-out infinite}
.veli-actor[data-action=jump] .veli-sprite{animation:veli-happy-jump .9s cubic-bezier(.35,0,.25,1) both}
.veli-actor[data-action=jump] .veli-ground{animation:veli-jump-shadow .9s ease-in-out both}
@keyframes veli-step{from{transform:rotate(-17deg)}to{transform:rotate(18deg)}}
@keyframes veli-stride{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes veli-hand-hello{0%,100%{transform:rotate(0)}35%{transform:rotate(17deg)}70%{transform:rotate(-10deg)}}
@keyframes veli-happy-jump{0%,100%{transform:translateY(0) scale(1)}18%{transform:scale(1.07,.9)}48%{transform:translateY(-33px) rotate(-7deg) scale(.97,1.04)}78%{transform:translateY(0) scale(1.08,.91)}}
@keyframes veli-jump-shadow{0%,100%{transform:scaleX(1);opacity:1}48%{transform:scaleX(.55);opacity:.35}}

/* Team page: a small scene with an actual chair and a destination. */
.v2-content .veli-host-section{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5vw;background:#eddcd2;padding-block:105px 85px}
.v2-content .veli-host-section h2{font-size:clamp(42px,4.9vw,76px);margin:24px 0 30px}
.veli-host-copy>p:not(.eyebrow){max-width:510px}
.v2-content .veli-host-copy .veli-line{font-weight:650;margin-top:26px;min-height:64px;line-height:1.6}
.veli-host-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:18px}
.veli-host-actions .button:disabled{opacity:.65;cursor:wait}
.veli-stage{position:relative;height:430px;min-width:0;--veli-width:180px;--chair-x:65%}
.veli-stage-floor{position:absolute;left:0;right:0;bottom:59px;height:1px;background:linear-gradient(90deg,transparent,#35202f40 20%,#35202f40 90%,transparent)}
.veli-runner{position:absolute;left:0;bottom:35px;width:var(--veli-width);z-index:3}
.veli-runner .veli-actor{width:100%}
.veli-chair{position:absolute;left:var(--chair-x);bottom:60px;width:150px;height:205px;transform:translateX(-50%)}
.veli-chair-back{position:absolute;left:10px;right:10px;top:0;height:137px;border-radius:32px 32px 17px 17px;background:linear-gradient(125deg,#574050,#35202f 80%);box-shadow:inset 4px 3px 0 #ffffff16,inset 0 -5px 0 #0002}
.veli-chair-back:after{content:'';position:absolute;left:15%;right:15%;top:21%;height:48%;border:1px solid #f8f3eb21;border-radius:17px}
.veli-chair-seat{position:absolute;bottom:72px;left:-8px;right:-8px;height:26px;border-radius:10px;background:#513546;z-index:2;box-shadow:0 7px 0 #30202c}
.veli-chair-stem{position:absolute;bottom:9px;left:calc(50% - 7px);height:62px;width:14px;background:linear-gradient(90deg,#76676b,#ddd3cf,#65575e)}
.veli-chair-base{position:absolute;bottom:0;left:18px;right:18px;height:12px;border-radius:50%;background:linear-gradient(#928086,#493540);box-shadow:0 5px 7px #35202f26}
.veli-seat-label{position:absolute;left:0;right:0;bottom:7px;text-align:center;font:500 15px/1.5 Manrope,sans-serif;opacity:0;transition:opacity .3s}
.veli-stage[data-scene=walking] .veli-runner{left:calc(var(--chair-x) - var(--veli-width)/2);transition:left 1.7s linear}
.veli-stage[data-scene=jumping] .veli-runner{left:calc(var(--chair-x) - var(--veli-width)/2);bottom:98px;transition:bottom .5s cubic-bezier(.2,.8,.2,1)}
.veli-stage[data-scene=seated] .veli-runner{left:calc(var(--chair-x) - var(--veli-width)/2);bottom:71px}
.veli-stage[data-scene=seated] .veli-seat-label{opacity:1}

/* Saved looks: Veli sits on the collection's divider and pops up at the saved photo. */
.veli-look-note{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);margin:0 0 35px;padding:0 0 12px;max-width:720px}
.veli-look-note>.veli-actor{width:70px;margin-bottom:-34px;align-self:end}
.v2-content .veli-look-note>p{font-size:17px!important;line-height:1.6;max-width:560px}
.veli-save-reaction{position:absolute;z-index:5;inset:auto 18px 18px 18px;display:flex;align-items:end;gap:8px;pointer-events:none;font:600 17px/1.4 Manrope,sans-serif;color:var(--ink);text-align:left}
.veli-save-reaction>.veli-actor{width:85px;filter:drop-shadow(0 2px 1px #fff6)}
.look-image>.veli-save-reaction{bottom:64px}
.veli-reaction-copy{background:var(--cream);padding:14px 18px;border-radius:14px 14px 14px 3px;margin-bottom:15px;max-width:235px;box-shadow:0 4px 25px #35202f18}
.detail-actions{position:relative}
.detail-actions>.veli-save-reaction{position:relative;inset:auto;flex-basis:100%;width:100%;padding-top:18px}
.detail-actions .veli-reaction-copy{background:#eadfd5;font-size:16px}

/* Booking: movement follows the visitor's progress, including on mobile. */
.veli-booking-guide{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:25px;margin:0 0 38px;padding:8px 0 15px;border-bottom:1px solid var(--line)}
.veli-booking-track{position:relative;height:94px;border-bottom:2px solid #bd978640;margin-right:60px}
.veli-booking-track>.veli-actor{width:60px;position:absolute;left:calc(var(--veli-step,0)*25%);bottom:-9px;transition:left .75s ease-in-out}
.veli-booking-track:before{content:'';position:absolute;bottom:-4px;left:0;right:0;height:6px;background:radial-gradient(circle at 3px 3px,#99726d 2px,transparent 3px) 0 0/25% 6px repeat-x}
.v2-content .veli-booking-guide>p{font-size:17px!important;font-weight:550;line-height:1.65;min-height:56px}
.booking-success>.veli-actor{width:140px;margin:10px auto 15px}
.booking-success .veli-celebration-copy{font-weight:600;color:var(--copper)}

/* In the tour, Veli moves with the three chapters and rests at the last stop. */
.tour-guide{position:absolute;right:32px;bottom:147px;width:230px;color:var(--cream);pointer-events:none}
.tour-guide>p{font:550 16px/1.5 Manrope,sans-serif;padding:10px 14px;background:#35202fde;border-radius:12px 12px 3px 12px;max-width:230px}
.tour-guide-route{position:relative;height:155px}
.tour-guide .veli-actor{position:absolute;bottom:-8px;width:95px;left:calc(var(--tour-stop,0)*28%);transition:left 1s ease-in-out}
.tour-guide-seat{position:absolute;right:1px;bottom:46px;width:87px;height:7px;background:#f8f3eb80;border-radius:4px;opacity:0}
.tour-guide[data-stop="2"] .tour-guide-seat{opacity:1}
.tour-guide[data-stop="2"] .veli-actor[data-pose=sit]{bottom:6px}
.tour-dialog.is-tour-paused .tour-guide *{animation-play-state:paused!important}
.tour-dialog.is-tour-paused .tour-guide .veli-actor{transition:none}
.page-hidden .veli-actor *{animation-play-state:paused!important}
.motion-reduced .veli-actor *{animation:none!important;transition:none!important}
.motion-reduced .veli-runner,.motion-reduced .veli-booking-track>.veli-actor,.motion-reduced .tour-guide .veli-actor{transition:none!important}
@media(max-width:1000px){
 .veli-stage{--veli-width:155px;--chair-x:65%;height:390px}
 .veli-chair{width:125px;height:185px}
 .veli-stage[data-scene=seated] .veli-runner{bottom:82px}
 .tour-guide{width:180px;right:20px;bottom:auto;top:85px}
 .tour-guide-route{height:120px}.tour-guide .veli-actor{width:76px}
 .tour-guide>p{font-size:14px}.tour-guide-seat{width:64px;bottom:40px}
}
@media(max-width:600px){
 .v2-content .veli-host-section{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:65px 45px}
 .v2-content .veli-host-section h2{font-size:12vw;margin-top:22px}
 .veli-host-copy{display:contents}.veli-host-copy>.eyebrow{grid-row:1}.veli-host-copy>h2{grid-row:2}.veli-host-copy>p:not(.eyebrow):not(.veli-line){grid-row:3;margin:0}
 .veli-stage{grid-row:4;height:300px;--veli-width:142px;--chair-x:68%}
 .veli-host-copy .veli-line{grid-row:5;margin:0!important;min-height:52px}
 .veli-host-actions{grid-row:6;gap:12px;margin:0}.veli-host-actions .button{width:100%}
 .veli-chair{width:115px;height:170px}.veli-chair-back{height:105px}.veli-chair-seat{bottom:65px}.veli-chair-stem{height:56px}
 .veli-stage[data-scene=seated] .veli-runner{bottom:78px}
 .veli-seat-label{font-size:14px}.veli-look-note{gap:12px}.veli-look-note>.veli-actor{width:57px;margin-bottom:-28px}
 .v2-content .veli-look-note>p{font-size:16px!important}.veli-save-reaction{left:8px;right:8px;font-size:16px;gap:0}.veli-save-reaction>.veli-actor{width:75px}.veli-reaction-copy{padding:12px 14px}
 .veli-booking-guide{grid-template-columns:100px minmax(0,1fr);gap:18px;margin-bottom:26px}
 .veli-booking-track{height:82px;margin-right:48px}.veli-booking-track>.veli-actor{width:48px;bottom:-7px}
 .v2-content .veli-booking-guide>p{font-size:16px!important;min-height:77px}
 .tour-guide{width:160px;right:15px;top:79px}.tour-guide>p{font-size:13px;padding:8px 10px}.tour-guide-route{height:103px}.tour-guide .veli-actor{width:65px}.tour-guide-seat{bottom:34px;width:55px}
}
@media(max-height:650px) and (max-width:600px){
 .tour-guide{top:66px;left:18px;right:18px;width:auto;display:flex;flex-direction:row-reverse;align-items:center;gap:12px}
 .tour-guide-route{height:76px;width:95px;flex-shrink:0}.tour-guide .veli-actor{width:51px}
 .tour-guide>p{font-size:13px;flex:1}.tour-guide-seat{bottom:28px;width:50px}
}
@media(prefers-reduced-motion:reduce){.veli-actor *{animation:none!important;transition:none!important}.veli-runner,.veli-booking-track>.veli-actor,.tour-guide .veli-actor{transition:none!important}}
