/* ========================================================= */
/* VCA CONTAINER */
/* ========================================================= */

.vca-container{

    width:100%;

    max-width:1320px;

    margin:auto;

    padding:0 15px;

}

/* ========================================================= */
/* TOP HEADER */
/* ========================================================= */

.top-header{

    background:var(--primary-color);

    color:var(--white-color);

    font-size:14px;

    padding:10px 0;

}

.top-header .vca-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.top-header-left{

    display:flex;
    align-items: center;
    gap:25px;

}

.top-header-right{

    display:flex;
    align-items: center;

}

.top-header i{

    margin-right:8px;

}

.top-header span{

    display: flex;

    align-items: center;

}

/* ========================================================= */
/* VCA NAVBAR */
/* ========================================================= */

.vca-navbar{

    background-color: var(--white-color);

    box-shadow: var(--shadow-sm);

    padding: 18px 0;
    position:relative;

}

.vca-navbar .vca-container{

     display:flex;

    justify-content:space-between;

    align-items:center;

}

/* ========================================================= */
/* HAMBURGER ACTIVE */
/* ========================================================= */

.vca-menu-toggle.active span:nth-child(1){

    transform:translateY(9px) rotate(45deg);

}

.vca-menu-toggle.active span:nth-child(2){

    opacity:0;

}

.vca-menu-toggle.active span:nth-child(3){

    transform:translateY(-9px) rotate(-45deg);

}

/* ========================================================= */
/* MOBILE MENU OVERLAY */
/* ========================================================= */

.vca-menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:998;

}

.vca-menu-overlay.active{

    opacity:1;

    visibility:visible;

}


/* ========================================================= */
/* VCA LOGO */
/* ========================================================= */

.vca-logo{

    display: flex;

    align-items: center;

}

.vca-logo img{

    display: block;

    height: 40px;

    width: 85%;

    transition: var(--transition);

}

.vca-logo img:hover{

    transform: scale(1.03);

}

/* ========================================================= */
/* VCA MENU */
/* ========================================================= */

.vca-menu{

    display:flex;

    align-items:center;

    gap:30px;

    margin:0;

    padding:0;

}

.vca-menu li{

    list-style:none;

}

.vca-menu a{

    font-size:16px;

    font-weight:var(--fw-medium);

    color:var(--dark-color);

    transition:var(--transition);

}

.vca-menu a:hover{

    color:var(--primary-color);

}

.vca-header-buttons{

    display:flex;

    align-items:center;

    gap:15px;

}

.vca-btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    min-height:56px;

    background:var(--accent-color);

    color:var(--white-color);

    font-weight:var(--fw-semibold);

    border-radius:var(--radius-pill);

    transition:var(--transition);

}

.vca-btn-primary:hover{

    background:var(--accent-hover);

    transform:translateY(-3px);

}

/* ========================================================= */
/* STUDENT LOGIN BUTTON */
/* ========================================================= */

.vca-btn-login{

    color:var(--primary-color);

    font-weight:var(--fw-semibold);

    transition:var(--transition);

}

.vca-btn-login:hover{

    color:var(--accent-color);

}


/* ========================================================= */
/* MOBILE MENU TOGGLE */
/* ========================================================= */

.vca-menu-toggle{

    display:none;

    flex-direction:column;

    justify-content:center;

    gap:6px;

    width:48px;

    height:48px;

    border:none;

    background:none;

    cursor:pointer;

}

.vca-menu-toggle span{

    width:28px;

    height:3px;

    background:var(--dark-color);

    border-radius:10px;

    transition:.3s;

}

/* ========================================================= */
/* HERO SECTION */
/* ========================================================= */

.vca-hero{

    padding: 90px 0;

    background: var(--light-bg);

    overflow: hidden;

}

/* ========================================================= */
/* HERO WRAPPER */
/* ========================================================= */

.vca-hero-wrapper{

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 60px;

}

/* ========================================================= */
/* HERO CONTENT */
/* ========================================================= */

.vca-hero-content{

    flex: 1;

    max-width: 600px;

}

/* ========================================================= */
/* HERO IMAGE */
/* ========================================================= */

.vca-hero-image{

    position:relative;

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:620px;

}

/* ========================================================= */
/* HERO BACKGROUND SHAPE */
/* ========================================================= */

.vca-hero-bg-shape{

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:linear-gradient(
        145deg,
        #EEF5FF 0%,
        #D9E9FF 45%,
        #BCD8FF 100%
    );

    z-index:1;

}

/* ========================================================= */
/* HERO STUDENT IMAGE */
/* ========================================================= */

.vca-hero-student{

    position:relative;

    width:430px;

    max-width:100%;

    height:auto;

    z-index:5;

}

/* ========================================================= */
/* FLOATING CARDS */
/* ========================================================= */

.vca-floating-card{

    position:absolute;

    padding:22px 28px;

    border-radius:20px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    box-shadow:

        0 15px 45px rgba(18,38,63,.12),

        0 5px 15px rgba(18,38,63,.08);

    z-index:10;
    transition:

        transform .35s ease,

        box-shadow .35s ease;

}

.vca-floating-card:hover{

    transform:translateY(-8px);
    box-shadow:0 25px 60px rgba(16,24,40,.18);

}

.vca-floating-card h4{

    font-size:20px;

    font-weight:700;

    color:var(--primary-color);

    margin-bottom:6px;

}

.vca-floating-card p{

    margin:0;

    font-size:15px;

}

/* ========================================================= */
/* FLOATING CARD POSITION */
/* ========================================================= */

.card-students{

    top: 50px;

    right: 20px;

}

.card-training{

    bottom: 140px;

    left: 10px;

}

.card-career{

    bottom: 30px;

    right: 60px;

}

/* ========================================================= */
/* HERO BADGE */
/* ========================================================= */

.vca-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:11px 24px;

    margin-bottom:28px;

    background:var(--primary-color);

    color:#fff;

    border-radius:999px;

    font-size:14px;

    font-weight:600;

    box-shadow:

        0 10px 30px rgba(10,88,202,.25);

}

/* ========================================================= */
/* HERO HEADING */
/* ========================================================= */

.vca-hero-content h1{

    font-family: var(--heading-font);

    font-size: 64px;

    font-weight: var(--fw-extrabold);

    line-height: 1.08;

    letter-spacing: -1.5px;

    margin-bottom: 18px;

}

.vca-hero-content h1 span{

    display:block;

    color:var(--primary-color);

}

/* ========================================================= */
/* HERO SUB HEADING */
/* ========================================================= */

.vca-hero-content h2{

    font-size: 22px;

    color: var(--accent-color);

    margin-bottom: 20px;

}

/* ========================================================= */
/* HERO DESCRIPTION */
/* ========================================================= */

.vca-hero-content p{

    font-size: 17px;

    line-height: 1.8;

    margin-bottom: 35px;

}

/* ========================================================= */
/* HERO BUTTONS */
/* ========================================================= */

.vca-hero-buttons{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:55px;

    flex-wrap:wrap;

}

/* ========================================================= */
/* OUTLINE BUTTON */
/* ========================================================= */

.vca-btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:56px;

    padding:16px 34px;

    border:2px solid var(--primary-color);

    color:var(--primary-color);

    border-radius:var(--radius-pill);

    font-weight:var(--fw-semibold);

    transition:var(--transition);

    background:#fff;

}

.vca-btn-outline:hover{

    background:var(--primary-color);

    color:#fff;

    transform:translateY(-3px);

}

/* ========================================================= */
/* HERO Statistics */
/* ========================================================= */

.vca-hero-stats{

    display:flex;

    gap:55px;

}

.vca-stat{

    transition:.3s;

}

.vca-stat:hover{

    transform:translateY(-6px);

}

