.academy-practice{
    position:relative;
    overflow:hidden;
    padding:145px 0 110px;
    background:#fffdfb;
    isolation:isolate;
}

.academy-practice__wave{
    position:absolute;
    z-index:0;
    top:-1px;
    left:0;
    width:100%;
    height:92px;
    pointer-events:none;
}

.academy-practice__wave svg{
    display:block;
    width:100%;
    height:100%;
}

.academy-practice__wave path{
    fill:#FDF3F2;
}

.academy-practice__container{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.03fr) minmax(500px,.97fr);
    gap:clamp(65px,7vw,115px);
    align-items:center;
}

.academy-practice__content{
    max-width:750px;
}

.academy-practice__kicker{
    display:block;
    margin:0 0 14px;
    color:#c88796;
    font-family:var(--script);
    font-size:clamp(30px,2.8vw,40px);
    line-height:1;
}

.academy-practice__content h2{
    max-width:680px;
    margin:0;
    color:#4d4346;
    font-family:var(--serif);
    font-size:clamp(39px,4vw,59px);
    line-height:.97;
    letter-spacing:-.04em;
    font-weight:500;
}

.academy-practice__content h2 span{
    display:inline;
    margin-top:0;
    color:#c86f82;
    font-family:var(--script);
    font-size:.94em;
    line-height:.9;
    font-weight:400;
    letter-spacing:0;
}

.academy-practice__intro{
    max-width:620px;
    margin:25px 0 0;
    color:#77686c;
    font-size:15px;
    line-height:1.8;
}

.academy-practice__list{
    display:grid;
    gap:10px;
    margin-top:30px;
}

.academy-practice__item{
    display:grid;
    grid-template-columns:80px minmax(0,1fr);
    gap:18px;
    align-items:center;
    min-height:106px;
    padding:15px 21px 15px 13px;
    border-radius:21px;
    background:#fdf3f2;
    opacity:1;
    --pmf-reveal-from:translateX(-12px);transform:none;
    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.22,1,.36,1);
}

.academy-practice__item.is-visible{
    opacity:1;
    transform:none;
}

.academy-practice__item-visual{
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:52% 48% 57% 43% / 44% 58% 42% 56%;
    background:#f6dddf;
    transform:rotate(0) scale(1);
    transition:
        transform .48s cubic-bezier(.22,1,.36,1),
        border-radius .48s cubic-bezier(.22,1,.36,1),
        background-color .4s ease;
}

.academy-practice__item:nth-child(2) .academy-practice__item-visual{
    border-radius:45% 55% 43% 57% / 57% 44% 56% 43%;
}

.academy-practice__item:nth-child(3) .academy-practice__item-visual{
    border-radius:58% 42% 52% 48% / 42% 55% 45% 58%;
}

.academy-practice__item:nth-child(4) .academy-practice__item-visual{
    border-radius:44% 56% 59% 41% / 55% 43% 57% 45%;
}

.academy-practice__item:nth-child(5) .academy-practice__item-visual{
    border-radius:55% 45% 46% 54% / 48% 58% 42% 52%;
}

.academy-practice__item-visual img{
    display:block;
    width:64px;
    height:64px;
    max-width:none;
    object-fit:contain;
    filter:brightness(0) contrast(1.35);
    transform:scale(1);
    transform-origin:center;
    transition:transform .55s cubic-bezier(.22,1,.36,1);
}

.academy-practice__item-copy strong{
    display:block;
    margin:0 0 7px;
    color:#4d4346;
    font-family:var(--serif);
    font-size:20px;
    line-height:1.14;
    font-weight:600;
}

.academy-practice__item-copy p{
    max-width:590px;
    margin:0;
    color:#736469;
    font-size:14px;
    line-height:1.62;
}

.academy-practice__gallery{
    --academy-gallery-bg-y:500px;
    --academy-gallery-bg-size:100%;
    position:relative;
    min-height:650px;
    isolation:isolate;
}

.academy-practice__gallery::before{
    content:"";
    position:absolute;
    z-index:0;
    top:0;
    left:50%;
    width:var(--academy-gallery-bg-size);
    height:100%;
    background-image:var(--backgrounds_media_1);
    background-repeat:no-repeat;
    background-position:center top;
    background-size:contain;
    transform:translate(-50%,var(--academy-gallery-bg-y));
    pointer-events:none;
}

.academy-practice__photo{
    position:absolute;
    z-index:2;
    margin:0;
    overflow:hidden;
    background:#f4e3e2;
}

.academy-practice__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

 .academy-practice__photo--main img{
    object-position:left center;
    object-fit:contain;
    background:#efdfd7;
}
.academy-practice__photo--bottom img{object-position:center 26%;}
.academy-practice__photo--main{
    left:8%;
    top:28px;
    width:66%;
    height:560px;
    border-radius:44% 56% 40% 60% / 36% 46% 54% 64%;
    transform:rotate(-1.5deg);
}

.academy-practice__photo--top{
    right:0;
    top:49px;
    width:31%;
    height:205px;
    border:7px solid #fffdfb;
    border-radius:50% 50% 45% 55% / 43% 52% 48% 57%;
    transform:rotate(4deg);
    box-shadow:0 14px 36px rgba(85,57,64,.10);
}

.academy-practice__photo--bottom{
    right:2%;
    bottom:40px;
    width:35%;
    height:220px;
    border:7px solid #fffdfb;
    border-radius:44% 56% 57% 43% / 55% 43% 57% 45%;
    transform:rotate(-4deg);
    box-shadow:0 14px 36px rgba(85,57,64,.10);
}

