
/* ==================================================
   ESPRIQ ACADEMY PAGE
   ================================================== */

.academy-main{
    min-height:calc(100vh - 95px);
    color:#fff;
    background:
        radial-gradient(circle at 77% 16%,rgba(0,190,218,.10),transparent 27%),
        radial-gradient(circle at 17% 58%,rgba(239,189,66,.045),transparent 22%),
        #001823;
    overflow:hidden;
}

.academy-hero{
    position:relative;
    min-height:535px;
    padding:88px 7% 72px;
    display:grid;
    grid-template-columns:1fr .95fr;
    gap:70px;
    align-items:center;
    border-bottom:1px solid rgba(39,195,214,.12);
}

.academy-hero:before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.22;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(40,202,220,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(40,202,220,.045) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(to bottom,#000,transparent 92%);
}

.academy-copy{
    position:relative;
    z-index:2;
    text-align:right;
}

.academy-kicker{
    color:#efbd42;
    font-size:14px;
    font-weight:900;
    letter-spacing:2px;
    margin-bottom:18px;
}

.academy-title{
    margin:0 0 24px;
    font-size:clamp(54px,6vw,88px);
    line-height:.95;
    font-weight:900;
}

.academy-lead{
    margin:0;
    max-width:760px;
    font-size:19px;
    line-height:2;
    color:#bfd4de;
}

.academy-actions{
    margin-top:33px;
    display:flex;
    gap:14px;
    direction:rtl;
}

.academy-btn{
    min-height:52px;
    padding:0 27px;
    border-radius:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:15px;
    font-weight:850;
    transition:.2s ease;
}

.academy-btn.primary{
    background:#efbd42;
    color:#06151d;
    border:1px solid #efbd42;
}

.academy-btn.secondary{
    color:#fff;
    border:1px solid #0aa7bb;
    background:rgba(0,180,205,.035);
}

.academy-btn:hover{
    transform:translateY(-2px);
}

/* ---------- HERO VISUAL ---------- */

.academy-visual{
    min-height:390px;
    display:grid;
    place-items:center;
    position:relative;
    z-index:2;
}

.learning-map{
    position:relative;
    width:440px;
    height:400px;
    max-width:100%;
}

.learning-line{
    position:absolute;
    left:50%;
    top:36px;
    width:1px;
    height:315px;
    transform:translateX(-50%);
    background:
        linear-gradient(
            to bottom,
            rgba(53,219,235,.08),
            rgba(53,219,235,.55),
            rgba(239,189,66,.52),
            rgba(53,219,235,.12)
        );
}

.learning-line:before,
.learning-line:after{
    content:"";
    position:absolute;
    left:50%;
    width:165px;
    height:1px;
    transform:translateX(-50%);
    background:rgba(48,205,224,.20);
}

.learning-line:before{top:104px}
.learning-line:after{top:215px}

.learning-core{
    position:absolute;
    left:50%;
    top:50%;
    width:165px;
    height:165px;
    transform:translate(-50%,-50%);
    border-radius:28px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:
        linear-gradient(150deg,rgba(4,49,65,.97),rgba(1,27,39,.98));
    border:1px solid rgba(45,207,228,.36);
    box-shadow:
        0 25px 70px rgba(0,0,0,.30),
        0 0 45px rgba(39,208,228,.06);
    z-index:4;
}

.learning-core .academy-mark{
    font-size:40px;
    font-weight:900;
    color:#35dcea;
    line-height:1;
}

.learning-core strong{
    margin-top:10px;
    font-size:22px;
}

.learning-core small{
    margin-top:8px;
    color:#7fa5b3;
    font-size:10px;
    letter-spacing:1.3px;
}

.learning-step{
    position:absolute;
    width:118px;
    min-height:58px;
    padding:11px 13px;
    border-radius:11px;
    border:1px solid rgba(42,200,220,.27);
    background:rgba(1,29,42,.94);
    text-align:center;
    box-shadow:0 10px 35px rgba(0,0,0,.18);
}

.learning-step span{
    display:block;
    color:#35dcea;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.4px;
    margin-bottom:5px;
}

.learning-step strong{
    font-size:13px;
}

.learning-step.gold span{
    color:#efbd42;
}

.step-1{top:13px;left:161px}
.step-2{top:100px;right:2px}
.step-3{bottom:96px;right:2px}
.step-4{bottom:10px;left:161px}
.step-5{bottom:96px;left:1px}
.step-6{top:100px;left:1px}

/* ---------- CONTENT ---------- */

.academy-section{
    padding:90px 7%;
}

.academy-section-head{
    max-width:900px;
    margin-left:auto;
    text-align:right;
    margin-bottom:45px;
}

.academy-section-head span{
    color:#efbd42;
    font-size:13px;
    font-weight:900;
    letter-spacing:1.5px;
}

.academy-section-head h2{
    margin:10px 0 15px;
    font-size:42px;
}

.academy-section-head p{
    margin:0;
    color:#97b2bd;
    font-size:17px;
    line-height:1.9;
}

.academy-paths{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.academy-path{
    position:relative;
    min-height:290px;
    padding:31px;
    border:1px solid rgba(29,177,197,.19);
    border-radius:15px;
    background:
        linear-gradient(150deg,rgba(2,32,45,.90),rgba(1,21,31,.78));
    overflow:hidden;
    transition:.2s ease;
}

.academy-path:hover{
    transform:translateY(-5px);
    border-color:rgba(45,211,230,.42);
    box-shadow:0 20px 60px rgba(0,0,0,.22);
}

.academy-path:before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:3px;
    height:62px;
    background:#efbd42;
}

.path-code{
    color:#35d9e9;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
}

.academy-path h3{
    margin:22px 0 14px;
    font-size:23px;
}

.academy-path p{
    margin:0;
    color:#94aeb9;
    font-size:14px;
    line-height:1.95;
}

.path-meta{
    position:absolute;
    bottom:27px;
    right:31px;
    left:31px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.06);
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#738f9b;
    font-size:11px;
}

