/* ── Cloud drift (Spring) ───────────────────────────────────── */
    .rd-cloud-a { animation: rd-cloud-drift 90s linear infinite; transform-origin: 0 0; }
    .rd-cloud-b { animation: rd-cloud-drift 130s linear infinite; transform-origin: 0 0; }
    @keyframes rd-cloud-drift {
        from { transform: translateX(-200px); }
        to   { transform: translateX(1400px); }
    }

    /* ── Butterfly flutter ─────────────────────────────────────── */
    .rd-bf-a { animation: rd-bf-flutter 5s ease-in-out infinite; }
    .rd-bf-b { animation: rd-bf-flutter 7s ease-in-out infinite -2s; }
    @keyframes rd-bf-flutter {
        0%, 100% { transform: translate(0, 0) scale(1); }
        25%      { transform: translate(8px, -5px) scale(0.92); }
        50%      { transform: translate(0, -10px)  scale(1); }
        75%      { transform: translate(-6px, -4px) scale(0.92); }
    }

    /* ── Sun ray pulse ─────────────────────────────────────────── */
    .rd-sun-rays { animation: rd-sun-spin 60s linear infinite; transform-origin: 0 0; }
    @keyframes rd-sun-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }

    /* ── Falling leaves (Autumn) ───────────────────────────────── */
    .rd-leaf-fall   { animation: rd-leaf-down 12s linear infinite; }
    .rd-leaf-fall-2 { animation: rd-leaf-down-2 14s linear infinite -4s; }
    @keyframes rd-leaf-down {
        0%   { transform: translate(0, 0) rotate(0deg);   opacity: 0; }
        10%  { opacity: 0.9; }
        100% { transform: translate(60px, 80px) rotate(180deg); opacity: 0; }
    }
    @keyframes rd-leaf-down-2 {
        0%   { transform: translate(0, 0) rotate(0deg);   opacity: 0; }
        10%  { opacity: 0.85; }
        100% { transform: translate(-50px, 80px) rotate(-180deg); opacity: 0; }
    }

    /* ── Snowfall (Christmas + Winter) ─────────────────────────── */
    .rd-snowfall { animation: rd-snow-down 10s linear infinite; }
    @keyframes rd-snow-down {
        0%   { transform: translate(0, 0); opacity: 0; }
        10%  { opacity: 0.95; }
        100% { transform: translate(20px, 80px); opacity: 0; }
    }

    /* ── Ferris wheel rotation ─────────────────────────────────── */
    .rd-fair-wheel,
    .rd-pier-wheel {
        animation: rd-fair-spin 30s linear infinite;
        transform-box: fill-box;
        transform-origin: center;
    }
    @keyframes rd-fair-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }

    /* Reduced motion: kill anims */
        /* Mobile-only positioning — slice-crop hides anything near the
       SVG edges on a phone, so on small screens we pull the Great
       Orme and the pier into the visible centre band. The pier also
       drops 6 user-units so it doesnt hide behind banner text/button. */
    @media (max-width: 700px) {
        .rd-banner__art .rd-great-orme { transform: translate(250px, 0); }
    }

    @media (prefers-reduced-motion: reduce) {
        .rd-cloud-a, .rd-cloud-b, .rd-bf-a, .rd-bf-b, .rd-sun-rays,
        .rd-leaf-fall, .rd-leaf-fall-2, .rd-snowfall, .rd-fair-wheel { animation: none; }
    }
