
/*====================================
CURRICULUM SECTION
====================================*/

.curriculum-section{
    position: relative;
    overflow: hidden;
    padding: 110px 0 90px;
    background: #f7f3fb;
}

/*====================================
BACKGROUND EMOJIS
====================================*/

.bg-emoji{
    position: absolute;
    opacity: .10;
    z-index: 0;
    pointer-events: none;
}

.bg-emoji.book{
    top: 110px;
    right: 55px;
    font-size: 90px;
    animation: swingBook 5s ease-in-out infinite;
}

.bg-emoji.star{
    left: 80px;
    bottom: 120px;
    font-size: 70px;
    animation: floatStar 4s ease-in-out infinite;
}

/*====================================
TOP AREA
====================================*/

.curriculum-top{
    position: relative;
    z-index: 2;
padding:120px 0;
    max-width: 900px;

    margin: auto auto 0px;

    text-align: center;
}

.logo-card{
    width: 450px;

    margin: auto auto 35px;

    background: #fff;

    border-radius: 26px;

    padding: 20px;

   
}

.logo-card img{
    width: 100%;
    display: block;
}

.curriculum-top h2{
    font-size: 30px;
    line-height: 1.15;
    /* margin-bottom: 24px; */

    color: #7a46ff;

    font-weight: 400;
}

.curriculum-top h2 span{
    color: #6e38ff;
}

.curriculum-top p{
    font-size: 18px;
    line-height: 1.85;

    color: #5f6675;

    max-width: 980px;

    margin: auto;
}


.curriculum-journey{
    position: relative;
    overflow: hidden;

    border-radius: 34px;

    background: linear-gradient(135deg,#5d5dfb 0%, #bf43ff 100%);

    padding: 45px 38px;

    box-shadow: 0 25px 60px rgba(124,77,255,.30);

    z-index: 2;
}

.corner-pattern{
    position: absolute;

    top: 0px;
    right: -40px;

    font-size: 90px;

    opacity: .18;

    animation: rotatePattern 14s linear infinite;
}

.curriculum-journey h3{
    color: #fff;

    font-size: 30px;

    font-weight: 400;
}

.curriculum-journey p{
    color: rgba(255,255,255,.92);

    font-size: 18px;

    margin-bottom:10px;
    max-width: 1180px;
}

/*====================================
GRID
====================================*/

.journey-grid-1{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px;
}

.journey-item{
    text-align: center;
}

.journey-icon{
    font-size: 60px;
display: inline-block;
}

.journey-item h4{
    color: #fff;

    font-size: 16px;

    line-height: 1.5;

    font-weight: 500;
}


.icon-1{
    animation: bounce1 3s ease-in-out infinite;
}

.icon-2{
    animation: bounce2 3.5s ease-in-out infinite;
}

.icon-3{
    animation: bounce3 4s ease-in-out infinite;
}

.icon-4{
    animation: bounce4 3.2s ease-in-out infinite;
}

.icon-5{
    animation: bounce5 3.8s ease-in-out infinite;
}


@keyframes floatCard{
    0%{
        transform: translateY(0px);
    }
    50%{
        transform: translateY(-12px);
    }
    100%{
        transform: translateY(0px);
    }
}

@keyframes rotatePattern{
    from{
        transform: rotate(0deg);
    }
    to{
        transform: rotate(360deg);
    }
}

@keyframes swingBook{
    0%{
        transform: rotate(-8deg);
    }
    50%{
        transform: rotate(8deg);
    }
    100%{
        transform: rotate(-8deg);
    }
}

@keyframes floatStar{
    0%{
        transform: translateY(0px);
    }
    50%{
        transform: translateY(-15px);
    }
    100%{
        transform: translateY(0px);
    }
}

@keyframes bounce1{
    0%,100%{
        transform: translateY(0px) rotate(-8deg);
    }
    50%{
        transform: translateY(-12px) rotate(8deg);
    }
}

@keyframes bounce2{
    0%,100%{
        transform: translateY(0px) rotate(10deg);
    }
    50%{
        transform: translateY(-16px) rotate(-10deg);
    }
}

@keyframes bounce3{
    0%,100%{
        transform: translateY(0px) rotate(-5deg);
    }
    50%{
        transform: translateY(-14px) rotate(5deg);
    }
}

@keyframes bounce4{
    0%,100%{
        transform: translateY(0px) rotate(6deg);
    }
    50%{
        transform: translateY(-10px) rotate(-6deg);
    }
}

@keyframes bounce5{
    0%,100%{
        transform: translateY(0px) rotate(-10deg);
    }
    50%{
        transform: translateY(-18px) rotate(10deg);
    }
}


@media(max-width:1200px){

    .journey-grid-1{
        grid-template-columns: repeat(3,1fr);
        row-gap: 35px;
    }

}

@media(max-width:768px){

    .curriculum-section{
        padding: 80px 0;
    }

    .logo-card{
        width: 180px;
    }

    .curriculum-top h2{
        font-size: 42px;
    }

    .curriculum-top p{
        font-size: 15px;
        line-height: 1.8;
    }

    .journey-card{
        padding: 40px 24px;
    }

    .journey-card h3{
        font-size: 34px;
    }

    .journey-card p{
        font-size: 16px;
        margin-bottom: 40px;
    }

    .journey-grid-1{
        grid-template-columns: repeat(2,1fr);
    }

    .journey-icon{
        font-size: 52px;
    }

}

@media(max-width:576px){

    .journey-grid-1{
        grid-template-columns: 1fr;
    }

    .curriculum-top h2{
        font-size: 34px;
    }

    .bg-emoji.book{
        font-size: 60px;
        right: 20px;
    }

}



/*========================*/

.journey-grid-1{
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns: repeat(5,1fr);

    gap: 24px;
}


/*========================*/

.journey-card{
    position: relative;

    padding: 30px 22px;

    border-radius: var(--radius-xl);

    background:
    rgba(255,255,255,0.75);

    border: 1px solid rgba(255,255,255,0.7);

    text-align: center;

    transition: var(--transition);

    overflow: hidden;
}

.journey-card::before{
    content: "";

    position: absolute;

    inset: 0;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,0.1),
        transparent
    );

    opacity: 0;

    transition: var(--transition);
}

