*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"DM Sans",sans-serif;
    color:#17252b;
    background:#fff;
    line-height:1.7;
    overflow-x:hidden;
}

a{
    color:inherit;
    text-decoration:none;
}

.container{
    width:90%;
    max-width:1180px;
    margin:auto;
}


/* ==========================================
   HERO
========================================== */

.hero{
    position:relative;
    min-height:790px;

    display:flex;
    align-items:center;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(45,210,164,.22),
            transparent 28%
        ),
        radial-gradient(
            circle at 12% 90%,
            rgba(24,116,101,.18),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #06151c,
            #09252a 55%,
            #06161d
        );
}

.hero-pattern{
    position:absolute;
    inset:0;

    opacity:.07;

    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,.3) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(255,255,255,.3) 1px,
            transparent 1px
        );

    background-size:90px 90px;
}

.hero-wrapper{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:75px;

    align-items:center;
}

.hero-badge{
    display:inline-flex;

    padding:8px 14px;

    border:1px solid rgba(56,218,177,.3);

    border-radius:40px;

    color:#3dddb5;

    background:rgba(40,210,166,.06);

    font-size:11px;
    font-weight:800;

    letter-spacing:2px;
}

.hero h1{
    margin-top:24px;

    font-family:"Manrope",sans-serif;

    font-size:clamp(48px,6vw,78px);

    line-height:1;

    letter-spacing:-4px;
}

.hero h1 span{
    display:block;

    color:#39d9b0;
}

.hero-subtitle{
    margin-top:20px;

    color:#d8e5e5;

    font-size:22px;
    font-weight:700;
}

.hero-description{
    max-width:680px;

    margin-top:22px;

    color:#aebfc4;

    font-size:17px;
}

.hero-buttons{
    display:flex;

    gap:13px;

    margin-top:34px;
}

.btn-main,
.btn-secondary{
    min-height:55px;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:0 27px;

    border-radius:8px;

    font-weight:800;

    transition:.3s;
}

.btn-main{
    color:#06251e;

    background:#39d9b0;
}

.btn-main:hover{
    transform:translateY(-4px);

    box-shadow:0 18px 35px rgba(57,217,176,.18);
}

.btn-secondary{
    border:1px solid rgba(255,255,255,.16);

    color:#fff;

    background:rgba(255,255,255,.04);
}

.btn-secondary:hover{
    color:#07191f;

    background:#fff;
}

.hero-meta{
    display:flex;

    gap:45px;

    margin-top:46px;
}

.hero-meta strong{
    display:block;

    font-family:"Manrope";

    font-size:22px;
}

.hero-meta span{
    color:#71868d;

    font-size:11px;
}


/* ==========================================
   HERO PANEL
========================================== */

.hero-panel{
    padding:36px;

    border:1px solid rgba(255,255,255,.12);

    border-radius:20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.09),
            rgba(255,255,255,.035)
        );

    backdrop-filter:blur(18px);

    box-shadow:0 35px 80px rgba(0,0,0,.3);
}

.panel-top{
    display:flex;

    justify-content:space-between;

    align-items:center;
}

.panel-top span{
    color:#38d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.panel-top i{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#38d9b0;

    box-shadow:0 0 15px #38d9b0;
}

.hero-panel h2{
    margin-top:21px;

    font-family:"Manrope";

    font-size:30px;

    line-height:1.2;
}

.panel-qualification{
    margin-top:8px;

    color:#8ca2a9;

    font-size:13px;
}

.panel-line{
    width:45px;
    height:3px;

    margin:24px 0;

    background:#38d9b0;
}

.panel-info{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:10px;
}

.panel-info div{
    padding:15px 10px;

    border:1px solid rgba(255,255,255,.07);

    border-radius:8px;

    background:rgba(255,255,255,.03);

    text-align:center;
}

.panel-info span{
    display:block;

    color:#71878f;

    font-size:10px;
}

.panel-info strong{
    display:block;

    margin-top:3px;

    font-size:13px;
}

.panel-price{
    margin-top:25px;
}

.panel-price small{
    display:block;

    color:#71878f;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.5px;
}

.panel-price div{
    margin-top:3px;
}

.panel-price strong{
    font-family:"Manrope";

    font-size:31px;
}

.panel-price span{
    color:#71878f;

    font-size:11px;
}

