.academy-certificate{
    position:relative;
    padding:130px 0 140px;
    overflow:hidden;
    background:#fffdfb;
    isolation:isolate;
}

.academy-certificate__layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(390px,.78fr) minmax(560px,1.22fr);
    gap:clamp(60px,7vw,115px);
    align-items:center;
}

.academy-certificate__copy{
    position:relative;
    z-index:3;
    max-width:650px;
}

.academy-certificate__kicker{
    display:block;
    margin:0 0 17px;
    color:#b56879;
    font-family:var(--small);
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.academy-certificate__copy h2{
    margin:0;
    color:#4d3d42;
    font-family:var(--serif);
    font-size:clamp(46px,4.1vw,64px);
    line-height:.95;
    letter-spacing:-.04em;
    font-weight:500;
}

.academy-certificate__copy h2>span{
    display:block;
    white-space:nowrap;
}

.academy-certificate__copy h2 em{
    display:block;
    margin-top:8px;
    color:#d98c97;
    font-family:var(--script);
    font-size:1.05em;
    line-height:.92;
    font-style:normal;
    font-weight:400;
    letter-spacing:0;
}

.academy-certificate__copy p{
    max-width:535px;
    margin:25px 0 0;
    color:#806d72;
    font-size:14px;
    line-height:1.85;
}

.academy-certificate__copy p+p{
    margin-top:12px;
}

.academy-certificate__price{
    display:flex;
    align-items:baseline;
    gap:12px;
    margin-top:29px;
}

.academy-certificate__price span{
    color:#806d72;
    font-family:var(--serif);
    font-size:18px;
    line-height:1.2;
    font-weight:500;
}

.academy-certificate__price strong{
    color:#c86f82;
    font-family:var(--script);
    font-size:36px;
    line-height:1;
    font-weight:400;
    white-space:nowrap;
}

.academy-certificate__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:22px;
    padding:15px 23px;
    border-radius:999px;
    color:#fff;
    background:#c86f82;
    font-size:11px;
    line-height:1;
    font-weight:700;
    text-decoration:none;
    transition:
        transform .35s cubic-bezier(.22,1,.36,1),
        background-color .3s ease;
}

.academy-certificate__cta:hover{
    transform:translateY(-3px);
    background:#b96074;
}

.academy-certificate__cta svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .35s cubic-bezier(.22,1,.36,1);
}

.academy-certificate__cta:hover svg{
    transform:translateX(4px);
}

.academy-certificate__visual{
    --backdrop-size:37%;
    --backdrop-position:31%;
    --backdrop-y:66%;

    position:relative;
    min-height:570px;
    display:flex;
    align-items:center;
    justify-content:center;
    perspective:1400px;
}

.academy-certificate__glow{
    position:absolute;
    z-index:0;
    width:540px;
    height:540px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(217,140,151,.18) 0%,
            rgba(217,140,151,.09) 37%,
            rgba(217,140,151,0) 71%
        );
    pointer-events:none;
}

.academy-certificate__backdrop{
    position:absolute;
    z-index:1;
    top:var(--backdrop-y);
    left:var(--backdrop-position);
    display:block;
    width:var(--backdrop-size);
    max-width:none;
    height:auto;
    transform:translateY(-50%);
    pointer-events:none;
    user-select:none;
}

.academy-certificate__image-wrap{
    --certificate-rx:0deg;
    --certificate-ry:0deg;
    --certificate-x:50%;
    --certificate-y:50%;

    position:relative;
    z-index:2;
    width:min(100%,720px);
    overflow:hidden;
    border-radius:9px;
    background:#fff;
    box-shadow:
        0 32px 75px rgba(91,56,65,.14),
        0 8px 24px rgba(91,56,65,.06);
    transform:
        perspective(1400px)
        rotateX(var(--certificate-rx))
        rotateY(var(--certificate-ry))
        translateY(0);
    transform-style:preserve-3d;
    will-change:transform;
    transition:
        transform .16s ease-out,
        box-shadow .35s ease;
}

