:root {
    --navy: #163020;
    --navy2: #2b4b36;
    /* MAIN BRAND COLOR */
    --blue: #7dc242;
    /* SECONDARY GREEN SHADES */
    --blue2: #6bb538;
    --cyan: #9ad85f;
    --text: #163020;
    --muted: #5f6f65;
    --light: #f7fbf2;
    --border: #dfead3;
    --white: #ffffff;
    --green: #5cb85c;
    --green-dark: #3d8b3d;
    --green-light: #90d090;
    --green-glow: rgba(92, 184, 92, 0.4);
    --dark: #0a0f0a;
    --dark2: #111811;
    --dark3: #1a251a;
    --text: #1e2d1e;
    --muted: #5a7a5a;
    --border: rgba(92, 184, 92, 0.2);
    --card-bg: #ffffff;
    --bg: #f5faf5;
    --white: #ffffff;
    --radius: 18px;
    --shadow: 0 8px 40px rgba(10, 15, 10, 0.12);
    --font: "Stack Sans Headline", sans-serif;
}


  @media (max-width: 767px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
  }
}* {
  box-sizing: border-box;
}

body, html {
  overflow-x: hidden;
  max-width: 100%;
}
/* ── Mobile fix: hero stat items ── */
.hero-row{
    min-height: 650px;
    padding: 80px 0;
}
@media (max-width: 767px) {

  .hero-stat-item {
    min-width: unset !important;
    width: calc(50% - 8px);
    padding: 18px;
    flex: 0 0 auto;
  }

  .hero-stat-item h3 {
    font-size: 26px;
  }

  .hero-stats {
    overflow-x: hidden;
  }

}


*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

body {
    font-family: "Stack Sans Headline", sans-serif;
    background: var(--white);
    color: var(--text);
    overflow-x: hidden
}

a {
    text-decoration: none;
    color: inherit
}

img {
    max-width: 100%
}


.alert-bar {
    background: var(--navy);
    color: #fff;
    text-align: center;
    padding: .6rem 1rem;
    font-size: .88rem;
    font-family: var(--font);
    font-weight: 500;
    position: relative;
    z-index: 1100;
}

/* OPTIONAL EXTRA PREMIUM LOOK */
.sec-title {
    font-family: "Stack Sans Headline", sans-serif;
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--dark);
    letter-spacing: -1px;
    line-height: 1.15;
    margin-bottom: 16px;
}

.sec-badge {
    display: inline-block;
    background: rgba(125, 194, 66, .12);
    color: var(--green-dark);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 50px;
    border: 1px solid rgba(125, 194, 66, .25);
    margin-bottom: 16px;
}

.text-center .sec-sub {
    margin-left: auto;
    margin-right: auto;
}

.features-sec {
    background: #fff
}

.stack-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 80px;
    opacity: 0;
    transform: translateY(40px);
    transition: .7s cubic-bezier(.25, .8, .25, 1)
}

.stack-item.show {
    opacity: 1;
    transform: translateY(0)
}

.stack-item.reverse {
    direction: rtl
}

.stack-item.reverse>* {
    direction: ltr
}

.stack-img-wrap {
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .1)
}

.stack-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s
}

.stack-img-wrap:hover img {
    transform: scale(1.04)
}

.stack-num {
    font-family: "Stack Sans Headline", sans-serif;
    ;
    font-size: 4rem;
    font-weight: 800;
    color: rgba(125, 194, 66, .15);
    line-height: 1;
    margin-bottom: 8px
}

.stack-tag {
    font-size: .72rem;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 2px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 12px
}

.stack-heading {
    font-family: "Stack Sans Headline", sans-serif;
    ;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--dark);
    line-height: 1.25;
    margin-bottom: 14px
}

.stack-desc {
    font-size: .93rem;
    color: var(--muted);
    line-height: 1.75
}

.stack-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px
}

.sf {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--text)
}

.sf i {
    color: var(--green);
    font-size: .8rem
}

/* Navbar hover */
.nav-link:hover {
    color: var(--blue) !important;
}

.section {
    padding: 50px 24px;
}

.text-center {
    text-align: center;
}

/* Hero background */
.hero {
    background: linear-gradient(to bottom, #ffffff, #f7fbf2);
}

/* Highlight box */
.hero h1 .highlight-box {
    background: rgba(125, 194, 66, .12);
}

/* Pills hover */
.prog-pill:hover {
    background: var(--blue);
    color: #fff;
    border-color: var(--blue);
}

/* Course card hover glow */
.c-card:hover {
    box-shadow: 0 24px 64px rgba(125, 194, 66, .18);
}

/* Buttons */
.btn-placement,
.btn-hero-primary {
    background: var(--blue);
}

.btn-placement:hover,
.btn-hero-primary:hover {
    background: #163020;
}

.navbar {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--border);
    padding: 0px 28px;
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow .3s ease;
}

.navbar.scrolled {
    box-shadow: 0 2px 24px rgba(0, 0, 0, .08)
}

.navbar-brand {
    font-family: var(--font);
    font-size: 1.45rem;
    font-weight: 900;
    color: var(--navy) !important;
    letter-spacing: -.02em;
    display: flex;
    align-items: center;
    gap: .45rem;
}

.brand-icon {
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
}

.nav-link {
    color: var(--muted) !important;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 600;
    padding: .4rem .85rem !important;
    transition: color .2s ease;
}

.nav-link:hover {
    color: var(--navy) !important
}

.btn-login {
    border: 1.5px solid var(--border);
    background: transparent;
    color: var(--navy) !important;
    font-family: var(--font);
    font-weight: 700;
    font-size: .88rem;
    padding: .45rem 1.2rem !important;
    border-radius: 8px;
    transition: all .2s ease;
}

.btn-login:hover {
    border-color: var(--blue);
    color: var(--blue) !important
}

.btn-placement {
    background: var(--blue);
    color: #fff !important;
    font-family: var(--font);
    font-weight: 700;
    font-size: .88rem;
    padding: .48rem 1.3rem !important;
    border-radius: 8px;
    border: none;
    transition: all .25s ease;
}

.btn-placement:hover {
    background: var(--navy);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(29, 111, 229, .35)
}

.hero {
    min-height: calc(100vh - 110px);
    display: flex;
    align-items: center;
    padding: 80px 0 60px;
    position: relative;
    overflow: hidden;
    background: #fff;
}

.hero-lines {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 40px, rgba(29, 111, 229, .04) 40px, rgba(29, 111, 229, .04) 41px);
    pointer-events: none;
}

.hero-top-tag {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--font);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 2rem;
    background: rgba(29, 111, 229, .07);
    border: 1px solid rgba(29, 111, 229, .18);
    padding: .4rem 1rem;
    border-radius: 50px;
}

.hero-top-tag::before {

    opacity: .6
}

.hero-top-tag::after {

    margin-left: .2rem;
    opacity: .6
}

.hero h1 {
    font-family: var(--font);
    font-size: clamp(3rem, 6.5vw, 5.8rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -.04em;
    color: var(--navy);
    margin-bottom: 1.8rem;
}

.hero h1 .highlight-box {
    background: rgba(29, 111, 229, .1);
    border-radius: 6px;
    padding: 0 .15em;
    display: inline;
}

.hero h1 .blue-gradient {
    background: linear-gradient(90deg, var(--blue) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-sub {
    font-size: 1.15rem;
    color: var(--muted);
    line-height: 1.7;
    max-width: 560px;
    margin-bottom: 2.5rem;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem
}

.btn-hero-primary {
    background: var(--blue);
    color: #fff;
    font-family: var(--font);
    font-weight: 700;
    font-size: 1rem;
    padding: .9rem 2.4rem;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.btn-hero-primary:hover {
    background: var(--navy);
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(29, 111, 229, .3);
}

.btn-hero-outline {
    background: transparent;
    color: var(--navy);
    font-family: var(--font);
    font-weight: 700;
    font-size: 1rem;
    padding: .9rem 2.4rem;
    border-radius: 10px;
    border: 1.5px solid var(--border);
    cursor: pointer;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.btn-hero-outline:hover {
    border-color: var(--blue);
    color: var(--blue)
}

/* programme pills scrolling */
.prog-pills {
    display: flex;
    gap: .7rem;
    flex-wrap: wrap
}

.prog-pill {
    font-family: var(--font);
    font-size: .8rem;
    font-weight: 700;
    background: var(--light);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: .35rem 1rem;
    color: var(--navy);
    white-space: nowrap;
    transition: all .25s ease;
    cursor: pointer;
}

.prog-pill:hover {
    background: var(--blue);
    color: #fff;
    border-color: var(--blue)
}



.hero-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 2rem;
    box-shadow: 0 24px 80px rgba(15, 27, 45, .1);
    animation: floatUp 5s ease-in-out infinite;
}

@keyframes floatUp {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-14px)
    }
}

.card-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 14px;
    background: var(--light);
    margin-bottom: 1rem;
    transition: all .25s ease;
}

.card-row:hover {
    background: rgba(29, 111, 229, .07);
    transform: translateX(4px)
}

.card-row-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.card-row-title {
    font-family: var(--font);
    font-weight: 700;
    font-size: .95rem;
    color: var(--navy)
}

.card-row-sub {
    font-size: .78rem;
    color: var(--muted);
    margin-top: .15rem
}

.card-badge {
    margin-left: auto;
    flex-shrink: 0;
    font-family: var(--font);
    font-size: .72rem;
    font-weight: 700;
    padding: .25rem .7rem;
    border-radius: 50px;
}

.badge-blue {
    background: rgba(29, 111, 229, .12);
    color: var(--blue)
}

.badge-green {
    background: rgba(16, 185, 129, .12);
    color: #059669
}

.badge-orange {
    background: rgba(245, 158, 11, .12);
    color: #d97706
}

.badge-purple {
    background: rgba(139, 92, 246, .12);
    color: #7c3aed
}

/* placement row at bottom */
.placement-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.2rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    margin-top: 1rem;
}

.placement-num {
    font-family: var(--font);
    font-weight: 900;
    font-size: 1.3rem;
    color: var(--navy);
}

.placement-num span {
    color: var(--blue)
}

.marquee-wrap {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 1rem 0;
    background: var(--light);
    overflow: hidden;
}

.marquee-inner {
    display: flex;
    gap: 2.5rem;
    white-space: nowrap;
    animation: slide 22s linear infinite;
}

.marquee-inner:hover {
    animation-play-state: paused
}

@keyframes slide {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

.m-item {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font);
    font-size: .82rem;
    font-weight: 700;
    color: var(--muted);
    letter-spacing: .03em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.m-dot {
    width: 6px;
    height: 6px;
    background: var(--blue);
    border-radius: 50%;
    flex-shrink: 0
}

.stats-sec {
    background: #fff;
    padding: 70px 0;
    border-bottom: 1px solid var(--border);
}

.stat-box {
    text-align: center;
    padding: 1rem
}

.stat-big {
    font-family: var(--font);
    font-size: 3rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1;
}

.stat-big em {
    font-style: normal;
    color: var(--blue)
}

.stat-desc {
    color: var(--muted);
    font-size: .9rem;
    margin-top: .4rem;
    font-family: var(--font);
    font-weight: 500
}

.sec-tag {
    font-family: var(--font);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: .7rem;
    display: block;
}

.sec-h {
    font-family: var(--font);
    font-size: clamp(1.9rem, 3.5vw, 2.8rem);
    font-weight: 900;
    letter-spacing: -.03em;
    color: var(--navy);
    line-height: 1.12;
    margin-bottom: 1rem;
}

.sec-sub {
    font-size: 1rem;
    color: var(--muted);
    line-height: 1.7;
    max-width: 580px;
}

.why-sec {
    background: var(--dark);
    position: relative;
    overflow: hidden
}

.why-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 70% 30%, rgba(92, 184, 92, .08), transparent 60%);
    pointer-events: none
}

.why-sec .sec-title {
    color: #fff
}

.why-sec .sec-sub {
    color: rgba(255, 255, 255, .45)
}

.why-sec .sec-badge {
    background: rgba(92, 184, 92, .15);
    border-color: rgba(92, 184, 92, .25);
    color: var(--green-light)
}

.pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 48px
}

.pillar {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius);
    padding: 30px;
    transition: .3s;
    position: relative;
    overflow: hidden
}

.pillar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--green);
    transform: scaleX(0);
    transition: .3s;
    transform-origin: left
}

.pillar:hover {
    transform: translateY(-6px);
    border-color: rgba(92, 184, 92, .3);
    background: rgba(255, 255, 255, .06)
}

.pillar:hover::after {
    transform: scaleX(1)
}

.pillar-icon {
    width: 52px;
    height: 52px;
    background: rgba(92, 184, 92, .12);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--green);
    margin-bottom: 20px;
    transition: .3s
}

.pillar:hover .pillar-icon {
    background: var(--green);
    color: #fff;
    transform: rotate(-5deg) scale(1.1)
}

.pillar h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px
}

.pillar p {
    font-size: .86rem;
    color: rgba(255, 255, 255, .45);
    line-height: 1.75
}

.course-sec {
    padding: 100px 0;
    background: var(--light);
}

.c-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 2rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all .35s ease;
    position: relative;
    overflow: hidden;
}

.c-card:hover {
    box-shadow: 0 24px 64px rgba(15, 27, 45, .12);
    transform: translateY(-8px);
    border-color: rgba(29, 111, 229, .3);
}

.c-label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-family: var(--font);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: .3rem .85rem;
    border-radius: 50px;
    margin-bottom: 1.2rem;
}

.label-b {
    background: rgba(29, 111, 229, .1);
    color: var(--blue)
}

.label-g {
    background: rgba(16, 185, 129, .1);
    color: #059669
}

.label-o {
    background: rgba(245, 158, 11, .1);
    color: #d97706
}

.label-p {
    background: rgba(139, 92, 246, .1);
    color: #7c3aed
}

.c-card h3 {
    font-family: var(--font);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--navy);
    margin-bottom: .8rem;
    line-height: 1.25;
}

.c-card p {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.65;
    flex: 1;
    margin-bottom: 1.3rem
}

.c-meta {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    margin-bottom: 1.3rem
}