.vca-stat h3{

    font-size:42px;

    font-weight:var(--fw-extrabold);

    color:var(--primary-color);

    margin-bottom:8px;

}

.vca-stat p{

    font-size:16px;

    color:var(--body-color);

    margin:0;

}


/* ========================================================= */
/* HERO STUDENT FLOAT ANIMATION */
/* ========================================================= */

@keyframes heroFloat{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0px);

    }

}

.vca-hero-student{

    animation:heroFloat 5s ease-in-out infinite;

}

/* ========================================================= */
/* FLOATING CARD ANIMATION */
/* ========================================================= */

@keyframes cardFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

.card-students{

    animation:cardFloat 4s ease-in-out infinite;

}

.card-training{

    animation:cardFloat 5s ease-in-out infinite;

}

.card-career{

    animation:cardFloat 6s ease-in-out infinite;

}

/* ========================================================= */
/* HERO BUTTON HOVER */
/* ========================================================= */

.vca-btn-primary,
.vca-btn-outline{

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        background-color .35s ease;

}

.vca-btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:

        0 18px 35px rgba(255,107,0,.28);

}

.vca-btn-outline:hover{

    box-shadow:

        0 18px 35px rgba(10,88,202,.20);

}

/* ========================================================= */
/* HERO STATS HOVER */
/* ========================================================= */

.vca-stat{

    transition:.35s;

}

.vca-stat:hover{

    transform:translateY(-6px);

}

/* ========================================================= */
/* HERO BADGE */
/* ========================================================= */

.vca-badge{

    transition:.35s;

}

.vca-badge:hover{

    transform:translateY(-3px);

}












/* ========================================================= */
/* ABOUT SECTION */
/* ========================================================= */

.vca-about{

    padding:100px 0;

    background:var(--white-color);
    
    position:relative;

    padding:100px 0;

    background:#fff;

    overflow:hidden;

}

/* ========================================================= */
/* ABOUT WRAPPER */
/* ========================================================= */

.vca-about-wrapper{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:80px;

}



/* ========================================================= */
/* ABOUT IMAGE */
/* ========================================================= */

.vca-about-image{

    position:relative;

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

}

.vca-about-image img{

    position:relative;

    width:100%;

    max-width:520px;

    border-radius:24px;

    display:block;

    box-shadow:0 30px 70px rgba(0,0,0,.10);

    z-index:5;

}

/* ========================================================= */
/* ABOUT BACKGROUND SHAPE */
/* ========================================================= */

.vca-about-bg-shape{

    position:absolute;

    width:380px;

    height:380px;

    border-radius:50%;

    background:linear-gradient(
        145deg,
        #F5F9FF,
        #EDF5FF,
        #E3F0FF
    );

    left:-40px;

    top:-30px;

    z-index:1;

}

/* ========================================================= */
/* EXPERIENCE CARD */
/* ========================================================= */

.vca-about-experience{

    position:absolute;

    right:10px;

    bottom:40px;

    width:170px;

    padding:22px;

    border-radius:20px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    box-shadow:

        0 18px 45px rgba(16,24,40,.12);

    text-align:center;

    z-index:10;

}

/* ========================================================= */
/* EXPERIENCE TEXT */
/* ========================================================= */

.vca-about-experience h3{

    font-size:42px;

    color:var(--primary-color);

    margin-bottom:6px;

}

.vca-about-experience span{

    display:block;

    font-size:15px;

    color:var(--body-color);

}

/* ========================================================= */
/* ABOUT IMAGE HOVER */
/* ========================================================= */

.vca-about-image img{

    transition:

        transform .4s ease,

        box-shadow .4s ease;

}

.vca-about-image:hover img{

    transform:translateY(-8px);

    box-shadow:

        0 35px 80px rgba(0,0,0,.14);

}

/* ========================================================= */
/* ABOUT CONTENT */
/* ========================================================= */

.vca-about-content{

    flex:1;

    max-width:600px;

}


/* ========================================================= */
/* SECTION BADGE */
/* ========================================================= */

.vca-section-badge{

   display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 24px;

    border-radius:999px;

    background:#F0F5FF;

    border:1px solid #D6E4FF;

    color:#0A58CA;

    font-size:13px;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

}

/* ========================================================= */
/* ABOUT HEADING */
/* ========================================================= */

.vca-about-content h2{

    font-size:48px;

    line-height:1.25;

    margin-bottom:25px;

    color:var(--dark-color);

}

/* ========================================================= */
/* ABOUT DESCRIPTION */
/* ========================================================= */

.vca-about-content p{

    font-size:17px;

    line-height:1.9;

    color:var(--body-color);

    margin-bottom:35px;

}


/* ========================================================= */
/* ABOUT FEATURES */
/* ========================================================= */

.vca-about-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-bottom:40px;

}


/* ========================================================= */
/* FEATURE ITEM */
/* ========================================================= */

.vca-feature-item{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:500;

    color:var(--dark-color);

}



/* ========================================================= */
/* ABOUT ANIMATION */
/* ========================================================= */

.vca-about-image,
.vca-about-content{

    transition:

        transform .4s ease,

        opacity .4s ease;

}

.vca-about-image:hover{

    transform:translateY(-6px);

}

.vca-about-content:hover{

    transform:translateY(-3px);

}










/* ========================================================= */
/* WHY CHOOSE VCA SECTION */
/* ========================================================= */

.vca-why{

    padding:100px 0;

    background:#F8FAFC;

}


/* ========================================================= */
/* SECTION HEADER */
/* ========================================================= */

.vca-section-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.vca-section-title{

    font-size:48px;

    line-height:1.2;

    margin:20px 0;

    color:var(--dark-color);

}

.vca-section-description{

    font-size:17px;

    line-height:1.8;

    color:var(--body-color);

}


/* ========================================================= */
/* WHY GRID */
/* ========================================================= */

.vca-why-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}


/* ========================================================= */
/* WHY CARD */
/* ========================================================= */

.vca-why-card{

    background:#ffffff;

    border-radius:24px;

    padding:40px 35px;

    text-align:left;

    transition:.35s ease;

    border:1px solid #EEF2F7;

    box-shadow:0 10px 35px rgba(15,23,42,.05);

}

/* ========================================================= */
/* WHY CARD HOVER */
/* ========================================================= */

.vca-why-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(15,23,42,.10);

    border-color:rgba(10,88,202,.18);

}


/* ========================================================= */
/* WHY ICON */
/* ========================================================= */

.vca-why-icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:linear-gradient(

        135deg,

        #0A58CA,

        #3B82F6

    );

    color:#ffffff;

    font-size:30px;

    margin-bottom:25px;

    box-shadow:0 15px 30px rgba(10,88,202,.22);

}

/* ========================================================= */
/* WHY CARD TITLE */
/* ========================================================= */

.vca-why-card h3{

    font-size:24px;

    margin-bottom:15px;

    color:var(--dark-color);

}


/* ========================================================= */
/* WHY CARD DESCRIPTION */
/* ========================================================= */

.vca-why-card p{

    font-size:16px;

    line-height:1.8;

    color:var(--body-color);

}



/* ========================================================= */
/* WHY CARD PREMIUM HOVER */
/* ========================================================= */

.vca-why-card{

    position:relative;

    overflow:hidden;

}

.vca-why-card::before{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:100%;

    height:4px;

    background:linear-gradient(

        90deg,

        #0A58CA,

        #FF6B00

    );

    transition:.4s;

}

.vca-why-card:hover::before{

    left:0;

}


/* ========================================================= */
/* WHY ICON HOVER */
/* ========================================================= */

.vca-why-icon{

    transition:

        transform .35s ease,

        box-shadow .35s ease;

}

.vca-why-card:hover .vca-why-icon{

    transform:rotate(-8deg) scale(1.08);

    box-shadow:0 20px 40px rgba(10,88,202,.30);

}

