*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"DM Sans",sans-serif;
    color:#142b30;
    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:820px;

    display:flex;
    align-items:center;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(25,170,133,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #06171b 0%,
            #09272b 48%,
            #05191d 100%
        );
}

.hero-grid-pattern{
    position:absolute;
    inset:0;

    opacity:.25;

    background-image:
        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    mask-image:
        linear-gradient(
            to bottom,
            black,
            transparent
        );
}

.hero-orb{
    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;
}

.orb-1{
    width:450px;
    height:450px;

    right:-180px;
    top:-150px;

    background:rgba(40,211,167,.13);
}

.orb-2{
    width:380px;
    height:380px;

    left:-180px;
    bottom:-200px;

    background:rgba(8,112,94,.18);
}

.hero-container{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1.12fr .88fr;

    gap:90px;

    align-items:center;
}

.eyebrow{
    display:inline-flex;

    padding:8px 15px;

    border:1px solid rgba(45,215,172,.35);

    border-radius:50px;

    color:#35d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.hero h1{
    margin-top:26px;

    font-family:"Manrope",sans-serif;

    font-size:clamp(45px,5.7vw,73px);

    line-height:1.02;

    letter-spacing:-4px;
}

.hero h1 span{
    display:block;

    color:#35d9b0;
}

.hero h2{
    margin-top:23px;

    color:#dbe8e9;

    font-family:"Manrope",sans-serif;

    font-size:25px;

    line-height:1.35;
}

.hero h2 strong{
    display:block;

    color:#fff;

    font-size:18px;

    margin-top:6px;
}

.hero-content > p{
    max-width:700px;

    margin-top:20px;

    color:#9db3b8;

    font-size:17px;
}

.hero-actions{
    display:flex;

    gap:12px;

    margin-top:35px;
}

.btn-main,
.btn-glass{
    min-height:56px;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:0 25px;

    border-radius:8px;

    font-weight:800;

    transition:.3s ease;
}

.btn-main{
    gap:15px;

    color:#05221c;

    background:#35d9b0;
}

.btn-main:hover{
    transform:translateY(-4px);

    box-shadow:
        0 18px 40px
        rgba(53,217,176,.2);
}

.btn-glass{
    border:1px solid rgba(255,255,255,.14);

    color:#fff;

    background:rgba(255,255,255,.035);
}

.btn-glass:hover{
    color:#08231f;

    background:#fff;
}

.hero-metrics{
    display:flex;

    gap:55px;

    margin-top:50px;
}

.hero-metrics strong{
    display:block;

    color:#fff;

    font-family:"Manrope",sans-serif;

    font-size:25px;
}

.hero-metrics span{
    display:block;

    color:#71888e;

    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,.025)
        );

    backdrop-filter:blur(18px);

    box-shadow:
        0 35px 90px
        rgba(0,0,0,.35);
}

.panel-top{
    display:flex;

    align-items:center;
    justify-content:space-between;
}

.panel-top > span{
    color:#35d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.q-badge{
    width:52px;
    height:52px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:14px;

    color:#06221c;

    background:#35d9b0;

    font-family:"Manrope",sans-serif;

    font-weight:800;
}

.panel-line{
    width:45px;
    height:3px;

    margin:28px 0 22px;

    background:#35d9b0;
}

.hero-panel h3{
    font-family:"Manrope",sans-serif;

    font-size:29px;

    line-height:1.2;
}

.hero-panel > p{
    margin-top:8px;

    color:#8ea4a9;

    font-size:14px;
}

.panel-data{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:8px;

    margin-top:28px;
}

.panel-data div{
    padding:14px 5px;

    border:1px solid rgba(255,255,255,.07);

    border-radius:8px;

    text-align:center;

    background:rgba(255,255,255,.03);
}

.panel-data small{
    display:block;

    color:#6e848a;

    font-size:9px;
}

.panel-data b{
    display:block;

    margin-top:3px;

    font-size:14px;
}

.panel-price{
    margin-top:28px;
}