.c-chip {
    font-family: var(--font);
    font-size: .75rem;
    font-weight: 700;
    background: var(--light);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: .25rem .75rem;
    color: var(--muted);
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.c-chip i {
    color: var(--blue);
    font-size: .65rem
}

.c-list {
    list-style: none;
    margin-bottom: 1.6rem
}

.c-list li {
    font-size: .87rem;
    color: var(--muted);
    padding: .3rem 0;
    display: flex;
    align-items: flex-start;
    gap: .5rem;
}

.c-list li::before {
    color: var(--blue);
    font-weight: 900;
    font-size: .8rem;
    margin-top: .1rem;
    flex-shrink: 0;
}

.btn-enroll {
    background: var(--navy);
    color: #fff;
    font-family: var(--font);
    font-weight: 700;
    font-size: .9rem;
    padding: .75rem 1.5rem;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
}

.btn-enroll:hover {
    background: var(--blue);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(29, 111, 229, .3)
}

.process-sec {
    padding: 22px 0;
    background: #fff
}

.p-step {
    display: flex;
    gap: 1.4rem;
    padding: 1.8rem;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--light);
    margin-bottom: 1rem;
    transition: all .3s ease;
    align-items: flex-start;
}

.p-step:hover {
    background: #fff;
    border-color: rgba(29, 111, 229, .25);
    box-shadow: 0 12px 40px rgba(15, 27, 45, .08);
    transform: translateX(6px);
}

.p-num {
    min-width: 44px;
    height: 44px;
    background: var(--navy);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font);
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
    flex-shrink: 0;
}

.p-step h4 {
    font-family: var(--font);
    font-weight: 800;
    font-size: 1rem;
    color: var(--navy);
    margin-bottom: .35rem
}

.p-step p {
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.6
}

.testi-sec {
    padding: 50px 0;
    background: var(--light)
}

.t-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 2rem;
    height: 100%;
    transition: all .35s ease;
}

.t-card:hover {
    box-shadow: 0 20px 56px rgba(15, 27, 45, .1);
    transform: translateY(-6px);
    border-color: rgba(29, 111, 229, .25);
}

.t-stars {
    color: #f59e0b;
    font-size: .88rem;
    margin-bottom: 1rem
}

.t-text {
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.72;
    margin-bottom: 1.5rem;
    font-style: italic;
}

.t-quote {
    font-size: 2.2rem;
    color: var(--blue);
    opacity: .2;

    line-height: 1;
    margin-bottom: .5rem;
}

.t-av {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font);
    font-weight: 800;
    font-size: .95rem;
    color: #fff;
    flex-shrink: 0;
}

.t-name {
    font-family: var(--font);
    font-weight: 800;
    font-size: .92rem;
    color: var(--navy)
}

.t-role {
    font-size: .78rem;
    color: var(--muted)
}

.faq-sec {
    padding: 100px 0;
    background: #fff
}

.f-item {
    border: 1px solid var(--border);
    border-radius: 14px;
    margin-bottom: .7rem;
    overflow: hidden;
    transition: border-color .3s ease;
}

.f-item.open {
    border-color: rgba(29, 111, 229, .35)
}

.f-q {
    background: #fff;
    padding: 1.2rem 1.4rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font);
    font-weight: 700;
    font-size: .95rem;
    color: var(--navy);
    transition: background .2s ease;
    user-select: none;
    gap: 1rem;
}

.f-q:hover {
    background: var(--light)
}

.f-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--light);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    color: var(--navy);
    transition: transform .3s ease, background .25s ease;
    flex-shrink: 0;
}

.f-item.open .f-icon {
    transform: rotate(45deg);
    background: var(--blue);
    border-color: var(--blue);
    color: #fff
}

.f-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease
}

.f-a-inner {
    padding: 0 1.4rem;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.7
}

.f-item.open .f-a {
    max-height: 300px
}

.f-item.open .f-a-inner {
    padding: 1rem 1.4rem 1.3rem
}

/* Bottom logos */
.logo-strip {
    margin-top: 60px;
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
    opacity: .8;
}

.logo-strip img {
    height: 25px;
    filter: brightness(0) invert(1);
}

@media(max-width: 768px) {
    .sec-h {
        font-size: 38px;
    }

    .sec-sub {
        font-size: 15px;
    }
}

.cta-sec {
    background: var(--navy);
    padding: 110px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 70% at 50% 50%, rgba(29, 111, 229, .25) 0%, transparent 70%), repeating-linear-gradient(-45deg, transparent, transparent 40px, rgba(255, 255, 255, .02) 40px, rgba(255, 255, 255, .02) 41px);
}

.cta-sec h2 {
    font-family: var(--font);
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 900;
    letter-spacing: -.03em;
    color: #fff;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.cta-sec h2 span {
    background: linear-gradient(90deg, var(--blue2), var(--cyan));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.cta-sec p {
    color: rgba(255, 255, 255, .7);
    font-size: 1.05rem;
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 1;
}

.cta-btns {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.btn-cta-white {
    background: #fff;
    color: var(--navy);
    font-family: var(--font);
    font-weight: 800;
    font-size: 1rem;
    padding: .9rem 2.4rem;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.btn-cta-white:hover {
    background: var(--light);
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .25)
}

.btn-cta-out {
    background: transparent;
    color: #fff;
    font-family: var(--font);
    font-weight: 700;
    font-size: 1rem;
    padding: .9rem 2.4rem;
    border-radius: 10px;
    border: 1.5px solid rgba(255, 255, 255, .3);
    cursor: pointer;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.btn-cta-out:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, .08)
}

footer {
    background: var(--navy);
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding: 70px 0 28px;
}

.f-logo {
    font-family: var(--font);
    font-size: 1.4rem;
    font-weight: 900;
    color: #fff;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .9rem;
}

.f-logo .brand-icon {
    background: linear-gradient(135deg, var(--blue), var(--cyan))
}

.f-about {
    color: rgba(255, 255, 255, .5);
    font-size: .86rem;
    line-height: 1.7;
    max-width: 250px;
    margin-bottom: 1.5rem
}

.f-soc {
    display: flex;
    gap: .6rem
}

.s-btn {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .6);
    font-size: .85rem;
    transition: all .25s ease;
    cursor: pointer;
}

.s-btn:hover {
    background: var(--blue);
    border-color: var(--blue);
    color: #fff;
    transform: translateY(-2px)
}

.f-head {
    font-family: var(--font);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .35);
    margin-bottom: 1.2rem;
}

.f-links {
    list-style: none
}

.f-links li {
    margin-bottom: .6rem
}

.f-links a {
    color: rgba(255, 255, 255, .55);
    font-size: .88rem;
    transition: color .2s ease
}

.f-links a:hover {
    color: #fff
}

.f-contact-item {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    color: rgba(255, 255, 255, .55);
    font-size: .86rem;
    margin-bottom: .6rem;
}

.f-contact-item i {
    color: var(--blue);
    margin-top: .15rem;
    font-size: .8rem;
    flex-shrink: 0
}

.f-bottom {
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding-top: 1.5rem;
    margin-top: 2.5rem;
    text-align: center;
    color: rgba(255, 255, 255, .3);
    font-size: .8rem;
}

.f-bottom a {
    color: rgba(255, 255, 255, .4);
    transition: color .2s
}

.f-bottom a:hover {
    color: rgba(255, 255, 255, .7)
}

.reveal {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity .65s ease, transform .65s ease
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0)
}

.brand-logo {
    width: 100px;
    object-fit: contain;
    margin-right: 10px;
}

/* Typed Text */
#typed-text {
    display: inline-block;
    min-width: 320px;
}

/* Cursor */
.typed-cursor {
    color: #7dc242;
    font-weight: 300;
}

@media(max-width: 991px) {
    .hero {
        padding: 60px 0 50px;
        min-height: auto
    }

    .hero h1 {
        font-size: 2.8rem
    }

    .hero-visual {
        margin-top: 3rem
    }
}

@media(max-width: 767px) {
    .hero h1 {
        font-size: 2.3rem
    }

    .hero-actions {
        flex-direction: column
    }

    .hero-actions button {
        width: 100%
    }

    .stat-big {
        font-size: 2.2rem
    }

    .sec-h {
        font-size: 1.8rem
    }

    .cta-btns {
        flex-direction: column;
        align-items: center
    }

    .btn-cta-white,
    .btn-cta-out {
        width: 100%;
        justify-content: center
    }

    .prog-pills {
        gap: .5rem
    }
}

::-webkit-scrollbar {
    width: 5px
}

::-webkit-scrollbar-track {
    background: #fff
}

::-webkit-scrollbar-thumb {
    background: var(--blue);
    border-radius: 3px
}

.career-sec {
    padding: 100px 0;
    background: #f4fff7;
}

.career-top {
    margin-bottom: 60px;
}

.career-tag {
    display: inline-block;
    background: #dcfce7;
    color: #15803d;
    padding: 8px 18px;
    border-radius: 50px;
    font-weight: 700;
    margin-bottom: 20px;
}

.career-top h2 {
    font-size: 3rem;
    font-weight: 800;
    color: #052e16;
    margin-bottom: 15px;
}

.career-top p {
    color: #4b5563;
    max-width: 700px;
    margin: auto;
    line-height: 1.8;
}

/* layout */
.career-tabs {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
    align-items: start;
}

/* left side */
.career-left {
    background: #fff;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    position: sticky;
    top: 100px;
}

.course-tab {
    padding: 22px;
    border-radius: 18px;
    font-weight: 700;
    color: #374151;
    cursor: pointer;
    transition: .3s;
    margin-bottom: 12px;
    border: 1px solid transparent;
}

.course-tab:hover {
    background: #f0fdf4;
}

.course-tab.active {
    background: #15803d;
    color: #fff;
}

/* right side */
.career-right {
    position: relative;
}

.course-content {
    display: none;
    background: #052e16;
    border-radius: 30px;
    overflow: hidden;
    grid-template-columns: 45% 55%;
    min-height: 520px;
}

.course-content.active {
    display: grid;
}

/* image */
.career-img {
    height: 100%;
}

.career-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* content */
.career-info {
    padding: 50px;
    color: #fff;
}

.small-tag {
    background: #14532d;
    color: #bbf7d0;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: .85rem;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 22px;
}

.career-info h3 {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 20px;
}

.career-info p {
    color: #d1d5db;
    line-height: 1.8;
    margin-bottom: 30px;
}

/* meta */
.career-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 30px;
}

.career-meta span {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .08);
    padding: 12px 16px;
    border-radius: 14px;
    font-size: .92rem;
}

/* list */
.career-info ul {
    list-style: none;
    padding: 0;
    margin: 0 0 35px;
}

.career-info ul li {
    padding-left: 30px;
    position: relative;
    margin-bottom: 16px;
    color: #f3f4f6;
}

.career-info ul li::before {
    content: "ÃƒÂ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÃ¢â‚¬Å¡Ãƒâ€šÃ‚Â¦ÃƒÅ¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ÃƒÂ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÅ¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÃ¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÃ¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #22c55e;
    color: #fff;
    font-size: .7rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* button */
.career-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #22c55e;
    color: #fff;
    padding: 16px 26px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 700;
    transition: .3s;
}

.career-btn:hover {
    background: #16a34a;
    transform: translateY(-3px);
    color: #fff;
}

/* mobile */
@media(max-width: 991px) {
    .career-tabs {
        grid-template-columns: 1fr;
    }

    .career-left {
        position: relative;
        top: 0;
    }

    .course-content {
        grid-template-columns: 1fr;
    }

    .career-img {
        height: 300px;
    }

    .career-info {
        padding: 35px;
    }

    .career-info h3 {
        font-size: 2rem;
    }
}

.course-card {
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    transition: transform .22s, box-shadow .22s;
    cursor: pointer;
    background: #fff;
    height: 100%;
}

.course-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0, 86, 210, .13);
}

.course-card-img {
    height: 170px;
    background: linear-gradient(135deg, #0056D2, #1976D2);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.course-card-img i {
    font-size: 3.5rem;
    color: rgba(255, 255, 255, .25);
    position: absolute;
    right: 20px;
    bottom: 10px;
}

.course-card-img .course-icon {
    font-size: 2.5rem;
    color: #fff;
    position: relative;
    z-index: 1;
}

.card-body-custom {
    padding: 1.2rem;
}

.course-tag {
    font-size: .72rem;
    font-weight: 700;
    color: var(--blue);
    background: var(--blue-light);
    border-radius: 4px;
    padding: .25rem .65rem;
    display: inline-block;
    margin-bottom: .6rem;
    letter-spacing: .3px;
}

.course-title {
    font-size: .97rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.35;
    margin-bottom: .5rem;
}

.course-meta {
    font-size: .8rem;
    color: var(--mid);
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.course-rating {
    color: var(--accent);
    font-size: .82rem;
    font-weight: 600;
}

.course-duration {
    background: #f0f4ff;
    color: var(--blue);
    border-radius: 4px;
    padding: .18rem .55rem;
    font-size: .75rem;
    font-weight: 600;
}

.course-footer {
    border-top: 1px solid var(--border);
    padding: .9rem 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price-tag {
    font-family: 'Sora', sans-serif;
    font-weight: 800;
    color: var(--blue);
    font-size: 1rem;
}

.btn-enroll-sm {
    background: var(--blue);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: .38rem 1rem;
    font-size: .83rem;
    font-weight: 600;
    transition: background .2s;
}

.course-card {
    background: #fff;
    border-radius: 26px;
    overflow: hidden;
    transition: .4s ease;
    position: relative;
    height: 100%;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

.course-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(22, 163, 74, .18);
}

/* IMAGE AREA */
.course-card-img {
    height: 260px;
    position: relative;
    overflow: hidden;
    background: #000;
}

/* Image */
.course-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1s ease;
}

.course-card:hover .course-card-img img {
    transform: scale(1.08);
}

/* overlay */
.course-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, .2), rgba(0, 0, 0, .1));
}

/* badge */
.course-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    background: #22c55e;
    color: #fff;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: .8rem;
    font-weight: 700;
    z-index: 2;
    box-shadow: 0 8px 20px rgba(34, 197, 94, .35);
}

/* icon center */
.course-icon {
    position: absolute;
    width: 75px;
    height: 75px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 25px;
    bottom: 25px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .2);
}

/* floating icon */
.floating-icon {
    position: absolute;
    right: 25px;
    bottom: 25px;
    font-size: 3.5rem;
    color: rgba(255, 255, 255, .18);
    z-index: 2;
    animation: floatIcon 3s ease-in-out infinite;
}

@keyframes floatIcon {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0);
    }
}

.course-heading {
    margin-bottom: 50px;
    position: relative;
}

/* badge */
.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    color: #15803d;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: .9rem;
    font-weight: 700;
    margin-bottom: 24px;
    box-shadow: 0 10px 25px rgba(34, 197, 94, .15);
}