/* ========================================================= */
/* WHY TITLE HOVER */
/* ========================================================= */

.vca-why-card h3{

    transition:.3s;

}

.vca-why-card:hover h3{

    color:var(--primary-color);

}











/* ========================================================= */
/* COMPONENT 31 : HOME COURSES SECTION */
/* ========================================================= */

.vca-home-courses{

    padding:100px 0;

    background:#ffffff;

}

/* ========================================================= */
/* COMPONENT 24 : SECTION HEADER */
/* ========================================================= */

.vca-section-header{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

/* ========================================================= */
/* COMPONENT 25 : SECTION BADGE */
/* ========================================================= */

.vca-section-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    margin-bottom:22px;

    background:rgba(10,88,202,.08);

    border:1px solid rgba(10,88,202,.10);

    border-radius:50px;

    color:var(--primary-color);

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

/* ========================================================= */
/* COMPONENT 26 : SECTION TITLE */
/* ========================================================= */

.vca-section-title{

    font-size:46px;

    font-weight:700;

    line-height:1.2;

    color:var(--dark-color);

    margin-bottom:22px;

}

/* ========================================================= */
/* COMPONENT 27 : SECTION DESCRIPTION */
/* ========================================================= */

.vca-section-description{

    max-width:650px;

    margin:0 auto;

    font-size:18px;

    line-height:1.8;

    color:var(--body-color);

}

/* ========================================================= */
/* COMPONENT 28 : COURSE FILTER BAR */
/* ========================================================= */

.vca-course-filter{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    padding:22px 24px;

    margin-bottom:70px;

    background:#ffffff;

    border:1px solid #E8EDF5;

    border-radius:22px;

    box-shadow:0 12px 35px rgba(15,23,42,.06);
    
    width:100%;

    max-width:100%;

}


/* ========================================================= */
/* COMPONENT 29 : SEARCH BOX */
/* ========================================================= */

.vca-search-box{

    position:relative;

    width:360px;

    flex-shrink:0;

}

.vca-search-box i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#94A3B8;

    font-size:16px;

}

.vca-search-box input{

    width:100%;

    height:56px;

    padding:0 20px 0 48px;

    border:1px solid #DCE4F2;

    border-radius:16px;

    background:#F8FAFC;

    font-size:16px;

    transition:.3s;

}

.vca-search-box input:focus{

    outline:none;

    background:#ffffff;

    border-color:var(--primary-color);

    box-shadow:0 0 0 4px rgba(10,88,202,.08);

}

/* ========================================================= */
/* COMPONENT 30 : CATEGORY BUTTONS */
/* ========================================================= */

.vca-course-categories{

    display:flex;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;

}

.vca-course-categories button{

    height:48px;

    padding:0 22px;

    border:none;

    border-radius:14px;

    background:#F3F6FB;

    color:#334155;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.30s;

}

.vca-course-categories button:hover{

    background:var(--primary-color);

    color:#ffffff;

}

.vca-course-categories button.active{

    background:var(--primary-color);

    color:#ffffff;

}

/* ========================================================= */
/* COMPONENT 32 : COURSE GRID */
/* ========================================================= */

.vca-course-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

/* ========================================================= */
/* COMPONENT 33 : COURSE CARD */
/* ========================================================= */

.vca-course-card{

    background:#ffffff;

    border:1px solid #E5E7EB;

    border-radius:20px;

    padding:35px;

    transition:.35s ease;

    display:flex;

    flex-direction:column;

    height:100%;

    box-shadow:
    0 8px 24px rgba(15,23,42,.05);    

}

.vca-course-card:hover{

     transform:translateY(-10px);

    border-color:rgba(10,88,202,.18);

    box-shadow:
    0 20px 50px rgba(15,23,42,.08),
    0 10px 20px rgba(10,88,202,.08);

}

.vca-course-card:hover .vca-course-icon{

    transform:scale(1.08);

}

.vca-course-card:hover .hero-square{

    transform:

    rotate(25deg)

    scale(1.08);

}

.vca-course-card:hover .hero-ring{

    transform:scale(1.08);

}

.hero-square,

.hero-ring{

    transition:.5s;

}

.vca-arrow{

    transition:.3s;

}

.vca-course-btn:hover .vca-arrow{

    transform:translateX(6px);

}

/* ========================================================= */
/* COMPONENT 34 : COURSE ICON */
/* ========================================================= */

.vca-course-icon{

    width:78px;

    height:78px;

    border-radius:22px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.25);

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:2;
    transition:.35s;
}

.vca-course-icon i{

    color:#ffffff;

    font-size:32px;

}

/* ========================================================= */
/* COMPONENT 35 : COURSE CONTENT */
/* ========================================================= */

.vca-course-content h3{

    font-size:28px;

    font-weight:700;

    color:var(--dark-color);

    margin-bottom:12px;

}

.vca-course-technologies{

    color:var(--primary-color);

    font-size:15px;

    font-weight:600;

    line-height:1.8;

    margin-bottom:18px;

}

.vca-course-description{

    color:var(--body-color);

    line-height:1.8;

    margin-bottom:28px;
    
    font-size:16px;

    max-width:95%;

}

/* ========================================================= */
/* COMPONENT 36 : COURSE META */
/* ========================================================= */

.vca-course-meta{

    list-style:none;

    padding:0;

    margin:0 0 30px;

}

.vca-course-meta li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:14px;

    color:#475569;

}

.vca-course-meta i{

    color:var(--primary-color);

    width:20px;

}

/* ========================================================= */
/* COMPONENT 37 : COURSE BUTTON */
/* ========================================================= */

.vca-course-btn{

    margin-top:auto;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    height:54px;

    border-radius:14px;

    background:var(--primary-color);

    color:#ffffff;

    text-decoration:none;

    font-weight:600;

    transition:.3s ease;

    height:54px;

    font-size:16px;

}

.vca-course-btn:hover{

    background:#0849A6;

    transform:translateY(-2px);

    gap:16px;

    box-shadow:0 10px 25px rgba(10,88,202,.25);

}

/* ========================================================= */
/* COMPONENT 38 : COURSE HERO */
/* ========================================================= */

.vca-course-hero{

    position:relative;

    height:155px;

    margin:-35px -35px 30px;

    border-radius:20px 20px 0 0;

    overflow:hidden;

    background:linear-gradient(
135deg,
#0A58CA 0%,
#2563EB 55%,
#3B82F6 100%
);

    display:flex;

    align-items:center;

    justify-content:center;

}

.vca-course-hero::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
    to bottom,
    rgba(255,255,255,.08),
    rgba(255,255,255,0));

    pointer-events:none;

}

.vca-course-hero .shape{

    position:absolute;

    border-radius:50%;

    opacity:.12;

}

.circle-one{

    width:180px;

    height:180px;

    top:-60px;

    left:-40px;

    background:#ffffff;

}

.circle-two{

    width:140px;

    height:140px;

    right:-30px;

    bottom:-40px;

    background:#ffffff;

}

.accent-line{

    position:absolute;

    bottom:24px;

    left:28px;

    width:95px;

    height:3px;

    border-radius:20px;

    background:#FF6B00;

    opacity:.90;

}

.dot{

    width:14px;

    height:14px;

    right:28px;

    top:28px;

    background:#FF6B00;

    opacity:1;

}

.vca-dot-grid{

    position:absolute;

    top:22px;

    right:22px;

    width:70px;

    height:34px;

    opacity:.30;

    background-image:radial-gradient(
    rgba(255,255,255,.9) 1.3px,
    transparent 1.3px);

    background-size:12px 12px;

}

/* ========================================================= */
/* COMPONENT 39 : HERO DECORATIONS */
/* ========================================================= */

.hero-line{

    position:absolute;

    height:3px;

    border-radius:20px;

    background:rgba(255,255,255,.18);

}