.panel-button{
    min-height:52px;

    display:flex;

    align-items:center;
    justify-content:center;

    margin-top:24px;

    border-radius:8px;

    color:#06241d;

    background:#fff;

    font-weight:800;

    transition:.3s;
}

.panel-button:hover{
    transform:translateY(-3px);
}


/* ==========================================
   HEADING
========================================== */

.intro,
.regulation,
.target,
.competency,
.requirements,
.documents,
.duration-section,
.investment,
.cta{
    padding:110px 0;
}

.heading{
    max-width:830px;

    margin:0 auto 55px;

    text-align:center;
}

.heading > span{
    color:#0a9f7f;

    font-size:11px;
    font-weight:800;

    letter-spacing:2.2px;
}

.heading h2{
    margin-top:14px;

    font-family:"Manrope";

    font-size:clamp(38px,4.5vw,55px);

    line-height:1.08;

    letter-spacing:-2.5px;
}

.heading p{
    margin-top:18px;

    color:#697b83;

    font-size:17px;
}

.heading-light h2{
    color:#fff;
}

.heading-light > span{
    color:#39d9b0;
}

.heading-light p{
    color:#91a5ac;
}


/* ==========================================
   INTRO
========================================== */

.intro{
    background:#fff;
}

.intro-cards{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:17px;
}

.intro-cards article{
    min-height:245px;

    padding:32px;

    border:1px solid #e0e9e6;

    border-radius:16px;

    background:#fbfdfc;

    transition:.3s;
}

.intro-cards article:hover{
    transform:translateY(-6px);

    border-color:#39d4ad;

    box-shadow:0 25px 55px rgba(15,65,52,.07);
}

.card-number{
    color:#0a9f7f;

    font-family:"Manrope";

    font-weight:800;
}

.intro-cards h3{
    margin-top:18px;

    font-family:"Manrope";

    font-size:22px;
}

.intro-cards p{
    margin-top:10px;

    color:#657981;

    font-size:14px;
}


/* ==========================================
   SCHEDULE
========================================== */

.schedule{
    position:relative;

    overflow:hidden;

    padding:110px 0;

    background:#071920;
}

.schedule-glow{
    position:absolute;

    width:500px;
    height:500px;

    top:-250px;
    right:-150px;

    border-radius:50%;

    background:rgba(45,210,165,.12);

    filter:blur(80px);
}

.schedule-list{
    position:relative;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:11px;
}

.schedule-list div{
    padding:19px 10px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:8px;

    color:#d4e0e1;

    background:rgba(255,255,255,.035);

    text-align:center;

    font-size:13px;
    font-weight:700;

    transition:.3s;
}

.schedule-list div:hover{
    color:#39d9b0;

    border-color:#39d9b0;

    transform:translateY(-4px);
}


/* ==========================================
   REGULATION
========================================== */

.regulation{
    background:#f3f7f6;
}

.regulation-grid{
    display:grid;

    grid-template-columns:.7fr 1.3fr;

    gap:85px;
}

.regulation-title span{
    color:#0a9f7f;

    font-size:11px;
    font-weight:800;

    letter-spacing:2px;
}

.regulation-title h2{
    margin-top:15px;

    font-family:"Manrope";

    font-size:48px;

    line-height:1.05;

    letter-spacing:-2px;
}

.regulation-title p{
    margin-top:20px;

    color:#687b82;

    font-size:15px;
}

.regulation-list article{
    display:grid;

    grid-template-columns:45px 1fr;

    gap:20px;

    padding:24px 0;

    border-bottom:1px solid #dce5e2;
}

.regulation-list article b{
    color:#0a9f7f;

    font-family:"Manrope";
}

.regulation-list article p{
    color:#536870;

    font-size:15px;
}

.regulation-note{
    margin-top:28px;

    padding:25px;

    border-left:3px solid #16b58e;

    background:#fff;

    color:#536870;

    font-size:15px;
}


/* ==========================================
   TARGET
========================================== */

.target{
    background:#fff;
}

.target-box{
    max-width:850px;

    margin:auto;

    display:grid;

    grid-template-columns:80px 1fr;

    align-items:center;

    gap:25px;

    padding:35px;

    border:1px solid #dfe8e5;

    border-radius:17px;

    background:#fbfdfc;

    box-shadow:0 20px 55px rgba(20,60,50,.05);
}