.academy-certificate__image-wrap:hover{
    box-shadow:
        0 42px 90px rgba(91,56,65,.18),
        0 14px 34px rgba(91,56,65,.09);
}

.academy-certificate__image{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:auto;
    transform:translateZ(1px);
}

.academy-certificate__shine{
    position:absolute;
    z-index:2;
    inset:-1px;
    border-radius:inherit;
    background:
        radial-gradient(
            circle at var(--certificate-x) var(--certificate-y),
            rgba(255,255,255,.26) 0%,
            rgba(255,255,255,.12) 12%,
            rgba(255,255,255,0) 38%
        );
    opacity:0;
    pointer-events:none;
    transition:opacity .3s ease;
}

.academy-certificate__image-wrap:hover .academy-certificate__shine{
    opacity:1;
}

.academy-certificate__detail{
    position:absolute;
    z-index:1;
    display:block;
    border-radius:50%;
    pointer-events:none;
}

.academy-certificate__detail--one{
    width:95px;
    height:95px;
    right:1%;
    top:45px;
    border:1px solid rgba(200,111,130,.22);
}

.academy-certificate__detail--two{
    width:42px;
    height:42px;
    left:2%;
    bottom:65px;
    background:rgba(246,221,223,.7);
}

.academy-certificate__shape{
    position:absolute;
    z-index:0;
    border-radius:50%;
    pointer-events:none;
}

.academy-certificate__shape--one{
    width:420px;
    height:420px;
    top:-260px;
    left:-170px;
    border:1px solid rgba(217,140,151,.18);
}

.academy-certificate__shape--two{
    width:180px;
    height:180px;
    right:-60px;
    bottom:100px;
    background:rgba(246,221,223,.3);
}

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

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

@media(max-width:1100px){
    .academy-certificate__layout{
        grid-template-columns:minmax(350px,.8fr) minmax(500px,1.2fr);
        gap:50px;
    }

    .academy-certificate__copy h2{
        font-size:clamp(43px,4.3vw,58px);
    }

    .academy-certificate__visual{
        min-height:510px;
    }
}

@media(max-width:980px){
    .academy-certificate__layout{
        grid-template-columns:1fr;
        gap:55px;
    }

    .academy-certificate__copy{
        max-width:700px;
    }

    .academy-certificate__visual{
        width:min(100%,760px);
        min-height:auto;
        margin-inline:auto;
    }

    .academy-certificate__image-wrap{
        width:min(100%,720px);
    }
}

@media(max-width:700px){
    .academy-certificate{
        padding:82px 0 90px;
    }

    .academy-certificate__layout{
        gap:43px;
    }

    .academy-certificate__copy h2{
        font-size:clamp(39px,10.5vw,50px);
    }

    .academy-certificate__copy h2>span{
        white-space:normal;
    }

    .academy-certificate__copy p{
        font-size:13px;
        line-height:1.78;
    }

    .academy-certificate__price{
        gap:9px;
        margin-top:25px;
    }

    .academy-certificate__price span{
        font-size:16px;
    }

    .academy-certificate__price strong{
        font-size:32px;
    }

    .academy-certificate__cta{
        margin-top:20px;
        padding:14px 20px;
    }

    .academy-certificate__glow{
        width:360px;
        height:360px;
    }

    .academy-certificate__image-wrap{
        transform:none;
    }

    .academy-certificate__shine{
        display:none;
    }

    .academy-certificate__detail--one{
        width:65px;
        height:65px;
        top:-18px;
    }

    .academy-certificate__detail--two{
        left:-4px;
        bottom:-18px;
    }
}

@media(max-width:430px){
    .academy-certificate__copy h2{
        font-size:clamp(37px,10vw,45px);
    }

    .academy-certificate__price{
        flex-wrap:wrap;
    }

    .academy-certificate__price span{
        font-size:15px;
    }

    .academy-certificate__price strong{
        font-size:30px;
    }

    .academy-certificate__cta{
        width:100%;
    }
}

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

    .academy-certificate__cta,
    .academy-certificate__cta svg,
    .academy-certificate__image-wrap,
    .academy-certificate__shine{
        transition:none;
    }
}