.path-meta strong{
    color:#efbd42;
    font-size:11px;
}

.academy-process{
    margin:0 7% 90px;
    border:1px solid rgba(35,196,215,.18);
    border-radius:16px;
    background:rgba(1,28,40,.68);
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.process-step{
    min-height:140px;
    padding:27px 22px;
    text-align:center;
    border-left:1px solid rgba(255,255,255,.06);
}

.process-step:last-child{
    border-left:0;
}

.process-step .number{
    color:#35dcea;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
}

.process-step strong{
    display:block;
    margin:11px 0 7px;
    font-size:19px;
}

.process-step span{
    color:#7695a2;
    font-size:12px;
    line-height:1.7;
}

.academy-feature{
    margin:0 7% 100px;
    padding:48px 55px;
    border-radius:18px;
    border:1px solid rgba(35,200,220,.20);
    background:
        linear-gradient(120deg,rgba(1,38,52,.94),rgba(1,22,32,.92));
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:50px;
    align-items:center;
}

.feature-copy{
    text-align:right;
}

.feature-copy .eyebrow{
    color:#efbd42;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.5px;
}

.feature-copy h2{
    margin:10px 0 12px;
    font-size:34px;
}

.feature-copy p{
    margin:0;
    color:#8da8b3;
    line-height:1.9;
}

.feature-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.feature-item{
    padding:17px 18px;
    border-radius:10px;
    border:1px solid rgba(37,188,208,.15);
    background:rgba(0,27,39,.52);
    color:#c4d8df;
    font-size:13px;
}

.feature-item:before{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-left:8px;
    border-radius:50%;
    background:#35dcea;
    box-shadow:0 0 10px rgba(53,220,234,.65);
}

@media(max-width:1150px){
    .academy-hero{
        grid-template-columns:1fr;
    }

    .academy-paths{
        grid-template-columns:1fr;
    }

    .academy-process{
        grid-template-columns:repeat(2,1fr);
    }

    .academy-feature{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .academy-hero,
    .academy-section{
        padding-left:5%;
        padding-right:5%;
    }

    .academy-title{
        font-size:50px;
    }

    .learning-map{
        width:330px;
        height:350px;
    }

    .learning-core{
        width:145px;
        height:145px;
    }

    .learning-step{
        width:94px;
        font-size:10px;
    }

    .step-1,
    .step-4{
        left:118px;
    }

    .academy-process{
        margin-left:5%;
        margin-right:5%;
        grid-template-columns:1fr;
    }

    .academy-feature{
        margin-left:5%;
        margin-right:5%;
        padding:34px 26px;
    }

    .feature-list{
        grid-template-columns:1fr;
    }
}


/* ==================================================
   ESPRIQ ACADEMY LEARNING FLOW
   ================================================== */

.learning-core{
    transition:
        box-shadow .5s ease,
        border-color .5s ease;
}

.learning-core.flow-pulse{
    border-color:rgba(53,220,234,.68);
    box-shadow:
        0 25px 70px rgba(0,0,0,.30),
        0 0 34px rgba(53,220,234,.18),
        inset 0 0 24px rgba(53,220,234,.04);
}

.learning-step{
    transition:
        transform .38s ease,
        border-color .38s ease,
        box-shadow .38s ease,
        background .38s ease;
}

.learning-step.flow-active{
    transform:translateY(-4px);
    border-color:rgba(53,220,234,.72);
    background:rgba(3,45,59,.98);
    box-shadow:
        0 12px 34px rgba(0,0,0,.22),
        0 0 22px rgba(53,220,234,.14);
}

.learning-step.gold.flow-active{
    border-color:rgba(239,189,66,.78);
    box-shadow:
        0 12px 34px rgba(0,0,0,.22),
        0 0 22px rgba(239,189,66,.15);
}

.learning-step.flow-active span{
    text-shadow:0 0 12px currentColor;
}

.learning-line{
    overflow:visible;
}

.learning-line:after{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:3px;
    height:42px;
    transform:translateX(-50%);
    border-radius:4px;
    background:
        linear-gradient(
            to bottom,
            transparent,
            #35dcea,
            transparent
        );
    box-shadow:0 0 14px rgba(53,220,234,.55);
    animation:academy-flow-line 4.8s linear infinite;
}

@keyframes academy-flow-line{

    0%{
        top:0;
        opacity:0;
    }

    10%{
        opacity:1;
    }

    90%{
        opacity:1;
    }

    100%{
        top:273px;
        opacity:0;
    }

}

@media(prefers-reduced-motion:reduce){

    .learning-line:after{
        animation:none;
        display:none;
    }

    .learning-step{
        transition:none;
    }

}


/* ==================================================
   ESPRIQ LOWER TYPOGRAPHY V1
   ================================================== */

.academy-section-head span{
    font-size:15px !important;
}

.academy-section-head h2{
    font-size:44px !important;
}

.academy-section-head p{
    font-size:18px !important;
    line-height:1.75 !important;
}

.path-code{
    font-size:13px !important;
}

.academy-path h3{
    font-size:24px !important;
}

.academy-path p{
    font-size:16px !important;
    line-height:1.8 !important;
}

.path-meta,
.path-meta strong{
    font-size:13px !important;
}

.process-step .number{
    font-size:13px !important;
}

.process-step strong{
    font-size:21px !important;
}

.process-step span{
    font-size:15px !important;
    line-height:1.6 !important;
}

.feature-copy .eyebrow{
    font-size:14px !important;
}

.feature-copy h2{
    font-size:36px !important;
}

.feature-item{
    font-size:15px !important;
    line-height:1.7 !important;
}


/* ==================================================
   ESPRIQ LOWER READABILITY FINAL
   ================================================== */

.academy-section-head span{
    font-size:16px !important;
    font-weight:700 !important;
}

.academy-section-head h2{
    font-size:48px !important;
    font-weight:800 !important;
}

.academy-section-head p{
    font-size:20px !important;
    line-height:1.9 !important;
    font-weight:500 !important;
}

.path-code{
    font-size:15px !important;
    font-weight:800 !important;
}

.academy-path h3{
    font-size:28px !important;
    font-weight:800 !important;
}

.academy-path p{
    font-size:20px !important;
    line-height:1.9 !important;
    font-weight:600 !important;
}

.path-meta,
.path-meta strong{
    font-size:15px !important;
    font-weight:700 !important;
}

.process-step .number{
    font-size:15px !important;
    font-weight:800 !important;
}

.process-step strong{
    font-size:26px !important;
    font-weight:800 !important;
}

.process-step span{
    font-size:18px !important;
    line-height:1.75 !important;
    font-weight:600 !important;
}

.feature-copy .eyebrow{
    font-size:16px !important;
    font-weight:700 !important;
}

.feature-copy h2{
    font-size:38px !important;
    font-weight:800 !important;
}

.feature-item{
    font-size:18px !important;
    line-height:1.8 !important;
    font-weight:600 !important;
}


/* ESPRIQ SECONDARY BAND READABILITY FINAL */
.process-step span{
    font-size:21px !important;
    font-weight:700 !important;
    line-height:1.8 !important;
}

.feature-item{
    font-size:20px !important;
    font-weight:600 !important;
    line-height:1.85 !important;
}