.target-symbol{
    width:68px;
    height:68px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#fff;

    background:#0a9f7f;

    font-family:"Manrope";
    font-weight:800;
}

.target-box h3{
    font-family:"Manrope";

    font-size:23px;
}

.target-box p{
    margin-top:8px;

    color:#667a82;

    font-size:14px;
}


/* ==========================================
   COMPETENCY
========================================== */

.competency{
    background:#f5f8f7;
}

.competency-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;
}

.competency-grid article{
    display:grid;

    grid-template-columns:52px 1fr;

    gap:18px;

    padding:28px;

    border:1px solid #dfe8e5;

    border-radius:14px;

    background:#fff;

    transition:.3s;
}

.competency-grid article:hover{
    transform:translateY(-4px);

    border-color:#39d4ad;
}

.competency-grid article > b{
    color:#0a9f7f;

    font-family:"Manrope";
}

.competency-grid small{
    color:#8b9ba0;

    font-size:10px;
    font-weight:700;
}

.competency-grid h3{
    margin-top:7px;

    font-family:"Manrope";

    font-size:15px;

    line-height:1.5;
}


/* ==========================================
   FACILITIES
========================================== */

.facilities{
    padding:110px 0;

    background:#071920;
}

.facility-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:13px;
}

.facility-grid article{
    min-height:190px;

    padding:28px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:14px;

    background:rgba(255,255,255,.035);

    transition:.3s;
}

.facility-grid article:hover{
    transform:translateY(-5px);

    border-color:#39d9b0;
}

.facility-grid strong{
    color:#39d9b0;

    font-family:"Manrope";
}

.facility-grid h3{
    margin-top:47px;

    color:#e3eded;

    font-family:"Manrope";

    font-size:16px;
}

.inhouse-box{
    max-width:850px;

    margin:40px auto 0;

    padding:27px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:12px;

    text-align:center;

    background:rgba(255,255,255,.025);
}

.inhouse-box span{
    color:#39d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.inhouse-box p{
    margin-top:10px;

    color:#91a5ac;

    font-size:14px;
}


/* ==========================================
   REQUIREMENTS
========================================== */

.requirements{
    background:#fff;
}

.requirement-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:13px;
}

.requirement-grid article{
    display:grid;

    grid-template-columns:45px 1fr;

    gap:15px;

    padding:24px;

    border:1px solid #dfe8e5;

    border-radius:12px;

    background:#fbfdfc;
}

.requirement-grid b{
    color:#0a9f7f;

    font-family:"Manrope";
}

.requirement-grid p{
    color:#566b73;

    font-size:14px;
}


/* ==========================================
   DOCUMENTS
========================================== */

.documents{
    background:#f4f8f7;
}

.document-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;
}

.document-grid article{
    padding:28px;

    border:1px solid #dfe8e5;

    border-radius:13px;

    background:#fff;
}

.document-grid article > span{
    color:#0a9f7f;

    font-size:11px;
    font-weight:800;
}

.document-grid h3{
    margin-top:10px;

    font-family:"Manrope";

    font-size:18px;

    line-height:1.35;
}

.document-grid p{
    margin-top:9px;

    color:#687a82;

    font-size:14px;
}

.document-grid small{
    display:block;

    margin-top:13px;

    color:#7b8b91;

    font-size:12px;
}

.document-grid ul{
    margin-top:12px;

    padding-left:20px;

    color:#687a82;

    font-size:13px;
}


/* ==========================================
   DURATION
========================================== */

.duration-section{
    background:#fff;
}

.duration-card{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

    padding:55px;

    border-radius:20px;

    color:#fff;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(58,218,176,.15),
            transparent 30%
        ),
        #092127;
}

.duration-card > div > span{
    color:#39d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.duration-card h2{
    margin-top:10px;

    font-family:"Manrope";

    font-size:52px;

    line-height:1;
}

.duration-card p{
    margin-top:10px;

    color:#8ea3aa;
}

.duration-items{
    display:flex;

    gap:55px;
}

.duration-items strong{
    display:block;

    font-family:"Manrope";

    font-size:30px;
}

.duration-items span{
    color:#8ea3aa;

    font-size:12px;
}


/* ==========================================
   INVESTMENT
========================================== */

.investment{
    background:#f3f7f6;
}

