/* V5: a suspended-cabin Ferris wheel. The axle and supports stay still. */
.ferris-stage{width:100%;max-width:690px;aspect-ratio:1/1.17;position:relative;margin:auto;isolation:isolate;overflow:hidden}
.ferris-stage .eco-wheel{position:absolute;inset:0 0 auto;width:100%;max-width:none;margin:0;aspect-ratio:1;overflow:visible}
.ferris-support{position:absolute;inset:0 auto auto 0;width:100%;height:117%;overflow:visible;pointer-events:none;z-index:0}
.support-shadow{stroke:#02080d;stroke-width:34;fill:none}
.support-legs{stroke:url(#leg-metal);stroke-width:22;fill:none;stroke-linecap:round}
.support-light{stroke:#a9edff;stroke-width:2;fill:none;opacity:.55}
.support-brace{stroke:#386375;stroke-width:4;fill:none}
.support-base{stroke:#548396;stroke-width:8;fill:none;stroke-linecap:round}
.axle-housing{fill:#0a1923;stroke:#2e5264;stroke-width:5}
.ferris-stage .eco-rotor{z-index:1;cursor:grab}
.ferris-structure{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.rim-halo{stroke:#96e9ff;stroke-width:16;stroke-opacity:.05;fill:none}
.wheel-rim{stroke:#78b9cd;stroke-width:3;fill:none}
.wheel-spokes{stroke:#528ba2;stroke-width:2;opacity:.7}
.wheel-truss{stroke:#78b9cd;stroke-width:1;opacity:.6}
.wheel-lights{fill:#d7f8ff;filter:drop-shadow(0 0 5px #9aeaff)}
.axle-ring{stroke:#91d5e9;stroke-width:3;fill:none}
.ferris-stage .eco-rotor .eco-node:nth-child(n){width:16%;height:auto;aspect-ratio:110/130;padding:0;display:block;border:0;border-radius:0;background:none;box-shadow:none;transform:translateX(-50%) rotate(calc(-1 * var(--orbit-angle)));transform-origin:50% 0;overflow:visible;transition:none;color:#e1f5fc;cursor:pointer;outline-offset:4px}
.cabin-shell{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 6px 7px #0008)}
.cabin-hanger{stroke:#afd6e5;stroke-width:3;fill:none}
.cabin-pivot{fill:#e3f9ff;stroke:#a2efff;stroke-width:2}
.cabin-body{fill:#102431;stroke:#72a9bc;stroke-width:1.5;transition:fill .2s,stroke .2s}
.cabin-roof{fill:#375869;stroke:#a4d2df;stroke-width:1}
.cabin-glass{fill:#193d50;stroke:#6ea5bc;stroke-width:.7}
.cabin-sill{stroke:#88baca;stroke-width:1.2;fill:none;opacity:.75}
.ferris-stage .eco-icon{position:absolute;left:0;right:0;top:38%;font-size:25px;line-height:1;color:#baf4ff;pointer-events:none}
.ferris-stage .eco-rotor .eco-node strong{position:absolute;left:12%;right:12%;top:65%;font-size:clamp(10px,1vw,13px);font-weight:500;line-height:1.18;margin:0;max-width:none;text-wrap:balance;pointer-events:none}
.ferris-stage .eco-rotor .eco-no{position:absolute;left:21%;top:25%;font:6px monospace;letter-spacing:1px;color:#d0edf5;pointer-events:none}
.ferris-stage .eco-rotor .eco-node:hover,.ferris-stage .eco-rotor .eco-node.active{background:none;border:0;box-shadow:none;color:#f1fbff}
.eco-node:hover .cabin-body,.eco-node:focus-visible .cabin-body{fill:#204355;stroke:#d2f8ff;stroke-width:2.5}
.eco-node.active .cabin-body{fill:#1f5264;stroke:#b9f4ff;stroke-width:2.5}
.eco-node.active .cabin-glass{fill:#275f75}.eco-node.active .cabin-shell{filter:drop-shadow(0 0 8px #a2efff45)}
.ferris-stage .idea-hub{inset:37%;z-index:2;border-color:#a3e3f5;box-shadow:0 0 45px #a2efff22,inset 0 0 35px #a2efff25}
.ferris-stage .idea-hub>strong{font-size:clamp(25px,3vw,40px)}
.ferris-stage .hub-spark{top:10%}
.orbit-column>.orbit-hint{margin-top:10px}
@media(max-width:1050px){.ferris-stage .eco-icon{font-size:20px}.ferris-stage .eco-rotor .eco-node strong{font-size:10px}.ferris-stage .idea-hub>strong{font-size:27px}.ferris-stage #orbit-toggle{padding:5px 9px;font-size:9px}.ferris-stage .hub-subtitle{margin:3px 0 5px}}
@media(max-width:700px){.ferris-stage{width:calc(100% + 24px);margin:0 -12px;max-width:none}.ferris-stage .eco-icon{font-size:19px;top:38%}.ferris-stage .eco-rotor .eco-node:nth-child(n){width:18%}.ferris-stage .eco-rotor .eco-node strong{font-size:9px;top:64%;left:12%;right:12%}.ferris-stage .eco-rotor .eco-no{font-size:4.5px;top:26%}.ferris-stage .idea-hub{inset:36.5%}.ferris-stage .idea-hub>strong{font-size:23px;letter-spacing:1px}.ferris-stage .hub-spark{font-size:7px;top:7%}.ferris-stage .hub-subtitle{font-size:7px;margin:3px 0}.ferris-stage #orbit-toggle{padding:5px 9px;font-size:8px;gap:4px}.orbit-column>.orbit-hint{max-width:330px;margin-top:8px}.ferris-stage .wheel-rim{stroke-width:3.5}}
@media(max-width:359px){.ferris-stage .eco-icon{font-size:16px}.ferris-stage .eco-rotor .eco-node strong{font-size:8px}.ferris-stage .idea-hub>strong{font-size:20px}.ferris-stage #orbit-toggle{padding:4px 7px}.ferris-stage .hub-spark{display:none}}

/* A luminous value odometer at the axle, with the supplied background music. */
/* Both the hero video and the wheel control the same supplied soundtrack. */
#hero-music[data-playing=true]{border-color:#b9f4ff;background:#27536b99;color:#e5fcff}
@media(max-width:700px){.scene-controls{right:7%;flex-wrap:wrap;gap:6px}#hero-music [data-music-label]{display:none}#hero-music{min-width:35px;justify-content:center}}
.ferris-stage .idea-hub{inset:33.5%;gap:0}
.ferris-stage .idea-hub>strong{font-size:34px}
.ferris-stage .hub-spark{top:8%}
.ferris-stage .hub-subtitle{margin:5px 0 10px;font-size:10px;letter-spacing:.4px}
.idea-value{display:flex;justify-content:center;font:500 clamp(15px,1.8vw,22px)/1 monospace;color:#d2f9ff;letter-spacing:0;margin:0 0 14px;text-shadow:0 0 12px #9eefff88;min-height:1em}
.value-slot{display:block;width:.65em;height:1em;overflow:hidden}.value-reel{display:block;will-change:transform}.value-reel>span{display:block;height:1em;line-height:1;text-align:center}
.hub-actions{display:flex;align-items:center;justify-content:center;gap:8px}
#wheel-music{height:29px;width:29px;display:grid;place-items:center;border:1px solid #a2efff5f;border-radius:50%;background:#07131b90;color:#bdd6df;font-size:16px;line-height:1;padding:0}
#wheel-music:hover,#wheel-music[data-playing=true]{color:#e5fcff;border-color:#b9f4ff;background:#27536b;box-shadow:0 0 14px #a2efff33}
.wish-experience{background:radial-gradient(ellipse at 50% 35%,#443b2455,transparent 65%),#080f16!important;display:flex;align-items:center;justify-content:center}
.wish-experience:before{content:'';position:absolute;width:65%;aspect-ratio:1;border:1px solid #d9bc7228;border-radius:50%;pointer-events:none}
.wish-interaction{position:absolute;inset:14% 7% 6%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;text-align:center}
.wish-eyebrow{font:8px monospace;letter-spacing:2px;color:#bba674}
.wish-interaction h4{font:400 clamp(25px,3vw,42px)/1.2 var(--display);letter-spacing:-1px;color:#ead3a0;margin:9px 0 20px}
.wish-number-row{display:flex;align-items:center;justify-content:center;gap:13px}
.wish-digit{position:relative;width:69px;height:82px;border:1px solid #b4995d80;border-radius:10px;color:#efdbac;background:linear-gradient(#201f1a,#111b22 49%,#293136 50%,#0c131a 51%,#17212b);font:400 47px/1 monospace;box-shadow:0 7px 18px #0005;overflow:hidden}
.wish-digit:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #d9bc7225;pointer-events:none}.wish-digit:hover{border-color:#e6c989;box-shadow:0 0 15px #b99d4b22}.wish-digit span{display:block}
.wish-interaction p{font-size:10px;line-height:1.5;color:#a8adab;margin:13px 0 12px}
.wish-answer{display:flex;align-items:center;justify-content:center;gap:22px;color:#efdaaa;padding:10px 18px;border:1px solid #a38c5944;border-radius:30px;font-size:11px;transition:background .2s}.wish-answer:hover{background:#a38c5930}
.wish-interaction .wish-transfer-note{font-size:8px;max-width:90%;color:#839199;margin:8px 0 0}
@media(max-width:1050px){.ferris-stage .idea-hub>strong{font-size:27px}.ferris-stage .hub-subtitle{font-size:8px;margin:3px 0 7px}.idea-value{font-size:16px;margin-bottom:9px}.hub-actions{gap:6px}#wheel-music{width:25px;height:25px;font-size:14px}.wish-interaction h4{font-size:30px;margin:7px 0 13px}.wish-digit{width:56px;height:65px;font-size:38px}.wish-number-row{gap:9px}.wish-interaction p{margin:10px 0;font-size:9px}.wish-answer{padding:7px 14px;font-size:10px}}
@media(max-width:700px){.ferris-stage .idea-hub{inset:33%}.ferris-stage .idea-hub>strong{font-size:22px}.ferris-stage .hub-subtitle{font-size:7px;letter-spacing:0;margin:3px 0 6px}.ferris-stage .hub-spark{display:none}.idea-value{font-size:14px;margin-bottom:8px}.ferris-stage #orbit-toggle{font-size:8px;padding:5px 8px;height:25px}#wheel-music{width:25px;height:25px}.hub-actions{gap:5px}.wish-interaction{inset:14% 7% 5%}.wish-interaction h4{font-size:32px;margin:7px 0 14px}.wish-digit{width:58px;height:68px;font-size:39px}.wish-interaction p{font-size:10px;margin:10px 0}.wish-answer{font-size:11px;padding:8px 16px}}
@media(max-width:359px){.ferris-stage .idea-hub>strong{font-size:19px}.idea-value{font-size:12px;margin-bottom:6px}.ferris-stage .hub-subtitle{font-size:6px;margin:2px 0 5px}.ferris-stage #orbit-toggle{height:23px;padding:4px 6px}#wheel-music{height:23px;width:23px}.wish-digit{width:50px;height:58px;font-size:34px}.wish-interaction h4{font-size:29px;margin:5px 0 10px}.wish-interaction p{font-size:9px}}
