/* =========================================
   GLOBAL
========================================= */

:root {

    --purple: #54219a;
    --purple-dark: #35136f;
    --purple-light: #eee7fa;

    --navy: #11132f;
    --text: #1c1c32;
    --muted: #67677a;

    --white: #ffffff;
    --light: #f7f7fb;
    --border: #e7e4ef;

    --container: 1180px;

    --shadow:
        0 15px 45px rgba(37, 21, 76, 0.10);

    --transition: 0.3s ease;
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    font-family: "DM Sans", sans-serif;
    color: var(--text);
    background: #fff;
    line-height: 1.6;
}


h1,
h2,
h3,
h4 {
    font-family: "Manrope", sans-serif;
    line-height: 1.15;
}


a {
    color: inherit;
    text-decoration: none;
}


button,
input,
textarea,
select {
    font-family: inherit;
}


/* .container {
    width: min(var(--container), calc(100% - 40px));
    margin: auto;
} */
.container {
    width: min(1500px, calc(93% - 10px));
    margin: auto;
}

.section {
    padding: 100px 0;
}


.eyebrow {
    color: var(--purple);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 12px;
}


.section-heading {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}


.section-heading h2 {
    font-size: 42px;
    margin-bottom: 16px;
}


.section-heading h2 span,
.about-content h2 span,
.profile-content h2 span,
.contact-content h2 span,
.cta-box h2 span {
    color: var(--purple);
}


.section-heading p {
    color: var(--muted);
    max-width: 650px;
    margin: auto;
}


/* =========================================
   HEADER
========================================= */

/* =========================================
   LOGO
========================================= */

.logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo img {
    width: 150px;
    height: auto;
    display: block;
    object-fit: contain;
}


/* =========================================
   MOBILE LOGO
========================================= */

@media (max-width: 600px) {

    .logo img {
        width: 125px;
    }

}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(15px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
    z-index: 1000;
    transition: var(--transition);
}


.header.scrolled {
    box-shadow: 0 5px 25px rgba(0,0,0,0.08);
}


.nav-container {
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.logo {
    display: flex;
    align-items: center;
    gap: 9px;
}


.logo-mark {
    width: 38px;
    height: 38px;
    background: var(--purple);
    color: white;
    display: grid;
    place-items: center;
    font-family: "Manrope";
    font-size: 24px;
    font-weight: 800;
    clip-path: polygon(
        0 0,
        70% 0,
        100% 50%,
        70% 100%,
        0 100%,
        32% 50%
    );
}


.logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}


.logo-text strong {
    font-family: "Manrope";
    font-size: 17px;
    letter-spacing: 0.5px;
}


.logo-text span {
    color: #777;
    font-size: 7px;
    letter-spacing: 1.4px;
    margin-top: 4px;
}


.nav {
    display: flex;
    align-items: center;
    gap: 25px;
}


.nav > a {
    font-size: 16px;
    font-weight: 600;
    transition: var(--transition);
}


.nav > a:hover,
.nav > a.active {
    color: var(--purple);
}


.nav-btn {
    background: var(--purple);
    color: white !important;
    padding: 12px 18px;
    border-radius: 7px;
}


.nav-btn:hover {
    background: var(--purple-dark);
}


.nav-btn span {
    margin-left: 5px;
}


.menu-btn {
    display: none;
    background: none;
    border: 0;
    cursor: pointer;
}


.menu-btn span {
    display: block;
    width: 25px;
    height: 2px;
    background: var(--navy);
    margin: 5px;
}


/* =========================================
   HERO
========================================= */

.hero {
    min-height: 760px;
    padding-top: 76px;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(84,33,154,0.12),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            #fff 0%,
            #f8f6fc 100%
        );
}


.hero-grid {
    min-height: 684px;
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    align-items: center;
    gap: 45px;
}


.hero-content {
    position: relative;
    z-index: 2;
}


.hero-content h1 {
    font-size: clamp(48px, 5vw, 70px);
    letter-spacing: -2px;
    margin-bottom: 24px;
}


.hero-content h1 span {
    color: var(--purple);
    display: block;
}


.hero-content > p {
    max-width: 540px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
}


.hero-buttons {
    display: flex;
    gap: 12px;
    margin-top: 30px;
}


.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 14px 22px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 700;
    transition: var(--transition);
}


.btn-primary {
    background: var(--purple);
    color: white;
    box-shadow: 0 10px 25px rgba(84,33,154,0.2);
}


.btn-primary:hover {
    transform: translateY(-2px);
    background: var(--purple-dark);
}


.btn-outline {
    border: 1px solid #d7d0e4;
    background: white;
}


.btn-outline:hover {
    border-color: var(--purple);
    color: var(--purple);
}


.hero-points {
    display: flex;
    gap: 35px;
    margin-top: 35px;
}


.hero-points > div {
    display: flex;
    gap: 10px;
    align-items: center;
}


.point-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--purple-light);
    color: var(--purple);
    display: grid;
    place-items: center;
    font-weight: 800;
}


.hero-points strong,
.hero-points small {
    display: block;
}


.hero-points strong {
    font-size: 18px;
}


.hero-points small {
    font-size: 14   px;
    color: var(--muted);
}


/* Hero Visual */

.hero-card-area {
    position: relative;
    min-height: 550px;
}


.hero-image-card {
    position: absolute;
    right: 80px;
    top: 30px;
    width: 520px;
    height: 500px;
    border-radius: 25px;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            #22163f,
            #6339a1
        );
    box-shadow: var(--shadow);
}


.hero-image-card::before,
.hero-image-card::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.15);
}


.hero-image-card::before {
    width: 400px;
    height: 400px;
    right: -120px;
    top: -100px;
}


.hero-image-card::after {
    width: 300px;
    height: 300px;
    left: -120px;
    bottom: -120px;
}


.image-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 20%,
            rgba(15,10,40,0.5)
        );
}


.hero-image-content {
    position: relative;
    height: 100%;
    z-index: 2;
}


.consultant-visual {
    position: absolute;
    left: 30%;
    bottom: 0;
    transform: translateX(-50%);
    width: 260px;
    height: 390px;
}


.person-head {
    position: absolute;
    top: 25px;
    left: 90px;
    width: 80px;
    height: 95px;
    background: #c58e69;
    border-radius: 45% 45% 50% 50%;
}


.person-head::before {
    content: "";
    position: absolute;
    top: -8px;
    left: -2px;
    width: 84px;
    height: 42px;
    background: #191620;
    border-radius: 50% 50% 30% 30%;
}


.person-body {
    position: absolute;
    top: 110px;
    left: 38px;
    width: 185px;
    height: 280px;
    background: linear-gradient(
        90deg,
        #171728,
        #33334d
    );
    border-radius: 70px 70px 0 0;
}


.person-body::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 2px;
    height: 100%;
    background: rgba(255,255,255,0.12);
}


.floating-card {
    position: absolute;
    background: rgba(255,255,255,0.95);
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.18);
    z-index: 3;
}


.card-top {
    top: 55px;
    left: 35px;
}


.card-top span {
    color: var(--purple);
    font-size: 10px;
    font-weight: 800;
    display: block;
}


.card-top strong {
    font-size: 14px;
}


.card-bottom {
    right: 25px;
    bottom: 45px;
    display: flex;
    align-items: center;
    gap: 10px;
}


.mini-check {
    width: 35px;
    height: 35px;
    background: var(--purple-light);
    color: var(--purple);
    border-radius: 50%;
    display: grid;
    place-items: center;
}


.card-bottom strong,
.card-bottom small {
    display: block;
}


.card-bottom strong {
    font-size: 12px;
}


.card-bottom small {
    color: var(--muted);
    font-size: 9px;
}


/* Hero Form */

.hero-form {
    position: absolute;
    right: 0;
    top: 85px;
    width: 350px;
    background: white;
    border-radius: 15px;
    padding: 24px;
    z-index: 5;
    box-shadow: 0 20px 45px rgba(25,15,50,0.16);
}


.form-heading span {
    font-size: 9px;
    color: var(--purple);
    font-weight: 800;
    letter-spacing: 1px;
}


.form-heading h3 {
    font-size: 22px;
    margin: 4px 0 18px;
}


.input-group {
    margin-bottom: 9px;
}


.input-group input,
.input-group textarea,
.contact-form-box input,
.contact-form-box textarea,
.contact-form-box select {
    width: 100%;
    border: 1px solid var(--border);
    background: #fbfbfd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    outline: none;
    transition: var(--transition);
}


.input-group textarea {
    min-height: 70px;
    resize: vertical;
}


.input-group input:focus,
.input-group textarea:focus,
.contact-form-box input:focus,
.contact-form-box textarea:focus,
.contact-form-box select:focus {
    border-color: var(--purple);
    background: white;
}


.form-btn {
    width: 100%;
    border: 0;
    background: var(--purple);
    color: white;
    padding: 13px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
}


.form-btn:hover {
    background: var(--purple-dark);
}


.privacy-text {
    display: block;
    text-align: center;
    /* color: #999; */
    font-size: 8px;
    margin-top: 9px;
}

/* =========================================
   DROPDOWN FIELDS
========================================= */

.input-group select {
    width: 100%;
    border: 1px solid var(--border);
    background: #fbfbfd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    font-family: inherit;
    color: #555;
    outline: none;
    cursor: pointer;
    transition: var(--transition);
    
    /* Same height as input fields */
    height: auto;
    
    /* Remove browser default styling */
    appearance: auto;
}