.panel-price > span{
    display:block;

    color:#6f858b;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.7px;
}

.panel-price strong{
    display:block;

    margin-top:5px;

    color:#fff;

    font-family:"Manrope",sans-serif;

    font-size:31px;
}

.panel-price small{
    color:#73888e;

    font-size:11px;
}

.panel-button{
    min-height:54px;

    display:flex;

    align-items:center;
    justify-content:center;

    margin-top:25px;

    border-radius:8px;

    color:#06231d;

    background:#fff;

    font-weight:800;

    transition:.3s ease;
}

.panel-button:hover{
    transform:translateY(-3px);

    background:#35d9b0;
}


/* =========================================
   GENERAL
========================================= */

.section-heading{
    display:grid;

    grid-template-columns:70px 1fr;

    gap:25px;

    align-items:start;

    margin-bottom:55px;
}

.section-heading.centered{
    max-width:850px;

    margin-left:auto;
    margin-right:auto;

    text-align:center;

    display:block;
}

.section-number{
    color:#a7b9b8;

    font-family:"Manrope",sans-serif;

    font-size:13px;
    font-weight:800;

    letter-spacing:1px;
}

.section-label{
    display:inline-block;

    color:#087d68;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.section-label.green{
    color:#0b9d7c;
}

.section-heading h2{
    max-width:850px;

    margin-top:13px;

    font-family:"Manrope",sans-serif;

    font-size:clamp(38px,4.5vw,57px);

    line-height:1.06;

    letter-spacing:-3px;
}

.section-heading p{
    margin-top:15px;

    color:#687c82;

    font-size:16px;
}


/* =========================================
   INTRO
========================================= */

.intro-section{
    padding:115px 0;

    background:#fff;
}

.intro-layout{
    display:grid;

    grid-template-columns:1fr 330px;

    gap:80px;

    align-items:center;
}

.intro-text .large{
    color:#203b40;

    font-family:"Manrope",sans-serif;

    font-size:23px;

    line-height:1.55;
}

.intro-text p + p{
    margin-top:23px;

    color:#657980;

    font-size:16px;
}

.intro-stat{
    padding:40px;

    border-radius:18px;

    color:#fff;

    background:#09272c;

    box-shadow:
        0 25px 60px
        rgba(10,40,40,.12);
}

.intro-stat span{
    color:#35d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}

.intro-stat strong{
    display:block;

    margin-top:8px;

    font-family:"Manrope",sans-serif;

    font-size:74px;

    line-height:1;
}

.intro-stat p{
    margin-top:5px;

    color:#90a6ab;

    font-size:13px;
}


/* =========================================
   SCHEDULE
========================================= */

.schedule-section{
    padding:115px 0;

    color:#fff;

    background:#071b20;
}

.schedule-head{
    display:flex;

    align-items:end;
    justify-content:space-between;

    gap:40px;

    margin-bottom:50px;
}

.schedule-head h2{
    margin-top:13px;

    font-family:"Manrope",sans-serif;

    font-size:clamp(38px,4.5vw,55px);

    line-height:1.05;

    letter-spacing:-2.5px;
}

.schedule-head p{
    max-width:390px;

    color:#8da3a8;

    font-size:15px;
}

.schedule-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;
}

.schedule-grid div{
    padding:19px 10px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:8px;

    color:#d6e3e4;

    background:rgba(255,255,255,.035);

    text-align:center;

    font-size:13px;
    font-weight:700;

    transition:.3s ease;
}

.schedule-grid div:hover{
    transform:translateY(-4px);

    border-color:#35d9b0;

    color:#35d9b0;

    background:rgba(53,217,176,.05);
}


/* =========================================
   LEGAL
========================================= */

.legal-section{
    padding:115px 0;

    background:#f3f7f6;
}

.legal-list{
    max-width:950px;

    margin:auto;
}

.legal-item{
    display:grid;

    grid-template-columns:55px 1fr;

    gap:20px;

    padding:28px 0;

    border-bottom:1px solid #dce7e4;
}