.hero-line-1{

    width:90px;

    right:30px;

    top:38px;

}

.hero-line-2{

    width:60px;

    right:60px;

    top:52px;

}

.hero-square{

    position:absolute;

    width:55px;

    height:55px;

    left:38px;

    bottom:24px;

    border:1px solid rgba(255,255,255,.15);

    border-radius:12px;

    transform:rotate(15deg);

}

.hero-ring{

    position:absolute;

    width:90px;

    height:90px;

    border:2px solid rgba(255,255,255,.08);

    border-radius:50%;

    right:-20px;

    bottom:-20px;

}


/* ========================================================= */
/* COMPONENT 40 : COURSE HERO GRADIENTS */
/* ========================================================= */

/* ================= WEB ================= */

.hero-web{

    background:linear-gradient(
    135deg,
    #0A58CA 0%,
    #2563EB 55%,
    #3B82F6 100%);

}

/* ================= GRAPHIC ================= */

.hero-graphic{

    background:linear-gradient(
    135deg,
    #7C3AED 0%,
    #5B21B6 55%,
    #2563EB 100%);

}

/* ================= TALLY ================= */

.hero-tally{

    background:linear-gradient(
    135deg,
    #0F766E 0%,
    #0891B2 55%,
    #2563EB 100%);

}

/* ================= AI ================= */

.hero-ai{

    background:linear-gradient(
    135deg,
    #4338CA 0%,
    #6366F1 55%,
    #8B5CF6 100%);

}

/* ================= DIGITAL MARKETING ================= */

.hero-marketing{

    background:linear-gradient(
    135deg,
    #0A58CA 0%,
    #0891B2 35%,
    #2563EB 100%);

}

/* ================= FULL STACK ================= */

.hero-fullstack{

    background:linear-gradient(
    135deg,
    #1E3A8A 0%,
    #1D4ED8 55%,
    #2563EB 100%);

}

.hero-web .vca-course-icon{

    background:rgba(255,255,255,.12);

}

.hero-graphic .vca-course-icon{

    background:rgba(255,255,255,.10);

}

.hero-tally .vca-course-icon{

    background:rgba(255,255,255,.11);

}

.hero-ai .vca-course-icon{

    background:rgba(255,255,255,.10);

}

.hero-marketing .vca-course-icon{

    background:rgba(255,255,255,.10);

}

.hero-fullstack .vca-course-icon{

    background:rgba(255,255,255,.12);

}

/* ========================================================= */
/* COMPONENT 42 : COURSE FOOTER LINK */
/* ========================================================= */

.vca-course-footer{

    text-align:center;

    margin-top:56px;

}

.vca-course-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    font-size:17px;

    font-weight:600;

    text-decoration:none;

    color:var(--primary-color);

    

    transition:.3s;

}

.vca-course-link:hover{

    gap:16px;

}














/* ========================================================= */
/* COMPONENT 43 : LEARNING JOURNEY */
/* ========================================================= */

.vca-learning-journey{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:
        radial-gradient(circle at top left,
        rgba(10,88,202,.05),
        transparent 35%),

        radial-gradient(circle at bottom right,
        rgba(255,107,0,.05),
        transparent 35%),

        #ffffff;

}

.vca-learning-journey .vca-container{

    position:relative;

    z-index:2;

}


/* ========================================================= */
/* COMPONENT 44 : JOURNEY WRAPPER */
/* ========================================================= */

.vca-journey-wrapper{

    position:relative;

    margin-top:80px;

}


/* ========================================================= */
/* COMPONENT 45 : TIMELINE */
/* ========================================================= */

.vca-journey-line{

    position:absolute;

    top:74px;

    left:8%;

    width:84%;

    height:4px;

    border-radius:100px;

    background:linear-gradient(
        90deg,
        #0A58CA 0%,
        #3B82F6 50%,
        #E8EEF8 100%
    );

    z-index:1;

}

/* ========================================================= */
/* COMPONENT 46 : JOURNEY LIST */
/* ========================================================= */

.vca-journey-list{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:28px;

}

/* ========================================================= */
/* COMPONENT 47 : JOURNEY ITEM */
/* ========================================================= */

.vca-journey-item{

    flex:1;

    text-align:center;

    display:flex;

    flex-direction:column;

    align-items:center;

    min-height:330px;

    transition:.35s ease;

}

.vca-journey-item:hover{

    transform:translateY(-8px);

}

/* ========================================================= */
/* COMPONENT 48 : STEP NUMBER */
/* ========================================================= */

.vca-step-number{

    margin-bottom:16px;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#94A3B8;

    transition:.30s;

}

/* ========================================================= */
/* COMPONENT 49 : STEP CIRCLE */
/* ========================================================= */

.vca-step-circle{

    width:82px;

    height:82px;

    margin-bottom:28px;

    border-radius:50%;

    background:#F8FBFF;

    border:1px solid #DCE7F5;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:

        0 12px 28px rgba(15,23,42,.06);

    transition:.35s ease;

}

/* ========================================================= */
/* COMPONENT 50 : STEP ICON */
/* ========================================================= */

.vca-step-circle img{

    width:36px;

    height:36px;

    object-fit:contain;

    transition:.35s ease;

}


/* ========================================================= */
/* COMPONENT 51 : STEP TITLE */
/* ========================================================= */

.vca-journey-item h3{

    min-height:62px;

    margin-bottom:16px;

    font-size:22px;

    font-weight:700;

    line-height:1.35;

    color:#1E293B;

    transition:.30s;

}

/* ========================================================= */
/* COMPONENT 52 : STEP DESCRIPTION */
/* ========================================================= */

.vca-journey-item p{

    max-width:220px;

    margin:0 auto;

    font-size:16px;

    line-height:1.8;

    color:#64748B;

}


/* ========================================================= */
/* COMPONENT 53 : HOVER */
/* ========================================================= */

.vca-journey-item:hover .vca-step-number{

    color:var(--primary-color);

    letter-spacing:3px;

}

.vca-journey-item:hover h3{

    color:var(--primary-color);

}

.vca-journey-item:hover .vca-step-circle{

    background:#ffffff;

    border-color:var(--primary-color);

    box-shadow:

        0 18px 42px rgba(10,88,202,.15);

}

.vca-journey-item:hover .vca-step-circle img{

    transform:scale(1.10);

}











/* ========================================================= */
/* COMPONENT 55 : WHY CHOOSE VCA */
/* ========================================================= */

.vca-why-choose{

    position:relative;

    padding:120px 0;

    background:#F8FAFC;

    overflow:hidden;

}

.vca-why-choose .vca-container{

    position:relative;

    z-index:2;

}

/* ========================================================= */
/* COMPONENT 56 : WHY WRAPPER */
/* ========================================================= */

.vca-why-wrapper{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:90px;

    align-items:start;

}

/* ========================================================= */
/* COMPONENT 57 : LEFT CONTENT */
/* ========================================================= */

.vca-why-content{

    position:sticky;

    top:120px;

}

.vca-why-content h2{

    margin:20px 0 24px;

    font-size:48px;

    line-height:1.2;

    color:#1E293B;

}

.vca-why-content p{

    margin-bottom:40px;

    color:#64748B;

    font-size:17px;

    line-height:1.9;

}


/* ========================================================= */
/* COMPONENT 58 : FEATURE LIST */
/* ========================================================= */

.vca-why-features{

    display:flex;

    flex-direction:column;

    gap:22px;

}

/* ========================================================= */
/* COMPONENT 59 : FEATURE ITEM */
/* ========================================================= */

.vca-feature-item{

    display:flex;

    align-items:flex-start;

    gap:24px;

    padding:28px;

    background:#ffffff;

    border:1px solid #E7EDF5;

    border-radius:22px;

    transition:.35s ease;

}


/* ========================================================= */
/* COMPONENT 60 : FEATURE ICON */
/* ========================================================= */

.vca-feature-icon{

    width:72px;

    height:72px;

    flex-shrink:0;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#F0F5FF;

    border:1px solid #D8E6FF;

    transition:.35s ease;

}

.vca-feature-icon img{

    width:34px;

    height:34px;

    object-fit:contain;

}


/* ========================================================= */
/* COMPONENT 61 : FEATURE CONTENT */
/* ========================================================= */

.vca-feature-content{

    flex:1;

}

.vca-feature-content h3{

    margin-bottom:10px;

    font-size:22px;

    font-weight:700;

    color:#1E293B;

    transition:.30s;

}

.vca-feature-content p{

    color:#64748B;

    line-height:1.8;

    font-size:16px;

}

/* ========================================================= */
/* COMPONENT 62 : FEATURE HOVER */
/* ========================================================= */

.vca-feature-item:hover{

    transform:translateY(-6px);

    border-color:var(--primary-color);

    box-shadow:0 18px 45px rgba(10,88,202,.10);

}

.vca-feature-item:hover .vca-feature-icon{

    background:var(--primary-color);

    border-color:var(--primary-color);

}

.vca-feature-item:hover .vca-feature-icon img{

    filter:brightness(0) invert(1);

}

.vca-feature-item:hover h3{

    color:var(--primary-color);

}

/* ========================================================= */
/* COMPONENT 63 : BACKGROUND DECORATION */
/* ========================================================= */

.vca-why-choose::before{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    left:-140px;

    top:-120px;

    border-radius:50%;

    background:rgba(10,88,202,.05);

    filter:blur(90px);

}

.vca-why-choose::after{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    right:-100px;

    bottom:-100px;

    border-radius:50%;

    background:rgba(255,107,0,.05);

    filter:blur(80px);

}












/* ========================================================= */
/* COMPONENT 65 : STUDENT SUCCESS */
/* ========================================================= */

.vca-testimonials{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:#ffffff;

}

.vca-testimonials .vca-container{

    position:relative;

    z-index:2;

}

/* ========================================================= */
/* COMPONENT 66 : TESTIMONIAL SLIDER */
/* ========================================================= */

.vca-testimonial-slider{

    position:relative;

    margin-top:70px;

    margin-bottom:90px;

}

/* ========================================================= */
/* COMPONENT 67 : SLIDER TRACK */
/* ========================================================= */

.vca-slider-track{

    position:relative;

    width:100%;

    min-height:540px;

}

/* ========================================================= */
/* COMPONENT 68 : SLIDE */
/* ========================================================= */

.vca-slide{

    position:absolute;

    inset:0;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateY(20px) scale(.98);

    transition:

        opacity .6s ease,

        transform .6s ease,

        visibility .6s;

}

.vca-slide.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateY(0) scale(1);

    z-index:2;

}

/* ========================================================= */
/* COMPONENT 69 : SLIDE CARD */
/* ========================================================= */

.vca-slide-card{

    position:relative;

    width:100%;

    padding:60px;

    border-radius:32px;

    border:1px solid #EEF2F8;

    background:

        linear-gradient(

        180deg,

        #FFFFFF 0%,

        #FBFCFE 100%

        );

    box-shadow:

        0 20px 60px rgba(15,23,42,.08);

}

/* ========================================================= */
/* COMPONENT 70 : TESTIMONIAL WRAPPER */
/* ========================================================= */

.vca-testimonial-wrapper{

    display:grid;

    grid-template-columns:340px 1fr;

    align-items:center;

    gap:70px;

}


/* ========================================================= */
/* COMPONENT 71 : STUDENT PROFILE */
/* ========================================================= */

.vca-student-profile{

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

}

/* ========================================================= */
/* COMPONENT 72 : STUDENT PHOTO */
/* ========================================================= */

.vca-student-photo{

    position:relative;

    width:100%;

    overflow:hidden;

    border-radius:26px;

    background:#F8FAFC;

    border:1px solid #EEF2F8;

    box-shadow:

        0 18px 45px rgba(15,23,42,.08);

    transition:.35s ease;

}

.vca-student-photo img{

    display:block;

    width:100%;

    height:auto;

    object-fit:cover;

    transition:transform .45s ease;

}

.vca-slide-card:hover .vca-student-photo{

    transform:translateY(-4px);

    box-shadow:

        0 25px 60px rgba(15,23,42,.12);

}

.vca-slide-card:hover .vca-student-photo img{

    transform:scale(1.04);

}

/* ========================================================= */
/* COMPONENT 73 : VERIFIED BADGE */
/* ========================================================= */

.vca-student-badge{

    margin-top:22px;

}

.vca-student-badge span{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    border-radius:50px;

    background:#ECFDF5;

    color:#10B981;

    font-size:14px;

    font-weight:600;

    border:1px solid rgba(16,185,129,.15);

}

/* ========================================================= */
/* COMPONENT 74 : COURSE BADGE */
/* ========================================================= */

.vca-student-course{

    margin-top:16px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:50px;

    background:#F0F5FF;

    color:var(--primary-color);

    font-size:15px;

    font-weight:600;

    border:1px solid rgba(10,88,202,.08);

}

/* ========================================================= */
/* COMPONENT 75 : STUDENT RATING */
/* ========================================================= */

.vca-student-rating{

    margin-top:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:4px;

    font-size:22px;

    color:#FDBA12;

    letter-spacing:2px;

}


/* ========================================================= */
/* COMPONENT 76 : TESTIMONIAL CONTENT */
/* ========================================================= */

.vca-testimonial-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

/* ========================================================= */
/* COMPONENT 77 : QUOTE ICON */
/* ========================================================= */

.vca-quote-icon{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

    border-radius:20px;

    background:#F0F5FF;

    border:1px solid #E5EEFF;

}

.vca-quote-icon img{

    width:34px;

    height:34px;

}

/* ========================================================= */
/* COMPONENT 78 : BLOCKQUOTE */
/* ========================================================= */

.vca-testimonial-content blockquote{

    margin:0;

    font-size:28px;

    line-height:1.8;

    font-weight:500;

    color:#334155;

}

/* ========================================================= */
/* COMPONENT 79 : STUDENT INFO */
/* ========================================================= */

.vca-student-info{

    margin-top:40px;

}

.vca-student-info h3{

    margin-bottom:8px;

    font-size:26px;

    font-weight:700;

    color:#1E293B;

}

.vca-student-info span{

    display:block;

    font-size:16px;

    color:#64748B;

}

/* ========================================================= */
/* COMPONENT 80 : NAVIGATION BUTTONS */
/* ========================================================= */

.vca-slider-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:none;

    border-radius:50%;

    background:#FFFFFF;

    border:1px solid #E7EDF5;

    box-shadow:0 12px 35px rgba(15,23,42,.08);

    cursor:pointer;

    transition:.35s ease;

    z-index:20;

}

.vca-slider-btn img{

    width:22px;

    height:22px;

}

.vca-slider-btn.prev{

    left:-28px;

}

.vca-slider-btn.next{

    right:-28px;

}

.vca-slider-btn:hover{

    background:var(--primary-color);

    border-color:var(--primary-color);

    transform:translateY(-50%) scale(1.08);

}

.vca-slider-btn:hover img{

    filter:brightness(0) invert(1);

}

/* ========================================================= */
/* COMPONENT 81 : DOT NAVIGATION */
/* ========================================================= */

.vca-testimonial-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:14px;

    margin-top:45px;

}

.vca-testimonial-dots button{

    width:12px;

    height:12px;

    border:none;

    border-radius:50%;

    background:#CBD5E1;

    cursor:pointer;

    transition:.35s ease;

}

.vca-testimonial-dots button.active{

    width:42px;

    border-radius:50px;

    background:var(--primary-color);

}

/* ========================================================= */
/* COMPONENT 82 : SUCCESS STATS */
/* ========================================================= */

.vca-success-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:90px;

}

/* ========================================================= */
/* COMPONENT 83 : STAT CARD */
/* ========================================================= */

.vca-stat-item{

    position:relative;

    padding:38px 25px;

    text-align:center;

    border-radius:24px;

    background:#FFFFFF;

    border:1px solid #EEF2F8;

    box-shadow:0 12px 35px rgba(15,23,42,.05);

    transition:all .35s ease;

}

.vca-stat-item h3{

    margin-bottom:10px;

    font-size:42px;

    font-weight:700;

    color:var(--primary-color);

    line-height:1;

}

.vca-stat-item p{

    margin:0;

    font-size:16px;

    color:#64748B;

    line-height:1.6;

}

/* ========================================================= */
/* COMPONENT 84 : STAT HOVER */
/* ========================================================= */

.vca-stat-item:hover{

    transform:translateY(-8px);

    border-color:rgba(10,88,202,.15);

    box-shadow:0 22px 55px rgba(15,23,42,.10);

}

.vca-stat-item:hover h3{

    color:var(--accent-color);

}

/* ========================================================= */
/* COMPONENT 85 : BACKGROUND SHAPES */
/* ========================================================= */

.vca-testimonial-bg{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;

    z-index:1;

}

.vca-testimonial-bg.bg-one{

    width:320px;

    height:320px;

    top:-100px;

    left:-120px;

    background:rgba(10,88,202,.08);

}

.vca-testimonial-bg.bg-two{

    width:260px;

    height:260px;

    bottom:-80px;

    right:-80px;

    background:rgba(255,107,0,.08);

}

/* ========================================================= */
/* COMPONENT 86 : FINAL POLISH */
/* ========================================================= */

.vca-slide-card,
.vca-stat-item,
.vca-slider-btn{

    will-change:transform;

}

.vca-slide-card{

    transition:

        transform .35s ease,

        box-shadow .35s ease;

}

.vca-slide-card:hover{

    transform:translateY(-6px);

    box-shadow:0 28px 70px rgba(15,23,42,.10);

}




/* ========================================================= */
/* COMPONENT 87 : CERTIFICATION & RECOGNITION */
/* ========================================================= */

.vca-certification{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:#F8FAFC;

}

.vca-certification .vca-container{

    position:relative;

    z-index:2;

}

/* ========================================================= */
/* COMPONENT 88 : BACKGROUND SHAPES */
/* ========================================================= */

.vca-certification-bg{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    pointer-events:none;

}

.vca-certification-bg.bg-one{

    width:320px;

    height:320px;

    top:-120px;

    left:-120px;

    background:rgba(10,88,202,.06);

}

.vca-certification-bg.bg-two{

    width:260px;

    height:260px;

    right:-80px;

    bottom:-80px;

    background:rgba(255,107,0,.05);

}

/* ========================================================= */
/* COMPONENT 89 : CERTIFICATION GRID */
/* ========================================================= */

.vca-certification-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

    margin-top:70px;

}

