.academy-hero{
    position:relative;
    width:100%;
    min-height:100svh;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding:clamp(125px,14vh,160px) 0 clamp(120px,14vh,150px);
    background:#FDF3F2;
    color:#4d3d42;
}

.academy-hero__atmosphere{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
}

.academy-hero__contours{
    position:absolute;
    top:-2%;
    left:-2%;
    width:104%;
    height:104%;
    overflow:visible;
}

.academy-hero__contour{
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}

.academy-hero__contour--top{
    stroke:rgba(217,140,151,.30);
    stroke-width:.85;
}

.academy-hero__contour--top-soft{
    stroke:rgba(217,140,151,.17);
    stroke-width:.65;
}

.academy-hero__contour--bottom{
    stroke:rgba(217,140,151,.27);
    stroke-width:.8;
}

.academy-hero__contour--bottom-soft{
    stroke:rgba(217,140,151,.15);
    stroke-width:.65;
}

.academy-hero__container{
    position:relative;
    z-index:2;
    width:min(calc(100% - 9vw),1480px);
    margin:0 auto;
}

.academy-hero__layout{
    min-height:calc(100svh - clamp(245px,28vh,310px));
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(470px,.95fr);
    gap:clamp(60px,7vw,120px);
    align-items:center;
}

.academy-hero__content{
    width:100%;
    max-width:720px;
}

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

.academy-hero__content h1{
    max-width:650px;
    margin:0;
    color:#4d3d42;
    font-family:var(--serif);
    font-size:clamp(40px,3.5vw,56px);
    line-height:.98;
    letter-spacing:-.035em;
    font-weight:500;
}

.academy-hero__content h1 em{
    display:block;
    max-width:610px;
    margin-top:9px;
    color:#d98c97;
    font-family:var(--script);
    font-size:.82em;
    line-height:1.04;
    font-style:normal;
    font-weight:400;
    letter-spacing:0;
}

.academy-hero__description{
    max-width:640px;
    margin:28px 0 0;
    color:#4d4145;
    font-size:16px;
    line-height:1.72;
    font-weight:500;
    letter-spacing:-.005em;
}

.academy-hero__facts{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-top:34px;
}

.academy-hero__fact{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:122px;
    flex:0 0 122px;
}

.academy-hero__fact-icon{
    position:relative;
    width:82px;
    height:73px;
    display:grid;
    place-items:center;
    border-radius:52% 48% 57% 43% / 44% 58% 42% 56%;
    background:#f6dddf;
    transition:
        transform .4s cubic-bezier(.22,1,.36,1),
        border-radius .4s cubic-bezier(.22,1,.36,1),
        background-color .35s ease;
}

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

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

.academy-hero__fact:nth-child(4) .academy-hero__fact-icon{
    border-radius:47% 53% 58% 42% / 55% 43% 57% 45%;
}

.academy-hero__fact-icon::before{
    content:"";
    position:absolute;
    width:82%;
    height:82%;
    border:1px solid rgba(200,111,130,.17);
    border-radius:inherit;
    pointer-events:none;
}

.academy-hero__fact-icon svg{
    position:relative;
    z-index:2;
    width:41px;
    height:41px;
    fill:none;
    stroke:#4d3d42;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:
        stroke .35s ease,
        transform .4s cubic-bezier(.22,1,.36,1);
}

.academy-hero__fact-copy{
    width:100%;
    margin-top:11px;
    text-align:center;
}

.academy-hero__fact-copy strong{
    display:block;
    color:#c86f82;
    font-family:var(--script);
    font-size:40px;
    line-height:.85;
    font-weight:500;
    letter-spacing:-.03em;
}

.academy-hero__fact-copy span{
    display:block;
    margin-top:8px;
    color:#4d3d42;
    font-family:var(--serif);
    font-size:15px;
    line-height:1.08;
    font-weight:600;
    letter-spacing:-.015em;
}

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

.academy-hero__visual{
    position:relative;
    width:100%;
    min-height:clamp(570px,68vh,710px);
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:end;
}

.academy-hero__visual-shape{
    position:absolute;
    z-index:0;
    top:50%;
    left:50%;
    width:min(90%,620px);
    aspect-ratio:1 / 1;
    background:#e7c6c4;
    opacity:.62;
    border-radius:53% 47% 49% 51% / 44% 53% 47% 56%;
    transform:translate(-50%,-50%) rotate(-5deg);
}