.investment-wrapper{
    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:0;

    overflow:hidden;

    border:1px solid #dce7e4;

    border-radius:20px;

    background:#fff;

    box-shadow:0 25px 70px rgba(20,60,50,.06);
}

.investment-copy{
    padding:55px;

    color:#fff;

    background:#092127;
}

.investment-copy > span{
    color:#39d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.investment-copy h2{
    margin-top:17px;

    font-family:"Manrope";

    font-size:45px;

    line-height:1.05;
}

.investment-copy p{
    margin-top:9px;

    color:#8da2a8;
}

.investment-detail{
    padding:55px;
}

.investment-detail p{
    color:#5f737a;

    font-size:15px;
}

.investment-detail a{
    min-height:52px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    margin-top:25px;

    padding:0 25px;

    border-radius:8px;

    color:#06231c;

    background:#39d9b0;

    font-weight:800;

    transition:.3s;
}

.investment-detail a:hover{
    transform:translateY(-3px);
}


/* ==========================================
   CTA
========================================== */

.cta{
    text-align:center;

    background:#fff;
}

.cta > div > span{
    color:#0a9f7f;

    font-size:11px;
    font-weight:800;

    letter-spacing:2px;
}

.cta h2{
    max-width:800px;

    margin:16px auto;

    font-family:"Manrope";

    font-size:clamp(40px,5vw,62px);

    line-height:1.04;

    letter-spacing:-3px;
}

.cta p{
    max-width:700px;

    margin:18px auto 32px;

    color:#687b83;

    font-size:17px;
}

.cta-button{
    min-height:56px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:0 30px;

    border-radius:8px;

    color:#06231c;

    background:#39d9b0;

    font-weight:800;

    transition:.3s;
}

.cta-button:hover{
    transform:translateY(-4px);

    box-shadow:0 18px 35px rgba(57,217,176,.2);
}


/* ==========================================
   WHATSAPP
========================================== */

.floating-wa{
    position:fixed;

    right:24px;
    bottom:24px;

    z-index:9999;

    width:60px;
    height:60px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#fff;

    background:#25D366;

    box-shadow:0 12px 30px rgba(0,0,0,.2);

    transition:.3s;
}

.floating-wa svg{
    width:31px;
    height:31px;
}

.floating-wa:hover{
    transform:translateY(-5px) scale(1.05);

    box-shadow:
        0 17px 35px rgba(0,0,0,.25),
        0 0 0 7px rgba(37,211,102,.12);
}


/* ==========================================
   REVEAL
========================================== */

.reveal{
    opacity:0;

    transform:translateY(25px);

    transition:
        opacity .65s ease,
        transform .65s ease;
}

.reveal.visible{
    opacity:1;

    transform:translateY(0);
}


/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1000px){

    .hero-wrapper{
        grid-template-columns:1fr;
    }

    .hero-panel{
        max-width:680px;
    }

    .regulation-grid{
        grid-template-columns:1fr;

        gap:45px;
    }

    .facility-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .investment-wrapper{
        grid-template-columns:1fr;
    }

}


@media(max-width:700px){

    .container{
        width:90%;
    }

    .hero{
        padding:85px 0;
    }

    .hero h1{
        font-size:48px;

        letter-spacing:-2px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .btn-main,
    .btn-secondary{
        width:100%;
    }

    .hero-meta{
        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:20px;
    }

    .hero-panel{
        padding:28px;
    }

    .panel-info{
        grid-template-columns:1fr;
    }

    .intro-cards,
    .competency-grid,
    .requirement-grid,
    .document-grid{
        grid-template-columns:1fr;
    }

    .schedule-list{
        grid-template-columns:repeat(2,1fr);
    }

    .facility-grid{
        grid-template-columns:1fr;
    }

    .target-box{
        grid-template-columns:1fr;

        text-align:center;
    }

    .target-symbol{
        margin:auto;
    }

    .duration-card{
        flex-direction:column;

        align-items:flex-start;

        padding:35px;
    }

    .duration-items{
        gap:35px;
    }

    .duration-card h2{
        font-size:43px;
    }

    .investment-copy,
    .investment-detail{
        padding:35px;
    }

    .investment-copy h2{
        font-size:38px;
    }

    .cta h2{
        font-size:40px;
    }

    .floating-wa{
        width:56px;
        height:56px;

        right:17px;
        bottom:17px;
    }

    .floating-wa svg{
        width:28px;
        height:28px;
    }

}