/* ========================================================= */
/* COMPONENT 90 : CERTIFICATION CARD */
/* ========================================================= */

.vca-certification-card{

    position:relative;

    padding:40px 35px;

    border-radius:24px;

    background:#FFFFFF;

    border:1px solid #E8EEF6;

    text-align:center;

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease,

        background .35s ease;

    box-shadow:

        0 12px 35px rgba(15,23,42,.05);

}


/* ========================================================= */
/* COMPONENT 91 : FEATURED CERTIFICATION CARD */
/* ========================================================= */

.vca-certification-card:first-child{

    background:linear-gradient(
        180deg,
        #F0F5FF 0%,
        #FFFFFF 100%
    );

    border:1px solid rgba(10,88,202,.18);

    box-shadow:
        0 18px 45px rgba(10,88,202,.08);

}

/* ========================================================= */
/* COMPONENT 92 : CERTIFICATION ICON */
/* ========================================================= */

.vca-cert-icon{

    width:90px;

    height:90px;

    margin:0 auto 28px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:22px;

    background:#F8FBFF;

    border:1px solid #E3ECF8;

    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;

}

.vca-cert-icon img{

    width:44px;

    height:44px;

    object-fit:contain;

    transition:transform .35s ease;

}

/* Featured Card Icon */

.vca-certification-card:first-child .vca-cert-icon{

    width:98px;

    height:98px;

    background:#FFFFFF;

    border-color:rgba(10,88,202,.20);

}

