    .carousel {
      position: absolute;
      right: clamp(34px, 8vw, 120px);
      bottom: 104px;
      width: 330px;
      height: 380px;
      transform-origin: 50% 88%;
      animation: carouselSway 5s ease-in-out infinite;
      z-index: 8;
    }

    .carousel-top {
      position: absolute;
      left: 18px;
      top: 12px;
      width: 294px;
      height: 100px;
      border-radius: 52% 52% 25% 25%;
      background: repeating-linear-gradient(90deg, #ff8fa7 0 34px, #fff2d5 34px 68px);
      border: 7px solid #f5c45b;
      box-shadow: inset 0 -16px 0 rgba(160,84,86,.12), 0 16px 30px rgba(60,76,55,.18);
      clip-path: polygon(7% 0, 93% 0, 100% 72%, 85% 100%, 15% 100%, 0 72%);
    }

    .carousel-crown {
      position: absolute;
      left: 124px;
      top: -9px;
      width: 82px;
      height: 34px;
      border-radius: 50% 50% 10px 10px;
      background: #f5c45b;
      box-shadow: inset 0 -7px 0 rgba(167,104,41,.14);
    }

    .carousel-pole, .horse-pole {
      position: absolute;
      width: 8px;
      background: linear-gradient(90deg, #c59039, #ffe29a, #b97c29);
      border-radius: 9px;
    }
    .carousel-pole { left: 161px; top: 94px; height: 235px; }
    .carousel-base {
      position: absolute;
      left: 45px;
      bottom: 0;
      width: 245px;
      height: 58px;
      border-radius: 50%;
      background: linear-gradient(#ffd56f, #e7a64e);
      border: 7px solid #f7e0a1;
      box-shadow: 0 18px 24px rgba(57,73,48,.2), inset 0 -11px 0 rgba(162,98,40,.15);
    }

    .carousel-platform {
      position: absolute;
      left: 58px;
      bottom: 34px;
      width: 218px;
      height: 28px;
      border-radius: 50%;
      background: #fff0cd;
      border: 5px solid #e5b14f;
    }

    .horse-pole { top: 96px; height: 228px; }
    .horse-pole.p1 { left: 90px; }
    .horse-pole.p2 { left: 161px; }
    .horse-pole.p3 { left: 232px; }
    .ride-animal { position: absolute; font-size: 64px; filter: drop-shadow(0 8px 4px rgba(56,72,48,.18)); animation: ride 2.8s ease-in-out infinite; }
    .ride-animal.a1 { left: 48px; top: 184px; }
    .ride-animal.a2 { left: 125px; top: 150px; animation-delay: -.9s; transform: scale(.86); }
    .ride-animal.a3 { left: 202px; top: 190px; animation-delay: -1.7s; }

    .giraffe {
      position: absolute;
      left: clamp(40px, 8vw, 130px);
      bottom: 67px;
      width: 175px;
      height: 360px;
      z-index: 10;
      animation: giraffeBob 4.2s ease-in-out infinite;
      transform-origin: bottom center;
    }
    .giraffe-body { position: absolute; left: 31px; bottom: 24px; width: 104px; height: 165px; background: #e7ae48; border-radius: 55% 49% 40% 45%; box-shadow: inset -14px -10px 0 rgba(155,97,30,.11); }
    .giraffe-neck { position: absolute; left: 85px; bottom: 143px; width: 45px; height: 160px; border-radius: 24px; background: #e7ae48; transform: rotate(-6deg); }
    .giraffe-head { position: absolute; left: 69px; top: 15px; width: 90px; height: 74px; border-radius: 50% 42% 48% 45%; background: #edb958; transform: rotate(-8deg); }
    .giraffe-ear { position: absolute; width: 29px; height: 16px; background: #d99a3f; border-radius: 100% 20% 100% 20%; top: 17px; }
    .giraffe-ear.l { left: 63px; transform: rotate(23deg); }
    .giraffe-ear.r { right: -13px; transform: rotate(162deg); }
    .horn { position: absolute; width: 7px; height: 28px; background: #b97829; top: -16px; border-radius: 8px; }
    .horn::before { content:""; position:absolute; width:13px; height:13px; border-radius:50%; background:#815022; left:-3px; top:-5px; }
    .horn.h1 { left: 22px; }.horn.h2 { left: 53px; }
    .giraffe-eye { position: absolute; right: 20px; top: 25px; width: 7px; height: 7px; border-radius: 50%; background: #3a2e22; box-shadow: 2px -3px 0 -1px white; }
    .giraffe-smile { position: absolute; right: 12px; bottom: 18px; width: 22px; height: 12px; border-bottom: 3px solid #7a4c28; border-radius: 50%; transform: rotate(7deg); }
    .leg { position:absolute; bottom:0; width:22px; height:100px; background:#dca140; border-radius:0 0 12px 12px; }
    .leg.l1{left:42px}.leg.l2{left:76px}.leg.r1{left:106px;height:92px}.leg.r2{left:129px;height:86px}
    .hoof { position:absolute; bottom:-2px; width:26px; height:13px; border-radius:50% 50% 6px 6px; background:#654326; left:-2px; }
    .spot { position:absolute; background:#9c632d; border-radius:45% 55% 50% 42%; opacity:.86; }
    .s1{width:23px;height:28px;left:20px;top:28px}.s2{width:29px;height:22px;left:58px;top:70px}.s3{width:24px;height:31px;left:18px;top:94px}.s4{width:18px;height:22px;left:80px;top:118px}.s5{width:15px;height:19px;left:10px;top:35px}.s6{width:17px;height:22px;left:20px;top:84px}.s7{width:16px;height:18px;left:20px;top:126px}

