.academy-faq{
    position:relative;
    overflow:hidden;
    padding:165px 0 140px;
    background:#FDF3F2;
    isolation:isolate;
}

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

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

.academy-faq__wave path{
    fill:#fffdfb;
}

.academy-faq__ambient{
    position:absolute;
    z-index:0;
    pointer-events:none;
}

.academy-faq__ambient--one{
    width:440px;
    height:440px;
    top:180px;
    left:-250px;
    border:1px solid rgba(200,111,130,.16);
    border-radius:53% 47% 58% 42% / 45% 57% 43% 55%;
    transform:rotate(15deg);
}

.academy-faq__ambient--two{
    width:215px;
    height:215px;
    top:255px;
    right:-85px;
    background:rgba(246,221,223,.72);
    border-radius:43% 57% 47% 53% / 55% 42% 58% 45%;
    transform:rotate(-17deg);
}

.academy-faq__ambient--three{
    width:110px;
    height:110px;
    bottom:70px;
    left:7%;
    border:1px solid rgba(200,111,130,.14);
    border-radius:50%;
}

.academy-faq__container{
    position:relative;
    z-index:2;
}

.academy-faq__intro{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(340px,.72fr);
    align-items:end;
    gap:clamp(55px,7vw,120px);
    margin-bottom:64px;
}

.academy-faq__intro-left{
    max-width:760px;
}

.academy-faq__script{
    display:block;
    margin-bottom:13px;
    color:#c88796;
    font-family:var(--script);
    font-size:clamp(30px,2.6vw,40px);
    line-height:1;
}

.academy-faq__intro h2{
    max-width:740px;
    margin:0;
    color:#4d4346;
    font-family:var(--serif);
    font-size:clamp(46px,4.5vw,68px);
    line-height:.94;
    letter-spacing:-.04em;
    font-weight:500;
}

.academy-faq__intro h2 span{
    display:block;
    margin-top:8px;
    color:#c86f82;
    font-family:var(--script);
    font-size:1.02em;
    line-height:.88;
    font-weight:400;
    letter-spacing:0;
}

.academy-faq__intro-right{
    max-width:510px;
    padding-bottom:6px;
}

.academy-faq__intro-right p{
    margin:0;
    color:#67585c;
    font-size:16px;
    line-height:1.75;
}

.academy-faq__workspace{
    position:relative;
    width:100%;
    display:grid;
    grid-template-columns:minmax(315px,.76fr) minmax(0,2.24fr);
    gap:18px;
    align-items:stretch;
}

.academy-faq__questions{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:19px;
    background:#f3d7da;
    border-radius:48px 5px 48px 5px;
    isolation:isolate;
}

.academy-faq__questions::before{
    content:"";
    position:absolute;
    z-index:0;
    width:250px;
    height:250px;
    top:-155px;
    right:-125px;
    border:1px solid rgba(200,111,130,.18);
    border-radius:50%;
}

.academy-faq__questions-shape{
    position:absolute;
    z-index:0;
    display:block;
    pointer-events:none;
}

.academy-faq__questions-shape--one{
    width:115px;
    height:115px;
    left:-55px;
    bottom:55px;
    border:1px solid rgba(200,111,130,.17);
    border-radius:50%;
}

.academy-faq__questions-shape--two{
    width:22px;
    height:22px;
    right:26px;
    bottom:30px;
    border-radius:50%;
    background:rgba(200,111,130,.16);
}

.academy-faq__question{
    position:relative;
    z-index:2;
    width:100%;
    flex:1 1 0;
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:17px 16px 17px 19px;
    border:0;
    border-radius:29px 4px 29px 4px;
    background:transparent;
    color:#66565b;
    text-align:left;
    cursor:pointer;
    transition:
        transform .35s cubic-bezier(.22,1,.36,1),
        background-color .3s ease,
        color .3s ease,
        padding .35s cubic-bezier(.22,1,.36,1);
}

.academy-faq__question>span:first-child{
    max-width:245px;
    font-family:var(--serif);
    font-size:19px;
    line-height:1.13;
    font-weight:600;
    letter-spacing:-.015em;
}

.academy-faq__question-arrow{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border:1px solid rgba(185,96,116,.23);
    border-radius:50%;
    transition:
        background-color .3s ease,
        border-color .3s ease,
        transform .35s cubic-bezier(.22,1,.36,1);
}

.academy-faq__question-arrow svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:#b96074;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.55;
    transition:
        opacity .3s ease,
        stroke .3s ease,
        transform .35s cubic-bezier(.22,1,.36,1);
}