/* Focus */
.input-group select:focus {
    border-color: var(--purple);
    background: white;
}


/* Dropdown options */
.input-group select option {
    color: #333;
    background: #fff;
    font-size: 13px;
}


/* Hover */
.input-group select:hover {
    border-color: var(--purple);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .input-group select {
        padding: 11px 12px;
        font-size: 13px;
    }

}



/* =========================================
   TRUST BAR
========================================= */

.trust-bar {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: white;
}


.trust-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
}


.trust-item {
    min-height: 105px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-right: 1px solid var(--border);
}


.trust-item:last-child {
    border-right: 0;
}


.trust-icon {
    min-width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--purple-light);
    color: var(--purple);
    display: grid;
    place-items: center;
    font-size: 20px;
}


.trust-item h4 {
    font-size: 16px;
    margin-bottom: 3px;
}


.trust-item p {
    color: var(--muted);
    font-size: 14px;
}


/* =========================================
   ABOUT
========================================= */

.about-grid {
    display: grid;
    grid-template-columns: 0.9fr 1fr;
    gap: 90px;
    align-items: center;
}


/* .about-image-main {
    height: 450px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #dfe5ec,
            #7994aa
        );
}


.about-image-main::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 430px;
    left: 70px;
    bottom: -100px;
    transform: skew(-10deg);
    background: rgba(255,255,255,0.55);
}


.about-image-main::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 400px;
    right: 45px;
    bottom: -100px;
    transform: skew(8deg);
    background: rgba(255,255,255,0.3);
} */


.building-lines {
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 45px,
            rgba(255,255,255,0.3) 46px,
            transparent 47px
        ),
        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 45px,
            rgba(255,255,255,0.25) 46px,
            transparent 47px
        );
}


.about-badge {
    position: absolute;
    z-index: 3;
    bottom: 25px;
    left: 25px;
    background: white;
    border-radius: 10px;
    padding: 15px 20px;
    box-shadow: var(--shadow);
}


.about-badge strong,
.about-badge span {
    display: block;
}


.about-badge strong {
    color: var(--purple);
}


.about-badge span {
    font-size: 10px;
    color: var(--muted);
}


.about-content h2,
.profile-content h2,
.contact-content h2 {
    font-size: 42px;
    margin-bottom: 20px;
}


.about-content p,
.profile-content p,
.contact-content > p {
    color: var(--muted);
    margin-bottom: 15px;
}


.about-list {
    margin-top: 25px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}


.about-list div {
    font-size: 14px;
    font-weight: 600;
}


.about-list span {
    color: var(--purple);
    margin-right: 8px;
}


/* =========================================
   SERVICES
========================================= */

.services-section {
    background: var(--light);
}


.services-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}


.service-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 27px;
    position: relative;
    transition: var(--transition);
}


.service-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow);
    border-color: rgba(84,33,154,0.2);
}


.service-card.featured {
    /* background: var(--purple); */
    color: rgb(0, 0, 0);
}


.service-card.featured p,
.service-card.featured ul {
    color: rgba(0, 0, 0, 0.75);
}


.service-card.featured a {
    color: var(--purple);
}


.service-number {
    position: absolute;
    right: 22px;
    top: 20px;
    color: #cfc9dc;
    font-size: 11px;
    font-weight: 800;
}


.service-card.featured .service-number {
    color: rgb(207, 201, 220);

}


.service-icon {
    width: 48px;
    height: 48px;
    background: var(--purple-light);
    color: var(--purple);
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 21px;
    margin-bottom: 25px;
}


.service-card.featured .service-icon {
    background: var(--purple-light);
    color: var(--purple);
}


.service-card h3 {
    font-size: 18px;
    margin-bottom: 13px;
}


.service-card p {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.7;
    min-height: 75px;
}


.service-card ul {
    list-style: none;
    margin: 20px 0;
    color: var(--muted);
}


.service-card li {
    font-size: 14px;
    margin-bottom: 8px;
}


.service-card li::before {
    content: "✓";
    color: var(--purple);
    font-weight: bold;
    margin-right: 7px;
}


.service-card.featured li::before {
    color: var(--purple);
}


.service-card a {
    color: var(--purple);
    font-size: 14px;
    font-weight: 800;
}


.service-card a span {
    margin-left: 5px;
}



/* =========================================
   PROFILE
========================================= */

.profile-section {
    background:
        linear-gradient(
            135deg,
            #f7f3fc,
            white
        );
}


.profile-grid {
    display: grid;
    grid-template-columns: 1fr 0.75fr;
    gap: 90px;
    align-items: center;
}


.profile-content h4 {
    color: var(--purple);
    margin-bottom: 20px;
    font-size: 14px;
}


.expertise {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 25px;
}


.expertise span {
    background: white;
    border: 1px solid var(--border);
    padding: 8px 12px;
    border-radius: 30px;
    font-size: 10px;
    font-weight: 600;
}


.profile-card {
    background: var(--navy);
    border-radius: 20px;
    overflow: hidden;
    color: white;
    box-shadow: var(--shadow);
}


.profile-photo {
    /* height: 360px; */
    display: grid;
    place-items: center;
    background:
        radial-gradient(
            circle at 50% 30%,
            #7047a7,
            #17172d 65%
        );
}


.profile-placeholder {
    width: 100%;
    height: 340px;
    overflow: hidden;
    /* background: #f3f1f7; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}


.profile-card-content {
    padding: 25px;
}


.profile-card-content > span {
    color: #bda6df;
    font-size: 12px;
    letter-spacing: 1px;
}


.profile-card-content h3 {
    font-size: 28px;
    margin: 7px 0;
}


.profile-card-content p {
    color: #bbbaca;
    font-size: 14px;
}

/* =========================================
   AWARDS GALLERY SECTION
========================================= */

.awards-gallery-section {
    padding: 100px 0;
    background: #f8f7fb;
    overflow: hidden;
}


/* =========================================
   SECTION HEADING
========================================= */

.awards-gallery-heading {
    max-width: 700px;
    margin: 0 auto 55px;
    text-align: center;
}

.awards-gallery-heading .section-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #54219a;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.awards-gallery-heading h2 {
    margin: 0 0 18px;
    color: #11132d;
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -1px;
}

.awards-gallery-heading h2 span {
    color: #54219a;
}

.awards-gallery-heading p {
    max-width: 620px;
    margin: auto;
    color: #706c7e;
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================
   AWARDS GALLERY
========================================= */

.awards-gallery {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;

    width: 100%;
}


/* =========================================
   AWARD IMAGE CARD
========================================= */

.award-image {
    position: relative;

    width: 100%;
    height: 270px;

    overflow: hidden;

    border-radius: 15px;

    background: #e8e3ee;

    cursor: zoom-in;

    box-shadow:
        0 8px 25px rgba(40, 20, 70, 0.08);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


/* =========================================
   IMAGE
========================================= */

.award-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    cursor: zoom-in;

    transition:
        transform 0.5s ease;
}


/* =========================================
   HOVER
========================================= */

.award-image:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(40, 20, 70, 0.16);
}

.award-image:hover img {
    transform: scale(1.06);
}


/* =========================================
   LIGHTBOX
========================================= */

.award-lightbox-popup {

    position: fixed;

    inset: 0;

    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 40px;

    box-sizing: border-box;

    background: rgba(8, 5, 18, 0.94);

    opacity: 0;
    visibility: hidden;

    z-index: 999999;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;

    cursor: zoom-out;
}


/* OPEN LIGHTBOX */

.award-lightbox-popup.active {

    opacity: 1;

    visibility: visible;
}


/* =========================================
   EXPANDED IMAGE
========================================= */

.award-lightbox-popup img {

    display: block;

    max-width: 92vw;
    max-height: 90vh;

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 8px;

    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.55);

    transform: scale(0.85);

    transition:
        transform 0.35s ease;
}


/* IMAGE AFTER OPENING */

.award-lightbox-popup.active img {

    transform: scale(1);
}


/* =========================================
   CLOSE BUTTON
========================================= */