/* title */
.section-title {
    font-size: 3.3rem;
    font-weight: 900;
    color: #052e16;
    line-height: 1.2;
    margin-bottom: 18px;
}

.section-title span {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* subtitle */
.section-sub {
    max-width: 760px;
    margin: auto;
    color: #6b7280;
    font-size: 1.08rem;
    line-height: 1.9;
}

.filter-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.filter-tabs {
    background: #fff;
    padding: 14px;
    border-radius: 22px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .06);
    border: 1px solid #ecfdf5;
}

/* buttons */
.filter-btn {
    border: none;
    background: #f0fdf4;
    color: #166534;
    padding: 14px 22px;
    border-radius: 16px;
    font-size: .95rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: .35s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

/* hover */
.filter-btn:hover {
    transform: translateY(-3px);
    background: #dcfce7;
}

/* active */
.filter-btn.active-filter {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #fff;
    box-shadow: 0 12px 25px rgba(34, 197, 94, .3);
}

/* icon */
.filter-btn i {
    font-size: 1rem;
}

/* mobile */
@media(max-width: 768px) {
    .section-title {
        font-size: 2.2rem;
    }

    .section-sub {
        font-size: .95rem;
    }

    .filter-tabs {
        padding: 10px;
        gap: 10px;
    }

    .filter-btn {
        width: 100%;
        justify-content: center;
    }
}

/* BODY */
.card-body-custom {
    padding: 28px;
}

.scroll-feature-sec {
    padding: 100px 0;
    background: #fff;
    overflow: hidden;
}

/* heading */
.scroll-heading {
    margin-bottom: 70px;
    max-width: 850px;
}

.scroll-label {
    display: inline-block;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: #16a34a;
    margin-bottom: 18px;
}

.scroll-heading h2 {
    font-size: 3.5rem;
    line-height: 1.15;
    font-weight: 800;
    color: #111827;
    margin-bottom: 20px;
}

.scroll-heading h2 span {
    color: #16a34a;
}

.scroll-heading p {
    font-size: 1.05rem;
    color: #6b7280;
    line-height: 1.8;
    max-width: 760px;
}

/* layout */
.scroll-layout {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 70px;
    align-items: start;
}

/* LEFT */
.scroll-left {
    position: relative;
}

/* sticky image */
.sticky-box {
    position: sticky;
    top: 120px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .08);
}

.sticky-box img {
    width: 100%;
    display: block;
    border-radius: 28px;
}

/* RIGHT */
.scroll-right {
    position: relative;
}

/* cards */
.scroll-card {
    padding: 60px 0;
    border-bottom: 1px solid #e5e7eb;
}

.step-no {
    display: block;
    color: #22c55e;
    font-weight: 800;
    font-size: .9rem;
    margin-bottom: 18px;
}

.mini-title {
    display: block;
    color: #9ca3af;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.scroll-card h3 {
    font-size: 2.2rem;
    line-height: 1.3;
    font-weight: 800;
    color: #111827;
    margin-bottom: 18px;
    max-width: 600px;
}

.scroll-card p {
    font-size: 1rem;
    color: #6b7280;
    line-height: 1.9;
    max-width: 620px;
}

/* responsive */
@media(max-width: 991px) {
    .scroll-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sticky-box {
        position: relative;
        top: 0;
    }

    .scroll-heading h2 {
        font-size: 2.4rem;
    }

    .scroll-card {
        padding: 40px 0;
    }

    .scroll-card h3 {
        font-size: 1.7rem;
    }
}

.smart-scroll-sec {
    padding: 100px 0;
    background: #fff;
    overflow: hidden;
}

.smart-head {
    max-width: 850px;
    margin-bottom: 70px;
}

.smart-label {
    display: inline-block;
    color: #16a34a;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.smart-head h2 {
    font-size: 3.4rem;
    line-height: 1.15;
    font-weight: 800;
    color: #111827;
    margin-bottom: 20px;
}

.smart-head h2 span {
    color: #16a34a;
}

.smart-head p {
    font-size: 1.05rem;
    color: #6b7280;
    line-height: 1.8;
}

/* layout */
.smart-layout {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 70px;
    align-items: start;
}

/* LEFT */
.sticky-image-box {
    position: sticky;
    top: 100px;
    height: 600px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .1);
}

.scroll-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.05);
    transition: all .5s ease;
}

.scroll-img.active-img {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
}

/* RIGHT */
.smart-card {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid #e5e7eb;
    opacity: .35;
    transition: .4s ease;
}

.smart-card.active-card {
    opacity: 1;
}

.step-no {
    color: #22c55e;
    font-weight: 800;
    margin-bottom: 14px;
}

.mini-title {
    color: #9ca3af;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.smart-card h3 {
    font-size: 2.3rem;
    font-weight: 800;
    line-height: 1.3;
    color: #111827;
    margin-bottom: 18px;
    max-width: 650px;
}

.smart-card p {
    font-size: 1rem;
    line-height: 1.9;
    color: #6b7280;
    max-width: 620px;
}

/* mobile */
@media(max-width: 991px) {
    .smart-layout {
        grid-template-columns: 1fr;
    }

    .sticky-image-box {
        position: relative;
        top: 0;
        height: 350px;
    }

    .smart-card {
        min-height: auto;
        padding: 70px 0;
        opacity: 1;
    }

    .smart-head h2 {
        font-size: 2.2rem;
    }

    .smart-card h3 {
        font-size: 1.6rem;
    }
}

.stack-scroll-sec {
    padding: 13px 0;
    background: #fff;
    overflow: hidden;
}

.stack-head {
    margin-bottom: 90px;
}

.stack-label {
    display: inline-block;
    color: #16a34a;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.stack-head h2 {
    font-size: 3.4rem;
    font-weight: 800;
    color: #111827;
    line-height: 1.15;
    margin-bottom: 20px;
}

.stack-head h2 span {
    color: #16a34a;
}

.stack-head p {
    max-width: 700px;
    margin: auto;
    color: #6b7280;
    line-height: 1.8;
    font-size: 1.05rem;
}

/* item */
.stack-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
    margin-bottom: 130px;
    opacity: 0;
    transform: translateY(80px);
    transition: 1s ease;
}

.stack-item.show {
    opacity: 1;
    transform: translateY(0);
}

.stack-item.reverse .stack-img {
    order: 2;
}

.stack-item.reverse .stack-content {
    order: 1;
}

/* image */
.stack-img {
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .1);
}

.stack-img img {
    width: 100%;
    display: block;
    transition: .6s ease;
}

.stack-item:hover img {
    transform: scale(1.05);
}

/* content */
.stack-no {
    display: block;
    color: #22c55e;
    font-size: .95rem;
    font-weight: 800;
    margin-bottom: 15px;
}

.mini-tag {
    display: block;
    color: #9ca3af;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.stack-content h3 {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.25;
    color: #111827;
    margin-bottom: 22px;
}

.stack-content p {
    color: #6b7280;
    line-height: 1.9;
    font-size: 1.05rem;
    max-width: 550px;
}

/* mobile */
@media(max-width: 991px) {
    .stack-item {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-bottom: 90px;
    }

    .stack-item.reverse .stack-img,
    .stack-item.reverse .stack-content {
        order: unset;
    }

    .stack-head h2 {
        font-size: 2.2rem;
    }

    .stack-content h3 {
        font-size: 1.7rem;
    }
}

/* TAG */
.course-tag {
    display: inline-block;
    background: #dcfce7;
    color: #15803d;
    padding: 7px 14px;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: .4px;
}

/* TITLE */
.course-title {
    font-size: 1.45rem;
    font-weight: 800;
    color: #052e16;
    line-height: 1.4;
    margin-bottom: 16px;
}

/* META */
.course-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6b7280;
    font-size: .92rem;
    margin-bottom: 18px;
}

.course-rating {
    color: #f59e0b;
    font-weight: 700;
}

/* duration */
.course-duration {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: .82rem;
    font-weight: 600;
}

/* footer */
.course-footer {
    padding: 22px 28px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* price */
.price-tag {
    color: #16a34a;
    font-weight: 800;
    font-size: 1rem;
}

/* button */
.btn-enroll-sm {
    border: none;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #fff;
    padding: 12px 18px;
    border-radius: 12px;
    font-size: .9rem;
    font-weight: 700;
    transition: .3s;
}

.btn-enroll-sm:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(34, 197, 94, .25);
}

/* responsive */
@media(max-width: 768px) {
    .course-card-img {
        height: 220px;
    }

    .alert-bar {
        display: none !important;
    }

    .course-title {
        font-size: 1.2rem;
    }

    .course-footer {
        flex-direction: column;
        gap: 14px;
        align-items: flex-start;
    }
}

.testi-slider-sec {
    padding: 100px 0;
    background: #f8fafc;
    overflow: hidden;
}

.testi-tag {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 50px;
    background: #dcfce7;
    color: #16a34a;
    font-size: .85rem;
    font-weight: 700;
    margin-bottom: 18px;
}

.testi-head {
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.15;
    color: #111827;
    margin-bottom: 18px;
}

.testi-sub {
    max-width: 700px;
    margin: auto;
    color: #6b7280;
    line-height: 1.8;
    font-size: 1.05rem;
}

/* slider */
.testiSwiper {
    padding-top: 20px;
    padding-bottom: 70px;
}

.modern-t-card {
    background: #fff;
    border-radius: 28px;
    padding: 40px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, .06);
    position: relative;
    transition: .4s ease;
    height: 100%;
}

.modern-t-card:hover {
    transform: translateY(-10px);
}

.quote-icon {
    width: 17px;
    height: 17px;
    border-radius: 18px;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    margin-bottom: 25px;
}

.t-stars {
    color: #f59e0b;
    letter-spacing: 3px;
    font-size: 1rem;
    margin-bottom: 18px;
}

.t-desc {
    color: #4b5563;
    line-height: 1.9;
    font-size: 1rem;
    margin-bottom: 30px;
}

.t-user {
    display: flex;
    align-items: center;
    gap: 15px;
}

.t-user-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
}

.orange {
    background: linear-gradient(135deg, #f59e0b, #fb923c);
}

.green {
    background: linear-gradient(135deg, #059669, #10b981);
}

.purple {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
}

.t-user h4 {
    font-size: 1.1rem;
    margin-bottom: 4px;
    font-weight: 700;
    color: #111827;
}

.t-user span {
    font-size: .92rem;
    color: #6b7280;
}

/* dots */
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: #16a34a;
    opacity: .3;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    width: 35px;
    border-radius: 50px;
}

/* mobile */
@media(max-width: 991px) {
    .testi-head {
        font-size: 2.2rem;
    }

    .modern-t-card {
        padding: 30px;
    }
}

.faq-sec {
    padding: 100px 0;
    background: #f8fafc;
}

/* row center */
.faq-sec .row {
    justify-content: center;
}

/* LEFT SIDE */
.faq-sec .col-lg-4 {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* heading */
.sec-tag {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 50px;
    background: #dcfce7;
    color: #16a34a;
    font-size: .85rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.sec-h {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.2;
    color: #111827;
    margin-bottom: 18px;
}

.sec-sub {
    max-width: 380px;
    color: #6b7280;
    line-height: 1.8;
    font-size: 1rem;
}

/* button */
.btn-hero-primary {
    border: none;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #fff;
    border-radius: 14px;
    font-weight: 600;
    transition: .3s ease;
    box-shadow: 0 15px 35px rgba(34, 197, 94, .2);
}

.btn-hero-primary:hover {
    transform: translateY(-4px);
}

/* FAQ RIGHT */
.faq-sec .col-lg-8 {
    max-width: 850px;
}

/* faq item */
.f-item {
    background: #fff;
    border-radius: 22px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
    transition: .3s ease;
    cursor: pointer;
}

.f-item:hover {
    transform: translateY(-3px);
}

/* question */
.f-q {
    padding: 17px 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
}

/* icon */
.f-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #dcfce7;
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* answer */
.f-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
}

.f-a-inner {
    padding: 0 28px 28px;
    color: #6b7280;
    line-height: 1.9;
    font-size: .97rem;
}

/* active */
.f-item.active .f-a {
    max-height: 300px;
}

.f-item.active .f-icon i {
    transform: rotate(45deg);
}

/* mobile */
@media(max-width: 991px) {
    .sec-h {
        font-size: 2.2rem;
    }

    .faq-sec .col-lg-4 {
        margin-bottom: 30px;
    }

    .f-q {
        font-size: .95rem;
        padding: 20px;
    }

    .f-a-inner {
        padding: 0 20px 24px;
    }
}

/* FAQ Section */
.faq-sec {
    padding: 100px 0;
    background: #f5f5f5;
}

/* Heading */
.faq-head {
    margin-bottom: 50px;
}

.faq-tag {
    font-size: 13px;
    color: #7ac142;
    font-weight: 600;
    letter-spacing: .5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
}

.faq-tag i {
    font-size: 8px;
}

.faq-title {
    font-size: 58px;
    font-weight: 700;
    color: #222;
    margin-top: 10px;
}

/* Main Box */
.faq-box {
    max-width: 820px;
    margin: auto;
    background: #efefef;
    padding: 45px 40px;
    border-radius: 6px;
}

/* FAQ Item */
.f-item {
    border-bottom: 1px solid #555;
    padding: 22px 0;
    cursor: pointer;
}

/* Question */
.f-q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-size: 20px;
    color: #222;
    font-weight: 400;
}

/* Icon */
.f-icon {
    color: #7ac142;
    font-size: 22px;
    transition: .3s;
}

/* Answer */
.f-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
}

.f-a-inner {
    padding-top: 18px;
    font-size: 16px;
    line-height: 1.7;
    color: #555;
}

/* Active */
.f-item.active .f-a {
    max-height: 200px;
}

.f-item.active .f-icon {
    transform: rotate(45deg);
}

/* Mobile */
@media(max-width: 768px) {
    .faq-title {
        font-size: 38px;
    }

    .faq-box {
        padding: 30px 20px;
    }

    .f-q {
        font-size: 17px;
    }
}

/* GALLERY SECTION */
.gallery-sec {
    background: #f7f7f7;
}

/* Heading */
.gallery-tag {
    color: #7ac142;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
}

.gallery-tag i {
    font-size: 8px;
}

.gallery-title {
    font-size: 52px;
    font-weight: 700;
    color: #222;
    line-height: 1.2;
}

.gallery-sub {
    max-width: 700px;
    margin: auto;
    margin-top: 18px;
    color: #666;
    font-size: 17px;
    line-height: 1.8;
}