.legal-item > span{
    color:#079678;

    font-family:"Manrope",sans-serif;

    font-weight:800;
}

.legal-item p{
    color:#53686f;

    font-size:15px;
}

.legal-warning{
    max-width:950px;

    margin:35px auto 0;

    display:grid;

    grid-template-columns:48px 1fr;

    gap:20px;

    padding:27px;

    border:1px solid #d6e5e1;

    border-left:4px solid #079678;

    border-radius:10px;

    background:#fff;
}

.warning-icon{
    width:42px;
    height:42px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#fff;

    background:#079678;

    font-family:"Manrope",sans-serif;

    font-weight:800;
}

.legal-warning p{
    color:#50656c;

    font-size:14px;
}


/* =========================================
   TARGET
========================================= */

.target-section{
    padding:90px 0;

    background:#fff;
}

.target-card{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:50px;

    padding:50px;

    border-radius:20px;

    color:#fff;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(53,217,176,.15),
            transparent 30%
        ),
        #09272c;

    box-shadow:
        0 25px 70px
        rgba(10,50,45,.09);
}

.target-left h2{
    margin-top:12px;

    font-family:"Manrope",sans-serif;

    font-size:42px;

    line-height:1.1;
}

.target-left p{
    margin-top:10px;

    color:#8da4aa;

    font-size:15px;
}

.target-number{
    font-family:"Manrope",sans-serif;

    color:#35d9b0;

    font-size:80px;

    font-weight:800;

    line-height:1;
}


/* =========================================
   COMPETENCY
========================================= */

.competency-section{
    padding:115px 0;

    background:#f4f8f7;
}

.competency-list{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;
}

.competency-card{
    display:grid;

    grid-template-columns:55px 1fr;

    gap:20px;

    padding:29px;

    border:1px solid #dce7e4;

    border-radius:14px;

    background:#fff;

    transition:.3s ease;
}

.competency-card:hover{
    transform:translateY(-4px);

    border-color:#35d9b0;

    box-shadow:
        0 18px 40px
        rgba(15,60,50,.06);
}

.competency-card.featured{
    grid-column:1 / -1;

    border-color:#35d9b0;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #eefbf7
        );
}

.competency-no{
    color:#079678;

    font-family:"Manrope",sans-serif;

    font-size:14px;
    font-weight:800;
}

.competency-card span{
    color:#899a9e;

    font-size:10px;
    font-weight:800;

    letter-spacing:.5px;
}

.competency-card h3{
    margin-top:7px;

    color:#173238;

    font-family:"Manrope",sans-serif;

    font-size:16px;

    line-height:1.5;
}


/* =========================================
   REQUIREMENTS
========================================= */

.requirements-section{
    padding:115px 0;

    background:#fff;
}

.requirements-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;
}

.requirement{
    display:grid;

    grid-template-columns:45px 1fr;

    gap:16px;

    padding:27px;

    border:1px solid #dfe9e6;

    border-radius:12px;

    background:#fbfdfc;
}

.requirement > span{
    color:#079678;

    font-family:"Manrope",sans-serif;

    font-weight:800;
}

.requirement p{
    color:#596e74;

    font-size:14px;
}


/* =========================================
   DURATION
========================================= */

.duration-section{
    padding:100px 0;

    background:#f4f8f7;
}

.duration-card{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:50px;

    padding:55px;

    border-radius:20px;

    color:#fff;

    background:#09272c;
}

.duration-card h2{
    margin-top:10px;

    font-family:"Manrope",sans-serif;

    font-size:60px;

    line-height:1;
}

.duration-card p{
    margin-top:7px;

    color:#8da4aa;

    font-size:14px;
}

.duration-details{
    display:flex;

    gap:60px;
}

.duration-details strong{
    display:block;

    font-family:"Manrope",sans-serif;

    font-size:35px;
}

.duration-details span{
    color:#8da4aa;

    font-size:12px;
}


/* =========================================
   DOCUMENTS
========================================= */

.documents-section{
    padding:115px 0;

    background:#fff;
}

.documents-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;
}