.lightbox-close {

    position: absolute;

    top: 25px;
    right: 30px;

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    color: #ffffff;

    font-size: 32px;

    line-height: 1;

    cursor: pointer;

    z-index: 1000000;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.lightbox-close:hover {

    background: #54219a;

    transform: rotate(90deg);
}


/* =========================================
   CTA
========================================= */

.awards-gallery-btn {

    text-align: center;

    margin-top: 40px;
}

.awards-gallery-btn a {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 13px 23px;

    background: #54219a;

    color: #ffffff;

    border-radius: 7px;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.awards-gallery-btn a:hover {

    background: #3d1676;

    transform: translateY(-2px);
}

.awards-gallery-btn span {

    font-size: 17px;

    line-height: 1;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .awards-gallery-section {

        padding: 75px 0;

    }

    .awards-gallery-heading {

        margin-bottom: 40px;

    }

    .awards-gallery-heading h2 {

        font-size: 38px;

    }

    .awards-gallery-heading p {

        font-size: 15px;

    }

    .awards-gallery {

        grid-template-columns: repeat(2, 1fr);

        gap: 15px;

    }

    .award-image {

        height: 260px;

    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .awards-gallery-section {

        padding: 60px 20px;

    }

    .awards-gallery-heading {

        margin-bottom: 35px;

    }

    .awards-gallery-heading .section-label {

        font-size: 13px;

    }

    .awards-gallery-heading h2 {

        font-size: 31px;

        letter-spacing: -0.5px;

    }

    .awards-gallery-heading p {

        font-size: 13px;

        line-height: 1.65;

    }

    .awards-gallery {

        grid-template-columns: 1fr;

        gap: 12px;

    }

    .award-image {

        height: 260px;

        border-radius: 12px;

    }

    /* LIGHTBOX MOBILE */

    .award-lightbox-popup {

        padding: 15px;

    }

    .award-lightbox-popup img {

        max-width: 95vw;

        max-height: 85vh;

        border-radius: 6px;

    }

    .lightbox-close {

        top: 15px;

        right: 15px;

        width: 42px;

        height: 42px;

        font-size: 28px;

    }

    .awards-gallery-btn {

        margin-top: 28px;

    }

}
/* =========================================
   WHY US
========================================= */

.why-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}


.why-card {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 13px;
    transition: var(--transition);
}


.why-card:hover {
    box-shadow: var(--shadow);
    transform: translateY(-5px);
}


.why-icon {
    color: var(--purple);
    font-size: 15px;
    font-weight: 800;
}


.why-card h3 {
    font-size: 20px;
    margin: 20px 0 10px;
}


.why-card p {
    color: var(--muted);
    font-size: 14px;
}


/* =========================================
   PROCESS
========================================= */

.process-section {
    background: var(--light);
}


.process {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 25px;
}


.process-line {
    position: absolute;
    top: 30px;
    left: 10%;
    right: 10%;
    border-top: 1px dashed #c8bfd8;
}


.process-item {
    text-align: center;
    position: relative;
    z-index: 2;
}


.process-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: var(--purple);
    border: 7px solid var(--light);
    color: white;
    display: grid;
    place-items: center;
    font-size: 15px;
    font-weight: 800;
}


.process-item h3 {
    font-size: 15px;
    margin-bottom: 8px;
}


.process-item p {
    font-size: 14px;
    color: var(--muted);
}


/* =========================================
   CTA
========================================= */

.cta-section {
    padding: 35px 0;
}


.cta-box {
    padding: 45px 55px;
    background:
        linear-gradient(
            120deg,
            #35136f,
            #6427a5
        );
    border-radius: 18px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}


.cta-box .eyebrow {
    color: #cdb9e7;
}


.cta-box h2 {
    font-size: 34px;
    margin-bottom: 10px;
}


.cta-box p {
    color: #ddd4e9;
    font-size: 14px;
}


.btn-white {
    background: white;
    color: var(--purple);
    white-space: nowrap;
}


.btn-white:hover {
    transform: translateY(-2px);
}


/* =========================================
   CONTACT
========================================= */

.contact-section {
    background: #faf9fc;
}


.contact-grid {
    display: grid;
    grid-template-columns: 0.85fr 1fr;
    gap: 80px;
    align-items: center;
}


.contact-details {
    margin-top: 35px;
    display: grid;
    gap: 18px;
}


.contact-detail {
    display: flex;
    gap: 14px;
    align-items: center;
}


.contact-icon {
    width: 60px;
    height: 60px;
    background: var(--purple-light);
    color: var(--purple);
    display: grid;
    place-items: center;
    border-radius: 9px;
}


.contact-detail span,
.contact-detail strong {
    display: block;
}


.contact-detail span {
    font-size: 14px;
    color: var(--muted);
}


.contact-detail strong {
    font-size: 14px;
}


.contact-form-box {
    background: white;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 35px;
    box-shadow: var(--shadow);
}


.contact-form-box h3 {
    font-size: 23px;
}


.contact-form-box > p {
    font-size: 14px;
    color: var(--muted);
    margin: 5px 0 22px;
}


.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}


/* .contact-form-box select {
    margin-bottom: 12px;
} */


.contact-form-box textarea {
    min-height: 120px;
    resize: vertical;
    margin-bottom: 12px;
}


.form-message {
    font-size: 11px;
    color: var(--purple);
    margin-top: 10px;
}


/* =========================================
   FOOTER
========================================= */

.footer {
    background: var(--navy);
    color: white;
    padding: 65px 0 20px;
}


.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr 1.2fr;
    gap: 60px;
}


.footer-brand p {
    max-width: 260px;
    color: #a8a8bd;
    font-size: 14px;
    margin-top: 18px;
}


.footer-logo .logo-text strong {
    color: white;
}


.footer-logo .logo-text span {
    color: #88889d;
}


.footer-column h4 {
    font-size: 14px;
    margin-bottom: 17px;
}


.footer-column a,
.footer-column p {
    display: block;
    color: #aaaabc;
    font-size: 12px;
    margin-bottom: 9px;
    transition: var(--transition);
}


.footer-column a:hover {
    color: white;
}


.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 50px;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    color: #77778f;
    font-size: 12px;
}


.footer-bottom div {
    display: flex;
    gap: 20px;
}


/* =========================================
   DECORATIVE SHAPES
========================================= */

.hero-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}


.shape-one {
    width: 400px;
    height: 400px;
    right: -220px;
    top: 100px;
    border: 1px solid rgba(84,33,154,0.08);
}


.shape-two {
    width: 250px;
    height: 250px;
    left: -150px;
    bottom: -100px;
    background: rgba(84,33,154,0.04);
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px) {

    .nav {
        gap: 16px;
    }

    .nav > a {
        font-size: 11px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        padding: 70px 0;
    }

    .hero {
        min-height: auto;
    }

    .hero-card-area {
        max-width: 700px;
        width: 100%;
        margin: auto;
    }

    .hero-image-card {
        left: 30px;
        right: auto;
    }

    .hero-form {
        right: 0;
    }

    .services-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .why-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .about-grid,
    .profile-grid,
    .contact-grid {
        gap: 45px;
    }

}