/* ========================================================= */
/* COMPONENT 93 : CARD TITLE */
/* ========================================================= */

.vca-certification-card h3{

    margin-bottom:16px;

    font-size:24px;

    font-weight:700;

    line-height:1.35;

    color:#1E293B;

    transition:.35s ease;

}

/* ========================================================= */
/* COMPONENT 94 : CARD DESCRIPTION */
/* ========================================================= */

.vca-certification-card p{

    margin:0;

    font-size:16px;

    line-height:1.8;

    color:#64748B;

}

/* ========================================================= */
/* COMPONENT 95 : CARD HOVER */
/* ========================================================= */

.vca-certification-card:hover{

    transform:translateY(-10px);

    border-color:rgba(10,88,202,.18);

    box-shadow:
        0 28px 60px rgba(15,23,42,.10);

}

.vca-certification-card:hover .vca-cert-icon{

    background:#FFFFFF;

    border-color:var(--primary-color);

    box-shadow:
        0 15px 35px rgba(10,88,202,.12);

}

.vca-certification-card:hover .vca-cert-icon img{

    transform:scale(1.12);

}

.vca-certification-card:hover h3{

    color:var(--primary-color);

}

/* Featured Card Hover */

.vca-certification-card:first-child:hover{

    border-color:var(--primary-color);

    box-shadow:
        0 30px 65px rgba(10,88,202,.15);

}


/* ========================================================= */
/* COMPONENT 96 : CERTIFIED BADGE */
/* ========================================================= */

.vca-certification-card:first-child::before{

    content:"CERTIFIED";

    position:absolute;

    top:22px;

    right:22px;

    padding:8px 14px;

    border-radius:50px;

    background:#0A58CA;

    color:#FFFFFF;

    font-size:11px;

    font-weight:700;

    letter-spacing:1.5px;

    line-height:1;

    box-shadow:
        0 8px 20px rgba(10,88,202,.20);

}

/* ========================================================= */
/* COMPONENT 97 : CARD TOP ACCENT */
/* ========================================================= */

.vca-certification-card::after{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    transform:translateX(-50%);

    width:0;

    height:4px;

    border-radius:50px;

    background:var(--primary-color);

    transition:width .35s ease;

}

.vca-certification-card:hover::after{

    width:70%;

}

/* ========================================================= */
/* COMPONENT 98 : ICON ANIMATION */
/* ========================================================= */

.vca-certification-card:hover .vca-cert-icon{

    transform:translateY(-5px) rotate(4deg);

}

/* ========================================================= */
/* COMPONENT 99 : SMOOTH TRANSITIONS */
/* ========================================================= */

.vca-certification-card,
.vca-cert-icon,
.vca-cert-icon img,
.vca-certification-card h3{

    will-change:transform;

}

/* ========================================================= */
/* COMPONENT 100 : FINAL POLISH */
/* ========================================================= */

.vca-certification-card{

    overflow:hidden;

}

.vca-certification-card:hover{

    background:#FFFFFF;

}

.vca-certification-grid{

    align-items:stretch;

}

.vca-certification-card h3{

    min-height:64px;

}

.vca-certification-card p{

    min-height:90px;

}






/* ========================================================= */
/* COMPONENT 101 : FREQUENTLY ASKED QUESTIONS */
/* ========================================================= */

.vca-faq{

    position:relative;

    padding:120px 0;

    background:#FFFFFF;

    overflow:hidden;

}