/* Gallery Card */
.gallery-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 18px;
}

.gallery-card img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    transition: .5s;
}

/* Overlay */
.gallery-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .8), transparent);
    display: flex;
    align-items: flex-end;
    padding: 25px;
    opacity: 0;
    transition: .4s;
}

.gallery-overlay h5 {
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    margin: 0;
}

/* Hover */
.gallery-card:hover img {
    transform: scale(1.08);
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}

/* Mobile */
@media(max-width: 768px) {
    .gallery-title {
        font-size: 36px;
    }

    .gallery-sub {
        font-size: 15px;
    }

    .gallery-card img {
        height: 240px;
    }
}

.cta-sec {
    background: var(--green);
    padding: 90px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-sec {
    background: var(--green);
    padding: 90px 24px;
    text-align: center;
    position: relative;
    overflow: hidden
}

.cta-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .2), transparent 70%);
    pointer-events: none
}

.cta-sec h2 {
    font-family: "Stack Sans Headline", sans-serif;
    ;
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 16px;
    position: relative
}

.cta-sec p {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .8);
    max-width: 520px;
    margin: 0 auto 36px;
    position: relative
}

.cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative
}

.btn-cta-white {
    background: #fff;
    color: var(--green-dark);
    padding: 15px 32px;
    border-radius: 14px;
    font-weight: 700;
    font-size: .95rem;
    border: none;
    cursor: pointer;
    transition: .25s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.btn-cta-white:hover {
    background: var(--dark);
    color: #fff;
    transform: translateY(-2px)
}

.btn-cta-ghost {
    background: transparent;
    color: #fff;
    padding: 13px 30px;
    border-radius: 14px;
    font-weight: 700;
    font-size: .95rem;
    border: 2px solid rgba(255, 255, 255, .5);
    cursor: pointer;
    transition: .25s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none
}

.btn-cta-ghost:hover {
    background: rgba(255, 255, 255, .15);
    border-color: #fff;
    color: #fff
}

footer {
    background: #0d0d0d;
    color: rgba(255, 255, 255, .55);
    padding: 70px 28px 0;
    border-top: 1px solid rgba(255, 255, 255, .07)
}

.footer-top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1.4fr 1.2fr;
    gap: 48px;
    max-width: 1300px;
    margin: 0 auto;
    padding-bottom: 48px
}

/* Brand col */
.f-logo-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px
}

.f-logo-circle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .15);
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden
}

.f-logo-circle i {
    font-size: 28px;
    color: var(--green)
}

.f-logo-name {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.1
}

.f-logo-sub {
    font-size: .65rem;
    color: rgba(255, 255, 255, .35);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 3px
}

.f-about {
    font-size: .83rem;
    color: white;
    line-height: 1.85;
    margin-bottom: 22px
}

.f-need-help {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .7);
    border-radius: 50px;
    padding: 9px 20px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    background: transparent;
    transition: .2s;
    font-family: var(--font-body);
    text-decoration: none;
    margin-bottom: 20px
}

.f-need-help:hover {
    border-color: var(--green);
    color: var(--green)
}

.f-social {
    display: flex;
    gap: 8px;
    margin-top: 6px
}

.f-social a {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .45);
    font-size: .8rem;
    text-decoration: none;
    transition: .2s
}

.f-social a:hover {
    background: var(--green);
    border-color: var(--green);
    color: #fff
}

/* Column heads */
.f-head {
    font-family: var(--font-display);
    font-weight: 700;
    color: #fff;
    font-size: 1rem;
    margin-bottom: 20px;
    letter-spacing: -.1px;
    position: relative;
    padding-bottom: 12px
}

.f-head::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 2px;
    background: var(--green);
    border-radius: 2px
}

/* Links */
.f-links {
    list-style: none
}

.f-links li {
    margin-bottom: 11px
}

.f-links a {
    color: whitesmoke;
    text-decoration: none;
    font-size: .85rem;
    transition: .2s;
    display: flex;
    align-items: center;
    gap: 7px
}

.f-links a::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(92, 184, 92, .4);
    flex-shrink: 0;
    transition: .2s
}

.f-links a:hover {
    color: #fff;
    padding-left: 4px
}

.f-links a:hover::before {
    background: var(--green)
}

/* Services */
.f-services-list {
    list-style: none
}

.f-services-list li {
    margin-bottom: 11px
}

.f-services-list a {
    color: white;
    text-decoration: none;
    font-size: .84rem;
    transition: .2s;
    display: block;
    line-height: 1.5
}

.f-services-list a:hover {
    color: var(--green)
}

/* Find Us / Map */
.f-map-wrap {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    margin-top: 4px;
    position: relative;
    height: 170px;
    background: #1a1a1a
}

.f-map-wrap iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    filter: grayscale(0.3) contrast(1.1)
}

.f-map-label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .6);
    font-size: .82rem;
    margin-bottom: 12px;
    font-weight: 500
}

.f-map-label i {
    color: var(--green)
}

.f-map-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    color: var(--green);
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    transition: .2s
}

.f-map-link:hover {
    color: #fff
}

/* Bottom bar */
.f-divider {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, .07);
    margin: 0
}

.f-bottom {
    display: flex;
    align-items: center;
    color: white;
    justify-content: space-between;
    font-size: .78rem;
    max-width: 1300px;
    margin: 0 auto;
    padding: 20px 0 28px;
    gap: 12px;
    flex-wrap: wrap;
    color: whitesmoke;
}

.f-bottom a {
    color: white;
    text-decoration: none;
    transition: .2s
}

.f-bottom a:hover {
    color: var(--green)
}

.f-bottom-links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap
}

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: .7s cubic-bezier(.25, .8, .25, 1)
}

.reveal.visible {
    opacity: 1;
    transform: none
}

@media(max-width: 1024px) {

    .process-grid,
    .about-grid {
        grid-template-columns: 1fr
    }

    .process-right {
        position: static
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .stack-item {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .stack-item.reverse {
        direction: ltr
    }

    .gallery-grid {
        grid-template-columns: 1fr 1fr
    }

    .gallery-grid .g1 {
        grid-column: auto;
        grid-row: auto;
        min-height: 200px
    }

    .about-floating {
        display: none
    }
}

@media(max-width: 768px) {
    .section {
        padding: 20px 20px;
    }

    .nav-links {
        display: none
    }

    .hamburger {
        display: flex
    }

    .hero-inner {
        padding: 95px 20px 75px
    }

    .hero-stats {
        gap: 28px
    }

    .pillars {
        grid-template-columns: 1fr 1fr
    }

    .testi-grid {
        grid-template-columns: 1fr
    }

    .course-grid {
        grid-template-columns: 1fr
    }

    .gallery-grid {
        grid-template-columns: 1fr
    }

    .gallery-grid .g1 {
        min-height: 220px
    }

    .footer-top {
        grid-template-columns: 1fr !important
    }

    .f-bottom {
        flex-direction: column;
        text-align: center
    }

    .about-values {
        grid-template-columns: 1fr
    }
}

@media(max-width: 480px) {
    .pillars {
        grid-template-columns: 1fr
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch
    }

    .btn-primary,
    .btn-outline {
        justify-content: center
    }

    .cta-btns {
        flex-direction: column;
        align-items: stretch
    }

    .btn-cta-green,
    .btn-cta-ghost {
        justify-content: center
    }

    .hero-stats {

        gap: 18px
    }

    .companies-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .placement-stats {
        grid-template-columns: 1fr 1fr
    }
}

.footer-top {
    /* grid-template-columns: 1fr 1fr; */
    gap: 32px !important
}

/* whatsapp floating button */
.float-wa {
    position: fixed;
    bottom: 28px;
    right: 24px;
    z-index: 990;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(135deg, #128C7E, #25D366);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 30px rgba(37, 211, 102, .45);
    animation: waPulse 2s infinite;
    transition: transform .2s;
}

.float-wa:hover {
    transform: scale(1.12)
}

@keyframes waPulse {

    0%,
    100% {
        box-shadow: 0 8px 30px rgba(37, 211, 102, .45)
    }

    50% {
        box-shadow: 0 8px 40px rgba(37, 211, 102, .7), 0 0 0 10px rgba(37, 211, 102, .1)
    }
}

/* ===== BUTTONS ===== */
.hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2.5rem;
    flex-wrap: wrap;
}

.btn-primary-hero {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 2rem;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.3), 0 4px 15px rgba(0, 0, 0, 0.4);
    text-decoration: none;
}

.btn-primary-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #22c55e, #4ade80);
    opacity: 0;
    transition: opacity 0.3s;
}

.btn-primary-hero:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 35px rgba(34, 197, 94, 0.5), 0 8px 25px rgba(0, 0, 0, 0.5);
}

.btn-primary-hero:hover::before {
    opacity: 1;
}

.btn-primary-hero span {
    position: relative;
    z-index: 1;
}

.btn-primary-hero svg {
    position: relative;
    z-index: 1;
    transition: transform 0.3s;
}

.btn-primary-hero:hover svg {
    transform: translateX(4px);
}

/* Ripple on click */
.btn-primary-hero:active {
    transform: translateY(0) scale(0.98);
}

.btn-outline-hero {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 2rem;
    background: transparent;
    color: #4ade80;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid rgba(74, 222, 128, 0.4);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.25s;
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

.btn-outline-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(74, 222, 128, 0.07);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.btn-outline-hero:hover {
    border-color: rgba(74, 222, 128, 0.8);
    color: #86efac;
    box-shadow: 0 0 20px rgba(74, 222, 128, 0.1), inset 0 0 15px rgba(74, 222, 128, 0.05);
}

.btn-outline-hero:hover::before {
    transform: scaleX(1);
}

.btn-outline-hero span,
.btn-outline-hero svg {
    position: relative;
    z-index: 1;
}

.btn-outline-hero svg {
    transition: transform 0.3s;
}

.btn-outline-hero:hover svg {
    transform: scale(1.15);
}

/* MODAL WIDTH */
.modal-dialog {
    max-width: 950px;
}

/* MAIN MODAL */
.enquire-modal {
    border: none;
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
}

/* BODY */
.enquire-modal .modal-body {
    display: flex;
    padding: 0;
}

/* LEFT SIDE */
.enquire-left {
    width: 45%;
    background: linear-gradient(135deg, #081224, #10284a);
    color: #fff;
    padding: 60px 45px;
    position: relative;
}

.popup-tag {
    display: inline-block;
    background: rgba(255, 255, 255, .12);
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 28px;
}

.enquire-left h2 {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 24px;
}

.enquire-left p {
    color: #d8d8d8;
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 40px;
}

/* FEATURES */
.popup-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    font-size: 17px;
}

.popup-feature i {
    color: #7ac142;
    font-size: 18px;
}

/* RIGHT SIDE */
.enquire-right {
    width: 55%;
    padding: 55px 45px;
    background: #fff;
}

/* INPUTS */
.custom-input {
    height: 58px;
    border-radius: 16px;
    border: 1px solid #e2e2e2;
    padding-left: 18px;
    font-size: 16px;
    box-shadow: none !important;
}

textarea.custom-input {
    height: 130px;
    resize: none;
    padding-top: 18px;
}

/* BUTTON */
.submit-btn {
    width: 100%;
    height: 60px;
    border: none;
    border-radius: 16px;
    background: #7ac142;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    transition: .3s;
}

.submit-btn:hover {
    background: #111;
}

/* CLOSE BUTTON */
.custom-close {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 100;
    /* background:#fff !important; */
    opacity: 1;
    border-radius: 50%;
    padding: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .1);
}

/* MOBILE */
@media(max-width: 768px) {
    .modal-dialog {
        margin: 15px;
    }

    .enquire-modal .modal-body {
        flex-direction: column;
    }

    .enquire-left,
    .enquire-right {
        width: 100%;
    }

    .enquire-left {
        padding: 45px 28px;
    }

    .enquire-right {
        padding: 35px 28px;
    }

    .enquire-left h2 {
        font-size: 38px;
    }

    .enquire-left p {
        font-size: 16px;
    }

    .f-item {
        border-bottom: 1px solid #555;
        padding: 5px 0;
        cursor: pointer;
    }
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ PLACEMENTS Ã¢â€â‚¬Ã¢â€â‚¬ */
.placements-sec {
    background: #fff
}

.placement-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 48px
}

.ps-card {
    background: var(--green);
    border-radius: var(--radius);
    padding: 32px 28px;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden
}

.ps-card::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08)
}

.ps-num {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 800;
    line-height: 1
}

.ps-label {
    font-size: .85rem;
    opacity: .85;
    margin-top: 6px;
    font-weight: 500
}

.companies-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
    gap: 14px;
    margin-top: 44px
}

.company-card {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 20px 16px;
    text-align: center;
    font-weight: 600;
    font-size: .88rem;
    color: var(--text);
    transition: .3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body)
}

.company-card:hover {
    border-color: var(--green);
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(92, 184, 92, .1);
    background: #fff
}

.company-card .c-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px
}

Ã¢â€â‚¬ ABOUT SECTION Ã¢â€â‚¬Ã¢â€â‚¬ */ .about-sec {
    background: #fff;
    position: relative;
    overflow: hidden
}

.about-sec::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    /* width:500px; */
    /* height:500px; */
    background: radial-gradient(circle, rgba(92, 184, 92, .06), transparent);
    pointer-events: none
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    margin-top: 0
}

.about-img-wrap {
    position: relative
}

.about-img-main {
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 4/5;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .12)
}

.about-img-main img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-img-badge {
    position: absolute;
    bottom: -20px;
    right: -20px;
    background: var(--green);
    color: #fff;
    border-radius: 18px;
    padding: 20px 24px;
    text-align: center;
    box-shadow: 0 12px 40px var(--green-glow)
}

.about-img-badge .big {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 800;
    display: block;
    line-height: 1
}

.about-img-badge .small {
    font-size: .75rem;
    font-weight: 600;
    opacity: .9;
    display: block;
    margin-top: 4px
}

.about-floating {
    position: absolute;
    top: 30px;
    left: -30px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 16px 20px;
    box-shadow: var(--shadow);
    display: flex;
    align-items: center;
    gap: 12px
}

.af-icon {
    width: 44px;
    height: 44px;
    background: rgba(92, 184, 92, .1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--green);
    font-size: 18px;
    flex-shrink: 0
}

.af-num {
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--dark);
    font-size: 1.2rem;
    line-height: 1
}

.af-label {
    font-size: .75rem;
    color: var(--muted);
    margin-top: 2px
}