@media(max-width:850px) {

    .menu-btn {
        display: block;
    }

    .nav {
        position: absolute;
        top: 76px;
        left: 0;
        width: 100%;
        background: white;
        padding: 20px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        box-shadow: 0 15px 30px rgba(0,0,0,0.08);
    }

    .nav.open {
        display: flex;
    }

    .nav-btn {
        text-align: center;
    }

    .trust-grid {
        grid-template-columns: 1fr 1fr;
    }

    .trust-item:nth-child(2) {
        border-right: 0;
    }

    .about-grid,
    .profile-grid,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .profile-card {
        max-width: 450px;
        margin: auto;
    }

    .process {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .process-line {
        top: 30px;
        bottom: 30px;
        left: 50%;
        right: auto;
        border-top: 0;
        border-left: 1px dashed #c8bfd8;
    }

    .cta-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

}


@media(max-width:600px) {

    .container {
        width: min(100% - 28px, var(--container));
    }

    .section {
        padding: 70px 0;    
    }

    .hero-content h1 {
        font-size: 44px;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-points {
        flex-direction: column;
        gap: 15px;
    }

    .hero-card-area {
        min-height: 600px;
    }

    .hero-image-card {
        left: 0;
        width: 100%;
        height: 450px;
    }

    .hero-form {
        top: 108px;
        right: 15px;
        width: calc(100% - 30px);
    }

    .trust-grid {
        grid-template-columns: 1fr;
    }

    .trust-item {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .services-grid,
    .why-grid {
        grid-template-columns: 1fr;
    }

    .section-heading h2,
    .about-content h2,
    .profile-content h2,
    .contact-content h2 {
        font-size: 32px;
    }

    .about-image-main {
        height: 350px;
    }

    .about-list {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .contact-form-box {
        padding: 23px;
    }

    .cta-box {
        padding: 32px 25px;
    }

    .cta-box h2 {
        font-size: 28px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 12px;
    }


}
/* =========================================
   LAPTOP / SMALL DESKTOP
========================================= */

@media (min-width: 901px) and (max-width: 1300px) {

    .container {
        width: calc(100% - 40px);
        max-width: 1180px;
        margin: 0 auto;
    }


    /* ==============================
       HEADER
    ============================== */

    .header .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .logo img {
        width: 135px;
    }

    .nav {
        gap: 20px;
    }

    .nav a {
        font-size: 10px;
    }

    .header-btn {
        padding: 11px 16px;
        font-size: 10px;
    }


    /* ==============================
       HERO
    ============================== */

    .hero {
        min-height: 590px;
    }

    .hero .container {
        position: relative;
    }

    .hero-content {
        width: 93%;
        padding-right: 20px;
    }

    .hero-content h1 {
        font-size: 42px;
        line-height: 1.05;
    }

    .hero-content p {
        max-width: 520px;
        font-size: 14px;
        line-height: 1.7;
    }


    /* ==============================
       HERO VISUAL
    ============================== */

    .hero-visual {
        width: 48%;
    }


    /* ==============================
       HERO FORM
    ============================== */

    .hero-form {
        width: 270px;
        right: 5px;
        top: 55px;
        padding: 20px;
        border-radius: 13px;
    }

    .form-heading h3 {
        font-size: 20px;
        margin-bottom: 14px;
    }

    .input-group {
        margin-bottom: 7px;
    }

    .input-group input,
    .input-group select,
    .input-group textarea {
        padding: 10px 11px;
        font-size: 10px;
    }

    .form-btn {
        padding: 11px;
        font-size: 11px;
    }


    /* ==============================
       HERO CHARACTER / VISUAL
    ============================== */

    .hero-image,
    .hero-character {
        max-width: 100%;
    }

}
/* =========================================
   TABLET HERO
   601px - 900px
========================================= */

@media (min-width: 601px) and (max-width: 900px) {

    .container {
        width: calc(100% - 40px);
        max-width: 760px;
        margin: 0 auto;
    }


    /* ==============================
       HEADER
    ============================== */

    .header {
        height: 70px;
    }

    .logo img {
        width: 180px;
    }

    .nav {
        display: none;
    }

    /* .menu-btn {
        display: flex;
    } */


    /* ==============================
       HERO
    ============================== */

    .hero {
        min-height: auto;
        padding: 65px 0 80px;
        overflow: hidden;
    }

    .hero .container {
        display: flex;
        flex-direction: column;
    }


    /* ==============================
       HERO CONTENT
    ============================== */

    .hero-content {
        width: 100%;
        max-width: 650px;
        padding-right: 0;
    }

    .hero-content h1 {
        font-size: 46px;
        line-height: 1.08;
        max-width: 550px;
    }

    .hero-content p {
        max-width: 600px;
        font-size: 14px;
        line-height: 1.7;
    }


    /* ==============================
       HERO BUTTONS
    ============================== */

    .hero-buttons {
        margin-top: 22px;
    }


    /* ==============================
       HERO FEATURES
    ============================== */

    .hero-features {
        display: flex;
        gap: 45px;
        margin-top: 28px;
    }

    .hero-feature {
        display: flex;
        align-items: flex-start;
    }


    /* ==============================
       HERO VISUAL
    ============================== */

    .hero-visual {
        position: relative;
        width: 100%;
        height: 390px;
        margin-top: 55px;
    }


    /* Purple background */
    .hero-image,
    .hero-character {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 500px;
        max-width: 75%;
        height: 350px;
    }


    /* ==============================
       FORM
    ============================== */

    .hero-form {
        position: absolute;

        width: 310px;

        right: 5%;

        top: 50px;

        padding: 22px;

        z-index: 10;
    }


    .form-heading h3 {
        font-size: 21px;
    }


    .input-group {
        margin-bottom: 8px;
    }


    .input-group input,
    .input-group select,
    .input-group textarea {
        padding: 11px 12px;
        font-size: 11px;
    }


    .form-btn {
        padding: 12px;
    }

}/* =========================================
   SMALL DESKTOP / TABLET SIDE SPACING
========================================= */

@media (max-width: 1200px) {

    .container {
        width: calc(100% - 50px);
        margin-left: auto;
        margin-right: auto;
    }

}











/* =========================================
   FINAL RESPONSIVE FIX
   ADD THIS AT THE VERY BOTTOM
========================================= */

/* Large Desktop */
@media (min-width: 1400px) {

    .container {
        width: calc(100% - 80px);
        max-width: 1500px;
        margin-left: auto;
        margin-right: auto;
    }

}


/* Desktop / Laptop */
@media (min-width: 1001px) and (max-width: 1399px) {

    .container {
        width: calc(100% - 60px);
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }

    .awards-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

}


/* Tablet */
@media (min-width: 601px) and (max-width: 1000px) {

    .container {
        width: calc(100% - 50px);
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }

    .awards-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .award-image {
        width: 100%;
        height: 260px;
    }

}


/* Small Tablet / Large Mobile */
@media (min-width: 481px) and (max-width: 600px) {

    .container {
        width: calc(100% - 36px);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    .awards-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .award-image {
        width: 100%;
        height: 240px;
    }

}


/* Mobile */
@media (max-width: 480px) {

    .container {
        width: calc(100% - 30px);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    .awards-gallery {
        grid-template-columns: 1fr;
        gap: 12px;
        width: 100%;
    }

    .award-image {
        width: 100%;
        height: 260px;
    }

}


/* Very Small Mobile */
@media (max-width: 360px) {

    .container {
        width: calc(100% - 24px);
    }

    .award-image {
        height: 230px;
    }

    .awards-gallery-heading h2 {
        font-size: 28px;
    }

}


/* =========================================
   PREVENT HORIZONTAL OVERFLOW
========================================= */

.awards-gallery,
.award-image,
.award-image img {
    max-width: 100%;
}

.award-image img {
    display: block;
}


/* =========================================
   LIGHTBOX RESPONSIVE FIX
========================================= */

.award-lightbox-popup {
    width: 100vw;
    height: 100vh;
    max-width: 100%;
    overflow: hidden;
}

.award-lightbox-popup img {
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 80px);
}


/* Mobile lightbox */
@media (max-width: 600px) {

    .award-lightbox-popup {
        padding: 15px;
    }

    .award-lightbox-popup img {
        max-width: calc(100vw - 30px);
        max-height: calc(100vh - 70px);
    }

}


/* =========================================
   FORM RESPONSIVE FIX
========================================= */

.hero-form,
.contact-form-box {
    max-width: 100%;
}

.input-group input,
.input-group textarea,
.input-group select,
.contact-form-box input,
.contact-form-box textarea,
.contact-form-box select {
    max-width: 100%;
}


/* =========================================
   PREVENT TEXT / ELEMENTS FROM OVERFLOWING
========================================= */

img,
video,
iframe {
    max-width: 100%;
}

h1,
h2,
h3,
h4,
p,
a {
    overflow-wrap: break-word;
}


/* =========================================
   MOBILE SECTION SPACING
========================================= */

@media (max-width: 600px) {

    .section {
        padding: 60px 0;
    }

    .awards-gallery-section {
        padding: 60px 0;
    }

    .awards-gallery-heading {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .awards-gallery-heading h2 {
        font-size: 31px;
        line-height: 1.2;
    }

    .awards-gallery-heading p {
        font-size: 14px;
    }

}


/* =========================================
   MOBILE HERO
========================================= */

@media (max-width: 600px) {

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .hero-content {
        width: 100%;
    }

    .hero-content h1 {
        font-size: clamp(36px, 10vw, 46px);
    }

    .hero-buttons {
        width: 100%;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    .hero-points {
        flex-direction: column;
        gap: 15px;
    }

    .hero-card-area {
        width: 100%;
        min-height: 550px;
    }

    .hero-image-card {
        left: 0;
        right: auto;
        width: 100%;
        max-width: 100%;
    }

    .hero-form {
        left: 15px;
        right: 15px;
        width: auto;
        max-width: none;
    }

}


/* =========================================
   TABLET HERO
========================================= */

@media (min-width: 601px) and (max-width: 900px) {

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-content {
        width: 100%;
    }

    .hero-card-area {
        width: 100%;
    }

}


/* =========================================
   NAV RESPONSIVE
========================================= */

@media (max-width: 850px) {

    .menu-btn {
        display: block;
    }

    .nav {
        position: absolute;

        top: 85px;
        left: 0;

        width: 100%;

        padding: 20px;

        background: white;

        display: none;

        flex-direction: column;

        align-items: stretch;

        box-shadow:
            0 15px 30px rgba(0,0,0,0.08);
    }

    .nav.open {
        display: flex;
    }

    .nav > a {
        font-size: 14px;
    }

    .nav-btn {
        text-align: center;
    }

}


/* =========================================
   SMALL MOBILE LOGO
========================================= */

@media (max-width: 600px) {

    .nav-container {
        height: 72px;
    }

    .logo img {
        width: 125px;
    }

}

.about-image {
    width: 100%;
}

.about-visual {
    position: relative;
    height: 315px;
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(135deg, #eef3f8 0%, #dce7f1 100%);
}

/* Subtle grid */
.visual-grid {
    position: absolute;
    inset: 0;
    opacity: 0.45;

    background-image:
        linear-gradient(rgba(45, 70, 100, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45, 70, 100, 0.08) 1px, transparent 1px);

    background-size: 32px 32px;
}

/* Connecting lines */
.strategy-line {
    position: absolute;
    height: 2px;
    background: linear-gradient(
        90deg,
        #5b21b6,
        #7c3aed,
        #2563eb
    );
    transform-origin: left center;
    opacity: 0.7;
}

.line-1 {
    width: 145px;
    left: 145px;
    top: 135px;
    transform: rotate(-24deg);
}

.line-2 {
    width: 135px;
    left: 270px;
    top: 95px;
    transform: rotate(28deg);
}

.line-3 {
    width: 130px;
    left: 270px;
    top: 160px;
    transform: rotate(-15deg);
}

/* Nodes */
.strategy-node {
    position: absolute;
    width: 95px;
    height: 95px;
    border-radius: 50%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(91,33,182,0.15);

    box-shadow: 0 12px 30px rgba(30, 50, 80, 0.12);

    font-size: 13px;
    font-weight: 600;
    color: #171331;

    z-index: 2;
}

.strategy-node span {
    font-size: 10px;
    color: #6331b8;
    margin-bottom: 5px;
    font-weight: 700;
}

.node-1 {
    left: 70px;
    top: 115px;
}

.node-2 {
    left: 235px;
    top: 55px;
}

.node-3 {
    right: 65px;
    top: 125px;
}

/* Growth card */
.growth-card {
    position: absolute;
    left: 28px;
    bottom: 25px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 12px 18px;

    background: #ffffff;
    border-radius: 10px;

    box-shadow: 0 12px 30px rgba(30, 50, 80, 0.12);

    z-index: 3;
}

.growth-icon {
    width: 35px;
    height: 35px;
    border-radius: 8px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eee7ff;
    color: #5b21b6;

    font-size: 20px;
    font-weight: 700;
}

.growth-card strong {
    display: block;
    font-size: 17px;
    color: #171331;
}

.growth-card span {
    display: block;
    font-size: 9px;
    color: #6b7280;
    margin-top: 2px;
}

/* Insight card */
.insight-card {
    position: absolute;
    right: 25px;
    bottom: 25px;

    padding: 10px 14px;

    background: rgba(255,255,255,0.88);
    border: 1px solid rgba(255,255,255,0.8);

    border-radius: 8px;

    font-size: 10px;
    color: #39415a;

    box-shadow: 0 8px 20px rgba(30, 50, 80, 0.08);

    z-index: 3;
}

.insight-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 6px;

    border-radius: 50%;
    background: #6331b8;
}


/* Franchise CSS  */

/* =========================================================
   ROOT
========================================================= */

:root{
    --primary:#54219a;
    --primary-dark:#37116b;
    --primary-light:#f1e9fb;
    --purple-soft:#faf7ff;

    --dark:#17131d;
    --text:#3d3745;
    --muted:#77717f;

    --white:#ffffff;
    --light:#faf9fc;

    --border:#e9e3ef;

    --shadow:0 25px 70px rgba(45,20,70,.10);
    --shadow-lg:0 35px 100px rgba(45,20,70,.18);

    --radius:22px;

    --container:1180px;
}


/* =========================================================
   RESET
========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"DM Sans",sans-serif;
    color:var(--dark);
    background:#fff;
    overflow-x:hidden;
}

body.menu-open{
    overflow:hidden;
}

img{
    width:100%;
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

button,
input,
textarea,
select{
    font-family:inherit;
}

button{
    cursor:pointer;
}

.container{
    /* width:min(var(--container),calc(100% - 40px)); */
    margin:auto;
}

::selection{
    background:var(--primary);
    color:#fff;
}


/* =========================================================
   HEADER
========================================================= */


/* =========================================================
   HERO
========================================================= */

.hero{
    min-height:850px;

    padding-top:120px;
    padding-bottom:90px;

    position:relative;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 83% 15%,
            rgba(115,67,180,.18),
            transparent 27%
        ),
        radial-gradient(
            circle at 15% 80%,
            rgba(84,33,154,.08),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8f4fc 100%
        );
}

.hero-grid{
    display:grid;

    grid-template-columns:1.02fr .98fr;

    align-items:center;

    gap:65px;

    position:relative;
    z-index:3;
}


/* HERO DECORATION */

.hero-decoration{
    position:absolute;

    border:1px solid rgba(84,33,154,.10);

    border-radius:50%;

    pointer-events:none;
}

.hero-decoration.one{
    width:620px;
    height:620px;

    right:-310px;
    top:90px;
}

.hero-decoration.two{
    width:400px;
    height:400px;

    left:-280px;
    bottom:-200px;
}

.hero-decoration.three{
    width:14px;
    height:14px;

    border:0;

    background:var(--primary);

    left:12%;
    top:25%;

    box-shadow:
        0 0 0 8px rgba(84,33,154,.08),
        0 0 0 18px rgba(84,33,154,.04);

    animation:pulseDot 3s infinite;
}


/* HERO CONTENT */

.hero-content{
    animation:heroContent .9s ease both;
}

.eyebrow{
    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--primary);

    font-size:11px;

    font-weight:800;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:20px;
}

.eyebrow::before{
    content:"";

    width:30px;
    height:2px;

    background:var(--primary);

    border-radius:5px;
}

.hero h1{
    font-family:"Manrope",sans-serif;

    font-size:clamp(46px,5.4vw,74px);

    line-height:1.02;

    letter-spacing:-3.5px;

    max-width:700px;

    margin-bottom:26px;
}

.hero h1 span{
    color:var(--primary);

    display:block;
}

.hero-description{
    max-width:620px;

    font-size:17px;

    color:var(--muted);

    line-height:1.8;

    margin-bottom:32px;
}

.hero-buttons{
    display:flex;

    gap:13px;

    flex-wrap:wrap;

    margin-bottom:43px;
}

.btn{
    min-height:54px;

    padding:0 23px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    border-radius:10px;

    font-size:13px;

    font-weight:700;

    transition:.3s ease;
}

.btn-primary{
    color:#fff;

    background:var(--primary);

    box-shadow:
        0 15px 35px rgba(84,33,154,.25);
}

.btn-primary:hover{
    background:var(--primary-dark);

    transform:translateY(-3px);

    box-shadow:
        0 20px 40px rgba(84,33,154,.32);
}

.btn-outline{
    color:var(--dark);

    background:rgba(255,255,255,.75);

    border:1px solid var(--border);
}

.btn-outline:hover{
    color:var(--primary);

    border-color:var(--primary);

    transform:translateY(-3px);
}


/* HERO POINTS */

.hero-points{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    max-width:650px;
}

.hero-point{
    padding-left:15px;

    border-left:2px solid var(--primary);
}

.hero-point strong{
    display:block;

    font-size:13px;

    margin-bottom:5px;
}

.hero-point span{
    display:block;

    font-size:11px;

    color:var(--muted);

    line-height:1.55;
}


/* =========================================================
   HERO VISUAL
========================================================= */

.hero-visual{
    position:relative;

    animation:heroImage 1s ease .2s both;
}

.hero-main-image{
    height:570px;

    border-radius:32px;

    overflow:hidden;

    position:relative;

    box-shadow:
        0 40px 90px rgba(42,20,70,.22);
}

.hero-main-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform 1.2s ease;
}

.hero-main-image:hover img{
    transform:scale(1.07);
}

.hero-main-image::before{
    content:"";

    position:absolute;

    inset:0;

    z-index:1;
/* 
    background:
        linear-gradient(
            180deg,
            rgba(20,10,35,.03) 20%,
            rgba(20,10,35,.82) 100%
        ); */
}


/* IMAGE BADGE */

.image-badge{
    position:absolute;

    top:25px;
    right:25px;

    z-index:4;

    padding:11px 15px;

    display:flex;
    align-items:center;
    gap:8px;

    color:#fff;

    font-size:11px;
    font-weight:700;

    background:rgba(255,255,255,.13);

    border:1px solid rgba(255,255,255,.25);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border-radius:50px;
}

.image-badge-dot{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#fff;

    box-shadow:0 0 0 5px rgba(255,255,255,.12);
}


/* FLOATING CARD */

.floating-card{
    position:absolute;

    left:-42px;
    bottom:55px;

    width:235px;

    padding:17px;

    display:flex;

    align-items:center;

    gap:13px;

    background:rgba(255,255,255,.94);

    border:1px solid rgba(255,255,255,.8);

    border-radius:17px;

    box-shadow:
        0 25px 55px rgba(35,20,50,.18);

    backdrop-filter:blur(15px);

    animation:floatCard 4s ease-in-out infinite;
}

.floating-icon{
    width:47px;
    height:47px;

    display:flex;

    align-items:center;
    justify-content:center;

    flex-shrink:0;

    background:var(--primary-light);

    border-radius:13px;

    color:var(--primary);

    font-size:21px;
}

.floating-card strong{
    display:block;

    font-size:13px;

    margin-bottom:3px;
}

.floating-card span{
    font-size:11px;

    color:var(--muted);
}




/* =========================================================
   TRUST STRIP
========================================================= */

.trust-strip{
    position:relative;
    z-index:5;
    margin-top:-35px;
}

/* =========================================
CAREER TRUST BAR
========================================= */

.trust-inner {
position: relative;
width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 12px 16px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
background: rgba(255, 255, 255, 0.96);
border: 1px solid #ebe7f0;
border-radius: 18px;
box-shadow:
    0 15px 40px rgba(35, 20, 55, 0.07);

box-sizing: border-box;
}

/* =========================================
LEFT CONTENT
========================================= */

.trust-content {
display: flex;
align-items: center;
gap: 10px;
padding-left: 12px;
position: relative;
white-space: nowrap;
}

/* Purple vertical accent */

.trust-content::before {
content: "";
position: absolute;
left: 0;
top: 50%;
width: 3px;
height: 50px;
background: #54219A;
border-radius: 10px;
transform: translateY(-50%);
}

/* Small label */

.trust-label {
color: #8a8390;
font-size: 14px;
font-weight: 700;
letter-spacing: 1.4px;
text-transform: uppercase;
}

/* Main heading */

.trust-heading {
color: #302b35;
font-size: 15px;
font-weight: 700;
letter-spacing: -0.1px;
}

/* =========================================
INDUSTRY ITEMS
========================================= */

.trust-items {
display: flex;
align-items: center;
gap: 40px;
margin-left: auto;
}

/* =========================================
INDUSTRY ITEM
========================================= */

.trust-item {
min-width: 125px;
height: 50px;
/* padding: 0 15px; */
display: flex;
align-items: center;
justify-content: center;
gap: 9px;
box-sizing: border-box;
border: 1px solid #eeeaf3;
border-radius: 12px;
background: #fbfaff;
color: #4f4856;
font-size: 12px;
font-weight: 650;
transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease,
    color 0.3s ease;
}

/* =========================================
ICON
========================================= */

.trust-icon {
width: 27px;
height: 27px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
border-radius: 8px;
background: #f0eafa;
color: #54219A;
font-size: 13px;
font-weight: 700;
transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}

/* =========================================
HOVER
========================================= */

.trust-item:hover {
transform: translateY(-2px);
background: #ffffff;
border-color: rgba(84, 33, 154, 0.25);
color: #54219A;
box-shadow:
    0 8px 22px rgba(84, 33, 154, 0.09);
}

.trust-item:hover .trust-icon {
background: #54219A;
color: #ffffff;
transform: scale(1.08);
}

/* =========================================
TABLET
========================================= */

@media (max-width: 900px) {

.trust-inner {
    padding: 12px;

    gap: 15px;
}

.trust-content {
    gap: 7px;
}

.trust-label {
    display: none;
}

.trust-heading {
    font-size: 12px;
}

.trust-items {
    gap: 6px;
}

.trust-item {
    min-width: 105px;

    height: 46px;

    padding: 0 10px;

    font-size: 11px;
}

.trust-icon {
    width: 24px;
    height: 24px;

    font-size: 12px;
}


}

/* =========================================
MOBILE
========================================= */

@media (max-width: 600px) {

.trust-inner {
    display: block;

    padding: 16px;

    border-radius: 16px;
}


.trust-content {
    justify-content: center;

    margin-bottom: 13px;

    padding-left: 0;
}


.trust-content::before {
    display: none;
}


.trust-heading {
    font-size: 12px;

    letter-spacing: 0;
}


.trust-items {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 8px;

    width: 100%;
}


.trust-item {
    width: 100%;
    min-width: 0;

    height: 48px;

    padding: 0 8px;

    border-radius: 11px;

    font-size: 11px;
}


.trust-icon {
    width: 25px;
    height: 25px;

    border-radius: 7px;
}


}

/* =========================================
SMALL MOBILE
========================================= */

@media (max-width: 380px) {

.trust-inner {
    padding: 13px;
}

.trust-heading {
    font-size: 11px;
}

.trust-item {
    font-size: 10px;
}


}



@media (max-width: 991px) {

    .trust-inner {
        flex-direction: column;

        align-items: flex-start;

        gap: 18px;

        padding: 20px 22px;
    }

    .trust-items {
        width: 100%;

        justify-content: flex-start;

        flex-wrap: wrap;

        gap: 9px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .trust-inner {
        padding: 20px;

        border-radius: 16px;

        gap: 17px;
    }

    .trust-label {
        font-size: 10px;

        letter-spacing: 1.1px;
    }

    .trust-items {
        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 9px;

        width: 100%;
    }

    .trust-item {
        justify-content: flex-start;

        width: 100%;

        padding: 7px 9px;

        font-size: 11px;
    }

    .trust-item span {
        width: 24px;
        height: 24px;

        font-size: 12px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 380px) {

    .trust-inner {
        padding: 18px 16px;
    }

    .trust-items {
        gap: 7px;
    }

    .trust-item {
        padding: 7px;

        gap: 6px;

        font-size: 10px;
    }

    .trust-item span {
        width: 22px;
        height: 22px;

        font-size: 11px;
    }

}

/* =========================================================
   SECTION
========================================================= */

.section{
    padding:110px 0;
}

.section.gray{
    background:#f8f6fb;
}

.section-heading{
    max-width:760px;

    text-align:center;

    margin:0 auto 58px;
}

.section-heading .eyebrow{
    justify-content:center;
}

.section-heading h2{
    font-family:"Manrope",sans-serif;

    font-size:clamp(35px,4vw,51px);

    line-height:1.1;

    letter-spacing:-2.3px;

    margin-bottom:17px;
}

.section-heading h2 span{
    color:var(--primary);
}

.section-heading p{
    color:var(--muted);

    font-size:15px;

    line-height:1.8;
}


/* =========================================================
   INDUSTRY
========================================================= */

.industry-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:17px;
}

.industry-card{
    min-height:390px;

    border-radius:22px;

    overflow:hidden;

    position:relative;

    color:#fff;

    cursor:pointer;

    box-shadow:0 15px 40px rgba(30,15,45,.08);

    transition:.4s ease;
}

.industry-card:hover{
    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(30,15,45,.16);
}

.industry-card img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .8s ease;
}

.industry-card:hover img{
    transform:scale(1.1);
}

.industry-card::before{
    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    background:
        linear-gradient(
            180deg,
            rgba(20,10,30,.03) 25%,
            rgba(20,10,30,.88) 100%
        );
}

.industry-content{
    position:absolute;

    left:25px;
    right:25px;
    bottom:26px;

    z-index:2;
}

.industry-number{
    display:block;

    font-size:10px;

    color:#dacbec;

    font-weight:800;

    letter-spacing:1px;

    margin-bottom:10px;
}

.industry-content h3{
    font-family:"Manrope",sans-serif;

    font-size:21px;

    margin-bottom:7px;
}

.industry-content p{
    font-size:12px;

    color:rgba(255,255,255,.75);

    line-height:1.6;
}


/* =========================================================
   MARQUEE
========================================================= */

.marquee{
    padding:23px 0;

    overflow:hidden;

    background:var(--primary);

    color:#fff;

    white-space:nowrap;
}

.marquee-track{
    display:flex;

    width:max-content;

    animation:marquee 28s linear infinite;
}

.marquee-item{
    display:flex;

    align-items:center;

    gap:30px;

    padding-right:30px;

    font-family:"Manrope",sans-serif;

    font-size:15px;

    font-weight:700;

    letter-spacing:.3px;
}

.marquee-item::after{
    content:"✦";

    opacity:.55;
}


/* =========================================================
   MARKET
========================================================= */

.market{
    background:#f8f6fb;
}

.market-grid{
    display:grid;

    grid-template-columns:1fr .95fr;

    align-items:center;

    gap:90px;
}

.market-content h2{
    font-family:"Manrope",sans-serif;

    font-size:clamp(36px,4vw,53px);

    line-height:1.08;

    letter-spacing:-2.3px;

    margin-bottom:22px;
}

.market-content h2 span{
    color:var(--primary);
}

.market-content p{
    color:var(--muted);

    font-size:15px;

    line-height:1.8;

    margin-bottom:16px;
}

.market-content .btn{
    margin-top:12px;
}


/* STATS */

.stats{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;
}

.stat{
    min-height:175px;

    padding:28px;

    position:relative;

    background:#fff;

    border:1px solid var(--border);

    border-radius:20px;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    overflow:hidden;

    transition:.35s ease;
}

.stat::before{
    content:"";

    position:absolute;

    width:100px;
    height:100px;

    right:-45px;
    top:-45px;

    border-radius:50%;

    background:var(--primary-light);
}

.stat:hover{
    transform:translateY(-7px);

    box-shadow:var(--shadow);

    border-color:rgba(84,33,154,.25);
}

.stat strong{
    position:relative;
    z-index:2;

    font-family:"Manrope",sans-serif;

    font-size:37px;

    color:var(--primary);
}

.stat span{
    position:relative;
    z-index:2;

    font-size:15px;

    font-weight:700;

    max-width:160px;
}


/* =========================================================
   CAREERS
========================================================= */


/* =========================================
   CAREER SECTION
========================================= */

#services {
    padding: 100px 20px;
    background: #ffffff;
}

#services .container {
    max-width: 1240px;
    margin: 0 auto;
}


/* =========================================
   SECTION HEADING
========================================= */

#services .section-heading {
    max-width: 760px;
    margin: 0 auto 65px;
    text-align: center;
}