.journey-card:hover{
    transform: translateY(-12px);

    box-shadow: var(--shadow-hover);
}

.journey-card:hover::before{
    opacity: 1;
}


/*========================*/

.journey-icon{
    width: 85px;
    height: 85px;

    margin: auto auto 0px;

    border-radius: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 34px;

    position: relative;

    transition: var(--transition);
}

.journey-card:hover .journey-icon{
    transform: scale(1.08) rotate(-4deg);
}


/* individual colors */

.journey-icon.body{
    background: var(--orange-light);
    color: var(--orange);
}

.journey-icon.energy{
    background: var(--yellow-light);
    color: #ffb800;
}

.journey-icon.mind{
    background: var(--secondary-light);
    color: var(--secondary);
}

.journey-icon.intellect{
    background: var(--blue-light);
    color: var(--blue);
}

.journey-icon.joy{
    background: var(--green-light);
    color: var(--green);
}


/*========================*/

.journey-card h3{
    font-size: 22px;

    color: var(--text-dark);

    margin-bottom: 12px;

    font-weight: var(--fw-bold);
}

.journey-card p{
    font-size: var(--fs-sm);

    line-height: 1.7;

    color: var(--text-light);
}

.kosh-section{
    width:100%;
    max-width:1400px;
    margin:auto;
    padding:80px 20px;
    display:flex;
    flex-direction:column;
    gap:60px;
}

.kosh-card{
    background:#fff;
    border-radius:35px;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
    box-shadow:0 15px 50px rgba(0,0,0,0.08);
    transition:0.4s;
    /* padding:20px; */
}

.kosh-card:hover{
    transform:translateY(-5px);
}

.reverse-card .kosh-image-side{
    order:2;
}

.reverse-card .kosh-content{
    order:1;
}

.kosh-image-side{
    position:relative;
    min-height:500px;
    overflow:hidden;
    background:#fff;
}

.kosh-image-side img{
    width:100%;
    height:100%;
    object-fit:contain;
    /* padding:30px; */
}

.floating-emoji{
    position:absolute;
    top:30px;
    right:30px;
    font-size:70px;
    animation:floatEmoji 3s ease-in-out infinite;
}

@keyframes floatEmoji{

    0%{
        transform:translateY(0px) rotate(0deg);
    }

    50%{
        transform:translateY(-10px) rotate(5deg);
    }

    100%{
        transform:translateY(0px) rotate(0deg);
    }

}