.academy-hero__visual-ring{
    position:absolute;
    z-index:0;
    top:50%;
    left:50%;
    width:min(94%,650px);
    aspect-ratio:1 / 1;
    border:1px solid rgba(180,104,121,.17);
    border-radius:52% 48% 47% 53% / 50% 45% 55% 50%;
    transform:translate(-50%,-50%) rotate(7deg);
}

.academy-hero__image-wrap{
    position:relative;
    z-index:2;
    width:min(100%,760px);
    height:680px;
}

.academy-hero__image{
    position:absolute;
    display:block;
    height:auto;
    object-fit:contain;
    object-position:center bottom;
}

.academy-hero__image--main{
    z-index:4;
    left:50%;
    bottom:0;
    width:78%;
    max-height:680px;
    transform:translateX(-50%) scale(.8);
}


.academy-hero__start-badge{
    position:absolute;
    z-index:7;
    top:8%;
    right:0;
    width:178px;
    height:150px;
    display:grid;
    place-items:center;
    border:1px solid rgba(200,111,130,.22);
    border-radius:54% 46% 58% 42% / 44% 57% 43% 56%;
    background:rgba(255,255,255,.94);
    transform:rotate(4deg);
}

.academy-hero__start-badge::before{
    content:"";
    position:absolute;
    inset:8px;
    border:1px solid rgba(217,140,151,.12);
    border-radius:52% 48% 43% 57% / 57% 44% 56% 43%;
}

.academy-hero__start-badge-inner{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    transform:rotate(-4deg);
}

.academy-hero__start-badge span{
    color:#a56e7a;
    font-family:var(--small);
    font-size:10px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.academy-hero__start-badge strong{
    display:block;
    margin-top:9px;
    color:#4d3d42;
    font-family:var(--serif);
    font-size:22px;
    line-height:1.12;
    max-width:140px;
    font-weight:600;
    letter-spacing:-.025em;
}

.academy-hero__wave{
    position:absolute;
    z-index:3;
    left:0;
    right:0;
    bottom:-1px;
    height:clamp(82px,12vh,132px);
    pointer-events:none;
}

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

.academy-hero__wave-shape{
    fill:#ffffff;
}

.academy-hero__wave-line{
    fill:none;
    stroke:rgba(217,140,151,.23);
    stroke-width:1.3;
}

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

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

@media(hover:hover) and (pointer:fine){
    .academy-hero__cta:hover{
        background:#b96074;
        transform:translateY(-2px);
    }

    .academy-hero__fact:hover .academy-hero__fact-icon{
        transform:rotate(5deg) scale(1.06);
        border-radius:44% 56% 47% 53% / 57% 43% 56% 44%;
        background:#edb7bd;
    }

    .academy-hero__fact:hover .academy-hero__fact-icon svg{
        stroke:#fff;
        transform:rotate(-5deg);
    }
}

@media(max-width:1180px){
    .academy-hero__contours{
        left:-10%;
        width:120%;
    }

    .academy-hero__layout{
        grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);
        gap:45px;
    }

    .academy-hero__facts{
        gap:11px;
    }

    .academy-hero__fact{
        width:112px;
        flex-basis:112px;
    }

    .academy-hero__fact-icon{
        width:74px;
        height:66px;
    }

    .academy-hero__fact-icon svg{
        width:37px;
        height:37px;
    }

    .academy-hero__fact-copy strong{
        font-size:37px;
    }

    .academy-hero__fact-copy span{
        font-size:14px;
    }

    .academy-hero__image-wrap{
        height:620px;
    }

    .academy-hero__image--main{
        width:80%;
    }

    .academy-hero__start-badge{
        top:9%;
        right:-2%;
        width:160px;
        height:136px;
    }

    .academy-hero__start-badge strong{
        font-size:20px;
    }

}