#services .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 16px;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.5px;

    color: #54219A;
}

#services .eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;

    background: #54219A;
}

#services .section-heading h2 {
    margin: 0 0 20px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(36px, 4.5vw, 56px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -1.8px;

    color: #17232b;
}

#services .section-heading h2 span {
    color: #54219A;
}

#services .section-heading p {
    max-width: 650px;
    margin: 0 auto;

    font-size: 16px;
    line-height: 1.8;

    color: #68747c;
}


/* =========================================
   CAREER GRID
========================================= */

#services .career-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 34px;
}


/* =========================================
   CAREER CARD
========================================= */

#services .career-card {
    position: relative;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e8ebee;

    border-radius: 22px;

    box-shadow:
        0 8px 30px rgba(20, 30, 40, 0.045);

    transition:
        transform 0.45s cubic-bezier(.2,.8,.2,1),
        box-shadow 0.45s ease,
        border-color 0.45s ease;
}

#services .career-card:hover {
    transform: translateY(-10px);

    border-color: rgba(84, 33, 154, 0.18);

    box-shadow:
        0 25px 60px rgba(20, 30, 40, 0.12);
}


/* =========================================
   IMAGE
========================================= */

#services .career-image {
    position: relative;

    width: 100%;
    height: 235px;

    overflow: hidden;

    background: #edf0f2;
}