.about-content .sec-badge {
    margin-bottom: 14px
}

.about-content .sec-title {
    margin-bottom: 18px;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem)
}

.about-content p {
    font-size: .95rem;
    color: var(--muted);
    line-height: 1.85;
    margin-bottom: 16px
}

.about-values {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 28px 0
}

.av-item {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.av-icon {
    width: 36px;
    height: 36px;
    background: rgba(92, 184, 92, .1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--green);
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 2px
}

.av-title {
    font-weight: 700;
    color: var(--dark);
    font-size: .88rem;
    margin-bottom: 3px;
    font-family: var(--font-display)
}

.av-text {
    font-size: .78rem;
    color: var(--muted);
    line-height: 1.5
}

.about-certs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px
}

.cert-badge {
    background: var(--dark);
    color: #fff;
    border-radius: 50px;
    padding: 8px 16px;
    font-size: .78rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px
}

.cert-badge i {
    color: var(--green)
}

@media (max-width: 1024px) {

    .process-grid,
    .about-grid {
        grid-template-columns: 1fr;
    }

    .about-values {
        grid-template-columns: 1fr !important
    }

    .about-floating {
        display: none !important
    }
}

html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

@media (max-width: 768px) {
    .footer-top {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 32px;
    }

    .hero-stat-item {
        min-width: 130px;
        padding: 14px;
    }
}

.stack-img-wrap {
    width: 100%;
    max-width: 100%;
}

.stack-img-wrap img {
    width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .stack-item {
        flex-direction: column;
    }
}

/* =========================
   ABOUT SECTION RESPONSIVE
========================= */
/* =========================
   TABLET RESPONSIVE
========================= */
@media (max-width: 991px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .about-content {
        text-align: center;
    }

    .about-values {
        grid-template-columns: 1fr 1fr;
    }

    .av-item {
        text-align: left;
    }

    .about-certs {
        justify-content: center;
    }

    .sec-title br {
        display: none;
    }
}