.academy-practice__ring{
    position:absolute;
    z-index:1;
    display:block;
    border:1px solid rgba(200,111,130,.28);
    border-radius:50%;
    pointer-events:none;
}

.academy-practice__ring--one{
    width:95px;
    height:95px;
    right:7%;
    top:7px;
    animation:academyPracticeFloat 6s ease-in-out infinite;
}

.academy-practice__ring--two{
    width:42px;
    height:42px;
    left:2%;
    bottom:170px;
    background:rgba(251,239,237,.58);
    animation:academyPracticeFloat 5s 1s ease-in-out infinite reverse;
}

[data-practice-reveal]{
    opacity:1;
    --pmf-reveal-from:translateY(22px);transform:none;
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22,1,.36,1);
}

[data-practice-reveal].is-visible{
    opacity:1;
    transform:none;
}

@media(hover:hover) and (pointer:fine){
    .academy-practice__item:hover .academy-practice__item-visual{
        transform:rotate(5deg) scale(1.07);
        border-radius:43% 57% 48% 52% / 58% 42% 56% 44%;
        background:#edb7bd;
    }

    .academy-practice__item:nth-child(2):hover .academy-practice__item-visual{
        transform:rotate(-5deg) scale(1.07);
        border-radius:58% 42% 54% 46% / 42% 57% 43% 58%;
    }

    .academy-practice__item:nth-child(3):hover .academy-practice__item-visual{
        transform:rotate(4deg) scale(1.07);
        border-radius:46% 54% 40% 60% / 59% 44% 56% 41%;
    }

    .academy-practice__item:nth-child(4):hover .academy-practice__item-visual{
        transform:rotate(-4deg) scale(1.07);
        border-radius:57% 43% 55% 45% / 45% 58% 42% 55%;
    }

    .academy-practice__item:nth-child(5):hover .academy-practice__item-visual{
        transform:rotate(5deg) scale(1.07);
        border-radius:42% 58% 50% 50% / 57% 43% 59% 41%;
    }

    .academy-practice__item:hover .academy-practice__item-visual img{
        filter:brightness(0) contrast(1.35);
        transform:scale(1.1);
    }
}

@media(max-width:1050px){
    .academy-practice__container{
        grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);
        gap:45px;
    }

    .academy-practice__gallery{
        --academy-gallery-bg-y:105px;
        min-height:600px;
    }

    .academy-practice__photo--main{
        height:520px;
    }

    .academy-practice__photo--top{
        height:185px;
    }

    .academy-practice__photo--bottom{
        height:200px;
    }
}

@media(max-width:900px){
    .academy-practice{
        padding-top:125px;
    }

    .academy-practice__container{
        grid-template-columns:1fr;
        gap:55px;
    }

    .academy-practice__content{
        max-width:780px;
    }

    .academy-practice__gallery{
        --academy-gallery-bg-y:110px;
        width:min(100%,650px);
        min-height:650px;
        margin-inline:auto;
    }
}

@media(max-width:700px){
    .academy-practice{
        padding:105px 0 78px;
    }

    .academy-practice__wave{
        height:64px;
    }

    .academy-practice__content h2{
        font-size:clamp(35px,9.3vw,48px);
    }

    .academy-practice__intro{
        font-size:14px;
    }

    .academy-practice__list{
        margin-top:26px;
        gap:9px;
    }

    .academy-practice__item{
        grid-template-columns:66px minmax(0,1fr);
        gap:14px;
        min-height:96px;
        padding:12px 13px 12px 10px;
        border-radius:18px;
    }

    .academy-practice__item-visual{
        width:62px;
        height:62px;
    }

    .academy-practice__item-visual img{
        width:52px;
        height:52px;
    }

    .academy-practice__item-copy strong{
        font-size:18px;
    }

    .academy-practice__item-copy p{
        font-size:13px;
        line-height:1.58;
    }

    .academy-practice__gallery::before{
        display:none;
    }

    .academy-practice__gallery{
        --academy-gallery-bg-y:85px;
        min-height:500px;
    }

    .academy-practice__photo--main{
        left:4%;
        width:69%;
        height:440px;
    }

    .academy-practice__photo--top{
        width:33%;
        height:145px;
        border-width:5px;
    }

    .academy-practice__photo--bottom{
        width:37%;
        height:160px;
        bottom:25px;
        border-width:5px;
    }
}

@media(max-width:430px){
    .academy-practice__item{
        grid-template-columns:58px minmax(0,1fr);
        gap:11px;
    }

    .academy-practice__item-visual{
        width:55px;
        height:55px;
    }

    .academy-practice__item-visual img{
        width:47px;
        height:47px;
    }

    .academy-practice__item-copy strong{
        font-size:17px;
    }

    .academy-practice__item-copy p{
        font-size:12.5px;
    }

    .academy-practice__gallery{
        --academy-gallery-bg-y:75px;
        min-height:445px;
    }

    .academy-practice__photo--main{
        width:72%;
        height:390px;
    }

    .academy-practice__photo--top{
        width:34%;
        height:130px;
    }

    .academy-practice__photo--bottom{
        width:39%;
        height:145px;
    }
}

@media(prefers-reduced-motion:reduce){
    [data-practice-reveal],
    .academy-practice__item{
        opacity:1;
        transform:none;
        transition:none;
    }

    .academy-practice__ring{
        animation:none;
    }

    .academy-practice__item-visual,
    .academy-practice__item-visual img{
        transition:none;
    }
}

@keyframes academyPracticeFloat{
    0%,100%{
        transform:translateY(0) rotate(0);
    }

    50%{
        transform:translateY(-8px) rotate(7deg);
    }
}