#services .career-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.02) 30%,
            rgba(0,0,0,0.28) 100%
        );

    pointer-events: none;
}

#services .career-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.8s cubic-bezier(.2,.8,.2,1);
}

#services .career-card:hover .career-image img {
    transform: scale(1.08);
}


/* =========================================
   NUMBER
========================================= */

#services .career-number {
    position: absolute;

    left: 20px;
    bottom: 18px;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    border-radius: 50%;

    background: rgba(255,255,255,0.92);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-family: "Manrope", sans-serif;

    font-size: 12px;
    font-weight: 800;

    color: #54219A;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.12);

    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease;
}

#services .career-card:hover .career-number {
    background: #54219A;
    color: #ffffff;

    transform: rotate(8deg);
}


/* =========================================
   CONTENT
========================================= */

#services .career-content {
    position: relative;

    padding: 27px 27px 30px;
}


/* =========================================
   CATEGORY LABEL
========================================= */

#services .career-label {
    display: block;

    margin-bottom: 10px;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.8px;

    color: #54219A;
}


/* =========================================
   TITLE
========================================= */

#services .career-content h3 {
    margin: 0 0 11px;

    font-family: "Manrope", sans-serif;

    font-size: 21px;
    line-height: 1.3;
    font-weight: 750;

    letter-spacing: -0.3px;

    color: #17232b;

    transition: color 0.3s ease;
}

