.orb{width:105px;height:105px;border-radius:30px;background:radial-gradient(circle at 26% 18%,#eff5c4 0,#aabd77 30%,#657942 65%,#3f532b 90%);box-shadow:inset 4px 4px 8px #ffffdd9a,inset -7px -7px 15px #263a2855,9px 14px 15px #3b46221f;position:absolute;top:5px;left:10px;transform:rotate(-15deg)}
.orb:after{content:'z';position:absolute;inset:18px;display:grid;place-items:center;font-size:56px;color:#eff5d8a0;text-shadow:1px 2px 1px #42553090;line-height:1;letter-spacing:-.08em}
.moon{width:105px;height:105px;position:absolute;border-radius:50%;background:radial-gradient(circle at 26% 20%,#f8f4ff,#b9abc8 55%,#7d6a8c);box-shadow:inset -5px -5px 8px #75607e77;transform:rotate(-25deg);overflow:hidden;left:10px;top:5px}
.moon:after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 10% 10%,#f0ecf0,#ebe5eb);left:33px;top:-15px;box-shadow:-5px 5px 10px #5c486345}
.ring{position:absolute;width:100px;height:100px;left:14px;top:8px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#ffeed4,#bd9162 55%,#856240);box-shadow:inset 3px 3px 6px #fff8d9,7px 9px 15px #65411e2a;transform:rotate(-20deg) scaleY(.82)}
.ring:after{content:'';position:absolute;inset:29px;border-radius:50%;background:#efe4d5;box-shadow:inset 6px 7px 8px #7d573c77,-2px -2px 4px #ffefc599}
.capsule{position:absolute;width:66px;height:115px;left:30px;top:0;border-radius:40px;background:linear-gradient(90deg,#4c8191,#b7d6de 35%,#6da1b2 66%,#3d6976);box-shadow:inset 3px 2px 6px #ffffff89,8px 10px 12px #23485822;transform:rotate(35deg)}
.capsule:after{content:'';position:absolute;top:54px;left:0;right:0;height:2px;background:#426f7f77;box-shadow:0 1px 1px #d3e9edaa}
.mini-orb{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 28% 20%,#fff9e4,#b6aa82 55%,#6d7457);box-shadow:5px 7px 10px #46523720;margin-left:auto;margin-right:30px}
@media(max-width:600px){.mini-orb{margin-right:19px}}
.mini-orb{transition:transform .5s cubic-bezier(.2,0,0,1),box-shadow .3s ease;backface-visibility:hidden}
.orb{background:radial-gradient(ellipse at 24% 12%,#f5f8ce 0%,#d2dd9c 16%,#9aac67 42%,#6c8046 70%,#3c512c 100%);border:1px solid #91a76a;box-shadow:inset 2px 3px 3px #ffffe5c0,inset -4px -6px 7px #273b3066,4px 7px 5px #24341f24;transform:translate(var(--object-x),var(--object-y)) rotate(calc(-15deg + var(--object-turn))) rotateY(var(--object-tilt))}
.orb:before{content:'';position:absolute;inset:5px;border-radius:25px;border-top:1px solid #ffffe899;border-left:1px solid #ffffe84d;background:linear-gradient(145deg,#ffffff1a,transparent 45%);pointer-events:none}
.orb:after{color:#c2ce9b;text-shadow:0 1px 0 #f2f6d2,-1px -1px 1px #526638a6}
.moon{background:radial-gradient(ellipse at 24% 12%,#fdfaff 0%,#d7cbe5 30%,#a393b7 65%,#635174 100%);box-shadow:inset 2px 2px 3px #ffffffb0,inset -3px -5px 5px #4f3b655e,3px 5px 4px #46344f28;transform:translate(var(--object-x),var(--object-y)) rotate(calc(-25deg + var(--object-turn))) rotateY(var(--object-tilt))}
.moon:after{box-shadow:-3px 3px 4px #59446866,-1px 1px 0 #f8f3ffa0;background:radial-gradient(circle at 10% 10%,#f1edf1,#e9e3ea)}
.ring{background:radial-gradient(ellipse at 27% 15%,#fff4d9 0%,#ecd1a8 20%,#c39a6d 49%,#926c44 77%,#6e5037 100%);box-shadow:inset 2px 2px 3px #fff8e6c0,inset -3px -4px 5px #6a482b55,4px 6px 4px #503c2728;transform:translate(var(--object-x),var(--object-y)) rotate(calc(-20deg + var(--object-turn))) scaleY(.82) rotateY(var(--object-tilt))}
.ring:after{box-shadow:inset 4px 5px 5px #71513799,-1px -1px 2px #fff7dfa0,1px 2px 1px #fff0d880}
.capsule{background:linear-gradient(90deg,#345966 0%,#6396a7 13%,#c1dce2 33%,#89b7c6 50%,#588d9e 77%,#315d6c 100%);border:1px solid #6794a280;box-shadow:inset 2px 2px 3px #e5f8ffb0,inset -2px -3px 4px #173f515e,4px 6px 4px #23424c30;transform:translate(var(--object-x),var(--object-y)) rotate(calc(35deg + var(--object-turn))) rotateY(var(--object-tilt))}
.capsule:before{content:'';position:absolute;inset:4px 9px 58px 10px;border-radius:30px 30px 10px 10px;background:linear-gradient(105deg,#ffffff05,#ffffff6b 28%,#ffffff08 68%);border-top:1px solid #edfbffc9}
.capsule:after{height:2px;background:#244d5d9c;box-shadow:0 1px 0 #e5f4f9b3,0 -1px 0 #accfda60}
.mini-orb{background:radial-gradient(circle at 27% 18%,#fffbe9 0%,#d8cfaa 22%,#a9a079 55%,#6a7152 84%,#4b5739 100%);box-shadow:inset 1px 2px 2px #ffffeac0,inset -2px -3px 3px #46523855,4px 6px 4px #35452940;transform:translate(var(--object-x),var(--object-y)) rotate(var(--object-turn))}
@media(prefers-reduced-motion:reduce){.mini-orb{transition:none}}
.orb{box-shadow:inset 2px 3px 3px #ffffe5c0,inset -4px -6px 7px #273b3066,2px 3px 4px #24341f0c}
.moon{box-shadow:inset 2px 2px 3px #ffffffb0,inset -3px -5px 5px #4f3b655e,2px 3px 4px #46344f0c}
.ring{box-shadow:inset 2px 2px 3px #fff8e6c0,inset -3px -4px 5px #6a482b55,2px 3px 4px #503c270c}
.capsule{box-shadow:inset 2px 2px 3px #e5f8ffb0,inset -2px -3px 4px #173f515e,2px 3px 4px #23424c0c}
.moon:after{width:52px;height:30px;left:auto;right:12px;top:10px;border-radius:50%;background:radial-gradient(ellipse,#ffffff50,transparent 72%);box-shadow:none;transform:rotate(25deg);pointer-events:none}
.orb::after{transform:translateY(-5px);color:#71834e;text-shadow:0 1px 0 rgba(233,241,185,.65),0 -1px 1px rgba(43,61,26,.6);opacity:.9}
#start.cta-finale{padding:80px 0 112px;overflow:hidden}
.cta-arc{position:relative;width:min(760px,100%);height:240px;margin:0 auto 20px;--object-x:0px;--object-y:0px;--object-turn:0deg;--object-tilt:0deg}
.cta-orbit{position:absolute;width:125px;height:130px;animation:cta-float 5s ease-in-out infinite;animation-delay:var(--delay);--drift:10px}
.cta-orbit.orbit-0{left:2%;top:110px;--delay:-1s}
.cta-orbit.orbit-1{left:22%;top:34px;--delay:-3s}
.cta-orbit.orbit-2{left:43%;top:0;--delay:-.5s}
.cta-orbit.orbit-3{left:65%;top:34px;--delay:-2s}
.cta-orbit.orbit-4{left:84%;top:110px;--delay:-4s}
.cta-orbit .mini-orb{position:absolute;width:84px;height:84px;left:12px;top:14px;margin:0}
.cta-copy{max-width:680px;margin:auto;text-align:center}
.cta-copy h2{font-size:clamp(40px,5vw,64px);text-wrap:balance;max-width:12ch;margin:0 auto 24px}
.cta-copy p{font-size:16px;line-height:1.5;color:var(--muted);max-width:42ch;margin:0 auto 28px;text-wrap:balance}
.cta-copy .btn{min-height:48px;padding:14px 24px}
@keyframes cta-float{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(5px,-12px) rotate(3deg)}}
@media(max-width:600px){#start.cta-finale{padding:56px 0 72px}
.cta-arc{height:168px;margin-bottom:16px}
.cta-orbit{scale:.58;transform-origin:center;animation-duration:6s}
.cta-orbit.orbit-0{left:-11%;top:72px}
.cta-orbit.orbit-1{left:8%;top:20px}
.cta-orbit.orbit-2{left:30%;top:0}
.cta-orbit.orbit-3{left:53%;top:20px}
.cta-orbit.orbit-4{left:72%;top:72px}
.cta-copy p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cta-orbit{animation:none}}
.cta-motion{display:block;margin:0 auto 20px;width:28px;height:28px;border:1px solid #dddeda;border-radius:50%;background:transparent;color:#667064;font-size:12px}
.cta-finale.motion-paused .cta-orbit{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.cta-motion{display:none}}
#start.cta-finale{padding:48px 0 72px}
.cta-arc{height:210px;margin-bottom:0}
.cta-copy h2{margin-bottom:20px}
.cta-copy p{margin-bottom:24px}
@media(max-width:600px){#start.cta-finale{padding:36px 0 48px}
.cta-arc{height:148px;margin-bottom:0}}
.reading .cta-finale{margin:48px 0 0;background:transparent;border-radius:0}
.reading .cta-finale .wrap{padding:0}
.reading .cta-copy h2{font-weight:400;line-height:.9;letter-spacing:-.065em}
.reading .cta-copy p{font-size:16px;line-height:1.5;margin:0 auto 24px;max-width:42ch;color:#667064}
.reading .cta-copy a.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:#242424;color:#fff;text-decoration:none;border:1px solid #242424;border-radius:8px;font-size:14px;line-height:1.4;padding:14px 24px;transition:background-color .2s}
.reading .cta-copy a.btn:hover{background:#3a3a3a;color:#fff}
@media(prefers-reduced-motion:reduce){.reading .cta-copy a.btn{transition:none}.cta-orbit{animation:none}}

.cta-copy{max-width:800px}.cta-copy h2{max-width:20ch;text-wrap:balance}.cta-copy p{max-width:48ch}

.cta-finale .cta-copy h2{max-width:680px;margin-inline:auto;font-size:clamp(38px,4.6vw,60px)}
.cta-copy h2>span{display:block}
.cta-finale .cta-arc{width:min(720px,100%);height:250px;margin:0 auto 24px}
.cta-arc .cta-orbit{translate:-50% 0;scale:.9}
.cta-arc .orbit-0{left:9%;top:130px}.cta-arc .orbit-1{left:28%;top:42px}.cta-arc .orbit-2{left:50%;top:8px}.cta-arc .orbit-3{left:72%;top:42px}.cta-arc .orbit-4{left:91%;top:130px}
.cta-arc .orbit-4 .mini-orb{left:20px;top:14px}
@media(max-width:600px){.cta-finale .cta-arc{height:162px;margin-bottom:20px}.cta-arc .cta-orbit{scale:.55}.cta-arc .orbit-0{left:8%;top:68px}.cta-arc .orbit-1{left:28%;top:18px}.cta-arc .orbit-2{left:50%;top:0}.cta-arc .orbit-3{left:72%;top:18px}.cta-arc .orbit-4{left:92%;top:68px}.cta-finale .cta-copy h2{font-size:clamp(32px,8.6vw,42px)}}

.cta-finale .cta-arc{height:230px;margin-bottom:8px}@media(max-width:600px){.cta-finale .cta-arc{height:150px;margin-bottom:8px}}

/* Mobile carousel follows a shallow arch and wraps while invisible. */
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .cta-finale .cta-arc{height:168px;overflow:hidden;isolation:isolate;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
 .cta-arc .cta-orbit{top:0;scale:.55;translate:-50% 0;transform:none;animation:cta-arc-carousel 20s linear infinite;will-change:left,top,opacity}
 .cta-arc .orbit-0{animation-delay:-2s}.cta-arc .orbit-1{animation-delay:-6s}.cta-arc .orbit-2{animation-delay:-10s}.cta-arc .orbit-3{animation-delay:-14s}.cta-arc .orbit-4{animation-delay:-18s}
}
@keyframes cta-arc-carousel{
 0%{left:-12%;top:90px;opacity:0}
 10%{left:.4%;top:58px;opacity:.7}
 20%{left:12.8%;top:33px;opacity:1}
 30%{left:25.2%;top:15px;opacity:1}
 40%{left:37.6%;top:4px;opacity:1}
 50%{left:50%;top:0;opacity:1}
 60%{left:62.4%;top:4px;opacity:1}
 70%{left:74.8%;top:15px;opacity:1}
 80%{left:87.2%;top:33px;opacity:1}
 90%{left:99.6%;top:58px;opacity:.7}
 100%{left:112%;top:90px;opacity:0}
}

.cta-arc-bottom{display:none}
@media(min-width:901px){
 .cta-finale .cta-arc-bottom{display:block;height:230px;margin:24px auto 0;pointer-events:none}
 .cta-arc-bottom .orbit-0{top:0}.cta-arc-bottom .orbit-1{top:80px}.cta-arc-bottom .orbit-2{top:120px}.cta-arc-bottom .orbit-3{top:80px}.cta-arc-bottom .orbit-4{top:0}
}