/* =========================
   MOBILE RESPONSIVE
========================= */
@media (max-width: 767px) {
    .about-sec {
        padding: 60px 0;
    }

    .sec-title {
        font-size: 30px;
    }

    .about-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .about-values {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .about-img-badge {
        left: 10px;
        bottom: 10px;
        padding: 12px 14px;
    }

    .about-img-badge .big {
        font-size: 22px;
    }

    .about-floating {
        top: 10px;
        right: 10px;
        padding: 10px 12px;
        gap: 10px;
    }

    .af-icon {
        width: 38px;
        height: 38px;
        font-size: 15px;
    }

    .af-num {
        font-size: 14px;
    }

    .af-label {
        font-size: 12px;
    }

    .cert-badge {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* =========================
   SMALL MOBILE
========================= */
@media (max-width: 480px) {
    .sec-title {
        font-size: 26px;
    }

    .about-content p {
        font-size: 14px;
    }

    .about-img-badge {
        position: relative;
        left: 0;
        bottom: 0;
        margin-top: 15px;
        width: fit-content;
    }

    .about-floating {
        position: relative;
        top: 0;
        right: 0;
        margin-top: 15px;
        width: fit-content;
    }
}

/* HERO STATS */

@media (max-width: 767px) {

    .hero-stats {
        display: flex;
        flex-wrap: wrap;
        gap: 15px !important;
    }

    .hero-stat-item {
        width: calc(50% - 8px);
        flex: 0 0 calc(50% - 8px);
        text-align: center;
    }

}

/* MOBILE RESPONSIVE */
@media (max-width: 767px) {

    .companies-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }

    .company-card {
        width: 100%;
        padding: 14px 10px;
        font-size: 14px;
        text-align: center;
    }

    .c-icon {
        margin: 0 auto 10px;
    }

}

/* PILLARS MOBILE RESPONSIVE */
.pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

/* TABLET */
@media (max-width: 991px) {

    .pillars {
        grid-template-columns: repeat(2, 1fr) !important;
    }

}

/* MOBILE */
@media (max-width: 767px) {

    .pillars {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pillar {
        padding: 22px 18px;
        text-align: center;
    }

    .pillar-icon {
        margin: 0 auto 15px;
    }

    .pillar h4 {
        font-size: 20px;
        line-height: 1.4;
        margin-bottom: 10px;
    }

    .pillar p {
        font-size: 14px;
        line-height: 1.7;
    }

}

/* Courses button styling */
.custom-course-btn {
    background: linear-gradient(135deg, #0f9d58, #34a853);
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.custom-course-btn:hover {
    background: linear-gradient(135deg, #34a853, #0f9d58);
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(15, 157, 88, 0.35);
}

/* Dropdown box */
.custom-dropdown {
    min-width: 320px;
    border-radius: 14px;
    padding: 10px;
    background: #ffffff;
    border-top: 4px solid #0f9d58;
    animation: fadeIn 0.3s ease-in-out;
}

/* Dropdown items */
.custom-item {
    padding: 12px 15px;
    border-radius: 10px;
    margin-bottom: 6px;
    font-weight: 500;
    color: #222;
    transition: all 0.3s ease;
}

/* Hover effect */
.custom-item:hover {
    background: linear-gradient(135deg, #0f9d58, #34a853);
    color: #fff !important;
    transform: translateX(5px);
    box-shadow: 0 4px 12px rgba(15, 157, 88, 0.25);
}

/* Smooth animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* MAIN POPUP */
.attractive-popup {
    position: relative;
    border: none;
    border-radius: 25px;
    overflow: hidden;
    background: linear-gradient(145deg, #0f9d58, #1db954);
    color: white;
    padding: 50px 30px 35px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    animation: popupZoom 0.5s ease;
}

/* TOP ICON CIRCLE */
.popup-circle {
    position: absolute;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 90px;
    background: white;
    color: #0f9d58;
    border-radius: 50%;
    font-size: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    border: 5px solid #eafff2;
}

/* CLOSE BUTTON */
.popup-close {
    position: absolute;
    right: 15px;
    top: 15px;
    background-color: white !important;
    border-radius: 50%;
    opacity: 1;
    padding: 8px;
}

/* TITLE */
.popup-title {
    margin-top: 20px;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* TEXT */
.popup-text {
    margin-top: 15px;
    font-size: 16px;
    line-height: 1.7;
    opacity: 0.95;
}

/* OFFER BOX */
.offer-box {
    margin: 25px auto;
    background: rgba(255, 255, 255, 0.18);
    padding: 12px 20px;
    border-radius: 50px;
    width: fit-content;
    font-weight: 600;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* BUTTON */
.popup-btn {
    background: white;
    color: #0f9d58;
    padding: 14px 34px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 17px;
    transition: 0.3s ease;
    border: none;
    text-decoration: none;
}

.popup-btn:hover {
    background: #eafff2;
    color: #0f9d58;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
}

/* POPUP ANIMATION */
@keyframes popupZoom {
    from {
        opacity: 0;
        transform: scale(0.7);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* =========================
   ABOUT SECTION STYLING
========================= */

/* ABOUT IMAGE EFFECT */

.about-img-main {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
}

.about-img-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease;
}

/* Dark Gradient Overlay */
.about-img-main::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.45),
            rgba(0, 0, 0, 0.05));
    border-radius: 28px;
}

/* Hover Zoom */
.about-img-main:hover img {
    transform: scale(1.06);
}

/* Floating Glow */
.about-img-wrap::before {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    background: rgba(15, 157, 88, 0.12);
    border-radius: 50%;
    top: -50px;
    left: -50px;
    z-index: -1;
    filter: blur(40px);
}

/* BUTTON */

.internship-btn {
    background: linear-gradient(135deg, #0f9d58, #1db954);
    color: white;
    border: none;
    padding: 14px 28px;
    border-radius: 50px;
    font-size: 17px;
    font-weight: 700;
    transition: 0.3s ease;
    box-shadow: 0 10px 25px rgba(15, 157, 88, 0.25);
}

.internship-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(15, 157, 88, 0.35);
}

/* MODAL */

.internship-modal {
    border: none;
    border-radius: 28px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    min-height: 580px;
    animation: modalZoom 0.4s ease;
}

/* LEFT */

.internship-left {
    width: 45%;
    background: linear-gradient(135deg, #0f9d58, #1db954);
    color: white;
    padding: 50px 35px;
    position: relative;
}

.internship-tag {
    display: inline-block;
    background: rgba(255, 255, 255, 0.15);
    padding: 8px 18px;
    border-radius: 50px;
    font-weight: 600;
    margin-bottom: 25px;
    backdrop-filter: blur(10px);
}

.internship-left h2 {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 20px;
}

.internship-left p {
    line-height: 1.8;
    opacity: 0.95;
}

.internship-points {
    margin-top: 35px;
}

.point-item {
    margin-bottom: 18px;
    font-size: 16px;
    font-weight: 600;
}

/* RIGHT */

.internship-right {
    width: 55%;
    padding: 45px 35px;
    background: white;
    position: relative;
}

.form-title {
    font-size: 30px;
    font-weight: 800;
    color: #111;
    margin-bottom: 25px;
}

/* CLOSE */

.custom-close {
    position: absolute;
    top: 20px;
    right: 20px;
}

/* INPUTS */

.custom-field {
    border-radius: 14px;
    padding: 14px;
    border: 1px solid #dcdcdc;
    font-size: 15px;
}

.custom-field:focus {
    border-color: #0f9d58;
    box-shadow: 0 0 12px rgba(15, 157, 88, 0.18);
}

/* BUTTON */

.submit-internship-btn {
    width: 100%;
    background: linear-gradient(135deg, #0f9d58, #1db954);
    border: none;
    color: white;
    padding: 15px;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 700;
    transition: 0.3s ease;
}

.submit-internship-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(15, 157, 88, 0.3);
}

/* ANIMATION */

@keyframes modalZoom {
    from {
        opacity: 0;
        transform: scale(0.8);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* RESPONSIVE */

@media(max-width: 991px) {

    .internship-modal {
        flex-direction: column;
    }

    .internship-left,
    .internship-right {
        width: 100%;
    }

    .internship-left h2 {
        font-size: 28px;
    }
}

/* FLOATING INTERNSHIP BUTTON */

.floating-internship-btn {
    position: fixed;
    right: 20px;
    bottom: 100px;
    z-index: 9999;

    display: flex;
    align-items: center;
    gap: 12px;

    background: linear-gradient(135deg, #0f9d58, #1db954);
    color: white;

    padding: 14px 18px;
    border-radius: 60px;

    cursor: pointer;

    box-shadow: 0 10px 30px rgba(15, 157, 88, 0.35);

    transition: 0.3s ease;

    animation: floatPulse 2s infinite;
}

/* HOVER */

.floating-internship-btn:hover {
    transform: translateY(-5px) scale(1.03);
    box-shadow: 0 15px 40px rgba(15, 157, 88, 0.45);
}

/* ICON */

.fi-icon {
    width: 55px;
    height: 55px;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.18);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 24px;

    backdrop-filter: blur(10px);
}

/* TEXT */

.fi-text {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.3px;
}

/* FLOAT ANIMATION */

@keyframes floatPulse {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* MOBILE */

@media(max-width:768px) {

    .floating-internship-btn {
        right: 12px;
        bottom: 85px;

        padding: 12px 14px;
    }

    .fi-icon {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .fi-text {
        font-size: 13px;
    }
}

/* TESTIMONIAL SECTION */
/* SECTION */

.testimonial-swiper-section {

    padding: 50px 0;

    background: #f7fbff;
}

/* HEADING */

.testimonial-tag {

    color: #ff7a00;

    font-weight: 700;

    text-transform: uppercase;
}

.testimonial-heading h2 {

    font-size: 48px;

    font-weight: 800;

    margin-top: 10px;

    margin-bottom: 60px;
}

/* CARD */

.testimonial-card {

    position: relative;

    background: #dff0ff;

    border-radius: 35px;

    padding: 60px 40px;

    min-height: 420px;

    overflow: hidden;

    transition: 0.4s ease;

    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.testimonial-card {

    padding: 40px 25px;

    min-height: 380px;

    border-radius: 30px;
}

/* IMAGE */

.student-img img {

    width: 85px;

    height: 85px;
}

/* NAME */

.testimonial-card h3 {

    font-size: 24px;
}

/* TEXT */

.testimonial-card p {

    font-size: 15px;

    line-height: 1.8;
}

/* ROLE */

.testimonial-card span {

    font-size: 14px;
}

.testimonial-card:hover {

    transform: translateY(-10px);
}

/* CARD */

.testimonial-card {

    position: relative;

    background: #a9d9b4;
    border-radius: 35px;

    padding: 40px 30px;

    min-height: 420px;

    overflow: hidden;

    transition: 0.4s ease;

    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

/* IMAGE */

.student-img {

    position: relative;

    display: flex;

    justify-content: flex-end;

    margin-bottom: 15px;
}

.student-img img {

    width: 90px;

    height: 90px;

    border-radius: 50%;

    object-fit: cover;

    border: 4px solid #ff7a00;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* QUOTE */

.quote-icon {

    position: absolute;

    top: 20px;

    left: 25px;

    font-size: 80px;

    color: #f7c98d;

    line-height: 1;
}

/* NAME */

.testimonial-card h3 {

    font-size: 24px;

    font-weight: 800;

    color: #0d2b52;

    margin-bottom: 12px;

    margin-top: 10px;
}

/* QUOTE */

.quote-icon {

    font-size: 60px;

    color: #f7c98d;

    line-height: 1;
}

/* IMAGE */

.student-img {

    position: absolute;

    top: 30px;

    right: 30px;
}

.student-img img {

    width: 100px;

    height: 100px;

    border-radius: 50%;

    object-fit: cover;

    border: 5px solid #ff7a00;
}

/* NAME */

.testimonial-card h3 {

    font-size: 28px;

    font-weight: 800;

    color: #0d2b52;

    margin-top: -10px;

    margin-bottom: 15px;
}

/* STARS */

.stars {

    color: #18a558;

    font-size: 22px;

    margin-bottom: 20px;
}

/* TEXT */

.testimonial-card p {

    font-size: 17px;

    line-height: 1.9;

    color: #333;
}

/* ROLE */

.testimonial-card span {

    display: inline-block;

    margin-top: 25px;

    color: #333;

    font-weight: 700;

    line-height: 1.7;
}

/* SWIPER BUTTONS */

.swiper-button-next,
.swiper-button-prev {

    width: 55px !important;

    height: 55px !important;

    border-radius: 50%;

    background: #18a558;

    color: white !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {

    font-size: 20px !important;

    font-weight: bold;
}

/* PAGINATION */

.swiper-pagination-bullet {

    background: #18a558;

    opacity: 0.5;
}

.swiper-pagination-bullet-active {

    opacity: 1;
}

/* MOBILE */

@media(max-width:991px) {

    .testimonial-card {

        padding: 50px 25px;

        min-height: auto;
    }

    .student-img {

        position: static;

        margin-bottom: 20px;
    }

    .student-img img {

        width: 90px;

        height: 90px;
    }

    .testimonial-card h3 {

        font-size: 26px;
    }

    .testimonial-heading h2 {

        font-size: 34px;
    }
}

/* =========================
   VIDEO TESTIMONIALS
========================= */

.yt-testimonial-section {

    padding: 100px 0;

    background: #f7fbff;
}

/* HEADING */

.yt-heading {

    margin-bottom: 60px;
}

.yt-tag {

    display: inline-block;

    background: rgba(15, 157, 88, 0.12);

    color: #0f9d58;

    padding: 10px 24px;

    border-radius: 50px;

    font-weight: 700;

    text-transform: uppercase;
}

.yt-heading h2 {

    font-size: 52px;

    font-weight: 800;

    margin-top: 18px;

    color: #111;
}

/* CARD */

.yt-card {

    background: #fff;

    border-radius: 24px;

    overflow: hidden;

    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);

    transition: 0.4s ease;
}

.yt-card:hover {

    transform: translateY(-8px);
}

/* VIDEO */

.yt-card iframe {

    width: 100%;

    height: 500px;

    display: block;
}

/* CONTENT */

.yt-content {

    padding: 22px;
}

.yt-content h3 {

    font-size: 24px;

    font-weight: 800;

    margin-bottom: 8px;

    color: #0d2b52;
}

.yt-content span {

    color: #0f9d58;

    font-weight: 600;
}

/* BUTTONS */

.swiper-button-next,
.swiper-button-prev {

    width: 55px;

    height: 55px;

    background: #0f9d58;

    border-radius: 50%;

    color: #fff !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {

    font-size: 20px !important;

    font-weight: bold;
}

/* PAGINATION */

.swiper-pagination-bullet {

    background: #0f9d58;

    opacity: .5;
}

.swiper-pagination-bullet-active {

    opacity: 1;
}

/* MOBILE */

@media(max-width:991px) {

    .yt-heading h2 {

        font-size: 36px;
    }

    .yt-card iframe {

        height: 320px;
    }

    .swiper-button-next,
    .swiper-button-prev {

        display: none;
    }

}

.yt-card iframe {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    border: none;
}

.yt-card {
    overflow: hidden;
}

/* =========================
   PLACEMENT SECTION
========================= */

.placement-highlight-sec {

    padding: 100px 0;

    background: #f7fff9;
}

/* HEADING */

.placement-top {

    margin-bottom: 60px;
}

.placement-badge {

    display: inline-block;

    background: #0f9d58;

    color: #fff;

    padding: 10px 24px;

    border-radius: 50px;

    font-weight: 700;

    font-size: 14px;

    letter-spacing: 1px;
}

.placement-top h2 {

    font-size: 52px;

    font-weight: 800;

    color: #111;

    margin-top: 20px;
}

.placement-top p {

    max-width: 750px;

    margin: 18px auto 0;

    color: #666;

    line-height: 1.8;

    font-size: 17px;
}

/* GRID */

.placement-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 30px;
}

/* CARD */

.placement-box {

    background: #fff;

    border-radius: 28px;

    padding: 35px 25px;

    text-align: center;

    position: relative;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

    transition: .4s ease;
}

.placement-box:hover {

    transform: translateY(-10px);
}

/* TOP BORDER EFFECT */

.placement-box::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 6px;

    background: #0f9d58;
}

/* STUDENT PHOTO */

.student-photo img {

    width: 120px;

    height: 120px;

    border-radius: 50%;

    object-fit: cover;

    border: 5px solid #ff7a00;

    margin-bottom: 25px;
}

/* COMPANY LOGO */

.company-logo {

    height: 60px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;
}

.company-logo img {

    max-width: 130px;

    max-height: 50px;

    object-fit: contain;
}

/* TEXT */

.placement-box h3 {

    font-size: 26px;

    font-weight: 800;

    color: #111;

    margin-bottom: 10px;
}

.placement-box h4 {

    font-size: 17px;

    color: #0f9d58;

    font-weight: 700;

    margin-bottom: 15px;

    line-height: 1.6;
}

.placement-box span {

    display: inline-block;

    background: #e8fff1;

    color: #0f9d58;

    padding: 8px 18px;

    border-radius: 50px;

    font-size: 14px;

    font-weight: 700;
}

/* MOBILE */

@media(max-width:991px) {

    .placement-grid {

        grid-template-columns: repeat(2, 1fr);
    }

    .placement-top h2 {

        font-size: 36px;
    }

}

@media(max-width:767px) {

    .placement-grid {

        grid-template-columns: 1fr;
    }

}

.logo-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo-item img {
    height: 78px;
    width: auto;
    object-fit: contain;
}

.placements-main-sec {
    padding: 100px 0;
    background: #f8faf8;
}

.placement-top {
    margin-bottom: 60px;
}

.placement-badge {
    background: #e8f4e8;
    color: #1c7c35;
    padding: 10px 22px;
    border-radius: 50px;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 20px;
}

.placement-top h2 {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #111;
}

.placement-top p {
    max-width: 760px;
    margin: auto;
    color: #666;
    font-size: 17px;
}

.placement-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-bottom: 60px;
}

.ps-card {
    background: #0d1a0d;
    color: #fff;
    padding: 35px 25px;
    border-radius: 22px;
    text-align: center;
}

.ps-num {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 10px;
}

.ps-label {
    font-size: 15px;
    opacity: .9;
}

.companies-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 70px;
}

.company-card {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 600;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}

.c-icon {
    width: 55px;
    height: 55px;
    border-radius: 14px;
    background: #e8f4e8;
    color: #1c7c35;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.placement-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.placement-box {
    background: #fff;
    border-radius: 24px;
    padding: 30px 25px;
    text-align: center;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .06);
    transition: .4s;
}

.placement-box:hover {
    transform: translateY(-8px);
}

.student-photo img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
}

.company-logo img {
    height: 42px;
    object-fit: contain;
    margin-bottom: 20px;
}

.placement-box h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}

.placement-box h4 {
    font-size: 16px;
    color: #1c7c35;
    margin-bottom: 12px;
}

.placement-box span {
    color: #666;
    font-size: 15px;
}

/* RESPONSIVE */

@media(max-width:991px) {

    .placement-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .companies-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .placement-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .placement-top h2 {
        font-size: 38px;
    }

}

@media(max-width:576px) {

    .placement-stats {
        grid-template-columns: 1fr;
    }

    .companies-grid {
        grid-template-columns: 1fr;
    }

    .placement-grid {
        grid-template-columns: 1fr;
    }

    .placement-top h2 {
        font-size: 30px;
    }

}

/* TOGGLE */

.custom-toggle {
    width: 48px;
    height: 48px;
    background: #0d1a0d;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.custom-toggle span {
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 10px;
    transition: .3s;
}

/* ALERT BAR */

.alert-bar {
    background: #0d1a0d;
    color: #fff;
    padding: 12px 20px;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.alert-bar a {
    color: #9df5b0;
    text-decoration: none;
    font-weight: 600;
}

.alert-bar a:hover {
    text-decoration: underline;
}

/* MOBILE */

@media(max-width:576px) {

    .alert-bar {
        font-size: 13px;
        line-height: 1.6;
        padding: 10px 15px;
    }

}

/* SIDEBAR */

.mobile-sidebar {

    width: 300px;
    overflow-y: auto;

    background: #fff;
    border: none;
}

.sidebar-logo {
    width: 85px;
}

/* NAV */

.mobile-nav {
    padding: 0;
    margin: 0;
    list-style: none;
}

.mobile-nav li {
    border-bottom: 1px solid #eee;
}

.mobile-nav li a {
    display: block;
    padding: 16px 0;
    text-decoration: none;
    color: #111;
    font-weight: 600;
    font-size: 16px;
}

/* DROPDOWN */

.mobile-drop-btn {
    width: 100%;
    border: none;
    background: none;
    padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

.mobile-submenu {
    display: none;
    padding-left: 15px;
    padding-bottom: 10px;
}

.mobile-submenu li {
    border: none;
}

.mobile-submenu li a {
    padding: 10px 0;
    font-size: 15px;
    color: #666;
}

.mobile-drop.active .mobile-submenu {
    display: block;
}

.mobile-drop.active i {
    transform: rotate(180deg);
}

:root {
    --green-900: #0a2e1a;
    --green-800: #0f3d22;
    --green-700: #145c30;
    --green-600: #1a7a3f;
    --green-500: #22a352;
    --green-400: #2ec866;
    --green-300: #5ddb8a;
    --green-200: #9eefc0;
    --green-100: #d4f7e5;
    --green-50: #edfaf3;
    --accent: #00ff88;
    --dark: #06180e;
    --text: #1a2e22;
    --muted: #4a6e57;
}

/* ───── HERO ───── */
.hero {
    background: var(--green-900);
    position: relative;
    overflow: hidden;
    padding: 90px 0 80px;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 60% at 80% 50%, rgba(0, 255, 136, .07) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 10% 80%, rgba(34, 163, 82, .1) 0%, transparent 60%);
}

.hero-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(0, 255, 136, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 136, .04) 1px, transparent 1px);
    background-size: 48px 48px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 255, 136, .12);
    border: 1px solid rgba(0, 255, 136, .25);
    color: var(--accent);
    border-radius: 100px;
    padding: 6px 16px;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 22px;
    animation: fadeUp .6s ease both;
}

.hero h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -1.5px;
    animation: fadeUp .7s .1s ease both;
}

.hero h1 span {
    color: var(--accent);
    display: block;
}

.hero-sub {
    color: rgba(255, 255, 255, .6);
    font-size: 1.05rem;
    max-width: 500px;
    margin-top: 18px;
    line-height: 1.7;
    animation: fadeUp .7s .2s ease both;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
    animation: fadeUp .7s .3s ease both;
}

.btn-hero-primary {
    background: var(--accent);
    color: var(--dark);
    font-family: 'Syne', sans-serif;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    padding: 14px 30px;
    font-size: 1rem;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
    text-decoration: none;
    display: inline-block;
}

.btn-hero-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 255, 136, .35);
    color: var(--dark);
}

.btn-hero-outline {
    background: transparent;
    color: #fff;
    font-family: 'Syne', sans-serif;
    font-weight: 600;
    border: 1.5px solid rgba(255, 255, 255, .3);
    border-radius: 8px;
    padding: 14px 30px;
    font-size: 1rem;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    text-decoration: none;
    display: inline-block;
}

.btn-hero-outline:hover {
    border-color: var(--accent);
    background: rgba(0, 255, 136, .06);
    color: #fff;
}

.hero-stats {
    display: flex;
    gap: 36px;
    flex-wrap: wrap;
    margin-top: 52px;
    padding-top: 36px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    animation: fadeUp .7s .4s ease both;
}

.stat-val {
    font-family: 'Syne', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    color: var(--accent);
    display: block;
}

.stat-lbl {
    color: rgba(255, 255, 255, .5);
    font-size: .82rem;
    margin-top: 2px;
}

.hero-card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(0, 255, 136, .15);
    border-radius: 18px;
    padding: 28px;
    backdrop-filter: blur(12px);
    animation: fadeUp .7s .25s ease both;
}

.hero-card-title {
    font-family: 'Syne', sans-serif;
    color: #fff;
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-card-title i {
    color: var(--accent);
}

.mode-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 10px;
}

.mode-badge.online {
    background: rgba(0, 255, 136, .08);
    border: 1px solid rgba(0, 255, 136, .2);
}

.mode-badge.offline {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .1);
}

.mode-badge i {
    font-size: 1rem;
    width: 20px;
    text-align: center;
}

.mode-badge.online i {
    color: var(--accent);
}

.mode-badge.offline i {
    color: rgba(255, 255, 255, .5);
}

.mode-badge span {
    color: rgba(255, 255, 255, .8);
    font-size: .88rem;
    font-weight: 500;
}

.dot-live {
    width: 8px;
    height: 8px;
    background: var(--accent);
    border-radius: 50%;
    margin-left: auto;
    animation: pulse 2s infinite;
}

@keyframes pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(0, 255, 136, .5);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(0, 255, 136, 0);
    }
}

.detail-row {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    padding: 10px 0;
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-lbl {
    color: rgba(255, 255, 255, .4);
    font-size: .82rem;
}

.detail-val {
    color: #fff;
    font-size: .85rem;
    font-weight: 500;
}

/* ───── SECTION BASICS ───── */
section {
    padding: 80px 0;
}

.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--green-100);
    color: var(--green-700);
    border-radius: 100px;
    padding: 5px 14px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.section-tag i {
    font-size: .7rem;
}

.section-title {
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 800;
    color: var(--green-900);
    letter-spacing: -1px;
    line-height: 1.15;
}

.section-title span {
    color: var(--green-500);
}

.section-sub {
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.7;
    margin-top: 12px;
    max-width: 560px;
}

/* ───── OVERVIEW ───── */
.overview-section {
    background: #fff;
}

.overview-img-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
}

.overview-icon-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.ov-icon-box {
    background: var(--green-50);
    border: 1px solid var(--green-100);
    border-radius: 14px;
    padding: 20px 14px;
    text-align: center;
    transition: transform .2s, border-color .2s, background .2s;
}

.ov-icon-box:hover {
    transform: translateY(-3px);
    border-color: var(--green-300);
    background: var(--green-100);
}

.ov-icon-box i {
    font-size: 1.5rem;
    color: var(--green-600);
    display: block;
    margin-bottom: 8px;
}

.ov-icon-box span {
    font-size: .75rem;
    font-weight: 600;
    color: var(--green-800);
    display: block;
    line-height: 1.3;
}

.overview-body p {
    color: var(--muted);
    font-size: .97rem;
    line-height: 1.8;
    margin-bottom: 16px;
}

/* ───── COURSE MODULES ───── */
.modules-section {
    background: var(--green-900);
}

.modules-section .section-title {
    color: #fff;
}

.modules-section .section-sub {
    color: rgba(255, 255, 255, .55);
}

.modules-section .section-tag {
    background: rgba(0, 255, 136, .12);
    color: var(--accent);
}