.vca-faq .vca-container{

    position:relative;

    z-index:2;

}

/* ========================================================= */
/* COMPONENT 102 : BACKGROUND SHAPES */
/* ========================================================= */

.vca-faq-bg{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    pointer-events:none;

}

.vca-faq-bg.bg-one{

    width:300px;

    height:300px;

    top:-100px;

    left:-120px;

    background:rgba(10,88,202,.05);

}

.vca-faq-bg.bg-two{

    width:240px;

    height:240px;

    right:-80px;

    bottom:-80px;

    background:rgba(255,107,0,.05);

}

/* ========================================================= */
/* COMPONENT 103 : FAQ WRAPPER */
/* ========================================================= */

.vca-faq-wrapper{

    display:grid;

    grid-template-columns:360px 1fr;

    gap:60px;

    align-items:start;

    margin-top:70px;

}

/* ========================================================= */
/* COMPONENT 104 : LEFT INFO PANEL */
/* ========================================================= */

.vca-faq-info{

    position:sticky;

    top:120px;

    padding:40px;

    border-radius:28px;

    background:#F8FAFC;

    border:1px solid #E8EEF6;

    box-shadow:

        0 18px 45px rgba(15,23,42,.05);

}

/* ========================================================= */
/* COMPONENT 105 : FAQ ICON */
/* ========================================================= */

.vca-faq-icon{

    width:90px;

    height:90px;

    margin-bottom:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:22px;

    background:#FFFFFF;

    border:1px solid #E2E8F0;

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.vca-faq-icon img{

    width:42px;

    height:42px;

    object-fit:contain;

    transition:transform .35s ease;

}



/* ========================================================= */
/* COMPONENT 106 : FAQ INFO CONTENT */
/* ========================================================= */

.vca-faq-info h3{

    margin-bottom:18px;

    font-size:30px;

    font-weight:700;

    line-height:1.3;

    color:#1E293B;

}

.vca-faq-info p{

    margin-bottom:32px;

    font-size:16px;

    line-height:1.8;

    color:#64748B;

}

/* ========================================================= */
/* COMPONENT 107 : FAQ BUTTON */
/* ========================================================= */

.vca-faq-info .vca-btn-primary{

    width:100%;

    justify-content:center;

}

/* ========================================================= */
/* COMPONENT 108 : ACCORDION */
/* ========================================================= */

.vca-faq-accordion{

    display:flex;

    flex-direction:column;

    gap:20px;

}

/* ========================================================= */
/* COMPONENT 109 : FAQ ITEM */
/* ========================================================= */

.vca-faq-item{

    background:#FFFFFF;

    border:1px solid #E8EEF6;

    border-radius:22px;

    overflow:hidden;

    transition:

        border-color .35s ease,

        box-shadow .35s ease,

        transform .35s ease;

}

/* ========================================================= */
/* COMPONENT 110 : QUESTION BUTTON */
/* ========================================================= */

.vca-faq-question{

    width:100%;

    padding:28px 30px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:24px;

    background:none;

    border:none;

    cursor:pointer;

    text-align:left;

    font:inherit;

}

.vca-faq-question span{

    font-size:20px;

    font-weight:600;

    line-height:1.5;

    color:#1E293B;

}

/* ========================================================= */
/* COMPONENT 111 : PLUS ICON */
/* ========================================================= */

.vca-faq-question img{

    width:22px;

    height:22px;

    flex-shrink:0;

    transition:

        transform .35s ease;

}


/* ========================================================= */
/* COMPONENT 112 : FAQ ANSWER */
/* ========================================================= */

.vca-faq-answer{

    max-height:0;

    overflow:hidden;

    transition:

        max-height .45s ease,

        padding .35s ease;

}

.vca-faq-answer p{

    padding:0 30px 0;

    margin:0;

    font-size:16px;

    line-height:1.9;

    color:#64748B;

}

/* ========================================================= */
/* COMPONENT 113 : ACTIVE FAQ */
/* ========================================================= */

.vca-faq-item.active{

    border-color:rgba(10,88,202,.18);

    background:#F8FBFF;

    box-shadow:

        0 18px 40px rgba(10,88,202,.08);

}

.vca-faq-item.active .vca-faq-answer{

    max-height:250px;

    padding-bottom:30px;

}

.vca-faq-item.active .vca-faq-question span{

    color:var(--primary-color);

}

/* ========================================================= */
/* COMPONENT 114 : LEFT ACCENT */
/* ========================================================= */

.vca-faq-item{

    position:relative;

}

.vca-faq-item::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:0;

    background:var(--primary-color);

    border-radius:20px;

    transition:height .35s ease;

}

.vca-faq-item.active::before{

    height:100%;

}

/* ========================================================= */
/* COMPONENT 115 : PLUS ICON */
/* ========================================================= */

.vca-faq-item.active .vca-faq-question img{

    transform:rotate(45deg);

}

.vca-faq-item:hover .vca-faq-question img{

    transform:scale(1.08);

}

/* ========================================================= */
/* COMPONENT 116 : HOVER */
/* ========================================================= */

.vca-faq-item:hover{

    transform:translateY(-4px);

    box-shadow:

        0 18px 45px rgba(15,23,42,.06);

}

/* ========================================================= */
/* COMPONENT 117 : LEFT PANEL HOVER */
/* ========================================================= */

.vca-faq-info:hover .vca-faq-icon{

    border-color:var(--primary-color);

    box-shadow:

        0 15px 35px rgba(10,88,202,.12);

    transform:translateY(-4px);

}

.vca-faq-info:hover .vca-faq-icon img{

    transform:scale(1.10);

}

/* ========================================================= */
/* COMPONENT 118 : PERFORMANCE */
/* ========================================================= */

.vca-faq-item,
.vca-faq-icon,
.vca-faq-question img{

    will-change:transform;

}







/* ========================================================= */
/* COMPONENT 119 : FINAL CTA */
/* ========================================================= */

.vca-cta{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:#FFFFFF;

}

.vca-cta .vca-container{

    position:relative;

    z-index:2;

}

/* ========================================================= */
/* COMPONENT 120 : CTA BACKGROUND */
/* ========================================================= */

.vca-cta-bg{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    pointer-events:none;

}

.vca-cta-bg.bg-one{

    width:320px;

    height:320px;

    top:-120px;

    left:-120px;

    background:rgba(10,88,202,.05);

}

.vca-cta-bg.bg-two{

    width:260px;

    height:260px;

    right:-80px;

    bottom:-80px;

    background:rgba(255,107,0,.05);

}

/* ========================================================= */
/* COMPONENT 121 : CTA WRAPPER */
/* ========================================================= */

.vca-cta-wrapper{

    display:grid;

    grid-template-columns:1.25fr .75fr;

    gap:70px;

    align-items:center;

    padding:70px;

    border-radius:36px;

    background:linear-gradient(
        135deg,
        #F8FBFF,
        #FFFFFF
    );

    border:1px solid #E6EEF8;

    box-shadow:

        0 30px 80px rgba(15,23,42,.08);

}

/* ========================================================= */
/* COMPONENT 122 : CTA CONTENT */
/* ========================================================= */

.vca-nowrap{

    white-space:nowrap;

}

.vca-cta-content h2{

    margin:20px 0 24px;

    font-size:46px;

    font-weight:800;

    line-height:1.15;

    color:#1E293B;

}

.vca-cta-content p{

    max-width:580px;

    margin-bottom:36px;

    font-size:18px;

    line-height:1.9;

    color:#64748B;

}

/* ========================================================= */
/* COMPONENT 123 : CTA BUTTONS */
/* ========================================================= */

.vca-cta-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:40px;

}

.vca-cta-buttons .vca-btn-primary,
.vca-cta-buttons .vca-btn-secondary{

    min-width:190px;

    justify-content:center;

}