.academy-faq__question.is-active{
    padding-left:23px;
    background:#fffdfb;
    color:#4d4346;
}

.academy-faq__question.is-active .academy-faq__question-arrow{
    background:#c86f82;
    border-color:#c86f82;
}

.academy-faq__question.is-active .academy-faq__question-arrow svg{
    stroke:#fff;
    opacity:1;
}

.academy-faq__details{
    position:relative;
    min-width:0;
    display:grid;
    overflow:hidden;
    border-radius:5px 48px 5px 48px;
    background:#fffdfb;
}

.academy-faq__details::before{
    content:"";
    position:absolute;
    z-index:0;
    top:-145px;
    right:-90px;
    width:300px;
    height:300px;
    border:1px solid rgba(200,111,130,.12);
    border-radius:50%;
    pointer-events:none;
}

.academy-faq__details::after{
    content:"";
    position:absolute;
    z-index:0;
    width:130px;
    height:130px;
    right:55px;
    bottom:-85px;
    border-radius:50%;
    background:rgba(246,221,223,.38);
    pointer-events:none;
}

.academy-faq__panel{
    position:relative;
    z-index:2;
    grid-area:1 / 1;
    width:100%;
    padding:55px clamp(48px,5vw,82px) 58px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(16px);
    transition:
        opacity .3s ease,
        transform .48s cubic-bezier(.22,1,.36,1),
        visibility .3s ease;
}

.academy-faq__panel.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
}

.academy-faq__panel-inner{
    position:relative;
    width:min(100%,900px);
}

.academy-faq__panel h3{
    max-width:800px;
    margin:0;
    color:#4d4346;
    font-family:var(--serif);
    font-size:clamp(35px,3vw,47px);
    line-height:1;
    letter-spacing:-.03em;
    font-weight:600;
}

.academy-faq__panel-inner>p{
    max-width:820px;
    margin:24px 0 0;
    color:#6f6065;
    font-size:16px;
    line-height:1.76;
}

.academy-faq__panel p strong{
    color:#574349;
    font-weight:700;
}

.academy-faq__info{
    display:grid;
    gap:0;
    margin-top:31px;
    border-top:1px solid rgba(108,69,79,.13);
    border-bottom:1px solid rgba(108,69,79,.13);
}

.academy-faq__info>div{
    position:relative;
    display:grid;
    grid-template-columns:minmax(205px,.62fr) minmax(0,1.38fr);
    gap:42px;
    align-items:start;
    padding:21px 0 21px 18px;
    border-bottom:1px solid rgba(108,69,79,.09);
}

.academy-faq__info>div::before{
    content:"";
    position:absolute;
    top:27px;
    left:0;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#d98c97;
}

.academy-faq__info>div:last-child{
    border-bottom:0;
}

.academy-faq__info strong{
    color:#b96074;
    font-family:var(--serif);
    font-size:19px;
    line-height:1.2;
    font-weight:600;
}

.academy-faq__info p{
    margin:0;
    color:#6f6065;
    font-size:15px;
    line-height:1.7;
}

.academy-faq__price{
    position:relative;
    display:flex;
    align-items:baseline;
    gap:17px;
    margin-top:32px;
    padding:30px 0 32px 18px;
    border-top:1px solid rgba(108,69,79,.13);
    border-bottom:1px solid rgba(108,69,79,.13);
}

.academy-faq__price::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#d98c97;
    transform:translateY(-50%);
}

.academy-faq__price strong{
    color:#c86f82;
    font-family:var(--script);
    font-size:clamp(53px,4.5vw,70px);
    line-height:.82;
    font-weight:400;
}

.academy-faq__price span{
    color:#6f6065;
    font-family:var(--serif);
    font-size:19px;
    line-height:1.2;
}


.academy-faq__cta{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    margin-top:30px;
    padding:14px 23px;
    border-radius:999px;
    background:#c86f82;
    color:#fff;
    font-family:var(--sans);
    font-size:14px;
    line-height:1;
    font-weight:700;
    letter-spacing:0;
    text-decoration:none;
    transition:
        transform .35s cubic-bezier(.22,1,.36,1),
        background-color .3s ease;
}

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

.academy-faq__intro-left[data-academy-faq-reveal]{
    opacity:1;
    --pmf-reveal-from:translateX(-55px);transform:none;
}

.academy-faq__intro-right[data-academy-faq-reveal]{
    opacity:1;
    --pmf-reveal-from:translateX(55px);transform:none;
}