#services .career-card:hover .career-content h3 {
    color: #54219A;
}


/* =========================================
   DESCRIPTION
========================================= */

#services .career-content p {
    margin: 0;

    max-width: 330px;

    font-size: 14px;
    line-height: 1.75;

    color: #68747c;
}


/* =========================================
   EXPLORE LINK
========================================= */

#services .career-link {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 22px;
    padding-top: 17px;

    border-top: 1px solid #edf0f2;

    font-size: 12px;
    font-weight: 750;

    color: #17232b;

    transition: color 0.3s ease;
}

#services .career-link span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 29px;
    height: 29px;

    border-radius: 50%;

    background: #f4effa;

    color: #54219A;

    font-size: 15px;

    transition:
        transform 0.35s ease,
        background 0.35s ease,
        color 0.35s ease;
}

#services .career-card:hover .career-link {
    color: #54219A;
}

#services .career-card:hover .career-link span {
    background: #54219A;
    color: #ffffff;

    transform: translate(3px, -3px);
}


/* =========================================
   REVEAL ANIMATION
========================================= */

#services .reveal {
    opacity: 0;

    transform: translateY(35px);

    transition:
        opacity 0.7s ease,
        transform 0.7s cubic-bezier(.2,.8,.2,1);
}

#services .reveal.show {
    opacity: 1;

    transform: translateY(0);
}


/* =========================================
   STAGGER ANIMATION
========================================= */

#services .career-card:nth-child(1) {
    transition-delay: 0.05s;
}

#services .career-card:nth-child(2) {
    transition-delay: 0.10s;
}

#services .career-card:nth-child(3) {
    transition-delay: 0.15s;
}

#services .career-card:nth-child(4) {
    transition-delay: 0.20s;
}

#services .career-card:nth-child(5) {
    transition-delay: 0.25s;
}

#services .career-card:nth-child(6) {
    transition-delay: 0.30s;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    #services {
        padding: 80px 20px;
    }

    #services .section-heading {
        margin-bottom: 50px;
    }

    #services .career-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 24px;
    }

    #services .career-image {
        height: 220px;
    }

    #services .career-content {
        padding: 24px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    #services {
        padding: 65px 16px;
    }

    #services .section-heading {
        margin-bottom: 40px;
    }

    #services .eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }

    #services .section-heading h2 {
        font-size: 34px;

        line-height: 1.12;

        letter-spacing: -1px;
    }

    #services .section-heading p {
        font-size: 14px;

        line-height: 1.7;
    }

    #services .career-grid {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    #services .career-image {
        height: 225px;
    }

    #services .career-content {
        padding: 23px 22px 25px;
    }

    #services .career-content h3 {
        font-size: 20px;
    }

    #services .career-content p {
        font-size: 14px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 400px) {

    #services {
        padding: 55px 14px;
    }

    #services .section-heading h2 {
        font-size: 30px;
    }

    #services .career-image {
        height: 205px;
    }

    #services .career-content {
        padding: 21px;
    }

}

/* =========================================================
   COURSES
========================================================= */

.course-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}

.course-card{
    background:#fff;

    border:1px solid var(--border);

    border-radius:20px;

    overflow:hidden;

    transition:.35s ease;
}

.course-card:hover{
    transform:translateY(-8px);

    box-shadow:var(--shadow);
}

.course-image{
    height:205px;

    overflow:hidden;

    position:relative;
}

/* .course-image::after{
    content:"View Course →";

    position:absolute;

    left:15px;
    right:15px;
    bottom:15px;

    padding:10px;

    text-align:center;

    color:#fff;

    font-size:11px;
    font-weight:700;

    background:rgba(84,33,154,.9);

    border-radius:8px;

    transform:translateY(60px);

    transition:.35s ease;
} */

.course-card:hover .course-image::after{
    transform:translateY(0);
}

.course-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:.7s ease;
}

.course-card:hover .course-image img{
    transform:scale(1.08);
}

.course-body{
    padding:25px;
}

.course-tag{
    display:inline-block;

    padding:5px 9px;

    margin-bottom:12px;

    color:var(--primary);

    background:var(--primary-light);

    border-radius:50px;

    font-size:9px;

    font-weight:800;

    letter-spacing:.8px;

    text-transform:uppercase;
}

.course-body h3{
    font-family:"Manrope",sans-serif;

    font-size:17px;

    line-height:1.4;

    margin-bottom:10px;
}

.course-body p{
    font-size:13px;

    color:var(--muted);

    line-height:1.7;

    margin-bottom:18px;
}

.course-body a{
    color:var(--primary);

    font-size:12px;

    font-weight:800;
}


/* =========================================================
   FRANCHISE FEATURE
========================================================= */

.franchise-feature{
    padding:0 0 110px;
}

.franchise-feature-box{
    min-height:370px;

    padding:65px;

    position:relative;

    overflow:hidden;

    display:grid;

    grid-template-columns:1fr .8fr;

    align-items:center;

    gap:60px;

    color:#fff;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255,255,255,.15),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #32105f,
            #54219a
        );

    border-radius:28px;

    box-shadow:
        0 30px 80px rgba(53,20,85,.22);
}

.franchise-feature-box::before{
    content:"";

    position:absolute;

    width:450px;
    height:450px;

    right:-230px;
    bottom:-270px;

    border:1px solid rgba(255,255,255,.15);

    border-radius:50%;
}

.feature-content{
    position:relative;
    z-index:2;
}

.feature-content .eyebrow{
    color:rgba(255,255,255,.7);
}

.feature-content .eyebrow::before{
    background:#fff;
}

.feature-content h2{
    font-family:"Manrope",sans-serif;

    font-size:clamp(34px,4vw,50px);

    line-height:1.08;

    letter-spacing:-2px;

    margin-bottom:18px;
}

.feature-content p{
    max-width:620px;

    color:rgba(255,255,255,.75);

    font-size:14px;

    line-height:1.8;

    margin-bottom:25px;
}

.feature-content .btn{
    background:#fff;

    color:var(--primary);

    box-shadow:none;
}

.feature-content .btn:hover{
    background:#f5f0fa;

    color:var(--primary-dark);
}


/* FEATURE VISUAL */

.feature-visual{
    position:relative;

    z-index:2;

    display:flex;

    justify-content:center;
}

.feature-circle{
    width:300px;
    height:300px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;

    border:1px solid rgba(255,255,255,.25);

    border-radius:50%;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);
}

.feature-circle .plane{
    font-size:44px;

    margin-bottom:10px;
}

.feature-circle strong{
    font-family:"Manrope",sans-serif;

    font-size:25px;
}

.feature-circle span{
    color:rgba(255,255,255,.7);

    font-size:11px;

    margin-top:5px;
}


/* =========================================================
   FRANCHISE BENEFITS
========================================================= */

.franchise-grid{
    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:90px;

    align-items:center;
}

.franchise-content h2{
    font-family:"Manrope",sans-serif;

    font-size:clamp(36px,4vw,51px);

    line-height:1.1;

    letter-spacing:-2px;

    margin-bottom:22px;
}

.franchise-content h2 span{
    color:var(--primary);
}

.franchise-content p{
    color:var(--muted);

    font-size:15px;

    line-height:1.8;

    margin-bottom:16px;
}

.franchise-content .btn{
    margin-top:12px;
}

.benefits{
    display:grid;

    gap:13px;
}

.benefit{
    display:grid;

    grid-template-columns:50px 1fr;

    gap:16px;

    padding:22px;

    border:1px solid var(--border);

    border-radius:17px;

    background:#fff;

    transition:.35s ease;
}

.benefit:hover{
    transform:translateX(7px);

    box-shadow:var(--shadow);

    border-color:rgba(84,33,154,.2);
}

.benefit-number{
    width:44px;
    height:44px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:10px;

    font-weight:800;
}

.benefit h3{
    font-family:"Manrope",sans-serif;

    font-size:15px;

    margin-bottom:5px;
}

.benefit p{
    font-size:12px;

    color:var(--muted);

    line-height:1.6;
}


/* =========================================================
   WHO CAN JOIN
========================================================= */

.join-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}

.join-card{
    padding:30px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:20px;

    transition:.35s ease;
}

.join-card:hover{
    transform:translateY(-8px);

    box-shadow:var(--shadow);
}

.join-card span{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:31px;
    height:31px;

    border-radius:50%;

    color:var(--primary);

    background:var(--primary-light);

    font-size:10px;

    font-weight:800;
}

.join-card h3{
    font-family:"Manrope",sans-serif;

    font-size:18px;

    margin:17px 0 9px;
}

.join-card p{
    color:var(--muted);

    font-size:13px;

    line-height:1.7;
}


/* =========================================================
   PROCESS
========================================================= */

.process{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    position:relative;
}

.process::before{
    content:"";

    position:absolute;

    top:52px;

    left:11%;

    right:11%;

    height:1px;

    background:var(--border);

    z-index:0;
}