.module-card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(0, 255, 136, .12);
    border-radius: 16px;
    padding: 26px;
    height: 100%;
    transition: border-color .25s, background .25s, transform .25s;
    cursor: pointer;
}

.module-card:hover {
    border-color: var(--accent);
    background: rgba(0, 255, 136, .06);
    transform: translateY(-4px);
}

.module-card-icon {
    width: 46px;
    height: 46px;
    background: rgba(0, 255, 136, .12);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.module-card-icon i {
    color: var(--accent);
    font-size: 1.1rem;
}

.module-card h5 {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 14px;
}

.module-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.mtag {
    background: rgba(255, 255, 255, .07);
    color: rgba(255, 255, 255, .65);
    border-radius: 6px;
    padding: 3px 10px;
    font-size: .75rem;
    font-weight: 500;
    transition: background .2s, color .2s;
}

.module-card:hover .mtag {
    background: rgba(0, 255, 136, .1);
    color: rgba(255, 255, 255, .85);
}

.view-more-btn {
    background: transparent;
    border: 1.5px solid rgba(0, 255, 136, .3);
    color: var(--accent);
    border-radius: 8px;
    padding: 8px 18px;
    font-family: 'Syne', sans-serif;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 14px;
    transition: background .2s;
    text-decoration: none;
    display: inline-block;
}

.view-more-btn:hover {
    background: rgba(0, 255, 136, .08);
    color: var(--accent);
}

/* ───── INTERFACING FULL LIST ───── */
.modules-list-section {
    background: #fff;
}

.list-card {
    background: var(--green-50);
    border: 1px solid var(--green-100);
    border-radius: 14px;
    padding: 24px;
    height: 100%;
}

.list-card h5 {
    font-weight: 700;
    color: var(--green-800);
    font-size: 1rem;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--green-200);
    display: flex;
    align-items: center;
    gap: 10px;
}

.list-card h5 i {
    color: var(--green-500);
}

.list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid var(--green-100);
    font-size: .88rem;
    color: var(--muted);
    transition: color .2s;
}

.list-item:last-child {
    border-bottom: none;
}

.list-item:hover {
    color: var(--green-700);
}

.list-item::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--green-400);
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 6px;
}

/* ───── WHY CHOOSE ───── */
.why-section {
    background: var(--green-50);
}

.why-card {
    background: #fff;
    border: 1px solid var(--green-100);
    border-radius: 16px;
    padding: 30px;
    height: 100%;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}

.why-card:hover {
    box-shadow: 0 12px 40px rgba(34, 163, 82, .1);
    transform: translateY(-4px);
    border-color: var(--green-300);
}

.why-icon {
    width: 54px;
    height: 54px;
    background: var(--green-100);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.why-icon i {
    font-size: 1.3rem;
    color: var(--green-600);
}

.why-card h5 {
    font-weight: 700;
    color: var(--green-900);
    margin-bottom: 10px;
}

.why-card p {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.7;
}

/* ───── ENQUIRY & DEMO FORM ───── */
.form-section {
    background: var(--green-900);
}

.form-section .section-title {
    color: #fff;
}

.form-section .section-sub {
    color: rgba(255, 255, 255, .5);
}

.form-section .section-tag {
    background: rgba(0, 255, 136, .12);
    color: var(--accent);
}

.form-wrap {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(0, 255, 136, .15);
    border-radius: 20px;
    padding: 40px;
    backdrop-filter: blur(10px);
}

.form-control,
.form-select {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: .9rem !important;
    transition: border-color .2s !important;
}

.form-control::placeholder {
    color: rgba(255, 255, 255, .3) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(0, 255, 136, .12) !important;
    background: rgba(255, 255, 255, .08) !important;
}

.form-select option {
    background: var(--green-900);
    color: #fff;
}

.form-label {
    color: rgba(255, 255, 255, .7);
    font-size: .85rem;
    font-weight: 500;
    margin-bottom: 6px;
}

.btn-submit {
    background: var(--accent);
    color: var(--dark);
    font-family: 'Syne', sans-serif;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    padding: 14px 36px;
    font-size: 1rem;
    width: 100%;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
    margin-top: 8px;
}

.btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 255, 136, .3);
}

.form-note {
    color: rgba(255, 255, 255, .35);
    font-size: .78rem;
    text-align: center;
    margin-top: 12px;
}

/* info side */
.info-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.info-icon-wrap {
    width: 44px;
    height: 44px;
    background: rgba(0, 255, 136, .12);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.info-icon-wrap i {
    color: var(--accent);
    font-size: 1rem;
}

.info-item h6 {
    color: #fff;
    font-weight: 700;
    font-size: .9rem;
    margin-bottom: 4px;
}

.info-item p {
    color: rgba(255, 255, 255, .5);
    font-size: .85rem;
    line-height: 1.5;
    margin: 0;
}

.testimonial-mini {
    background: rgba(0, 255, 136, .06);
    border: 1px solid rgba(0, 255, 136, .15);
    border-radius: 14px;
    padding: 22px;
    margin-top: 30px;
}

.testimonial-mini p {
    color: rgba(255, 255, 255, .7);
    font-size: .9rem;
    line-height: 1.7;
    font-style: italic;
    margin: 0 0 14px;
}

.testimonial-mini .author {
    color: var(--accent);
    font-size: .82rem;
    font-weight: 600;
}

/* ───── FOOTER ───── */
footer {
    background: var(--dark);
    padding: 40px 0 24px;
    border-top: 1px solid rgba(0, 255, 136, .08);
}

footer .brand {
    font-family: 'Syne', sans-serif;
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--accent);
}

footer .brand span {
    color: #fff;
}

footer p {
    color: rgba(255, 255, 255, .35);
    font-size: .82rem;
    margin-top: 8px;
}

footer .footer-link {
    color: rgba(255, 255, 255, .5);
    text-decoration: none;
    font-size: .85rem;
    display: block;
    margin-bottom: 8px;
    transition: color .2s;
}

footer .footer-link:hover {
    color: var(--accent);
}

footer h6 {
    font-family: 'Syne', sans-serif;
    color: rgba(255, 255, 255, .4);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 16px;
}

.footer-divider {
    border-color: rgba(255, 255, 255, .07);
    margin: 30px 0 20px;
}

.copyright {
    color: rgba(255, 255, 255, .25);
    font-size: .78rem;
}

/* ───── ANIMATIONS ───── */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s ease;
}

.reveal.visible {
    opacity: 1;
    transform: none;
}

/* ───── SCROLLBAR ───── */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: var(--green-900);
}

::-webkit-scrollbar-thumb {
    background: var(--green-600);
    border-radius: 3px;
}

/* ───── RESPONSIVE ───── */
@media (max-width: 768px) {
    .hero {
        padding: 60px 0 50px;
    }

    .hero-stats {
        gap: 24px;
    }

    .form-wrap {
        padding: 24px;
    }

    .overview-icon-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* MAP + FORM SECTION */
/* MODAL */

.enquiry-modal {
    border: none;
    border-radius: 25px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.2);
}

/* HEADER */

.enquiry-modal .modal-header {
    background: linear-gradient(135deg, #7ac943, #58b22d);
    padding: 22px 30px;
    border-bottom: none;
}

.enquiry-modal .modal-title {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
}

/* CLOSE BUTTON */

.enquiry-modal .btn-close {
    filter: brightness(0) invert(1);
    opacity: 1;
}

/* BODY */

.enquiry-modal .modal-body {
    padding: 35px 30px;
    background: #fff;
}

/* INPUT FIELD */

.custom-input {
    width: 100%;
    background: #f8f9fa !important;
    border: 2px solid #e4e4e4 !important;
    border-radius: 14px !important;
    padding: 15px 18px !important;
    font-size: 16px !important;
    color: #111 !important;
    transition: 0.3s ease;
    box-shadow: none !important;
}

/* INPUT HEIGHT */

input.custom-input {
    height: 58px;
}

/* TEXTAREA */

textarea.custom-input {
    height: 140px;
    resize: none;
}

/* PLACEHOLDER */

.custom-input::placeholder {
    color: #777 !important;
    opacity: 1;
}

/* FOCUS */

.custom-input:focus {
    border-color: #7ac943 !important;
    background: #fff !important;
    box-shadow: 0 0 10px rgba(122, 201, 67, 0.25) !important;
}

/* BUTTON */

.submit-btn {
    background: linear-gradient(135deg, #7ac943, #58b22d);
    border: none;
    color: #fff !important;
    height: 58px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 600;
    transition: 0.3s ease;
}

.submit-btn:hover {
    background: #111;
    transform: translateY(-2px);
}

/* REMOVE WHITE TEXT ISSUE */

input,
textarea {
    color: #111 !important;
}

/* MODAL ANIMATION */

.modal.fade .modal-dialog {
    transform: scale(0.8);
    transition: 0.3s ease;
}

.modal.show .modal-dialog {
    transform: scale(1);
}

/* RIGHT SIDE */

.internship-right {
    background: #fff;
    padding: 45px;
    position: relative;
}

/* FORM TITLE */

.form-title {
    font-size: 48px;
    font-weight: 700;
    color: #111;
    margin-bottom: 35px;
}

/* INPUTS */

.custom-field {
    width: 100%;
    height: 58px;
    border: 2px solid #e5e5e5 !important;
    border-radius: 14px !important;
    padding: 12px 18px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 16px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* TEXTAREA */

textarea.custom-field {
    height: 130px !important;
    resize: none;
    padding-top: 15px !important;
}

/* PLACEHOLDER */

.custom-field::placeholder {
    color: #777 !important;
    opacity: 1;
}

/* SELECT */

select.custom-field {
    color: #111 !important;
    background-color: #fff !important;
}

/* SELECT OPTIONS */

select.custom-field option {
    color: #111;
    background: #fff;
}

/* FOCUS */

.custom-field:focus {
    border-color: #18c964 !important;
    box-shadow: 0 0 10px rgba(24, 201, 100, 0.25) !important;
}

/* BUTTON */

.submit-internship-btn {
    width: 100%;
    height: 58px;
    border: none;
    border-radius: 14px;
    background: linear-gradient(135deg, #18c964, #0ea44f);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    transition: 0.3s ease;
}

.submit-internship-btn:hover {
    background: #111;
    transform: translateY(-2px);
}

/* CLOSE BUTTON */

.custom-close {
    position: absolute;
    right: 25px;
    top: 25px;
    font-size: 18px;
}

/* FIX BLANK ISSUE */

input,
textarea,
select {
    color: #111 !important;
    background: #fff !important;
}

/* =========================
   FOOTER
========================= */

footer {
    background: #001b12;
    color: #fff;
    padding-top: 70px;
    overflow: hidden;
}

/* TOP GRID */

.footer-top {
    max-width: 1400px;
    margin: auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1.2fr 1fr;
    gap: 60px;
    padding: 0 60px 60px;
}

/* LOGO */

.f-logo-wrap {
    margin-bottom: 25px;
}

/* ABOUT */

.f-about {
    font-size: 15px;
    line-height: 2;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 30px;
    max-width: 420px;
}

/* HEADINGS */

.f-head {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 35px;
    position: relative;
}

.f-head::after {
    content: "";
    width: 40px;
    height: 3px;
    background: #32cd32;
    position: absolute;
    left: 0;
    bottom: -12px;
    border-radius: 20px;
}

/* LINKS */

.f-links,
.f-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.f-links li,
.f-services-list li {
    margin-bottom: 16px;
}

/* LINKS STYLE */

.f-links a,
.f-services-list a {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    line-height: 1.8;
    transition: 0.3s ease;
}

.f-links a:hover,
.f-services-list a:hover {
    color: #32cd32;
    padding-left: 5px;
}

/* NEED HELP BUTTON */

.f-need-help {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 14px 24px;
    border-radius: 50px;
    color: #fff;
    text-decoration: none;
    margin-bottom: 30px;
    transition: 0.3s;
}

.f-need-help:hover {
    background: #32cd32;
    border-color: #32cd32;
    color: #fff;
}

/* SOCIAL */

.f-social {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.f-social a {
    width: 45px;
    height: 45px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    transition: 0.3s ease;
}

.f-social a:hover {
    background: #32cd32;
    transform: translateY(-4px);
}

/* MAP */

.f-map-label {
    margin-bottom: 18px;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
}

.f-map-wrap {
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.f-map-wrap iframe {
    width: 100%;
    height: 250px;
    border: 0;
}

/* MAP LINK */

.f-map-link {
    color: #32cd32;
    text-decoration: none;
    font-size: 17px;
    font-weight: 500;
}

/* DIVIDER */

.f-divider {
    border-color: rgba(255, 255, 255, 0.08);
    margin: 0;
}

/* BOTTOM */

.f-bottom {
    max-width: 1400px;
    margin: auto;
    padding: 25px 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.f-bottom span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}

/* BOTTOM LINKS */

.f-bottom-links {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.f-bottom-links a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: 0.3s;
}

.f-bottom-links a:hover {
    color: #32cd32;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px) {

    .footer-top {
        grid-template-columns: 1fr 1fr;
    }

}

@media(max-width:768px) {

    .footer-top {
        grid-template-columns: 1fr;
        gap: 50px;
        padding: 0 25px 50px;
    }

    .f-bottom {
        padding: 20px 25px;
        flex-direction: column;
        text-align: center;
    }

    .f-head {
        font-size: 22px;
    }

    .f-about {
        max-width: 100%;
    }

}

/* HERO SECTION */
.hero-section {
    background: linear-gradient(135deg, #001a12, #000);
    position: relative;
    overflow: hidden;
}

/* SWIPER */
.heroSwiper {
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 2;
}

.swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* HERO TEXT */
.hero-title {
    color: #fff;
    font-size: 72px;
    font-weight: 800;
    line-height: 1.1;
}

.hero-tag {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 50px;
    background: rgba(0, 255, 136, 0.1);
    color: #00ff88;
    border: 1px solid rgba(0, 255, 136, 0.2);
    font-weight: 600;
    letter-spacing: 1px;
}

.highlight-box {
    background: #00ff88;
    color: #000;
    padding: 8px 20px;
    border-radius: 18px;
}

.gradient-text {
    color: #00ff88;
}

.hero-desc {
    color: #d5d5d5;
    max-width: 850px;
    margin: auto;
    font-size: 22px;
    line-height: 1.8;
}

/* FLOATING BOARDS */
.floating-boards {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.board {
    position: absolute;
    width: 130px;
    opacity: 0.12;
    animation: floatBoard 10s infinite ease-in-out;
}

.board1 {
    top: 8%;
    left: 5%;
}

.board2 {
    top: 20%;
    right: 8%;
    animation-delay: 2s;
}

.board3 {
    bottom: 15%;
    left: 10%;
    animation-delay: 4s;
}

.board4 {
    bottom: 10%;
    right: 12%;
    animation-delay: 6s;
}

.board5 {
    top: 45%;
    left: 45%;
    animation-delay: 3s;
}

@keyframes floatBoard {

    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-25px) rotate(5deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }

}

/* LOGOS */
.top-logos {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 20;
    display: flex;
    gap: 10px;
}

.top-logos img {
    height: 50px;
}

/* SWIPER BUTTONS */
.swiper-button-next,
.swiper-button-prev {
    color: #00ff88;
}

/* PAGINATION */
.swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
}

.swiper-pagination-bullet-active {
    background: #00ff88;
    opacity: 1;
}

/* MOBILE */
@media(max-width:768px) {

    .hero-title {
        font-size: 42px;
    }

    .hero-desc {
        font-size: 16px;
        line-height: 1.6;
    }

    .board {
        width: 70px;
    }

    .top-logos img {
        height: 35px;
    }

}

footer {
    background: #0d0d0d;
    color: white;
    padding: 70px 28px 0;
    border-top: 1px solid rgba(255, 255, 255, .07)
}

.footer-top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1.4fr 1.2fr;
    gap: 48px;
    max-width: 1300px;
    margin: 0 auto;
    padding-bottom: 48px
}

/* Brand col */
.f-logo-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px
}

.f-logo-circle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .15);
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden
}

.f-logo-circle i {
    font-size: 28px;
    color: var(--green)
}

.f-logo-name {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.1
}

.f-logo-sub {
    font-size: .65rem;
    color: white;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 3px
}

.f-about {
    font-size: .83rem;
    color: white;
    line-height: 1.85;
    margin-bottom: 22px
}

.f-need-help {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid rgba(255, 255, 255, .2);
    color: white;
    border-radius: 50px;
    padding: 9px 20px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    background: transparent;
    transition: .2s;
    font-family: var(--font-body);
    text-decoration: none;
    margin-bottom: 20px
}

.f-need-help:hover {
    border-color: var(--green);
    color: var(--green)
}

.f-social {
    display: flex;
    gap: 8px;
    margin-top: 6px
}

.f-social a {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .45);
    font-size: .8rem;
    text-decoration: none;
    transition: .2s
}

.f-social a:hover {
    background: var(--green);
    border-color: var(--green);
    color: #fff
}

/* Column heads */
.f-head {
    font-family: var(--font-display);
    font-weight: 700;
    color: #fff;
    font-size: 1rem;
    margin-bottom: 20px;
    letter-spacing: -.1px;
    position: relative;
    padding-bottom: 12px
}

.f-head::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 2px;
    background: var(--green);
    border-radius: 2px
}