.academy-faq__workspace[data-academy-faq-reveal]{
    opacity:1;
    --pmf-reveal-from:translateY(28px);transform:none;
}

[data-academy-faq-reveal]{
    transition:
        opacity .8s ease,
        transform .9s cubic-bezier(.22,1,.36,1);
}

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

@media(hover:hover) and (pointer:fine){
    .academy-faq__question:not(.is-active):hover{
        transform:translateX(5px);
        background:rgba(255,253,251,.45);
        color:#4d4346;
    }

    .academy-faq__question:not(.is-active):hover .academy-faq__question-arrow{
        border-color:rgba(185,96,116,.5);
    }

    .academy-faq__question:not(.is-active):hover .academy-faq__question-arrow svg{
        opacity:1;
        transform:translateX(2px);
    }

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

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

@media(max-width:1100px){
    .academy-faq__intro{
        grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);
        gap:50px;
    }

    .academy-faq__workspace{
        grid-template-columns:280px minmax(0,1fr);
        gap:14px;
    }

    .academy-faq__questions{
        padding:16px;
    }

    .academy-faq__question{
        min-height:73px;
        padding-inline:15px;
    }

    .academy-faq__question.is-active{
        padding-left:19px;
    }

    .academy-faq__question>span:first-child{
        font-size:17px;
    }

    .academy-faq__question-arrow{
        width:31px;
        height:31px;
        flex-basis:31px;
    }

    .academy-faq__panel{
        padding:48px 40px 50px;
    }

    .academy-faq__info>div{
        grid-template-columns:minmax(175px,.62fr) minmax(0,1.38fr);
        gap:30px;
    }
}

@media(max-width:820px){
    .academy-faq{
        padding:125px 0 90px;
    }

    .academy-faq__intro{
        display:block;
        margin-bottom:46px;
        text-align:center;
    }

    .academy-faq__intro-left{
        width:100%;
        max-width:680px;
        margin-inline:auto;
    }

    .academy-faq__script{
        text-align:center;
    }

    .academy-faq__intro h2{
        margin-inline:auto;
        text-align:center;
    }

    .academy-faq__intro-right{
        width:100%;
        max-width:590px;
        margin:28px auto 0;
        padding:0;
    }

    .academy-faq__intro-right p{
        max-width:560px;
        margin:0 auto;
        font-size:15px;
        text-align:center;
    }

    .academy-faq__workspace{
        display:block;
    }

    .academy-faq__questions{
        display:flex;
        flex-direction:column;
        gap:8px;
        padding:0;
        overflow:visible;
        border-radius:0;
        background:transparent;
    }

    .academy-faq__questions::before,
    .academy-faq__questions-shape{
        display:none;
    }

    .academy-faq__question{
        flex:none;
        min-height:68px;
        padding:16px 17px 16px 19px;
        border-radius:30px 4px 30px 4px;
        background:rgba(255,253,251,.72);
    }

    .academy-faq__question.is-active{
        padding-left:20px;
        border-radius:32px 4px 0 0;
        background:#fffdfb;
    }

    .academy-faq__question>span:first-child{
        max-width:none;
        font-size:18px;
    }

    .academy-faq__question-arrow{
        width:32px;
        height:32px;
        flex-basis:32px;
    }

    .academy-faq__question.is-active .academy-faq__question-arrow{
        transform:rotate(90deg);
    }

    .academy-faq__details{
        display:none;
        border-radius:0;
        background:transparent;
    }

    .academy-faq__panel{
        display:none;
        position:relative;
        grid-area:auto;
        width:100%;
        margin-top:-8px;
        padding:33px 26px 36px;
        border-radius:0 0 32px 4px;
        background:#fffdfb;
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:none;
        transition:none;
    }

    .academy-faq__panel.is-active{
        display:block;
    }

    .academy-faq__questions>.academy-faq__panel{
        display:none;
    }

    .academy-faq__questions>.academy-faq__panel.is-active{
        display:block;
    }

    .academy-faq__panel h3{
        font-size:32px;
    }

    .academy-faq__panel-inner>p{
        margin-top:21px;
        font-size:15px;
        line-height:1.72;
    }

    .academy-faq__info{
        margin-top:25px;
    }

    .academy-faq__info>div{
        grid-template-columns:1fr;
        gap:8px;
        padding:18px 0 18px 16px;
    }

    .academy-faq__info>div::before{
        top:25px;
    }

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

    .academy-faq__info p{
        font-size:14px;
        line-height:1.68;
    }

    .academy-faq__price{
        flex-direction:column;
        align-items:flex-start;
        gap:9px;
    }

    .academy-faq__price span{
        font-size:17px;
    }

    .academy-faq__intro-left[data-academy-faq-reveal],
    .academy-faq__intro-right[data-academy-faq-reveal]{
        transform:translateY(18px);
    }

    .academy-faq__intro-left[data-academy-faq-reveal].is-visible,
    .academy-faq__intro-right[data-academy-faq-reveal].is-visible{
        transform:none;
    }
}