.document-card{
    padding:29px;

    border:1px solid #dfe9e6;

    border-radius:13px;

    background:#fbfdfc;

    transition:.3s ease;
}

.document-card:hover{
    transform:translateY(-3px);

    border-color:#35d9b0;
}

.document-card.wide{
    grid-column:1 / -1;
}

.document-card > span{
    color:#079678;

    font-size:11px;
    font-weight:800;
}

.document-card h3{
    margin-top:9px;

    color:#173238;

    font-family:"Manrope",sans-serif;

    font-size:18px;

    line-height:1.35;
}

.document-card p{
    margin-top:10px;

    color:#667a80;

    font-size:14px;
}

.document-card small{
    display:block;

    margin-top:10px;

    color:#809095;

    font-size:12px;
}

.document-card ul{
    margin-top:13px;

    padding-left:20px;

    color:#667a80;

    font-size:14px;
}


/* =========================================
   INVESTMENT
========================================= */

.investment-section{
    padding:115px 0;

    background:#f3f7f6;
}

.investment-card{
    display:grid;

    grid-template-columns:.85fr 1.15fr;

    overflow:hidden;

    border-radius:22px;

    box-shadow:
        0 30px 80px
        rgba(20,60,55,.08);
}

.investment-left{
    padding:60px;

    color:#fff;

    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(53,217,176,.17),
            transparent 35%
        ),
        #09272c;
}

.investment-left h2{
    margin-top:18px;

    font-family:"Manrope",sans-serif;

    font-size:46px;

    line-height:1.05;
}

.investment-left > p{
    color:#8da4aa;

    font-size:14px;
}

.online-tag{
    display:inline-block;

    margin-top:28px;

    padding:7px 12px;

    border:1px solid rgba(53,217,176,.25);

    border-radius:5px;

    color:#35d9b0;

    font-size:10px;
    font-weight:800;

    letter-spacing:1.5px;
}

.investment-right{
    padding:60px;

    background:#fff;
}

.investment-right h3{
    max-width:530px;

    margin-top:15px;

    font-family:"Manrope",sans-serif;

    font-size:29px;

    line-height:1.2;
}

.investment-right > p{
    margin-top:20px;

    color:#687b82;

    font-size:14px;
}

.contact-list{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:10px;
}

.contact-list a{
    padding:9px 13px;

    border-radius:6px;

    color:#087d68;

    background:#eef8f5;

    font-size:13px;
    font-weight:700;
}

.email-text{
    margin-top:13px !important;

    font-size:13px !important;
}

.investment-button{
    min-height:54px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    margin-top:24px;

    padding:0 25px;

    border-radius:8px;

    color:#06241e;

    background:#35d9b0;

    font-weight:800;

    transition:.3s;
}

.investment-button:hover{
    transform:translateY(-3px);

    box-shadow:
        0 15px 30px
        rgba(53,217,176,.18);
}


/* =========================================
   FINAL CTA
========================================= */

.final-cta{
    position:relative;

    padding:130px 0;

    overflow:hidden;

    text-align:center;

    background:#071b20;
}

.cta-background{
    position:absolute;

    width:600px;
    height:600px;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(53,217,176,.13),
            transparent 65%
        );

    pointer-events:none;
}

.final-cta .container{
    position:relative;
    z-index:2;
}

.final-cta h2{
    max-width:900px;

    margin:17px auto;

    color:#fff;

    font-family:"Manrope",sans-serif;

    font-size:clamp(40px,5vw,65px);

    line-height:1.05;

    letter-spacing:-3px;
}

.final-cta p{
    max-width:700px;

    margin:20px auto 32px;

    color:#91a7ac;

    font-size:17px;
}

.cta-button{
    min-height:57px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:0 30px;

    border-radius:8px;

    color:#06231d;

    background:#35d9b0;

    font-weight:800;

    transition:.3s ease;
}

.cta-button:hover{
    transform:translateY(-4px);

    box-shadow:
        0 20px 40px
        rgba(53,217,176,.2);
}