.kosh-content{
padding: 20px 40px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.kosh-icon{
    width:65px;
    height:65px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:35px;
    color:#fff;
    /* margin-bottom:30px; */
    box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

.gradient-red{
    background:linear-gradient(135deg,#ff5b5b,#ff4fa3);
}

.gradient-orange{
    background:linear-gradient(135deg,#ff9438,#ffc83d);
}

.kosh-content h3{
    font-size:35px;
    color:#222;
    /* margin-bottom:10px; */
    font-weight:600;
}

.kosh-content h4{
    font-size:22px;
    /* margin-bottom:25px; */
    font-weight:500;
}

.gradient-text-red{
    background:linear-gradient(to right,#ff5b5b,#ff4fa3);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.gradient-text-orange{
    background:linear-gradient(to right,#ff9438,#ffc83d);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.kosh-desc{
    font-size:17px;
    line-height:1.8;
    color:#666;
    /* margin-bottom:35px; */
}

.activity-box h5{
    font-size:24px;
    margin-bottom:10px;
    color:#222;
}

.activity-box ul{
    list-style:none;
}

.activity-box ul li{
    font-size:18px;
    color:#555;
    margin-bottom:10px;
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.benefit-box{
    padding:22px;
    border-radius:18px;
    margin-top:30px;
}

.gradient-red-light{
    background:linear-gradient(to right,
    rgba(255,91,91,0.12),
    rgba(255,79,163,0.12));
}

.gradient-orange-light{
    background:linear-gradient(to right,
    rgba(255,148,56,0.12),
    rgba(255,200,61,0.12));
}

.benefit-box p{
    color:#444;
    font-size:16px;
    line-height:1.7;
}

@media(max-width:991px){

    .kosh-card{
        grid-template-columns:1fr;
    }

    .reverse-card .kosh-image-side{
        order:1;
    }

    .reverse-card .kosh-content{
        order:2;
    }

    .kosh-image-side{
        min-height:350px;
    }

    .kosh-content{
        padding:40px 30px;
    }

    .kosh-content h3{
        font-size:34px;
    }

    .kosh-content h4{
        font-size:24px;
    }

}


.framework-section{
    padding:100px 20px;
}

.framework-wrapper{
    max-width:1400px;
    margin:auto;
    background:#fff;
    border-radius:40px;
    padding:70px 40px;
    box-shadow:0 20px 60px rgba(0,0,0,0.08);
}

.framework-title{
    text-align:center;
    font-size:52px;
    color:#222;
    margin-bottom:80px;
    font-weight:700;
}



/* DESKTOP FRAMEWORK */

.framework-circle{
    width:700px;
    height:700px;
    margin:auto;
    position:relative;
}

.center-circle{
    width:150px;
    height:150px;
    background:linear-gradient(135deg,#ffcb47,#ff8f2f);
    border-radius:50%;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 15px 40px rgba(0,0,0,0.15);
    z-index:10;
    animation:pulseChild 2s infinite;

}

.center-inner{
    text-align:center;
    color:#fff;
}

.center-emoji{
    font-size:40px;
    margin-bottom:6px;
}

.center-inner p{
    font-size:15px;
    font-weight:600;
}



/* ORBIT CARDS */

.orbit-card{
    width:120px;
    height:120px;
    border-radius:50%;
    position:absolute;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    padding:18px;
    box-shadow:0 15px 35px rgba(0,0,0,0.12);
    transition:0.4s;
    /* animation:floatCard 4s ease-in-out infinite; */
}

.orbit-card:hover{
    transform:scale(1.08);
}

.orbit-card p{
    font-size:12px;
    line-height:1.4;
    font-weight:400;
}

.orbit-emoji{
    font-size:40px;
   
}
/* PULSE ANIMATION */

@keyframes pulseChild{

    0%{
        transform:translate(-50%,-50%) scale(1);
        box-shadow:0 0 0 0 rgba(255,165,0,0.5);
    }

    70%{
        transform:translate(-50%,-50%) scale(1.05);
        box-shadow:0 0 0 25px rgba(255,165,0,0);
    }

    100%{
        transform:translate(-50%,-50%) scale(1);
        box-shadow:0 0 0 0 rgba(255,165,0,0);
    }

}


/* CARD COLORS */

.orbit-1{
    top:0;
    left:50%;
    transform:translateX(-50%);
    background:linear-gradient(135deg,#ff5f6d,#ff4fa3);
}

.orbit-2{
    top:22%;
    right:0;
    background:linear-gradient(135deg,#ff9f43,#ffd93d);
}

.orbit-3{
    bottom:0;
    right:12%;
    background:linear-gradient(135deg,#4facfe,#00c6fb);
}

.orbit-4{
    bottom:0;
    left:12%;
    background:linear-gradient(135deg,#43e97b,#00c9a7);
}

.orbit-5{
    top:22%;
    left:0;
    background:linear-gradient(135deg,#b06cff,#ff5fa2);
}



/* DESCRIPTION */

.framework-description{
    max-width:950px;
    margin:90px auto 0;
    text-align:center;
    font-size:18px;
    /* line-height:2; */
    color:#666;
}



/* MOBILE */

.mobile-framework{
    display:none;
}

.mobile-center{
    width:120px;
    height:120px;
    margin:0 auto 35px;
    border-radius:50%;
    background:linear-gradient(135deg,#ffcb47,#ff8f2f);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    box-shadow:0 15px 35px rgba(0,0,0,0.12);
}

.mobile-center p{
    font-size:14px;
    font-weight:600;
}

.mobile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.mobile-card{
    min-height:150px;
    border-radius:28px;
    padding:20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    box-shadow:0 15px 35px rgba(0,0,0,0.12);
}

.mobile-card p{
    font-size:14px;
    line-height:1.5;
    font-weight:600;
}

.gradient-red{
    background:linear-gradient(135deg,#ff5f6d,#ff4fa3);
}

.gradient-orange{
    background:linear-gradient(135deg,#ff9f43,#ffd93d);
}

.gradient-blue{
    background:linear-gradient(135deg,#4facfe,#00c6fb);
}

.gradient-green{
    background:linear-gradient(135deg,#43e97b,#00c9a7);
}

.gradient-purple{
    background:linear-gradient(135deg,#b06cff,#ff5fa2);
}



/* RESPONSIVE */

@media(max-width:991px){

    .desktop-framework{
        display:none;
    }

    .mobile-framework{
        display:block;
    }

    .framework-wrapper{
        padding:50px 25px;
    }

    .framework-title{
        font-size:36px;
        line-height:1.4;
        margin-bottom:50px;
    }

    .framework-description{
        margin-top:60px;
        font-size:17px;
        line-height:1.9;
    }

}

@media(max-width:600px){

    .mobile-grid{
        grid-template-columns:1fr;
    }

    .framework-title{
        font-size:30px;
    }

    .framework-description{
        font-size:16px;
    }

}

/* SECTION */

.learning-section{
    padding:100px 20px;
}

.learning-wrapper{
    max-width:1400px;
    margin:auto;
    background:#fff;
    border-radius:40px;
    padding:70px 50px;
    box-shadow:0 20px 60px rgba(0,0,0,0.08);
}



/* HEADING */

.learning-heading{
    text-align:center;
    margin-bottom:70px;
}

.learning-heading h2{
    font-size:40px;
    /* margin-bottom:20px; */
    font-weight:500;

    background:linear-gradient(to right,#5b5ffb,#b24dff);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.learning-heading p{
    max-width:780px;
    margin:auto;
    font-size:18px;
    /* line-height:1.9; */
    color:#666;
}



/* GRID */

.learning-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}



/* CARD */

.learning-card{
    background:linear-gradient(135deg,#faf5ff,#eff6ff);
    border:1px solid #eadbff;
    border-radius:28px;
    padding:20px 30px;
    transition:0.4s;
    position:relative;
    overflow:hidden;
}

.learning-card::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.6),
    transparent
    );
    transition:0.7s;
}

.learning-card:hover::before{
    left:100%;
}

.learning-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(91,95,251,0.15);
    border-color:#cdb1ff;
}



/* ICON */

.learning-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    /* background:#f1e4ff; */
    display:flex;
    align-items:center;
    justify-content:center;
    /* margin-bottom:25px; */
    transition:0.4s;
}

.learning-icon i{
    font-size:30px;
    color:#8b5cf6;
    transition:0.4s;
}



/* TEXT */

.learning-card p{
    font-size:16px;
    line-height:1.4;
    color:#555;
}



/* RESPONSIVE */

@media(max-width:1100px){

    .learning-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .learning-wrapper{
        padding:50px 25px;
    }

    .learning-heading{
        margin-bottom:50px;
    }

    .learning-heading h2{
        font-size:38px;
        line-height:1.4;
    }

    .learning-heading p{
        font-size:17px;
        line-height:1.8;
    }

    .learning-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .learning-card{
        padding:28px 24px;
    }

    .learning-card p{
        font-size:16px;
        line-height:1.8;
    }

}

@media(max-width:480px){

    .learning-section{
        padding:70px 15px;
    }

    .learning-heading h2{
        font-size:32px;
    }

}




/* SECTION */

.why-section{
    padding:100px 20px;
}



/* WRAPPER */

.why-wrapper{
    max-width:1400px;
    margin:auto;
    padding:20px;
    border-radius:20px;
    background:linear-gradient(to right,#4f46e5,#9333ea);
    position:relative;
    overflow:hidden;
    box-shadow:0 25px 60px rgba(79,70,229,0.25);
}



/* FLOATING SHAPE */

.floating-shape{
    position:absolute;
    top:-20px;
    right:20px;
    font-size:170px;
    opacity:0.08;
    animation:floatShape 5s ease-in-out infinite;
}

@keyframes floatShape{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-15px);
    }

    100%{
        transform:translateY(0px);
    }

}



/* CONTENT */

.why-content{
    position:relative;
    z-index:2;
}



/* HEADING */

.why-content h2{
    text-align:center;
    color:#fff;
    font-size:40px;
    margin-bottom:20px;
    font-weight:400;
}



/* GRID */

.why-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
 
    margin:auto;
}



/* CARD */

.why-card{
    background:rgba(255,255,255,0.10);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:28px;
    padding:15px;
    transition:0.4s;
    position:relative;
    overflow:hidden;
}

.why-card::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:100%;
    height:100%;
    background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.25),
    transparent
    );
    transition:0.8s;
}

.why-card:hover::before{
    left:120%;
}

.why-card:hover{
    transform:translateY(-10px);
    background:rgba(255,255,255,0.14);
    box-shadow:0 20px 45px rgba(0,0,0,0.18);
}



/* INNER */

.why-card-inner{
    display:flex;
    align-items:flex-start;
    gap:22px;
}



/* ICON */

.why-icon{
    width:75px;
    height:75px;
    min-width:75px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    transition:0.4s;
}

.why-card:hover .why-icon{
    transform:scale(1.1) rotate(8deg);
}

.yellow-icon{
    color:#fde047;
}

.pink-icon{
    color:#f9a8d4;
}

.blue-icon{
    color:#bfdbfe;
}

.green-icon{
    color:#86efac;
}



/* TEXT */

.why-text h3{
    color:#fff;
    font-size:23px;
    /* margin-bottom:12px; */
    font-weight:500;
}

.why-text p{
    color:#dbeafe;
    font-size:17px;
    line-height:1.9;
}



/* RESPONSIVE */

@media(max-width:991px){

    .why-wrapper{
        padding:60px 30px;
    }

    .why-grid{
        grid-template-columns:1fr;
        gap:25px;
    }

    .why-content h2{
        font-size:42px;
        margin-bottom:50px;
    }

}

@media(max-width:768px){

    .why-card{
        padding:28px;
    }

    .why-card-inner{
        flex-direction:column;
        gap:18px;
    }

    .why-text h3{
        font-size:24px;
    }

    .why-text p{
        font-size:16px;
        line-height:1.8;
    }

}

@media(max-width:480px){

    .why-section{
        padding:70px 15px;
    }

    .why-wrapper{
        padding:50px 22px;
        border-radius:28px;
    }

    .why-content h2{
        font-size:34px;
    }

    .floating-shape{
        font-size:120px;
    }

}



/* SECTION */

.curriculum-section{
    padding:80px 0px;
    background:
    linear-gradient(
    135deg,
    #faf5ff 0%,
    #eff6ff 50%,
    #eef2ff 100%
    );
}



/* CONTAINER */

.curriculum-container{
    max-width:1400px;
    margin:auto;
}



/* HEADING */

.sec-heading{
    max-width:900px;
    margin:auto;
    text-align:center;
    margin-bottom:80px;
}

.sec-badge{
    display:inline-block;
    padding:6px 12px;
    border-radius:50px;
    color:#fff;
    font-size:14px;
    font-weight:400;
    background:linear-gradient(to right,#a855f7,#9333ea);
    margin-bottom:25px;
    box-shadow:0 10px 25px rgba(168,85,247,0.25);
}

.sec-heading h2{
    font-size:40px;
    font-weight:500;
    /* margin-bottom:25px; */
}

.section-heading h2 span{
    background:linear-gradient(to right,#4f46e5,#9333ea);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.section-heading p{
    font-size:20px;
    line-height:1.9;
    color:#666;
}



/* GRID */

.curriculum-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
    margin-bottom:70px;
}



/* CARD */

.curriculum-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #ececec;
    box-shadow:0 12px 35px rgba(0,0,0,0.06);
    transition:0.4s;
    position:relative;
}

.curriculum-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 50px rgba(0,0,0,0.12);
}

.curriculum-card::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:100%;
    height:100%;
    background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.5),
    transparent
    );
    transition:0.8s;
}

.curriculum-card:hover::before{
    left:120%;
}




/* BODY */

.card-body{
    padding:40px 30px;
    text-align:center;
}



/* ICON */

.card-icon-1{
    width:85px;
    height:85px;
    border-radius:24px;
    margin:auto;
    margin-bottom:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:36px;
    box-shadow:0 12px 25px rgba(0,0,0,0.15);
    transition:0.4s;
}

.curriculum-card:hover .card-icon{
    transform:scale(1.1) rotate(8deg);
}

.pink-gradient{
    background:linear-gradient(135deg,#ec4899,#9333ea);
}

.blue-gradient{
    background:linear-gradient(135deg,#3b82f6,#0891b2);
}

.orange-gradient{
    background:linear-gradient(135deg,#f59e0b,#f97316);
}



/* TEXT */

.card-body h3{
    font-size:25px;
    color:#222;
    /* margin-bottom:18px; */
    font-weight:500;
}

.card-body p{
    font-size:16px;
    /* line-height:1.9; */
    color:#666;
}



/* THEMES BOX */

.themes-box{
    background:#fff;
    padding:60px 40px;
    border-radius:28px;
    box-shadow:0 12px 35px rgba(0,0,0,0.06);
}

.themes-heading{
    text-align:center;
    margin-bottom:45px;
}

.themes-heading h3{
    font-size:38px;
    color:#222;
    margin-bottom:15px;
}

.heading-line{
    width:80px;
    height:5px;
    border-radius:50px;
    margin:auto;
    background:linear-gradient(to right,#f472b6,#db2777);
}



/* CHIPS */

.themes-wrapper{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
}

.theme-chip{
    padding:6px 26px;
    border-radius:50px;
    color:#fff;
    font-size:16px;
    font-weight:500;
    transition:0.4s;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,0.08);
}

.theme-chip:hover{
    transform:translateY(-5px) scale(1.05);
}

.pink-chip{
    background:linear-gradient(to right,#ec4899,#db2777);
}

.blue-chip{
    background:linear-gradient(to right,#3b82f6,#2563eb);
}

.red-chip{
    background:linear-gradient(to right,#f87171,#ef4444);
}

.yellow-chip{
    background:linear-gradient(to right,#f59e0b,#eab308);
}

.purple-chip{
    background:linear-gradient(to right,#c084fc,#9333ea);
}

.indigo-chip{
    background:linear-gradient(to right,#6366f1,#4f46e5);
}



/* RESPONSIVE */

@media(max-width:1100px){

    .curriculum-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .curriculum-section{
        padding:80px 18px;
    }

    .sec-heading{
        margin-bottom:60px;
    }

    .sec-heading h2{
        font-size:42px;
        line-height:1.4;
    }

    .sec-heading p{
        font-size:17px;
        line-height:1.8;
    }

    .card-body{
        padding:35px 25px;
    }

    .card-body h3{
        font-size:25px;
    }

    .card-body p{
        font-size:16px;
    }

    .themes-box{
        padding:40px 25px;
    }

    .themes-heading h3{
        font-size:30px;
    }

}

@media(max-width:480px){

    .section-heading h2{
        font-size:34px;
    }

    .theme-chip{
        width:100%;
        text-align:center;
    }

}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#f5f7fb;
    font-family:Arial, sans-serif;
}



/* SECTION */

.journey-section{
    padding:90px 20px;
}



/* CONTAINER */

.journey-container{
    max-width:1400px;
    margin:auto;
}



/* MAIN BOX */

.journey-box{
    position:relative;
    overflow:hidden;
    border-radius:38px;
    padding:50px 3cqb;

    background:
    linear-gradient(
    90deg,
    #ec4899 0%,
    #a855f7 50%,
    #6366f1 100%
    );

    box-shadow:0 25px 60px rgba(147,51,234,0.28);
}



/* BG SHAPES */

.journey-bg{
    position:absolute;
    inset:0;
    opacity:0.12;
}

.circle-one{
    position:absolute;
      top: 0;
    left: 20px;
    width: 70px;
    height: 70px;

    border-radius:50%;
    background:#fff;
    animation:floatOne 8s ease-in-out infinite;
}

.circle-two{
    position:absolute;
     top: 18%;
    right: 63%;
    width: 100px;
    height: 100px;
    border-radius:50%;
    background:#fff;
    animation:floatTwo 7s ease-in-out infinite;
}

.floating-emoji{
    position:absolute;
    top:25px;
    right:40px;
    font-size:130px;
    opacity:0.5;
    animation:shine 4s ease-in-out infinite;
}



/* CONTENT */

.journey-content{
    position:relative;
    z-index:2;
    max-width:900px;
    margin:auto;
    text-align:center;
}



/* HEADING */

.journey-content h2{
    color:#fff;
    font-size:30px;
    line-height:1.3;
    margin-bottom:5px;
    font-weight:500;
}



/* PARAGRAPH */

.journey-content p{
    color:rgba(255,255,255,0.92);
    font-size:18px;
    line-height:1.9;
    margin-bottom:10px;
}



/* BUTTONS */

.journey-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
}



/* BUTTON COMMON */

.journey-buttons a{
    text-decoration:none;
    transition:0.4s;
    font-weight:700;
    border-radius:60px;
}



/* PRIMARY BUTTON */

.primary-btn{
    background:#fff;
    color:#9333ea;
    padding:18px 38px;
    font-size:17px;
    box-shadow:0 15px 35px rgba(0,0,0,0.18);
}

.primary-btn:hover{
    transform:translateY(-6px) scale(1.04);
    box-shadow:0 22px 40px rgba(0,0,0,0.22);
}



/* SECONDARY BUTTON */

.secondary-btn{
    padding:16px 38px;
    font-size:17px;
    color:#fff;
    border:2px solid rgba(255,255,255,0.8);
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(10px);
}

.secondary-btn:hover{
    background:rgba(255,255,255,0.18);
    transform:translateY(-6px);
}



/* ANIMATIONS */

@keyframes floatOne{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-18px);
    }

    100%{
        transform:translateY(0px);
    }

}

@keyframes floatTwo{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(15px);
    }

    100%{
        transform:translateY(0px);
    }

}

@keyframes shine{

    0%{
        transform:scale(1) rotate(0deg);
    }

    50%{
        transform:scale(1.08) rotate(8deg);
    }

    100%{
        transform:scale(1) rotate(0deg);
    }

}



/* RESPONSIVE */

@media(max-width:991px){

    .journey-box{
        padding:70px 30px;
    }

    .journey-content h2{
        font-size:42px;
    }

    .journey-content p{
        font-size:18px;
    }

}

@media(max-width:768px){

    .journey-section{
        padding:70px 15px;
    }

    .journey-box{
        padding:60px 25px;
        border-radius:28px;
    }

    .journey-content h2{
        font-size:34px;
    }

    .journey-content p{
        font-size:16px;
        line-height:1.8;
        margin-bottom:35px;
    }

    .journey-buttons{
        flex-direction:column;
    }

    .journey-buttons a{
        width:100%;
        text-align:center;
    }

    .floating-emoji{
        font-size:90px;
        top:20px;
        right:20px;
    }

    .circle-one{
        width:150px;
        height:150px;
    }

    .circle-two{
        width:120px;
        height:120px;
    }

}

@media(max-width:480px){

    .journey-content h2{
        font-size:29px;
    }

    .primary-btn,
    .secondary-btn{
        padding:15px 25px;
        font-size:15px;
    }

}