@media(max-width:700px){
    .academy-faq{
        padding:112px 0 84px;
    }

    .academy-faq__wave{
        height:65px;
    }

    .academy-faq__ambient--one{
        width:280px;
        height:280px;
        left:-190px;
    }

    .academy-faq__ambient--two{
        width:135px;
        height:135px;
        top:210px;
        right:-75px;
    }

    .academy-faq__script{
        margin-bottom:10px;
        font-size:clamp(27px,7.5vw,30px);
        line-height:1.05;
    }

    .academy-faq__intro h2{
        max-width:100%;
        font-size:clamp(36px,9.4vw,44px);
        line-height:1.04;
        letter-spacing:-.035em;
    }

    .academy-faq__intro h2 span{
        margin-top:5px;
        font-size:.98em;
        line-height:1.02;
    }

    .academy-faq__intro-right{
        margin-top:25px;
    }

    .academy-faq__intro-right p{
        font-size:14px;
        line-height:1.7;
    }

    .academy-faq__cta{
        min-height:49px;
        padding:13px 19px;
        font-size:13px;
    }
}

@media(max-width:430px){
    .academy-faq__intro{
        margin-bottom:36px;
    }

    .academy-faq__script{
        margin-bottom:9px;
        font-size:clamp(25px,7.3vw,28px);
    }

    .academy-faq__intro h2{
        font-size:clamp(34px,9.6vw,40px);
        line-height:1.06;
        letter-spacing:-.03em;
    }

    .academy-faq__intro h2 span{
        margin-top:4px;
        line-height:1.04;
    }

    .academy-faq__question{
        min-height:62px;
        padding:14px 14px 14px 16px;
    }

    .academy-faq__question.is-active{
        padding-left:17px;
    }

    .academy-faq__question>span:first-child{
        font-size:17px;
    }

    .academy-faq__question-arrow{
        width:29px;
        height:29px;
        flex-basis:29px;
    }

    .academy-faq__question-arrow svg{
        width:14px;
        height:14px;
    }

    .academy-faq__panel{
        padding:28px 18px 31px;
    }

    .academy-faq__panel h3{
        font-size:29px;
    }

    .academy-faq__panel-inner>p{
        font-size:14.5px;
    }

    .academy-faq__info p{
        font-size:13.5px;
    }
}

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

    .academy-faq__question,
    .academy-faq__question-arrow,
    .academy-faq__question-arrow svg,
    .academy-faq__panel,
    .academy-faq__cta,
    .academy-faq__cta svg{
        transition:none;
    }
}

.academy-inquiry{
    box-sizing:border-box;
    width:min(560px,calc(100% - 32px));
    max-height:calc(100% - 32px);
    padding:36px;
    color:#4d3d42;
    background:#fffaf7;
    border:1px solid #edb7bd;
    border-radius:28px;
}
.academy-inquiry::backdrop{background:rgba(41,25,31,.65);}
.academy-inquiry h2{margin:0 32px 16px 0;font:500 36px/1.1 var(--serif);}
.academy-inquiry p{font:14px/1.65 var(--sans);}
.academy-inquiry__close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:#6b2437;font-size:34px;cursor:pointer;}
.academy-inquiry form{display:grid;gap:16px;}
.academy-inquiry label{display:grid;gap:7px;font:500 13px/1.5 var(--sans);}
.academy-inquiry input:not([type=checkbox]),.academy-inquiry select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #c99ba5;border-radius:10px;background:white;color:#4d3d42;font:16px/1.3 var(--sans);}
.academy-inquiry .academy-inquiry__consent{grid-template-columns:20px 1fr;align-items:start;}
.academy-inquiry__consent input{margin-top:4px;accent-color:#a34f69;}
.academy-inquiry .academy-faq__cta{border:0;cursor:pointer;justify-content:center;margin:0;}
.academy-inquiry [role=status]:empty{display:none;}
@media(max-width:480px){.academy-inquiry{padding:26px 20px;}.academy-inquiry h2{font-size:30px;}}