.process-item{
    position:relative;

    z-index:2;

    padding:30px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:20px;

    transition:.35s ease;
}

.process-item:hover{
    transform:translateY(-8px);

    box-shadow:var(--shadow);
}

.process-number{
    width:48px;
    height:48px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#fff;

    background:var(--primary);

    font-size:10px;

    font-weight:800;

    margin-bottom:23px;

    box-shadow:
        0 0 0 8px #fff,
        0 0 0 9px var(--border);

    transition:.3s ease;
}

.process-item:hover .process-number{
    transform:scale(1.08);

    box-shadow:
        0 0 0 8px #fff,
        0 0 0 9px var(--primary);
}

.process-item h3{
    font-family:"Manrope",sans-serif;

    font-size:17px;

    margin-bottom:9px;
}

.process-item p{
    color:var(--muted);

    font-size:13px;

    line-height:1.7;
}


/* =========================================================
   CTA
========================================================= */

.cta{
    padding:110px 0;

    position:relative;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(255,255,255,.12),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #32105f,
            #54219a
        );
}

.cta::before{
    content:"";

    position:absolute;

    width:550px;
    height:550px;

    right:-260px;
    bottom:-320px;

    border:1px solid rgba(255,255,255,.14);

    border-radius:50%;
}

.cta::after{
    content:"";

    position:absolute;

    width:250px;
    height:250px;

    left:-160px;
    top:-120px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:50%;
}

.cta-grid{
    display:grid;

    grid-template-columns:1fr .82fr;

    align-items:center;

    gap:80px;

    position:relative;

    z-index:2;
}

.cta .eyebrow{
    color:rgba(255,255,255,.75);
}

.cta .eyebrow::before{
    background:#fff;
}

.cta h2{
    font-family:"Manrope",sans-serif;

    font-size:clamp(37px,4vw,54px);

    line-height:1.08;

    letter-spacing:-2.3px;

    margin-bottom:20px;
}

.cta h2 span{
    color:#dbcaf0;
}

.cta > .container > div > p{
    max-width:590px;

    color:rgba(255,255,255,.75);

    font-size:15px;

    line-height:1.8;
}


/* =========================================================
   FORM
========================================================= */

.form-box{
    background:rgba(255,255,255,.98);

    color:var(--dark);

    padding:35px;

    border-radius:22px;

    box-shadow:
        0 35px 90px rgba(15,5,30,.28);
}

.form-box h3{
    font-family:"Manrope",sans-serif;

    font-size:24px;

    margin-bottom:5px;
}

.form-box > p{
    font-size:13px;

    color:var(--muted);

    margin-bottom:22px;
}

.form{
    display:grid;

    gap:11px;
}

.form input,
.form select,
.form textarea{
    width:100%;

    border:1px solid #ddd7e6;

    background:#faf9fc;

    padding:13px 14px;

    border-radius:9px;

    outline:none;

    color:var(--dark);

    transition:.25s ease;
}

.form input,
.form select{
    height:48px;
}

.form textarea{
    min-height:105px;

    resize:vertical;
}

.form input:focus,
.form select:focus,
.form textarea:focus{
    border-color:var(--primary);

    background:#fff;

    box-shadow:
        0 0 0 3px rgba(84,33,154,.08);
}

.form button{
    border:0;

    min-height:52px;

    background:var(--primary);

    color:#fff;

    border-radius:9px;

    font-weight:700;

    cursor:pointer;

    transition:.3s ease;
}

.form button:hover{
    background:var(--primary-dark);

    transform:translateY(-2px);
}


/* =========================================================
   FOOTER
========================================================= */

.footer{
    padding:28px 0;

    background:#17121d;

    color:rgba(255,255,255,.65);
}

.footer-inner{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:20px;
}

.footer p{
    font-size:11px;
}

.footer-links{
    display:flex;

    gap:20px;
}

.footer-links a{
    font-size:11px;

    transition:.25s ease;
}

.footer-links a:hover{
    color:#fff;
}


/* =========================================================
   REVEAL
========================================================= */

.reveal{
    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .8s ease,
        transform .8s ease;
}

.reveal.show{
    opacity:1;

    transform:translateY(0);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes heroContent{

    from{
        opacity:0;
        transform:translateX(-35px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }

}

@keyframes heroImage{

    from{
        opacity:0;
        transform:translateX(35px) scale(.96);
    }

    to{
        opacity:1;
        transform:translateX(0) scale(1);
    }

}

@keyframes floatCard{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

}

@keyframes pulseDot{

    0%,100%{
        transform:scale(1);
        opacity:1;
    }

    50%{
        transform:scale(1.25);
        opacity:.6;
    }

}

@keyframes marquee{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

    .nav{
        gap:15px;
    }

    .nav a{
        font-size:12px;
    }

    .hero-grid{
        grid-template-columns:1fr;

        gap:55px;
    }

    .hero-content{
        text-align:center;

        margin:auto;
    }

    .hero-description{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

    .hero-points{
        text-align:left;

        margin:auto;
    }

    .hero-visual{
        max-width:650px;

        width:100%;

        margin:auto;
    }

    .industry-grid,
    .course-grid,
    .join-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .career-grid,
    .process{
        grid-template-columns:repeat(2,1fr);
    }

    .process::before{
        display:none;
    }

    .market-grid,
    .franchise-grid,
    .cta-grid{
        grid-template-columns:1fr;

        gap:55px;
    }

    .franchise-feature-box{
        grid-template-columns:1fr;

        text-align:center;
    }

    .feature-content p{
        margin-left:auto;
        margin-right:auto;
    }

    .feature-content .eyebrow{
        justify-content:center;
    }

    .feature-visual{
        margin-top:10px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:780px){

    .container{
        width:calc(100% - 30px);
    }

    .header{
        background:rgba(255,255,255,.92);

        backdrop-filter:blur(18px);
    }

    .nav-container{
        height:76px;
    }

    .logo img{
        width:150px;
    }

    .menu-btn{
        display:block;
    }

    .nav{
        position:fixed;

        left:15px;
        right:15px;

        top:84px;

        display:flex;

        flex-direction:column;

        align-items:stretch;

        gap:0;

        background:rgba(255,255,255,.98);

        padding:12px;

        border-radius:17px;

        border:1px solid var(--border);

        box-shadow:0 25px 70px rgba(30,15,50,.18);

        opacity:0;

        visibility:hidden;

        transform:translateY(-10px);

        transition:.3s ease;
    }

    .nav.open{
        opacity:1;

        visibility:visible;

        transform:translateY(0);
    }

    .nav a{
        padding:13px 14px;

        font-size:13px;
    }

    .nav a.active::after{
        display:none;
    }

    .nav .nav-btn{
        justify-content:center;

        margin-top:5px;
    }


    /* HERO */

    .hero{
        min-height:auto;

        padding-top:125px;

        padding-bottom:70px;
    }

    .hero h1{
        font-size:41px;

        letter-spacing:-2px;
    }

    .hero-description{
        font-size:15px;

        line-height:1.75;
    }

    .hero-buttons{
        flex-direction:column;

        gap:10px;
    }

    .btn{
        width:100%;
    }

    .hero-points{
        grid-template-columns:1fr;

        gap:14px;

        max-width:400px;
    }

    .hero-main-image{
        height:430px;

        border-radius:23px;
    }


    .floating-card{
        left:8px;

        bottom:20px;

        width:210px;

        padding:14px;
    }

   

    .image-badge{
        top:18px;
        right:18px;

        font-size:9px;
    }

    .hero-decoration.one{
        width:400px;
        height:400px;

        right:-250px;
    }


    /* TRUST */

    .trust-strip{
        margin-top:-20px;
    }

    .trust-inner{
        flex-direction:column;

        text-align:center;

        padding:20px 15px;
    }

    .trust-items{
        width:100%;

        justify-content:center;

        flex-wrap:wrap;

        gap:15px 20px;
    }


    /* SECTIONS */

    .section{
        padding:75px 0;
    }

    .section-heading{
        margin-bottom:40px;
    }

    .section-heading h2,
    .market-content h2,
    .franchise-content h2,
    .cta h2{
        font-size:32px;

        letter-spacing:-1.2px;
    }

    .section-heading p{
        font-size:14px;
    }


    /* GRIDS */

    .industry-grid,
    .career-grid,
    .course-grid,
    .join-grid,
    .process{
        grid-template-columns:1fr;
    }

    .industry-card{
        min-height:340px;
    }

    .stats{
        grid-template-columns:1fr;
    }


    /* FEATURE */

    .franchise-feature{
        padding-bottom:75px;
    }

    .franchise-feature-box{
        padding:45px 25px;

        border-radius:22px;
    }

    .feature-circle{
        width:210px;
        height:210px;
    }


    /* CTA */

    .cta{
        padding:75px 0;
    }

    .cta-grid{
        gap:40px;
    }

    .form-box{
        padding:25px 20px;

        border-radius:18px;
    }


    /* FOOTER */

    .footer-inner{
        flex-direction:column;

        text-align:center;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:420px){

    .hero h1{
        font-size:36px;
    }

    .hero-main-image{
        height:390px;
    }

    .floating-card{
        width:195px;
    }

    .floating-card strong{
        font-size:11px;
    }

    .floating-card span{
        font-size:10px;
    }

    .trust-items{
        font-size:10px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
    }

}
