.kids-band{
        position:relative;
        min-height:300px;
        overflow:hidden;
        border-top:1px solid var(--line);
        border-bottom:1px solid var(--line);
        background:#fffaf7;
    }


    .kids-inner{
        width:100%;
        min-height:300px;
        display:grid;
        grid-template-columns:55% 45%;
    }


    .kids-copy{
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:108px minmax(0,1fr);
        align-items:center;
        gap:34px;
        min-width:0;
        padding:42px clamp(42px,5vw,86px);
        background:#fffaf7;
    }


    .kids-copy .big-icon{
        display:block;
        width:108px;
        height:108px;
        object-fit:contain;
        transform-origin:50% 86%;
        animation:kidsHorseRock 2.6s ease-in-out infinite;
        will-change:transform;
    }


    @keyframes kidsHorseRock{
        0%,100%{
            transform:rotate(-5deg) translateY(0);
        }
        50%{
            transform:rotate(5deg) translateY(2px);
        }
    }


    .kids-text{
        width:min(100%,520px);
        justify-self:center;
        text-align:center;
    }


    .kids-copy h3{
        margin:0;
        font-family:var(--serif);
        font-size:calc(clamp(30px,2.3vw,38px) - 2px);
        line-height:1.06;
        color:#58464b;
        font-weight:500;
    }


    .kids-copy h3 span{
        color:var(--rose);
    }


    .kids-copy p{
        max-width:500px;
        margin:10px 0 0;
        color:var(--muted);
        font-size:16px;
        line-height:1.58;
    }


    .kids-parade{
        position:relative;
        width:min(100%,430px);
        min-height:52px;
        margin:16px auto 0;
        display:grid;
        grid-template-columns:1fr 44px 1fr;
        align-items:center;
        gap:7px;
    }


    .kids-heart{
        position:relative;
        z-index:3;
        display:block;
        width:34px;
        height:auto;
        margin:auto;
        object-fit:contain;
        opacity:0;
        transform:scale(.65);
        transition:
            opacity .45s ease 1.42s,
            transform .55s cubic-bezier(.22,.61,.36,1) 1.42s;
    }


    .kids-parade-group{
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:6px;
        min-width:0;
    }


    .kids-parade-group--right{
        justify-content:flex-start;
    }


    .parade-child{
        position:relative;
        z-index:2;
        width:32px;
        height:42px;
        flex:0 0 32px;
        display:grid;
        place-items:center;
        color:#c98b98;
        font-size:27px;
        line-height:1;
        opacity:0;
        will-change:transform,opacity;
    }


    .parade-child i{
        display:block;
        transform-origin:50% 100%;
    }


    .parade-child.is-hopping i{
        animation:kidPlayfulHop .58s cubic-bezier(.22,.61,.36,1);
    }


    @keyframes kidPlayfulHop{
        0%,100%{
            transform:translateY(0) scaleY(1);
        }


        18%{
            transform:translateY(2px) scaleY(.94);
        }


        48%{
            transform:translateY(-13px) scaleY(1.03);
        }


        70%{
            transform:translateY(-4px) scaleY(.98);
        }
    }


    .kids-parade-group--left .parade-child{
        transform:translateX(-220px);
    }


    .kids-parade-group--right .parade-child{
        transform:translateX(220px);
    }


    .kids-band.parade-in .kids-parade-group--left .parade-child--1{
        animation:kidWalkInLeft .82s cubic-bezier(.22,.61,.36,1) .12s forwards;
    }


    .kids-band.parade-in .kids-parade-group--left .parade-child--2{
        animation:kidWalkInLeft .82s cubic-bezier(.22,.61,.36,1) .30s forwards;
    }


    .kids-band.parade-in .kids-parade-group--left .parade-child--3{
        animation:kidWalkInLeft .82s cubic-bezier(.22,.61,.36,1) .48s forwards;
    }


    .kids-band.parade-in .kids-parade-group--right .parade-child--6{
        animation:kidWalkInRight .82s cubic-bezier(.22,.61,.36,1) .12s forwards;
    }


    .kids-band.parade-in .kids-parade-group--right .parade-child--5{
        animation:kidWalkInRight .82s cubic-bezier(.22,.61,.36,1) .30s forwards;
    }


    .kids-band.parade-in .kids-parade-group--right .parade-child--4{
        animation:kidWalkInRight .82s cubic-bezier(.22,.61,.36,1) .48s forwards;
    }


    .kids-band.parade-in .kids-heart{
        opacity:1;
        transform:scale(1);
    }


    @keyframes kidWalkInLeft{
        0%{
            opacity:0;
            transform:translateX(-220px);
        }
        70%{
            opacity:1;
            transform:translateX(6px);
        }
        100%{
            opacity:1;
            transform:translateX(0);
        }
    }


    @keyframes kidWalkInRight{
        0%{
            opacity:0;
            transform:translateX(220px);
        }
        70%{
            opacity:1;
            transform:translateX(-6px);
        }
        100%{
            opacity:1;
            transform:translateX(0);
        }
    }


    .kids-visual{
        position:relative;
        min-width:0;
        min-height:300px;
        overflow:hidden;
        background:#f2ddd8;
    }


    .kids-visual img{
        position:absolute;
        inset:0;
        display:block;
        width:100%;
        height:100%;
        max-width:none;
        object-fit:cover;
        object-position:center;
        filter:saturate(.76) brightness(1.04);
    }


    .kids-visual::before{
        content:"";
        position:absolute;
        top:0;
        bottom:0;
        left:-1px;
        z-index:2;
        width:clamp(140px,15vw,230px);
        background:#fffaf7;
        -webkit-mask-image:linear-gradient(
            90deg,
            #000 0%,
            #000 28%,
            rgba(0,0,0,.96) 42%,
            rgba(0,0,0,.78) 60%,
            rgba(0,0,0,.46) 76%,
            rgba(0,0,0,.16) 91%,
            transparent 100%
        );
        mask-image:linear-gradient(
            90deg,
            #000 0%,
            #000 28%,
            rgba(0,0,0,.96) 42%,
            rgba(0,0,0,.78) 60%,
            rgba(0,0,0,.46) 76%,
            rgba(0,0,0,.16) 91%,
            transparent 100%
        );
        pointer-events:none;
    }


    @media (max-width:900px){
        .kids-inner{
            grid-template-columns:1fr;
        }


        .kids-copy{
            grid-template-columns:108px minmax(0,1fr);
            padding:40px 32px;
        }


        .kids-visual{
            min-height:280px;
            height:280px;
        }


        .kids-visual::before{
            top:-1px;
            right:0;
            bottom:auto;
            left:0;
            width:100%;
            height:96px;
            background:#fffaf7;
            -webkit-mask-image:linear-gradient(
                180deg,
                #000 0%,
                #000 24%,
                rgba(0,0,0,.82) 52%,
                rgba(0,0,0,.36) 78%,
                transparent 100%
            );
            mask-image:linear-gradient(
                180deg,
                #000 0%,
                #000 24%,
                rgba(0,0,0,.82) 52%,
                rgba(0,0,0,.36) 78%,
                transparent 100%
            );
        }
    }


    @media (max-width:620px){
        .kids-copy{
            grid-template-columns:70px minmax(0,1fr);
            align-items:center;
            gap:20px;
            padding:34px 22px;
        }


        .kids-copy .big-icon{
            width:70px;
            height:70px;
            flex-basis:70px;
        }


        .kids-copy h3{
            font-size:27px;
        }


        .kids-copy p{
            font-size:15px;
            line-height:1.54;
        }


        .kids-parade{
            width:min(100%,330px);
            grid-template-columns:1fr 34px 1fr;
            gap:4px;
            margin-top:14px;
        }


        .kids-heart{
            width:28px;
        }


        .parade-child{
            width:24px;
            height:36px;
            flex-basis:24px;
            font-size:22px;
        }


        .kids-parade-group--left .parade-child{
            transform:translateX(-150px);
        }


        .kids-parade-group--right .parade-child{
            transform:translateX(150px);
        }


        .kids-visual{
            min-height:230px;
            height:230px;
        }
    }


    @media (prefers-reduced-motion:reduce){
        .kids-copy .big-icon,
        .parade-child,
        .parade-child i,
        .parade-child.is-hopping i,
        .kids-heart{
            animation:none !important;
            transition:none !important;
        }


        .parade-child,
        .kids-heart{
            opacity:1;
            transform:none;
        }
    }