/* Links */
.f-links {
    list-style: none
}

.f-links li {
    margin-bottom: 11px
}

.f-links a {
    color: white;
    text-decoration: none;
    font-size: .85rem;
    transition: .2s;
    display: flex;
    align-items: center;
    gap: 7px
}

.f-links a::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(92, 184, 92, .4);
    flex-shrink: 0;
    transition: .2s
}

.f-links a:hover {
    color: #fff;
    padding-left: 4px
}

.f-links a:hover::before {
    background: var(--green)
}

/* Services */
.f-services-list {
    list-style: none
}

.f-services-list li {
    margin-bottom: 11px
}

.f-services-list a {
    color: white;
    text-decoration: none;
    font-size: .84rem;
    transition: .2s;
    display: block;
    line-height: 1.5
}

.f-services-list a:hover {
    color: var(--green)
}

/* Find Us / Map */
.f-map-wrap {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    margin-top: 4px;
    position: relative;
    height: 170px;
    background: #1a1a1a
}

.f-map-wrap iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    filter: grayscale(0.3) contrast(1.1)
}

.f-map-label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: white;
    font-size: .82rem;
    margin-bottom: 12px;
    font-weight: 500
}

.f-map-label i {
    color: var(--green)
}

.f-map-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    color: var(--green);
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    transition: .2s
}

.f-map-link:hover {
    color: #fff
}

/* Bottom bar */
.f-divider {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, .07);
    margin: 0
}

.f-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: .78rem;
    max-width: 1300px;
    margin: 0 auto;
    padding: 20px 0 28px;
    gap: 12px;
    flex-wrap: wrap;
    color: white
}

.f-bottom a {
    color: white;
    text-decoration: none;
    transition: .2s
}

.f-bottom a:hover {
    color: var(--green)
}

.f-bottom-links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap
}


/* =========================
   NAVBAR
========================= */

/* Background radial lines */
.hero-bg-lines {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at center,
            rgba(125, 194, 66, 0.10) 1px,
            transparent 1px);
    background-size: 80px 80px;
    opacity: .45;
    pointer-events: none;
}

/* TOP TAG */
.hero-tag {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #7dc242;
    text-transform: uppercase;
}

/* TITLE */
.hero-title {
    font-size: 72px;
    line-height: 1.08;
    font-weight: 800;
    color: #163020;
    margin: 0;
}

.highlight-box {
    background: rgba(125, 194, 66, .14);
    padding: 0 14px;
    border-radius: 12px;
    display: inline-block;
}

.gradient-text {
    background: linear-gradient(90deg, #7dc242, #9ad85f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* DESCRIPTION */
.hero-desc {
    font-size: 18px;
    line-height: 1.8;
    color: #5f6f65;
    max-width: 680px;
}

/* Pills */
.hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hero-pills span {
    background: white;
    border: 1px solid #dfead3;
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    color: #163020;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transition: .3s;
}

.hero-pills span:hover {
    background: #7dc242;
    color: white;
    transform: translateY(-2px);
}

/* Buttons */
.hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.btn-primary-custom {
    background: #7dc242;
    color: white;
    padding: 15px 32px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: .3s;
}

.btn-primary-custom:hover {
    background: #163020;
    color: white;
}

.btn-outline-custom {
    border: 2px solid #7dc242;
    color: #7dc242;
    padding: 15px 32px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: .3s;
}

.btn-outline-custom:hover {
    background: #7dc242;
    color: white;
}

/* RIGHT CARD */
.hero-card {
    background: white;
    padding: 35px;
    border-radius: 28px;
    box-shadow: 0 15px 60px rgba(125, 194, 66, 0.12);
    border: 1px solid #dfead3;
}

.small-heading {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #5f6f65;
    margin-bottom: 25px;
}

/* COURSE ITEM */
.course-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px;
    border: 1px solid #edf5e5;
    border-radius: 18px;
    margin-bottom: 16px;
    transition: .3s;
}

.course-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(125, 194, 66, 0.08);
}

.course-icon {
    width: 55px;
    height: 55px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.blue {
    background: #eef8e4;
}

.orange {
    background: #fff1dc;
}

.green {
    background: #e7f8df;
}

.purple {
    background: #f3ebff;
}

.course-item h5 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #163020;
}

.course-item p {
    margin: 3px 0 0;
    font-size: 14px;
    color: #5f6f65;
}

/* BADGES */
.badge {
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
}

.blue-badge {
    background: #eef8e4;
    color: #7dc242;
}

.orange-badge {
    background: #fff1dc;
    color: #e58b00;
}

.green-badge {
    background: #e7f8df;
    color: #3a8f2f;
}

.purple-badge {
    background: #f3ebff;
    color: #7c3aed;
}

/* Stats */
.hero-stats {
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
    text-align: center;
}

.hero-stats h3 {
    font-size: 28px;
    font-weight: 800;
    color: #163020;
    margin: 0;
}

.hero-stats p {
    margin: 5px 0 0;
    color: #5f6f65;
    font-size: 14px;
}

/* ================= RESPONSIVE ================= */

@media(max-width:991px) {

    .hero-title {
        font-size: 52px;
    }

    .hero-section {
        text-align: center;
    }

    .hero-pills,
    .hero-buttons {
        justify-content: center;
    }
}

@media(max-width:576px) {

    .hero-title {
        font-size: 38px;
    }

    .hero-desc {
        font-size: 16px;
    }

    .hero-card {
        padding: 22px;
    }

    .course-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-stats {

        gap: 20px;
    }
}

/* Center Everything */
.hero-section .col-lg-12 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Description Center */
.hero-desc {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}

/* Pills Center */
.hero-pills {
    justify-content: center;
}

/* Buttons Center */
.hero-buttons {
    justify-content: center;
}

.gradient-text {
    display: inline-block;
    direction: ltr;
    text-align: left;
}

#typed-text {
    display: inline-block;
    white-space: nowrap;
} .blog-section{
        padding:80px 0;
        background:#f8f9fa;
    }

    .section-title{
        text-align:center;
        margin-bottom:50px;
    }

    .section-title h2{
        font-size:20px;
        font-weight:700;
        color:#0d6efd;
    }

    .section-title p{
        max-width:700px;
        margin:auto;
        color:#6c757d;
    }

    .blog-card{
        border:none;
        border-radius:15px;
        overflow:hidden;
        transition:0.3s ease;
        box-shadow:0 5px 20px rgba(0,0,0,0.08);
        height:100%;
    }

    .blog-card:hover{
        transform:translateY(-8px);
    }

    .blog-card img{
        height:220px;
        object-fit:cover;
    }

    .blog-card .card-title{
        font-weight:700;
        color:#212529;
    }

    .blog-card .card-text{
        color:#6c757d;
    }

    .read-btn{
        text-decoration:none;
        font-weight:600;
    }/* Desktop styles remain unchanged */

/* Mobile Responsive */
@media (max-width: 768px) {

    .duration-timeline {
        padding: 0;
    }

    .phase-row {
        display: flex !important;
        flex-direction: column !important;
        position: relative !important;
        margin-bottom: 24px !important;
    }

    .phase-empty {
        display: none;
    }

    .phase-spacer {
        display: none;
    }

    .phase-card {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 20px;
    }

    .duration-phases {
        position: relative;
    }

    .duration-phases::before {
        display: none;
    }

    .phase-weeks {
        display: inline-block;
        margin-bottom: 10px;
    }

    .section-title {
        font-size: 2rem;
    }

    .section-sub {
        font-size: 0.95rem;
        padding: 0 10px;
    }
}/* ===== BREADCRUMB ===== */

.breadcrumb-wrap{
    position: relative;
    padding: 50px 0;
    background: linear-gradient(
        135deg,
        #238636 0%,
        #0d9488 100%
    );
    overflow: hidden;
}

/* dotted pattern */
.breadcrumb-wrap::before{
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(
            rgba(255,255,255,0.15) 1px,
            transparent 1px
        );
    background-size: 24px 24px;
    pointer-events: none;
}

.about-container{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.breadcrumb-list{
    display: flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
}

.breadcrumb-list a{
    color: rgba(255,255,255,.9);
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
}

.breadcrumb-list a:hover{
    color: #fff;
}

.bc-sep{
    color: rgba(255,255,255,.7);
    font-size: 12px;
}

.bc-active{
    color: rgba(255,255,255,.9);
    font-weight: 600;
}

.bc-page-title{
    color: #fff;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0;
}@media (max-width:768px){

    .breadcrumb-wrap{
        padding: 40px 0;
    }

    .breadcrumb-list{
        flex-wrap: wrap;
        gap: 8px;
    }

    .breadcrumb-list a,
    .bc-active{
        font-size: 15px;
    }

    .bc-page-title{
        font-size: 40px;
    }
}

@media (max-width:480px){

    .breadcrumb-wrap{
        padding: 40px 0;
    }

    .bc-page-title{
        font-size: 32px;
    }
}.blog-details-section{
    padding:80px 0;
    background:#fff;
}

.blog-featured-image{
    margin-bottom:30px;
    border-radius:20px;
    overflow:hidden;
}

.blog-featured-image img{
    width:100%;
    height:500px;
    object-fit:cover;
    display:block;
}

.blog-meta{
    display:flex;
    flex-wrap:wrap;
    gap:25px;
    margin-bottom:30px;
    color:#666;
    font-size:15px;
}

.blog-meta span{
    display:flex;
    align-items:center;
    gap:8px;
}

.blog-content{
    max-width:900px;
}

.blog-content h2{
    margin:40px 0 15px;
    color:#0f766e;
    font-size:32px;
    font-weight:700;
}

.blog-content p{
    font-size:18px;
    line-height:1.9;
    color:#444;
    margin-bottom:20px;
}

.blog-intro{
    font-size:22px !important;
    color:#222 !important;
}

.blog-content ul{
    padding-left:25px;
    margin-bottom:25px;
}

.blog-content li{
    margin-bottom:10px;
    font-size:18px;
}

.blog-content blockquote{
    margin:35px 0;
    padding:25px;
    border-left:5px solid #16a34a;
    background:#f5fdf8;
    font-size:20px;
    font-style:italic;
    color:#333;
    border-radius:10px;
}
@media(max-width:767px){
    .hero-section{
        height: 600px !important;
        min-height: 600px !important;
    }
}@media(max-width:768px){

    .blog-details-section{
        padding:60px 0;
    }

    .blog-featured-image img{
        height:250px;
    }

    .blog-content h2{
        font-size:24px;
    }

    .blog-content p,
    .blog-content li{
        font-size:16px;
    }

    .blog-intro{
        font-size:18px !important;
    }

    .blog-meta{
        gap:15px;
        font-size:14px;
    }
}.testimonial-card{
    background: #ffffff;
    padding: 32px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    height: 100%;
}

.t-stars{
    color: #f59e0b;
    font-size: 18px;
    margin-bottom: 20px;
}

.t-quote{
    color: #333 !important;
    font-size: 17px;
    line-height: 1.9;
    font-style: normal;
    opacity: 1 !important;
    margin-bottom: 25px;
}

.t-author{
    display: flex;
    align-items: center;
    gap: 15px;
}

.t-avatar{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #16a34a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.t-name strong{
    display: block;
    color: #111;
}

.t-name span{
    display: block;
    color: #666;
    font-size: 14px;
}

.t-placed{
    color: #16a34a !important;
    font-weight: 600;
}.t-quote{
    color:#333 !important;
    opacity:1 !important;
}

.testimonial-card{
    opacity:1 !important;
}.t-quote{
    color:#333 !important;
    opacity:1 !important;
}

.testimonial-card{
    opacity:1 !important;
}