/* ========================================================= */
/* COMPONENT 124 : CTA ILLUSTRATION */
/* ========================================================= */

.vca-cta-image{

      display:flex;

    align-items:center;

    justify-content:flex-end;

    position:relative;

    transform:translateX(-25px);

}

.vca-cta-image img{

    width:100%;

    max-width:560px;

    height:auto;

    animation:vcaFloat 6s ease-in-out infinite;

    transition:transform .35s ease;

}

/* ========================================================= */
/* COMPONENT 125 : CTA HOVER */
/* ========================================================= */

.vca-cta-wrapper:hover{

    box-shadow:

        0 35px 80px rgba(15,23,42,.08);

}

.vca-cta-wrapper:hover .vca-cta-image img{

    transform:scale(1.05);

}

/* ========================================================= */
/* COMPONENT 126 : FLOAT ANIMATION */
/* ========================================================= */

@keyframes vcaFloat{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-40px);

    }

    100%{

        transform:translateY(0px);

    }

}

/* ========================================================= */
/* COMPONENT 127 : PERFORMANCE */
/* ========================================================= */

.vca-cta-wrapper,
.vca-cta-image img{

    will-change:transform;

}

.vca-btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border:2px solid #0A58CA;

    border-radius:999px;

    background:#FFFFFF;

    color:#0A58CA;

    font-weight:600;

    text-decoration:none;

    transition:.35s ease;

}

.vca-btn-secondary:hover{

    background:#0A58CA;

    color:#FFFFFF;

}










/* ========================================================= */
/* COMPONENT 128 : FOOTER */
/* ========================================================= */

.vca-footer{

    position:relative;

    background:#0F172A;

    color:#FFFFFF;

    overflow:hidden;

}

/* ========================================================= */
/* COMPONENT 129 : NEWSLETTER */
/* ========================================================= */

.vca-footer-newsletter{

    padding:90px 0;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.vca-newsletter-wrapper{

    display:grid;

    grid-template-columns:1fr auto;

    gap:60px;

    align-items:center;

}

.vca-newsletter-content h2{

    margin:20px 0;

    font-size:42px;

    font-weight:700;

    line-height:1.25;

    color:#FFFFFF;

}

.vca-newsletter-content p{

    max-width:620px;

    font-size:17px;

    line-height:1.9;

    color:rgba(255,255,255,.75);

}

/* ========================================================= */
/* COMPONENT 130 : NEWSLETTER FORM */
/* ========================================================= */

.vca-newsletter-form{

    display:flex;

    gap:16px;

    align-items:center;

}

.vca-newsletter-form input{

    width:340px;

    height:58px;

    padding:0 22px;

    border:none;

    outline:none;

    border-radius:999px;

    background:#FFFFFF;

    font-size:16px;

}

.vca-newsletter-form input::placeholder{

    color:#94A3B8;

}


/* ========================================================= */
/* COMPONENT 131 : NEWSLETTER BUTTON */
/* ========================================================= */

.vca-newsletter-form .vca-btn-primary{

    height:58px;

    padding:0 30px;

    flex-shrink:0;

}

/* ========================================================= */
/* COMPONENT 132 : MAIN FOOTER */
/* ========================================================= */

.vca-footer-main{

    padding:80px 0 50px;

}

/* ========================================================= */
/* COMPONENT 133 : FOOTER GRID */
/* ========================================================= */

.vca-footer-grid{

    display:grid;

    grid-template-columns:
        1.3fr
        1fr
        1fr
        1.2fr;

    gap:60px;

}

/* ========================================================= */
/* COMPONENT 134 : BRAND */
/* ========================================================= */

.vca-footer-brand img{

    width:220px;

    height:auto;

    margin-bottom:24px;

}

.vca-footer-brand p{

    margin-bottom:18px;

    font-size:18px;

    font-weight:600;

    color:#FFFFFF;

}

.vca-footer-brand span{

    display:block;

    font-size:15px;

    line-height:1.9;

    color:rgba(255,255,255,.70);

}

/* ========================================================= */
/* COMPONENT 135 : FOOTER TITLES */
/* ========================================================= */

.vca-footer-links h4,
.vca-footer-contact h4{

    margin-bottom:28px;

    font-size:20px;

    font-weight:700;

    color:#FFFFFF;

}

/* ========================================================= */
/* COMPONENT 136 : FOOTER LIST */
/* ========================================================= */

.vca-footer-links ul,
.vca-footer-contact ul{

    list-style:none;

    margin:0;

    padding:0;

}

.vca-footer-links li{

    margin-bottom:16px;

}

.vca-footer-links a{

    color:rgba(255,255,255,.72);

    text-decoration:none;

    transition:.30s ease;

}

.vca-footer-links a:hover{

    color:#FFFFFF;

    padding-left:8px;

}


/* ========================================================= */
/* COMPONENT 137 : FOOTER CONTACT */
/* ========================================================= */

.vca-footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:14px;

    margin-bottom:22px;

}

.vca-footer-contact li:hover img{

    filter: brightness(0) saturate(100%)
            invert(53%) sepia(92%)
            saturate(1815%)
            hue-rotate(5deg)
            brightness(102%)
            contrast(101%);

}

.vca-footer-contact img{

    width:20px;

    height:20px;

    margin-top:3px;

    flex-shrink:0;

}

.vca-footer-contact span,
.vca-footer-contact a{

    color:rgba(255,255,255,.72);

    text-decoration:none;

    line-height:1.8;

    transition:.30s ease;

}

.vca-footer-contact a:hover{

    color:#FFFFFF;

}

/* ========================================================= */
/* COMPONENT 138 : CHEVRON LINKS */
/* ========================================================= */

.vca-footer-links li a{

    display:flex;

    align-items:center;

    gap:10px;

}

.vca-footer-links li a img{

    width:16px;

    height:16px;

    opacity:.75;

    transition:.30s ease;

}

.vca-footer-links li a:hover img{

    transform:translateX(4px);

    opacity:1;

}

/* ========================================================= */
/* COMPONENT 139 : FOOTER DIVIDER */
/* ========================================================= */

.vca-footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    padding:30px 0;

}

/* ========================================================= */
/* COMPONENT 140 : FOOTER BOTTOM */
/* ========================================================= */

.vca-footer-bottom-wrapper{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

}

.vca-footer-bottom p{

    margin:0;

    color:rgba(255,255,255,.65);

    font-size:15px;

}

.vca-footer-bottom-links{

    display:flex;

    gap:24px;

    flex-wrap:wrap;

}

.vca-footer-bottom-links a{

    color:rgba(255,255,255,.65);

    text-decoration:none;

    transition:.30s ease;

}

.vca-footer-bottom-links a:hover{

    color:#FFFFFF;

}

/* ========================================================= */
/* COMPONENT 141 : FOOTER HOVER */
/* ========================================================= */

.vca-footer-links a,
.vca-footer-contact a{

    will-change:transform;

}


/* ========================================================= */
/* COMPONENT 142 : FOOTER SOCIAL */
/* ========================================================= */

.vca-footer-social{

    display:flex;

    align-items:center;

    gap:14px;

}

.vca-footer-social a{

    display:flex;

    align-items:center;

    justify-content:center;

    width:42px;

    height:42px;

   border:1px solid rgba(255,255,255,.15);

    border-radius:50%;

    background:transparent;

    transition:all .35s ease;

}

.vca-footer-social img{

    width:20px;

    height:20px;

    transition:all .35s ease;

}

.vca-footer-social a:hover{

    background:#FF6B00;

    border-color:#FF6B00;

    transform:translateY(-4px);

    box-shadow:

        0 12px 30px rgba(255,107,0,.30);

}

.vca-footer-social a:hover img{

    filter:brightness(0) invert(1);

}