@media(max-width:980px){
    .academy-hero{
        min-height:auto;
        padding:115px 0 125px;
    }

    .academy-hero__contours{
        top:0;
        left:-15%;
        width:130%;
    }

    .academy-hero__layout{
        min-height:auto;
        grid-template-columns:1fr;
        gap:55px;
    }

    .academy-hero__content{
        max-width:720px;
    }

    .academy-hero__facts{
        gap:22px;
    }

    .academy-hero__fact{
        width:125px;
        flex-basis:125px;
    }

    .academy-hero__fact-icon{
        width:82px;
        height:73px;
    }

    .academy-hero__fact-icon svg{
        width:41px;
        height:41px;
    }

    .academy-hero__visual{
        width:min(100%,760px);
        min-height:650px;
        justify-self:center;
    }

    .academy-hero__visual-shape{
        width:min(83%,590px);
    }

    .academy-hero__visual-ring{
        width:min(87%,620px);
    }

    .academy-hero__image-wrap{
        width:100%;
        height:650px;
    }

    .academy-hero__image--main{
        width:76%;
    }



    .academy-hero__start-badge{
        top:7%;
        right:3%;
    }
}

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

    .academy-hero__container{
        width:min(calc(100% - 30px),100%);
    }

    .academy-hero__contours{
        left:-45%;
        width:190%;
        opacity:.8;
    }

    .academy-hero__eyebrow{
        margin-bottom:14px;
        font-size:9px;
    }

    .academy-hero__content h1{
        font-size:clamp(34px,9vw,42px);
        line-height:1;
    }

    .academy-hero__content h1 em{
        font-size:.84em;
        line-height:1.06;
    }

    .academy-hero__description{
        max-width:100%;
        margin-top:23px;
        color:#4d4145;
        font-size:14.5px;
        line-height:1.7;
        font-weight:500;
    }

    .academy-hero__facts{
        width:100%;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:12px 6px;
        margin-top:29px;
    }

    .academy-hero__fact{
        width:auto;
        min-width:0;
        flex-basis:auto;
    }

    .academy-hero__fact-icon{
        width:64px;
        height:57px;
    }

    .academy-hero__fact-icon svg{
        width:33px;
        height:33px;
    }

    .academy-hero__fact-copy{
        margin-top:9px;
    }

    .academy-hero__fact-copy strong{
        font-size:31px;
    }

    .academy-hero__fact-copy span{
        margin-top:6px;
        font-size:14px;
        line-height:1.12;
    }

    .academy-hero__cta{
        min-height:51px;
        margin-top:30px;
        padding:14px 23px;
        font-size:13px;
        font-weight:700;
    }

    .academy-hero__layout{
        gap:30px;
    }

    .academy-hero__visual{
        min-height:500px;
    }

    .academy-hero__visual-shape{
        width:91%;
    }

    .academy-hero__visual-ring{
        width:96%;
    }

    .academy-hero__image-wrap{
        width:calc(100% + 25px);
        height:500px;
        margin-left:-12.5px;
    }

    .academy-hero__image--main{
        width:78%;
    }



    .academy-hero__start-badge{
        top:4%;
        right:-1%;
        width:138px;
        height:116px;
    }

    .academy-hero__start-badge::before{
        inset:6px;
    }

    .academy-hero__start-badge span{
        font-size:6.5px;
    }

    .academy-hero__start-badge strong{
        margin-top:7px;
        font-size:17px;
    }

.academy-hero__wave{
        height:84px;
    }
}

@media(max-width:440px){
    .academy-hero__facts{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:10px 4px;
    }

    .academy-hero__fact-icon{
        width:58px;
        height:52px;
    }

    .academy-hero__fact-icon svg{
        width:29px;
        height:29px;
    }

    .academy-hero__fact-copy strong{
        font-size:29px;
    }

    .academy-hero__fact-copy span{
        font-size:13.5px;
        line-height:1.12;
    }

    .academy-hero__visual{
        min-height:430px;
    }

    .academy-hero__image-wrap{
        height:430px;
    }

    .academy-hero__image--main{
        width:80%;
    }

    .academy-hero__start-badge{
        top:5%;
        right:-3%;
        width:124px;
        height:106px;
    }

    .academy-hero__start-badge strong{
        font-size:15px;
    }

}

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

    .academy-hero__cta,
    .academy-hero__fact-icon,
    .academy-hero__fact-icon svg{
        transition:none;
    }
}

.academy-hero__logos{
    position:absolute;
    z-index:5;
    inset:0;
    pointer-events:none;
}
.academy-hero__logo{
    position:absolute;
    width:18%;
    height:80px;
    object-fit:contain;
}
.academy-hero__logo--1{left:13%;top:21%;}
.academy-hero__logo--2{left:2%;top:43%;}
.academy-hero__logo--3{left:4%;top:65%;}
.academy-hero__logo--4{right:1%;top:34%;}
.academy-hero__logo--5{right:0;top:55%;}
.academy-hero__logo--6{left:61%;top:5%;transform:translateX(-50%);}
@media(max-width:700px){
    .academy-hero__logo{width:20%;height:58px;}
    .academy-hero__logo--6{top:-10px;}
    .academy-hero__start-badge{right:0;}
    .academy-hero__start-badge span{font-size:8px;letter-spacing:.06em;}
    .academy-hero__start-badge strong{max-width:100px;line-height:1.12;}
}
