/* ========================================
   OUTSIDER WORKS HERO SECTION
======================================== */

:root {
    --ow-purple: #8038e8;
    --ow-purple-light: #b96cff;
    --ow-bg: #190b36;
    --ow-text: #ffffff;
    --ow-muted: #d3c4e9;
}

.ow-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 630px;
    color: var(--ow-text);
    background:
        radial-gradient(
            ellipse at 50% 70%,
            #5b197b 0%,
            #2a1051 40%,
            #190b36 80%
        );
}

/* Background Grid */

.ow-grid {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: 0.35;
    background-image:
        linear-gradient(
            30deg,
            rgba(180, 100, 255, 0.18) 1px,
            transparent 1px
        ),
        linear-gradient(
            150deg,
            rgba(180, 100, 255, 0.14) 1px,
            transparent 1px
        );
    background-size: 180px 105px;
    transform: perspective(500px) rotateX(8deg);
    transform-origin: center bottom;
}

/* Decorative Glow */

.ow-glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
}

.ow-glow-one {
    width: 450px;
    height: 450px;
    top: 35%;
    left: -180px;
    background: rgba(142, 38, 214, 0.22);
}

.ow-glow-two {
    width: 400px;
    height: 400px;
    right: -160px;
    bottom: 0;
    background: rgba(70, 25, 170, 0.25);
}

/* Container */

.ow-hero .container {
    position: relative;
    z-index: 2;
    width: min(1200px, calc(100% - 40px));
    margin-inline: auto;
}

/* Header */

.ow-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 100px;
    gap: 30px;
}

.ow-logo img {
    display: block;
    width: 165px;
    height: auto;
    object-fit: contain;
}

.ow-nav {
    display: flex;
    align-items: center;
    gap: 38px;
}

.ow-nav a {
    color: #eee5ff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.ow-nav a:hover {
    color: var(--ow-purple-light);
}

.ow-header-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 26px;
    border-radius: 50px;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    background: linear-gradient(
        135deg,
        #8d53ed,
        #7040ca
    );
    transition: transform 0.3s ease;
}

.ow-header-btn:hover {
    transform: translateY(-3px);
}

.ow-menu-btn {
    display: none;
    color: #fff;
    border: 0;
    background: transparent;
    font-size: 24px;
}

/* Hero Content */
.ow-hero-content {
    max-width: 950px;
    margin: 35px auto 0;
    text-align: center;
}
.ow-eyebrow {
    display: inline-block;
    margin-bottom: 9px;
    color: #d5a5ff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}
.ow-hero h1 {
    margin: 0;
    font-size: 42px;
    line-height: 1.14;
    font-weight: 600;
    letter-spacing: -2px;
    color: #fff;
}

.ow-hero h1 span {
    color: #c36cff;
    background: linear-gradient(
        90deg,
        #a75cff,
        #f078b7
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.ow-hero-content p {
    max-width: 675px;
    margin: 10px auto 0;
    /* color: var(--ow-muted); */
    font-size: 14px;
    line-height: 1.8;
}

/* Buttons */

.ow-hero-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 10px;
    flex-wrap: wrap;
}
.ow-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 130px;
    padding: 5px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.ow-btn-primary {
    color: #fff;
    background: linear-gradient(
        135deg,
        #9853ed,
        #713bd0
    );
    box-shadow: 0 8px 25px rgba(124, 58, 237, 0.25);
}

.ow-btn-outline {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.04);
}

.ow-btn:hover {
    transform: translateY(-3px);
}

/* Hero Visual */
.ow-hero-visual {
    position: relative;
    width: min(100%, 870px);
    height: 325px;
    margin: 24px auto 0;
}
/* Laptop */
.ow-laptop {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 29px;
    width: min(456px, 60%);
    transform: translateX(-50%) perspective(749px)
        rotateX(1deg) rotateY(-11deg);
}

.ow-screen {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1.55;
    padding: 9px;
    border: 2px solid #8747cf;
    border-radius: 18px 18px 5px 5px;
    background: #0b0520;
    box-shadow:
        0 0 25px rgba(174, 66, 255, 0.5),
        inset 0 0 30px rgba(127, 51, 210, 0.2);
}

.ow-screen-top {
    display: flex;
    gap: 5px;
    height: 14px;
    padding: 2px 5px;
}

.ow-screen-top span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ab6eff;
}

.ow-screen-content {
    display: flex;
    height: calc(100% - 14px);
    gap: 10px;
    padding: 8px;
}

.ow-screen-sidebar {
    width: 20%;
    border-radius: 4px;
    background: linear-gradient(
        180deg,
        #392069,
        #1e103e
    );
}

.ow-screen-main {
    flex: 1;
    padding: 5px;
}

.ow-screen-title {
    width: 55%;
    height: 12px;
    margin-bottom: 12px;
    border-radius: 3px;
    background: #a95aff;
}

.ow-screen-line {
    width: 90%;
    height: 5px;
    margin-bottom: 7px;
    border-radius: 3px;
    background: #53347c;
}

.ow-screen-line.short {
    width: 65%;
}

.ow-screen-boxes {
    display: flex;
    gap: 6px;
    margin-top: 16px;
}

.ow-screen-boxes div {
    flex: 1;
    height: 35px;
    border-radius: 5px;
    background: linear-gradient(
        135deg,
        #6333a1,
        #2b1754
    );
}

.ow-screen-chart {
    display: flex;
    align-items: end;
    gap: 8px;
    height: 70px;
    margin-top: 14px;
    padding: 8px;
    border-radius: 5px;
    background: #1c0d38;
}

.ow-screen-chart span {
    flex: 1;
    height: 45%;
    border-radius: 2px 2px 0 0;
    background: #a957ed;
}

.ow-screen-chart span:nth-child(2) {
    height: 70%;
}

.ow-screen-chart span:nth-child(3) {
    height: 50%;
}

.ow-screen-chart span:nth-child(4) {
    height: 90%;
}

.ow-screen-chart span:nth-child(5) {
    height: 65%;
}

.ow-keyboard {
    position: relative;
    width: 100%;
    height: 13px;
    margin: -2px auto 0;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(
        180deg,
        #542b7e,
        #291044
    );
    transform: perspective(200px) rotateX(-18deg);
}

.ow-laptop-base {
    width: 112%;
    height: 8px;
    margin-left: -6%;
    border-radius: 50%;
    background: #8e48ca;
    box-shadow: 0 4px 15px rgba(178, 75, 255, 0.4);
}

/* Floating Tags */

.ow-floating-tag {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 65px;
    padding: 10px 14px;
    border: 1px solid rgba(224, 158, 255, 0.3);
    border-radius: 9px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    background: rgba(83, 24, 133, 0.85);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.ow-tag-html {
    left: 13%;
    top: 35%;
    color: #ff9cdd;
}

.ow-tag-js {
    right: 13%;
    top: 20%;
    color: #ffd38e;
}

.ow-tag-php {
    left: 22%;
    bottom: 15%;
    color: #bfa1ff;
}

.ow-tag-cloud {
    right: 20%;
    bottom: 18%;
    color: #a7eaff;
    font-size: 22px;
}

/* Code Cards */

.ow-code-card {
    position: absolute;
    z-index: 4;
    padding: 12px 16px;
    border: 1px solid rgba(203, 127, 255, 0.3);
    border-radius: 10px;
    text-align: center;
    background: rgba(40, 12, 77, 0.9);
}
.ow-code-card span {
    display: block;
    color: #fff;
    font-size: 25px;
    font-weight: 600;
}

.ow-code-card small {
    color: #bba7d5;
    font-size: 9px;
    letter-spacing: 1px;
}

.ow-code-left {
    left: 5%;
    top: 10%;
}

.ow-code-right {
    right: 5%;
    bottom: 8%;
}

/* Orbit */

.ow-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 80%;
    height: 100%;
    border: 1px solid rgba(177, 95, 255, 0.18);
    border-radius: 50%;
    transform: translate(-50%, -50%) rotate(-18deg);
    pointer-events: none;
}

/* Bottom Fade */

.ow-bottom-fade {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(
        to top,
        #170a2f,
        transparent
    );
    pointer-events: none;
}

/* Responsive */

@media (max-width: 991px) {

    .ow-nav {
        gap: 20px;
    }

    .ow-header-btn {
        padding: 13px 18px;
    }

    .ow-hero-content {
        margin-top: 45px;
    }

    .ow-hero-visual {
        height: 280px;
    }

}

@media (max-width: 767px) {

    .ow-hero {
        min-height: 570px;
    }

    .ow-hero .container {
        width: min(100% - 30px, 1200px);
    }

    .ow-header {
        min-height: 80px;
    }

    .ow-logo img {
        width: 135px;
    }

    .ow-nav,
    .ow-header-btn {
        display: none;
    }

    .ow-menu-btn {
        display: block;
    }

    .ow-hero-content {
        margin-top: 35px;
    }

    .ow-eyebrow {
        font-size: 10px;
        letter-spacing: 1px;
    }

    .ow-hero h1 {
        font-size: 24px;
        line-height: 1.2;
        letter-spacing: -1px;
    }

    .ow-hero-content p {
        font-size: 14px;
        line-height: 1.7;
        margin-top: 10px;
    }

    .ow-hero-buttons {
        gap: 10px;
        margin-top: 25px;
    }

    .ow-btn {
        /* min-width: 135px; */
        /* padding: 13px 18px; */
        font-size: 13px;
    }

    .ow-hero-visual {
        height: 220px;
        margin-top: 40px;
    }

    .ow-laptop {
        width: 72%;
    }

    .ow-floating-tag {
        min-width: auto;
        padding: 7px 10px;
        font-size: 10px;
    }

    .ow-code-card {
        padding: 8px 10px;
    }

    .ow-code-card span {
        font-size: 13px;
    }

    .ow-code-card small {
        font-size: 7px;
    }

    .ow-code-left {
        left: 0;
    }

    .ow-code-right {
        right: 0;
    }

    .ow-tag-html {
        left: 8%;
    }

    .ow-tag-js {
        right: 8%;
    }

    .ow-tag-php {
        left: 10%;
    }

    .ow-tag-cloud {
        right: 10%;
    }

}
/* ========================================
   OUTSIDER WORKS ABOUT SECTION
======================================== */

.ow-about {
    position: relative;
    overflow: hidden;
    padding: 30px 0px;
    color: #171026;
    background: #e3cdee38;
}

/* Common Container */

.ow-about .container {
    width: min(1200px, calc(100% - 40px));
    margin: auto;
}

/* Section Heading */

.ow-section-heading {
    max-width: 700px;
    margin: 0 auto 20px;
    text-align: center;
}

.ow-section-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
    color: #8038e8;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.ow-section-label span {
    display: inline-block;
    width: 28px;
    height: 2px;
    background: #8038e8;
}

.ow-section-heading h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -1px;
}

.ow-section-heading h2 span {
    color: #5914bd;
}

.ow-section-heading p {
    margin: 3px 0 0;
    color: #252427;
    font-size: 14px;
}


/* Main Grid */

.ow-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 80px;
}


/* ========================================
   LEFT VISUAL
======================================== */

.ow-about-visual {
    position: relative;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}

.ow-about-glow {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(128, 56, 232, 0.13);
    filter: blur(60px);
    z-index: -1;
}

.ow-about-circle {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    border: 1px solid rgba(128, 56, 232, 0.2);
}

.ow-about-ring {
    position: absolute;
    inset: 25px;
    border: 1px dashed rgba(128, 56, 232, 0.3);
    border-radius: 50%;
}

.ow-about-ring.ring-two {
    inset: 65px;
    border-style: solid;
    opacity: 0.5;
}


/* Illustration */

.ow-about-illustration {
    position: relative;
    width: 100%;
    max-width: 470px;
    height: 360px;
}


/* Window */

.ow-visual-window {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 85%;
    border: 8px solid #291343;
    border-radius: 15px;
    background: #1a0c30;
    box-shadow:
        0 25px 50px rgba(43, 15, 80, 0.22),
        0 0 40px rgba(128, 56, 232, 0.16);
    transform: translate(-50%, -50%) perspective(700px)
        rotateY(-8deg) rotateX(3deg);
}

.ow-window-header {
    display: flex;
    gap: 5px;
    padding: 10px 12px;
    background: #342052;
}

.ow-window-header span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #a96bf1;
}

.ow-window-body {
    display: flex;
    min-height: 210px;
    padding: 15px;
    gap: 14px;
}

.ow-window-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 38px;
    padding: 10px 0;
    color: #9b67d6;
}

.ow-window-content {
    flex: 1;
    padding: 10px;
}

.ow-window-heading {
    width: 65%;
    height: 14px;
    margin-bottom: 15px;
    border-radius: 3px;
    background: #b866ed;
}

.ow-window-line {
    width: 90%;
    height: 6px;
    margin-bottom: 8px;
    border-radius: 5px;
    background: #4e3570;
}

.ow-window-line.short {
    width: 55%;
}

.ow-window-cards {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.ow-window-cards div {
    flex: 1;
    height: 45px;
    border-radius: 5px;
    background: linear-gradient(
        135deg,
        #7543b6,
        #3b1b62
    );
}

.ow-window-chart {
    display: flex;
    align-items: end;
    gap: 8px;
    height: 65px;
    margin-top: 15px;
    padding: 10px;
    border-radius: 5px;
    background: #281441;
}

.ow-window-chart span {
    flex: 1;
    height: 40%;
    border-radius: 3px 3px 0 0;
    background: #b35ced;
}

.ow-window-chart span:nth-child(2) {
    height: 70%;
}

.ow-window-chart span:nth-child(3) {
    height: 50%;
}

.ow-window-chart span:nth-child(4) {
    height: 90%;
}

.ow-window-chart span:nth-child(5) {
    height: 65%;
}


/* Code Floating Card */

.ow-visual-code {
    position: absolute;
    top: 5px;
    left: 0;
    z-index: 4;
    padding: 16px 20px;
    border: 1px solid #d9b8fa;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 30px rgba(65, 26, 105, 0.12);
}

.ow-visual-code span {
    display: block;
    color: #8038e8;
    font-size: 27px;
    font-weight: 800;
}

.ow-visual-code small {
    color: #847393;
    font-size: 9px;
    letter-spacing: 2px;
}


/* Floating Growth Card */

.ow-about-floating {
    position: absolute;
    right: -10px;
    bottom: 22px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border: 1px solid #eadcfb;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 15px 35px rgba(48, 22, 75, 0.12);
}

.ow-about-floating > i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    color: #fff;
    background: #8038e8;
}

.ow-about-floating strong {
    display: block;
    color: #241235;
    font-size: 13px;
}

.ow-about-floating small {
    color: #887c99;
    font-size: 11px;
}


/* Creative Badge */

.ow-about-badge {
    position: absolute;
    top: 45%;
    right: -12px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 15px;
    border-radius: 10px;
    color: #fff;
    background: #8038e8;
    box-shadow: 0 12px 25px rgba(128, 56, 232, 0.25);
    transform: rotate(8deg);
}

.ow-about-badge i {
    font-size: 20px;
    color: #f5c5ff;
}

.ow-about-badge span {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}


/* ========================================
   RIGHT CONTENT
======================================== */

.ow-about-content {
    max-width: 520px;
}

.ow-content-tag {
    display: inline-block;
    margin-bottom: 9px;
    color: #8038e8;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.ow-about-content h3 {
    margin: 0 0 15px;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -1px;
}

.ow-about-content h3 span {
    color: #6a2ac6;
}

.ow-about-content > p {
    margin-bottom: 7px;
    color: #212021;
    font-size: 14px;
    line-height: 1.9;
}


/* Features */

.ow-about-features {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 11px;
}

.ow-feature-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.ow-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: #8038e8;
    background: #f1e9ff;
}

.ow-feature-item h4 {
    margin: 0 0 4px;
    color: #241235;
    font-size: 15px;
    font-weight: 600;
}

.ow-feature-item p {
    margin: 0;
    color: #887c99;
    font-size: 13px;
}


/* CTA */

.ow-about-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 13px;
}

.ow-about-btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 8px 23px;
    border-radius: 50px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    background: #8038e8;
    transition: all 0.3s ease;
}

.ow-about-btn:hover {
    color: #fff;
    background: #6527c3;
    transform: translateY(-3px);
}

.ow-about-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #8038e8;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.ow-about-link:hover {
    color: #5e20bd;
}


/* ========================================
   STATS
======================================== */

.ow-about-stats {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 20px;
    margin-top: 40px;
    padding: 16px 17px;
    border: 1px solid #e9def7;
    border-radius: 18px;
    background: #faf8ff;
}

.ow-stat-item {
    flex: 1;
    text-align: center;
}

.ow-stat-item strong {
    display: block;
    color: #8038e8;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.2;
}

.ow-stat-item strong span {
    color: #b66af4;
}

.ow-stat-item p {
    margin: 8px 0 0;
    color: #322e37;
    font-size: 13px;
}

.ow-stat-divider {
    width: 1px;
    height: 55px;
    background: #e1d4f2;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 991px) {

    .ow-about {
        padding: 26px 0;
    }

    .ow-about-grid {
        gap: 40px;
    }

    .ow-about-visual {
        min-height: 400px;
    }

    .ow-about-circle {
        width: 350px;
        height: 350px;
    }

    .ow-about-floating {
        right: -5px;
    }

    .ow-about-badge {
        right: -5px;
    }

    .ow-about-stats {
        margin-top: 60px;
    }

}

@media (max-width: 767px) {

    .ow-about {
        padding: 24px 0;
    }

    .ow-about .container {
        width: calc(100% - 30px);
    }

    .ow-section-heading {
        margin-bottom: 2px;
    }

    .ow-section-heading h2 {
        font-size: 24px;
    }

    .ow-section-heading p {
        font-size: 14px;
    }

    .ow-about-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .ow-about-visual {
        min-height: 330px;
    }

    .ow-about-circle {
        width: 300px;
        height: 300px;
    }

    .ow-about-ring {
        inset: 20px;
    }

    .ow-about-ring.ring-two {
        inset: 50px;
    }

    .ow-about-illustration {
        height: 300px;
    }

    .ow-visual-window {
        width: 88%;
    }

    .ow-window-body {
        min-height: 170px;
        padding: 10px;
    }

    .ow-window-chart {
        height: 45px;
    }

    .ow-visual-code {
        left: 0;
        top: 10px;
        padding: 10px 14px;
    }

    .ow-visual-code span {
        font-size: 20px;
    }

    .ow-about-floating {
        right: 0;
        bottom: 0;
        padding: 10px 12px;
    }

    .ow-about-floating > i {
        width: 35px;
        height: 35px;
    }

    .ow-about-floating strong {
        font-size: 11px;
    }

    .ow-about-floating small {
        font-size: 10px;
    }

    .ow-about-badge {
        right: 0;
        top: 45%;
        padding: 10px;
    }

    .ow-about-content h3 {
        font-size: 24px;
    }

    .ow-about-content > p {
        font-size: 14px;
    }

    .ow-about-actions {
        gap: 15px;
    }

    .ow-about-btn {
        padding: 5px 18px;
        font-size: 13px;
    }

    .ow-about-stats {
        /* flex-direction: column; */
        gap: 9px;
        margin-top: 11px;
        padding: 20px 15px;
    }

    .ow-stat-divider {
        width: 80px;
        height: 1px;
    }

    .ow-stat-item strong {
        font-size: 25px;
    }

}


.bs-about {
    position: relative;
    padding: 30px 0;
    overflow: hidden;
    background: #f28de31c;
}


/* BACKGROUND SHAPE */

.about-bg-shape {
    position: absolute;

    width: 450px;
    height: 450px;

    left: -250px;
    top: 100px;

    border-radius: 50%;

    background:
        rgba(7, 91, 141, .045);

    filter: blur(10px);
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.about-wrapper {

    display: grid;

    grid-template-columns:
        minmax(0, .95fr) minmax(0, 1.05fr);

    align-items: center;

    gap: 85px;
}


/* =========================================================
   VISUAL
========================================================= */

.about-visual {

    position: relative;

    min-height: 470px;

    display: flex;

    align-items: center;

    justify-content: center;
}


/* MAIN CARD */

.about-main-card {

    width: 100%;

    max-width: 490px;

    padding: 25px;

    border: 1px solid #e6edf2;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 25px 70px rgba(7, 91, 141, .11);

    transform: rotate(-2deg);

    animation:
        aboutCardFloat 5s ease-in-out infinite;
}


@keyframes aboutCardFloat {

    0%,
    100% {
        transform: rotate(-2deg) translateY(0);
    }

    50% {
        transform: rotate(-2deg) translateY(-9px);
    }

}


/* TOP */

.about-card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 25px;
}


.about-mini-label {

    display: flex;

    align-items: center;

    gap: 8px;

    color: #37199d;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .8px;
}


.about-mini-label i {

    font-size: 12px;
}


/* LIVE */

.about-live {

    display: flex;

    align-items: center;

    gap: 6px;

    color: #64748b;

    font-size: 9px;

    font-weight: 600;
}


.about-live span {

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: #22c55e;

    animation: livePulse 1.6s infinite;
}


@keyframes livePulse {

    0% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, .4);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(34, 197, 94, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
    }

}


/* =========================================================
   GROWTH
========================================================= */

.about-growth {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 15px;
}


.growth-number strong {

    display: block;

    color: #37199d;

    font-family: 'Poppins', sans-serif;

    font-size: 34px;

    line-height: 1;

    font-weight: 700;
}


.growth-number small {

    display: block;

    margin-top: 7px;

    color: #94a3b8;

    font-size: 10px;
}


.growth-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 12px;

    color: #7E3BEB;

    background: rgba(255, 151, 0, .10);

    font-size: 17px;
}


/* =========================================================
   CHART
========================================================= */

.about-chart {

    position: relative;

    height: 165px;

    overflow: hidden;
}


.chart-grid {

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(rgba(7, 91, 141, .06) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(7, 91, 141, .06) 1px,
            transparent 1px);

    background-size:
        50px 40px;
}


.about-chart svg {

    position: relative;

    width: 100%;

    height: 100%;
}


.about-chart-fill {

    fill: url(#aboutChartGradient);
}


.about-chart-line {

    fill: none;

    stroke: #37199d;

    stroke-width: 3;

    stroke-linecap: round;

    stroke-dasharray: 900;

    stroke-dashoffset: 900;

    animation:
        aboutChartDraw 2.5s ease forwards;
}


@keyframes aboutChartDraw {

    to {
        stroke-dashoffset: 0;
    }

}


/* =========================================================
   CARD STATS
========================================================= */

.about-card-stats {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 10px;

    padding-top: 20px;

    border-top: 1px solid #edf2f5;
}


.about-card-stats div {

    text-align: center;
}


.about-card-stats small {

    display: block;

    color: #94a3b8;

    font-size: 9px;

    margin-bottom: 4px;
}


.about-card-stats strong {

    color: #101820;

    font-size: 13px;

    font-weight: 700;
}


/* =========================================================
   EXPERIENCE CARD
========================================================= */

.about-experience {

    position: absolute;

    left: -25px;

    bottom: 35px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 13px 18px;

    border: 1px solid #e5edf2;

    border-radius: 12px;

    background: #fff;

    box-shadow:
        0 15px 35px rgba(0, 0, 0, .08);

    animation:
        experienceFloat 4s ease-in-out infinite;
}


@keyframes experienceFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }

}


.experience-icon {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #fff;

    background: #7E3BEB;
}


.about-experience strong {

    display: block;

    color: #37199d;

    font-size: 18px;

    line-height: 1;
}


.about-experience span {

    display: block;

    margin-top: 4px;

    color: #94a3b8;

    font-size: 9px;
}


/* =========================================================
   FLOATING ICONS
========================================================= */

.about-floating {

    position: absolute;

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 13px;

    background: #fff;

    box-shadow:
        0 12px 30px rgba(7, 91, 141, .12);

    font-size: 18px;

    z-index: 3;
}


.about-floating-one {

    top: 55px;

    right: 10px;

    color: #37199d;

    animation:
        floatingIcon 4s ease-in-out infinite;
}


.about-floating-two {

    right: -5px;

    bottom: 100px;

    color: #7E3BEB;

    animation:
        floatingIcon 5s ease-in-out infinite reverse;
}


@keyframes floatingIcon {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

}


/* =========================================================
   CONTENT
========================================================= */

.about-content {

    max-width: 620px;
}


.section-label {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 4px;

    color: #37199d;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: 1.5px;
}


.section-label span {

    width: 28px;

    height: 2px;

    background: #7E3BEB;
}


/* HEADING */

.about-content h2 {

    margin: 0 0 4px;

    color: #101820;

    font-family: 'Poppins', sans-serif;

    font-size: 30px;

    line-height: 1.2;

    letter-spacing: -1.2px;

    font-weight: 600;
}


.about-content h2 span {

    color: #7E3BEB;
}


/* PARAGRAPHS */

.about-intro {

    margin-bottom: 12px;

    color: #334155;

    font-size: 15px;

    line-height: 1.8;

    font-weight: 500;
}


.about-description {

    margin-bottom: 14px;

    color: #292d34;

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================================
   FEATURES
========================================================= */

.about-features {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 18px;

    margin-bottom: 13px;
}


.about-feature {

    display: flex;

    align-items: flex-start;

    gap: 12px;
}


.feature-icon {

    width: 35px;

    height: 35px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #37199d;

    background: rgba(7, 91, 141, .09);
}


.feature-icon.orange {

    color: #7E3BEB;

    background: rgba(255, 151, 0, .10);
}


.about-feature h4 {

    margin: 1px 0 5px;

    color: #101820;

    font-size: 16px;

    font-weight: 600;
}


.about-feature p {

    margin: 0;

    color: #131211;

    font-size: 12px;

    line-height: 1.6;
}


/* =========================================================
   BOTTOM
========================================================= */

.about-bottom {

    display: flex;

    align-items: center;

    gap: 25px;
}


.about-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    min-height: 34px;

    padding: 0 18px;

    border-radius: 7px;

    color: #fff;

    background: #37199d;

    font-size: 13px;

    font-weight: 600;

    text-decoration: none;

    transition: .3s ease;
}


.about-btn:hover {

    color: #fff;

    background: #7E3BEB;

    transform: translateY(-3px);
}


.about-btn i {

    transition: .3s ease;
}


.about-btn:hover i {

    transform: translateX(4px);
}


/* TRUST */

.about-trust {

    display: flex;

    align-items: center;

    gap: 8px;

    color: #293f5d;

    font-size: 15px;
}


.trust-check {

    width: 22px;

    height: 22px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #fff;

    background: #22c55e;

    font-size: 9px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .bs-about {

        padding: 25px 0;

    }


    .about-wrapper {

        grid-template-columns: 1fr;

        gap: 55px;
    }


    .about-visual {

        max-width: 560px;

        width: 100%;

        margin: auto;
    }


    .about-content {

        max-width: 700px;

        margin: auto;
    }


    .about-content h2 {

        font-size: 32px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .bs-about {

        padding: 70px 0;
    }


    .bs-about .container {

        padding: 0 18px;
    }


    .about-visual {

        min-height: 400px;
    }


    .about-main-card {

        max-width: 450px;

        padding: 20px;
    }


    .about-experience {

        left: 0;

        bottom: 20px;
    }


    .about-floating-one {

        right: 0;

        top: 35px;
    }


    .about-floating-two {

        right: 0;

        bottom: 80px;
    }


    .about-content h2 {

        font-size: 24px;

        letter-spacing: -.8px;

    }


    .about-features {

        grid-template-columns: 1fr;

        gap: 15px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 576px) {

    .bs-about {

        padding: 20px 0;

    }


    .about-visual {

        min-height: 350px;
    }


    .about-main-card {

        padding: 17px;

        border-radius: 14px;
    }


    .growth-number strong {

        font-size: 26px;
    }


    .about-chart {

        height: 125px;
    }


    .about-content h2 {

        font-size: 29px;

        line-height: 1.25;
    }


    .about-intro {

        font-size: 13px;
    }


    .about-description {

        font-size: 12px;
    }


    .about-bottom {

        align-items: flex-start;

        flex-direction: column;

        gap: 6px;

    }


    .about-floating {

        width: 40px;

        height: 40px;

        font-size: 14px;
    }


    .about-experience {

        padding: 10px 13px;
    }


    .experience-icon {

        width: 32px;

        height: 32px;

        font-size: 13px;
    }

}


/* =========================================================
   EXTRA SMALL
========================================================= */

@media (max-width: 400px) {

    .about-content h2 {

        font-size: 21px;

    }


    .about-card-stats {

        gap: 5px;
    }


    .about-card-stats small {

        font-size: 8px;
    }


    .about-card-stats strong {

        font-size: 11px;
    }


    .about-experience {

        left: -3px;
    }

}



.bs-tech-section {
    position: relative;
    padding: 30px 0;
    background: #ffffff;
    overflow: hidden;
}


/* CONTAINER */

.bs-tech-section .container {
    /* width: 100%; */

    max-width: 1250px;

    margin: auto;

    padding: 0 25px;
}


/* =========================================================
   HEADING
========================================================= */

.bs-tech-heading {
    max-width: 900px;
    margin: 0 auto 20px;
    text-align: center;
}


.bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 3px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.5px;
}


.bs-section-tag span {
    width: 25px;

    height: 2px;

    background: #7E3BEB;

    border-radius: 10px;
}


.bs-tech-heading h2 {
    margin: 0;
    color: #20252b;
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.16;
    letter-spacing: -1.5px;
}


.bs-tech-heading h2 span {
    color: #7E3BEB;

    display: inline;
}


.bs-tech-heading p {
    max-width: 680px;
    margin: 8px auto 0;
    color: #464c55;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   TABS
========================================================= */

.bs-tech-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 23px;
}


.bs-tech-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 38px;
    padding: 0 25px;
    border: 1px solid #e1e6ea;
    border-radius: 50px;
    background: #ffffff;
    color: #15191d;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition:
        .3s ease;
}


.bs-tech-tab i {
    color: #37199d;

    font-size: 12px;

    transition: .3s ease;
}


.bs-tech-tab:hover {
    border-color: #37199d;

    color: #37199d;

    transform: translateY(-2px);
}


.bs-tech-tab.active {
    border-color: transparent;

    color: #ffffff;

    background:
        linear-gradient(135deg,
            #37199d,
            #0a709f);

    box-shadow:
        0 10px 25px rgba(7, 91, 141, .20);
}


.bs-tech-tab.active i {
    color: #ffffff;
}


/* =========================================================
   TECHNOLOGY BOX
========================================================= */

.bs-tech-box {
    position: relative;
    /* min-height: 370px; */
    padding: 20px 25px;
    border: 1px solid #f49b1c61;
    border-radius: 28px;
    background: #ffffff;
    box-shadow:
        0 20px 55px rgba(15, 23, 42, .055);
}


/* TOP DECORATION */

.bs-tech-box::before {
    content: "";

    position: absolute;

    top: 0;

    left: 50%;

    width: 100px;

    height: 3px;

    transform: translateX(-50%);

    background:
        linear-gradient(90deg,
            #37199d,
            #7E3BEB);

    border-radius: 0 0 10px 10px;
}


/* =========================================================
   PANEL
========================================================= */

.bs-tech-panel {
    display: none;

    animation:
        techPanelIn .45s ease;
}


.bs-tech-panel.active {
    display: block;
}


@keyframes techPanelIn {

    from {
        opacity: 0;

        transform:
            translateY(12px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* =========================================================
   GRID
========================================================= */

.bs-tech-grid {
    display: grid;
    grid-template-columns:
        repeat(4, 1fr);
    gap: 13px 15px;
    align-items: center;
}


/* =========================================================
   TOOL
========================================================= */

.bs-tool {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    text-align: center;
    border-radius: 12px;
    transition:
        transform .3s ease,
        background .3s ease;
}


.bs-tool:hover {
    transform: translateY(-5px);

    background: #f8fbfd;
}


/* LOGO */

.bs-tool img {
    width: auto;
    max-width: 125px;
    /* height: 53px; */
    object-fit: contain;
    display: block;
    transition:
        transform .3s ease;
}


.bs-tool:hover img {
    transform:
        scale(1.06);
}


/* TOOL NAME */

.bs-tool span {
    color: #64748b;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;

    font-weight: 500;
}


/* =========================================================
   FALLBACK IF IMAGE NOT AVAILABLE
========================================================= */

.bs-tool img[src=""] {
    display: none;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (max-width: 1100px) {

    .bs-tech-grid {
        grid-template-columns:
            repeat(3, 1fr);

        gap: 35px 20px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .bs-tech-section {
        padding: 25px 0;
    }


    .bs-tech-box {
        padding: 45px 35px;
    }


    .bs-tech-heading h2 {
        font-size: 26px;
    }


    .bs-tech-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .bs-tech-section {
        padding: 20px 0;
    }


    .bs-tech-section .container {
        padding: 0 18px;
    }


    .bs-tech-heading {
        margin-bottom: 10px;
    }


    .bs-tech-heading h2 {
        font-size: 24px;
        letter-spacing: -.8px;
    }


    .bs-tech-heading p {
        font-size: 12px;

        line-height: 1.7;
    }


    .bs-tech-tabs {
        gap: 8px;
        margin-bottom: 25px;
    }


    .bs-tech-tab {
        min-height: 32px;
        padding: 0 15px;
        font-size: 10px;
    }


    .bs-tech-box {
        padding: 35px 20px;

        border-radius: 20px;
    }


    .bs-tech-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 28px 12px;
    }


    .bs-tool img {
        max-width: 105px;

        height: 36px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 576px) {

    .bs-tech-heading h2 {
        font-size: 24px;

        line-height: 1.25;
    }


    .bs-section-tag {
        font-size: 8px;

        letter-spacing: 1px;
    }


    .bs-section-tag span {
        width: 18px;
    }


    .bs-tech-tabs {
        flex-direction: column;

        width: 100%;
    }


    .bs-tech-tab {
        width: 100%;

        max-width: 290px;
    }


    .bs-tech-box {
        padding: 18px 11px;
    }


    .bs-tech-grid {
        gap: 22px 5px;
    }


    .bs-tool {
        min-height: 75px;
    }


    .bs-tool img {
        max-width: 90px;

        height: 32px;
    }


    .bs-tool span {
        font-size: 8px;
    }

}


/* =========================================================
   EXTRA SMALL
========================================================= */

@media (max-width: 380px) {

    .bs-tech-heading h2 {
        font-size: 23px;
    }


    .bs-tech-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .bs-tool img {
        max-width: 80px;

        height: 28px;
    }

}


.bs-client-section {
    position: relative;
    padding: 30px 0 0;
    background: #ffffff;
    overflow: hidden;
}


/* =========================================================
   CONTAINER
========================================================= */

.bs-client-section .container {
    max-width: 1250px;

    margin: auto;

    padding: 0 25px;
}


/* =========================================================
   HEADING
========================================================= */

.bs-client-heading {
    max-width: 950px;
    margin: 0 auto 6px;
    text-align: center;
}


.bs-client-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 4px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.5px;
}


.bs-client-tag span {
    width: 25px;

    height: 2px;

    background: #7E3BEB;

    border-radius: 10px;
}


.bs-client-heading h2 {
    margin: 0;
    color: #17202a;
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -.8px;
}


.bs-client-heading h2 span {
    color: #7E3BEB;
}


.bs-client-heading p {
    max-width: 850px;
    margin: 6px auto 0;
    color: #64748b;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   DIVIDER
========================================================= */

.bs-client-divider {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 11px auto 10px;
    max-width: 1030px;
}


.bs-client-divider span {
    flex: 1;

    height: 1px;

    background: #d7dce0;
}


.bs-client-divider strong {
    flex-shrink: 0;
    color: #64748b;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .7px;
    white-space: nowrap;
}


/* =========================================================
   MARQUEE
========================================================= */

.bs-marquee {
    width: 100%;

    overflow: hidden;

    border-top: 1px solid #dfe3e6;
}


.bs-marquee:last-child {
    border-bottom: 1px solid #dfe3e6;
}


.bs-marquee-track {
    display: flex;

    width: max-content;

    will-change: transform;
}


/* =========================================================
   LEFT -> RIGHT
========================================================= */

.bs-marquee-track.left-right {

    animation:
        bsLeftRight 35s linear infinite;
}


@keyframes bsLeftRight {

    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }

}


/* =========================================================
   RIGHT -> LEFT
========================================================= */

.bs-marquee-track.right-left {

    animation:
        bsRightLeft 35s linear infinite;
}


@keyframes bsRightLeft {

    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }

}


/* =========================================================
   LOGO BOX
========================================================= */

.bs-client-logo {

    width: 161px;

    /* height: 108px; */

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 20px;

    border-right: 1px solid #dfe3e6;

    background: #ffffff;

    transition:
        background .3s ease;
}


.bs-client-logo:hover {
    background: #f8fafc;
}


/* =========================================================
   LOGO
========================================================= */
.bs-client-logo img {
    /* display: block; */
    /* width: auto; */
    /* max-width: 125px; */
    max-height: 56px;
    object-fit: contain;
    /* filter: grayscale(100%); */
    /* opacity: .72; */
    transition: filter .35s ease,
        opacity .35s ease,
        transform .35s ease;
}


.bs-client-logo:hover img {

    filter:
        grayscale(0%);

    opacity: 1;

    transform:
        scale(1.07);
}


/* =========================================================
   HOVER PAUSE
========================================================= */

.bs-marquee:hover .bs-marquee-track {

    animation-play-state: paused;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .bs-client-section {

        padding-top: 80px;
    }


    .bs-client-heading h2 {

        font-size: 34px;
    }


    .bs-client-logo {

        width: 165px;

        height: 100px;
    }


    .bs-client-logo img {

        max-width: 110px;

        max-height: 52px;
    }


    .bs-marquee-track.left-right {

        animation-duration: 30s;
    }


    .bs-marquee-track.right-left {

        animation-duration: 30s;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .bs-client-section {

        padding-top: 65px;
    }


    .bs-client-section .container {

        padding: 0 18px;
    }


    .bs-client-heading {

        margin-bottom: 25px;
    }


    .bs-client-heading h2 {

        font-size: 29px;

        line-height: 1.25;
    }


    .bs-client-heading p {

        font-size: 11px;

        line-height: 1.75;
    }


    .bs-client-tag {

        font-size: 8px;

        letter-spacing: 1px;
    }


    .bs-client-tag span {

        width: 18px;
    }


    .bs-client-divider {

        margin: 10px auto 10px;

        gap: 8px;

    }


    .bs-client-divider strong {

        font-size: 10px;

        letter-spacing: .4px;

    }


    .bs-client-logo {

        width: 145px;

        height: auto;

        padding: 15px;

    }


    .bs-client-logo img {

        max-width: 95px;

        max-height: 45px;
    }


    .bs-marquee-track.left-right {

        animation-duration: 25s;
    }


    .bs-marquee-track.right-left {

        animation-duration: 25s;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .bs-client-section {

        padding-top: 20px;

    }


    .bs-client-heading h2 {

        font-size: 21px;

    }


    .bs-client-heading p {

        font-size: 10px;
    }


    .bs-client-logo {

        width: 125px;

        height: auto;

    }


    .bs-client-logo img {

        max-width: 82px;

        max-height: 38px;
    }


    .bs-marquee-track.left-right {

        animation-duration: 22s;
    }


    .bs-marquee-track.right-left {

        animation-duration: 22s;
    }

}


.bs-services-section {
    position: relative;
    padding: 30px 0;
    background: #f8fafc;
    overflow: hidden;
}

.bs-services-section::before {
    content: "";
    position: absolute;
    width: 400px;
    height: 400px;
    top: -180px;
    right: -150px;
    background: rgba(255, 151, 0, .08);
    border-radius: 50%;
    filter: blur(60px);
}

.bs-services-section .container {
    position: relative;
    z-index: 2;
    max-width: 1250px;
    margin: auto;
    padding: 0 20px;
}


/* =========================================================
   HEADING
========================================================= */

.bs-services-heading {
    max-width: 780px;
    margin: 0px auto 30px;
    text-align: center;
}

.bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;

    color: #37199d;

    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.bs-section-tag span {
    width: 24px;
    height: 2px;
    border-radius: 10px;
    background: #7E3BEB;
}

.bs-services-heading h2 {
    margin: 0;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1px;
}

.bs-services-heading h2 span {
    color: #7E3BEB;
}

.bs-services-heading p {
    max-width: 700px;
    margin: 17px auto 0;

    color: #687789;

    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    line-height: 1.8;
}


/* =========================================================
   GRID
========================================================= */

/* =========================================================
   SERVICES SWIPER SLIDER (3 SLIDES PER ROW)
========================================================= */

.bs-services-swiper {
    position: relative;
    padding: 15px 5px 65px;
    overflow: hidden;
}

.bs-services-swiper .swiper-wrapper {
    align-items: stretch;
}

.bs-services-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.bs-services-swiper .swiper-slide .bs-service-card {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.bs-services-swiper .bs-service-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.bs-services-swiper .bs-service-btn {
    margin-top: auto;
    padding-top: 14px;
}

/* =========================================================
   SERVICES CONTROLS
========================================================= */

.bs-services-controls {
    position: absolute;
    left: 50%;
    bottom: 5px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 16px;
    transform: translateX(-50%);
}

.bs-services-prev,
.bs-services-next {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #e2d8f3;
    border-radius: 50%;
    background: #ffffff;
    color: #37199d;
    font-size: 14px;
    cursor: pointer;
    transition: all .3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(121, 57, 239, 0.08);
}

.bs-services-prev:hover,
.bs-services-next:hover {
    background: #7E3BEB;
    border-color: #7E3BEB;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(126, 59, 235, 0.35);
}

.bs-services-pagination {
    position: static !important;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bs-services-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    opacity: 1;
    background: #d4c5eb;
    border-radius: 50%;
    transition: all .3s ease;
    cursor: pointer;
}

.bs-services-pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 12px;
    background: #7E3BEB;
}

@media (max-width: 768px) {
    .bs-services-swiper {
        padding: 10px 0 60px;
    }
    .bs-services-prev,
    .bs-services-next {
        width: 38px;
        height: 38px;
        font-size: 12px;
    }
}

.bs-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}



/* =========================================================
   CARD
========================================================= */

.bs-service-card {
    position: relative;

    background: #ffffff;

    border: 1px solid #e6ebef;
    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 10px 35px rgba(15, 23, 42, .045);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.bs-service-card:hover {
    transform: translateY(-8px);

    border-color: rgba(7, 91, 141, .25);

    box-shadow:
        0 25px 55px rgba(7, 91, 141, .12);
}


/* =========================================================
   IMAGE
========================================================= */

.bs-service-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.bs-service-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition:
        transform .6s ease;
}

.bs-service-card:hover .bs-service-image img {
    transform: scale(1.08);
}


/* IMAGE OVERLAY */

.bs-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(7, 91, 141, .03),
            rgba(7, 91, 141, .65)
        );

    opacity: .7;

    transition:
        opacity .4s ease;
}

.bs-service-card:hover .bs-image-overlay {
    opacity: .9;
}


/* =========================================================
   NUMBER
========================================================= */

.bs-service-number {
    position: absolute;

    top: 18px;
    left: 18px;

    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .94);

    color: #37199d;

    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .12);
}


/* =========================================================
   ICON
========================================================= */

.bs-service-icon {
    position: absolute;

    right: 18px;
    bottom: 18px;

    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border-radius: 14px;

    background: #7E3BEB;

    color: #ffffff;

    font-size: 19px;

    box-shadow:
        0 8px 25px rgba(255, 151, 0, .3);

    transition:
        transform .4s ease,
        background .4s ease;
}

.bs-service-card:hover .bs-service-icon {
    transform:
        rotate(-6deg)
        scale(1.08);

    background: #37199d;
}


/* =========================================================
   CONTENT
========================================================= */

.bs-service-content {
    padding: 9px 22px 4px;
}

.bs-service-label {
    color: #7E3BEB;

    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

.bs-service-content h3 {
    margin: 5px 0 6px;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.35;
}

.bs-service-content p {
    margin: 0;
    color: #718096;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   MORE CONTENT
========================================================= */

.bs-service-more {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid #edf0f2;
}

.bs-service-more span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #070d14;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.bs-service-more i {
    color: #7E3BEB;
    font-size: 9px;
}


/* =========================================================
   BUTTON
========================================================= */

.bs-service-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 22px;

    color: #37199d;

    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;

    text-decoration: none;

    transition:
        gap .3s ease,
        color .3s ease;
}

.bs-service-btn i {
    font-size: 9px;

    transition:
        transform .3s ease;
}

.bs-service-btn:hover {
    gap: 14px;
    color: #7E3BEB;
}

.bs-service-btn:hover i {
    transform: translateX(3px);
}


/* =========================================================
   BOTTOM CTA
========================================================= */
.bs-services-cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 25px;
    padding: 28px 32px;
    border-radius: 20px;
    background: linear-gradient(110deg, #2c2544, #6b1dad);
    box-shadow: 0 18px 45px rgba(7, 91, 141, .16);
}
.bs-services-cta-box span {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 5px;

    color: rgba(255,255,255,.55);

    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

.bs-services-cta-box span i {
    color: #7E3BEB;
}

.bs-services-cta-box h3 {
    margin: 0;

    color: #ffffff;

    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 500;
}

.bs-services-cta-box h3 strong {
    color: #fff;
}

.bs-services-cta-box > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-shrink: 0;
    padding: 7px 19px;
    border-radius: 50px;
    background: #fff;
    color: #392405;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    transition:
        transform .3s ease,
        background .3s ease;
}

.bs-services-cta-box > a:hover {
    transform: translateY(-2px);
    background: #f28700;
}

.bs-services-cta-box > a i {
    font-size: 9px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .bs-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 768px) {

    .bs-services-section {
        padding: 75px 0;
    }

    .bs-services-heading {
        margin-bottom: 38px;
    }

    .bs-services-heading h2 {
        font-size: 32px;
    }

    .bs-services-heading p {
        font-size: 11px;
    }

    .bs-services-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .bs-service-image {
        height: 230px;
    }

    .bs-service-content {
        padding: 24px;
    }

    .bs-services-cta-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .bs-services-cta-box > a {
        width: 100%;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 480px) {

    .bs-services-section {
        padding: 60px 0;
    }

    .bs-services-section .container {
        padding: 0 15px;
    }

    .bs-services-heading h2 {
        font-size: 27px;
    }

    .bs-section-tag {
        font-size: 8px;
    }

    .bs-section-tag span {
        width: 18px;
    }

    .bs-service-image {
        height: 210px;
    }

    .bs-service-content {
        padding: 22px;
    }

    .bs-service-content h3 {
        font-size: 18px;
    }

    .bs-service-content p {
        font-size: 10px;
    }

    .bs-services-cta-box {
        padding: 24px;
    }

    .bs-services-cta-box h3 {
        font-size: 16px;
        line-height: 1.5;
    }

}
/* =========================
   ABOUT SECTION
========================= */

.bs-about-section {
    padding: 100px 0;
    background: #ffffff;
    overflow: hidden;
}


/* =========================
   IMAGE AREA
========================= */

.bs-about-image-wrap {
    position: relative;
    padding: 0 35px 35px 0;
}

.bs-about-image {
    position: relative;
    height: 500px;
    overflow: hidden;
    border-radius: 24px;
    z-index: 2;
    box-shadow: 0 25px 60px rgba(7, 91, 141, 0.15);
}

.bs-about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s ease;
}

.bs-about-image:hover img {
    transform: scale(1.06);
}


/* Orange Bottom Shape */

.bs-image-shape {
    position: absolute;
    width: 220px;
    height: 220px;
    right: 0;
    bottom: 0;
    background: #7E3BEB;
    border-radius: 30px;
    z-index: 1;
}


/* =========================
   BADGE
========================= */

.bs-about-badge {
    position: absolute;
    left: -20px;
    bottom: 65px;
    z-index: 5;

    display: flex;
    align-items: center;
    gap: 12px;

    background: #ffffff;
    padding: 16px 22px;
    border-radius: 14px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);

    animation: bsBadgeFloat 3s ease-in-out infinite;
}

.bs-badge-icon {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;
    background: #37199d;
    color: #ffffff;

    font-size: 18px;
}

.bs-about-badge strong {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #17212a;
}

.bs-about-badge span {
    display: block;
    margin-top: 2px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: #777;
}


/* =========================
   CONTENT
========================= */

.bs-about-content {
    padding-left: 35px;
}

.bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.bs-section-tag span {
    width: 24px;
    height: 2px;
    background: #7E3BEB;
    border-radius: 10px;
}


/* Heading */

.bs-about-content h2 {
    margin: 14px 0 18px;

    font-family: 'Poppins', sans-serif;
    font-size: 40px;
    line-height: 1.25;
    font-weight: 700;
    color: #17212a;
}

.bs-about-content h2 span {
    color: #37199d;
    display: block;
}


/* Paragraph */

.bs-about-intro {
    margin-bottom: 12px;

    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    font-weight: 500;
    color: #414b52;
}

.bs-about-text {
    margin-bottom: 25px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.8;
    color: #737b80;
}


/* =========================
   FEATURES
========================= */

.bs-about-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.bs-about-feature {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.feature-icon {
    min-width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;
    background: rgba(255, 151, 0, 0.12);
    color: #7E3BEB;

    font-size: 16px;
}

.bs-about-feature h4 {
    margin: 0 0 5px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #17212a;
}

.bs-about-feature p {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    line-height: 1.6;
    color: #777;
}


/* =========================
   ACTIONS
========================= */

.bs-about-actions {
    display: flex;
    align-items: center;
    gap: 25px;
}

.bs-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 13px 22px;

    border-radius: 8px;
    background: #37199d;
    color: #ffffff;

    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;

    transition: all 0.3s ease;
}

.bs-primary-btn i {
    font-size: 11px;
    transition: transform 0.3s ease;
}

.bs-primary-btn:hover {
    background: #7E3BEB;
    color: #ffffff;
    transform: translateY(-2px);
}

.bs-primary-btn:hover i {
    transform: translateX(4px);
}


/* Contact */

.bs-about-contact {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #f1f7fa;
    color: #37199d;

    font-size: 14px;
}

.bs-about-contact small {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    color: #888;
}

.bs-about-contact strong {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: #17212a;
}


/* =========================
   ANIMATION
========================= */

@keyframes bsBadgeFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

    .bs-about-content {
        padding-left: 15px;
    }

    .bs-about-content h2 {
        font-size: 34px;
    }

    .bs-about-image {
        height: 460px;
    }

}

@media (max-width: 991px) {

    .bs-about-section {
        padding: 80px 0;
    }

    .bs-about-image-wrap {
        max-width: 650px;
        margin: 0 auto 60px;
    }

    .bs-about-content {
        padding-left: 0;
        max-width: 700px;
        margin: auto;
    }

    .bs-about-content h2 {
        font-size: 36px;
    }

}

@media (max-width: 768px) {

    .bs-about-section {
         padding: 25px 0px;
    }

    .bs-about-image {
        height: 400px;
        border-radius: 20px;
    }

    .bs-about-badge {
        left: 10px;
        bottom: 45px;
    }

    .bs-image-shape {
        width: 150px;
        height: 150px;
        border-radius: 22px;
    }

    .bs-about-content h2 {
        font-size: 30px;
    }

    .bs-about-features {
        grid-template-columns: 1fr;
        gap: 18px;
    }

}

@media (max-width: 576px) {

    .bs-about-section {
        padding: 55px 15px;
    }

    .bs-about-image-wrap {
        padding-right: 18px;
        padding-bottom: 18px;
        margin-bottom: 45px;
    }

    .bs-about-image {
        height: 330px;
        border-radius: 17px;
    }

    .bs-image-shape {
        width: 100px;
        height: 100px;
        border-radius: 15px;
    }

    .bs-about-badge {
        padding: 11px 14px;
        left: 0;
        bottom: 25px;
    }

    .bs-badge-icon {
        width: 37px;
        height: 37px;
        font-size: 14px;
    }

    .bs-about-badge strong {
        font-size: 11px;
    }

    .bs-about-badge span {
        font-size: 9px;
    }

    .bs-about-content h2 {
        font-size: 26px;
    }

    .bs-about-intro {
        font-size: 14px;
    }

    .bs-about-text {
        font-size: 12px;
    }

    .bs-about-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

}

@media (max-width: 400px) {

    .bs-about-image {
        height: 280px;
    }

    .bs-about-content h2 {
        font-size: 23px;
    }

}
/* =========================
   WHY CHOOSE SECTION
========================= */
.bs-why-section {
    position: relative;
    padding: 40px 0;
    background: #f8fcf7e3;
    overflow: hidden;
}

.bs-why-content {
    padding-right: 45px;
}

.bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
}

.bs-section-tag span {
    width: 24px;
    height: 2px;
    background: #7E3BEB;
    border-radius: 10px;
}

.bs-why-content h2 {
    margin: 10px 0 10px;

    font-family: 'Poppins', sans-serif;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 600;
    color: #17212a;
}

.bs-why-content h2 span {
    /* display: block; */
    color: #540dbd;
}

.bs-why-intro {
    max-width: 580px;
    margin-bottom: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #6d767d;
}

/* =========================
   WHY POINTS
========================= */
.bs-why-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 13px;
    margin-bottom: 7px;
}

.bs-why-point {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.bs-why-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;
    background: #ffffff;
    color: #37199d;

    font-size: 16px;

    box-shadow: 0 8px 25px rgba(7, 91, 141, 0.08);

    transition: all 0.3s ease;
}

.bs-why-point:hover .bs-why-icon {
    background: #7E3BEB;
    color: #ffffff;
    transform: translateY(-4px);
}


.bs-why-point-content h4 {
    margin: 0 0 5px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #17212a;
}

.bs-why-point-content p {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 10.5px;
    line-height: 1.65;
    color: #7b8388;
}


/* =========================
   BUTTON
========================= */

.bs-why-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 8px 22px;

    background: #37199d;
    color: #ffffff;

    border-radius: 8px;

    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;

    transition: all 0.3s ease;
}

.bs-why-btn i {
    font-size: 11px;
    transition: transform 0.3s ease;
}

.bs-why-btn:hover {
    background: #7E3BEB;
    color: #ffffff;
    transform: translateY(-2px);
}

.bs-why-btn:hover i {
    transform: translateX(4px);
}


/* =========================
   RIGHT VISUAL
========================= */
/* 
.bs-why-visual {
    position: relative;
    min-height: 550px;
    padding: 0 20px 30px 45px;
} */


/* Main Image */

.bs-why-image {
    position: relative;
    /* height: 500px; */

    overflow: hidden;
    border-radius: 25px;

    z-index: 2;

    box-shadow: 0 25px 60px rgba(7, 91, 141, 0.15);
}

.bs-why-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;

    transition: transform 0.7s ease;
}

.bs-why-image:hover img {
    transform: scale(1.05);
}


/* =========================
   GROWTH CARD
========================= */

.bs-growth-card {
    position: absolute;

    width: 275px;

    left: 0;
    bottom: 45px;

    z-index: 5;

    padding: 20px;

    background: rgba(255, 255, 255, 0.97);

    border-radius: 17px;

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.13);
}


.bs-growth-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.bs-growth-top small {
    display: block;

    margin-bottom: 3px;

    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    color: #899198;
}


.bs-growth-top strong {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: #17212a;
}


.bs-growth-icon {
    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(255, 151, 0, 0.12);
    color: #7E3BEB;

    font-size: 13px;
}


.bs-growth-value {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 18px;
}


.bs-growth-value strong {
    font-family: 'Poppins', sans-serif;
    font-size: 27px;
    font-weight: 700;
    color: #37199d;
}


.bs-growth-value span {
    display: flex;
    align-items: center;
    gap: 4px;

    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    color: #22a06b;
}


/* =========================
   CHART
========================= */

.bs-growth-chart {
    position: relative;

    height: 70px;

    margin-top: 12px;

    overflow: hidden;

    background:
        repeating-linear-gradient(
            to bottom,
            transparent 0,
            transparent 22px,
            rgba(7, 91, 141, 0.06) 23px
        );
}


/* SVG-like CSS line */

.chart-line {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 10px;

    height: 45px;

    border-top: 3px solid #37199d;

    transform: skewY(-12deg)
               rotate(-3deg);

    transform-origin: left bottom;
}


.chart-dot {
    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #7E3BEB;

    border: 2px solid #ffffff;

    box-shadow: 0 2px 8px rgba(255, 151, 0, 0.3);
}

.dot-1 {
    left: 5%;
    bottom: 15px;
}

.dot-2 {
    left: 28%;
    bottom: 23px;
}

.dot-3 {
    left: 50%;
    bottom: 31px;
}

.dot-4 {
    left: 72%;
    bottom: 43px;
}

.dot-5 {
    right: 3%;
    bottom: 54px;
}


/* =========================
   TRUST CARD
========================= */

.bs-trust-card {
    position: absolute;

    top: 55px;
    right: 0;

    z-index: 6;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 12px 17px;

    background: #37199d;

    border-radius: 12px;

    box-shadow: 0 15px 35px rgba(7, 91, 141, 0.22);

    animation: bsTrustFloat 3.5s ease-in-out infinite;
}


.bs-trust-icon {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(255, 255, 255, 0.15);
    color: #7E3BEB;

    font-size: 14px;
}


.bs-trust-card strong {
    display: block;

    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: #ffffff;
}

.bs-trust-card span {
    display: block;

    margin-top: 2px;

    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    color: rgba(255, 255, 255, 0.7);
}


/* =========================
   DECORATIVE SHAPE
========================= */

.bs-why-shape {
    position: absolute;

    width: 190px;
    height: 190px;

    right: 0;
    bottom: 0;

    background: #7E3BEB;

    border-radius: 30px;

    z-index: 1;
}


/* =========================
   ANIMATION
========================= */

@keyframes bsTrustFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

    .bs-why-content {
        padding-right: 20px;
    }

    .bs-why-content h2 {
        font-size: 34px;
    }

    .bs-why-visual {
        padding-left: 30px;
    }

    .bs-why-image {
        height: 460px;
    }

}


@media (max-width: 991px) {

    .bs-why-section {
        padding: 80px 0;
    }

    .bs-why-content {
        max-width: 700px;
        margin: 0 auto 60px;
        padding-right: 0;
    }

    .bs-why-visual {
        max-width: 650px;
        margin: auto;
    }

}


@media (max-width: 768px) {

    .bs-why-section {
         padding: 25px 0px;
    }

    .bs-why-content h2 {
        font-size: 30px;
    }

    .bs-why-points {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .bs-why-visual {
        min-height: 450px;
        padding-left: 25px;
        padding-right: 15px;
    }

    .bs-why-image {
        height: 420px;
        border-radius: 20px;
    }

    .bs-growth-card {
        width: 250px;
        left: 0;
        bottom: 35px;
    }

    .bs-trust-card {
        top: 35px;
        right: 0;
    }

    .bs-why-shape {
        width: 140px;
        height: 140px;
    }

}


@media (max-width: 576px) {

    .bs-why-section {
        padding: 55px 15px;
    }

    .bs-why-content h2 {
        font-size: 26px;
    }

    .bs-why-intro {
        font-size: 13px;
    }

    .bs-why-point-content h4 {
        font-size: 12px;
    }

    .bs-why-point-content p {
        font-size: 10px;
    }

    .bs-why-visual {
        min-height: 370px;
        padding: 0 10px 20px 15px;
    }

    .bs-why-image {
        height: 350px;
        border-radius: 17px;
    }

    .bs-growth-card {
        width: 225px;
        padding: 15px;
        left: -5px;
        bottom: 25px;
    }

    .bs-growth-value strong {
        font-size: 23px;
    }

    .bs-trust-card {
        padding: 9px 12px;
        top: 20px;
        right: -5px;
    }

    .bs-trust-icon {
        width: 31px;
        height: 31px;
    }

    .bs-why-shape {
        width: 100px;
        height: 100px;
        border-radius: 15px;
    }

}


@media (max-width: 400px) {

    .bs-why-content h2 {
        font-size: 23px;
    }

    .bs-why-image {
        height: 300px;
    }

    .bs-why-visual {
        min-height: 325px;
    }

    .bs-growth-card {
        width: 205px;
    }

}
/* =========================
   DIGITAL GROWTH STATS
========================= */

.bs-stats-section {
    position: relative;
    padding: 40px 0;
    background: #37199d;
    overflow: hidden;
}

.bs-stats-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    top: -220px;
    right: -120px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.bs-stats-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    bottom: -180px;
    left: -100px;
    border-radius: 50%;
    border: 1px solid rgba(255, 151, 0, 0.25);
}


/* =========================
   HEADING
========================= */

.bs-stats-heading {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto 15px;
    text-align: center;
}

.bs-stats-tag {
    color: #ffffff;
}

.bs-stats-tag span {
    background: #7E3BEB;
}


.bs-stats-heading h2 {
    margin: 10px 0 16px;

    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    color: #ffffff;
}

.bs-stats-heading h2 span {
    color: #fff;
}


.bs-stats-heading p {
    max-width: 620px;
    margin: auto;

    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.72);
}


/* =========================
   STATS GRID
========================= */

.bs-stats-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}


.bs-stat-card {
    position: relative;

    padding: 20px 24px;

    min-height: 260px;

    background: rgba(255, 255, 255, 0.09);

    border: 1px solid rgba(255, 255, 255, 0.13);

    border-radius: 16px;

    backdrop-filter: blur(10px);

    transition: all 0.35s ease;
}


.bs-stat-card:hover {
    background: #ffffff;
    transform: translateY(-8px);

    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}


/* =========================
   ICON
========================= */

.bs-stat-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    border-radius: 12px;

    background: rgba(255, 151, 0, 0.15);
    color: #7E3BEB;

    font-size: 18px;

    transition: all 0.3s ease;
}

.bs-stat-card:hover .bs-stat-icon {
    background: #7E3BEB;
    color: #ffffff;
}


/* =========================
   NUMBER
========================= */

.bs-stat-number {
    display: flex;
    align-items: baseline;

    margin-bottom: 5px;
}

.bs-stat-number .counter {
    font-family: 'Poppins', sans-serif;
    font-size: 38px;
    line-height: 1;
    font-weight: 700;
    color: #ffffff;
}

.bs-stat-number b {
    margin-left: 2px;

    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    color: #7E3BEB;
}


.bs-stat-card:hover .bs-stat-number .counter {
    color: #37199d;
}


/* =========================
   TITLE
========================= */

.bs-stat-card h4 {
    margin: 10px 0 10px;

    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
}


.bs-stat-card:hover h4 {
    color: #17212a;
}


.bs-stat-card p {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.62);
}


.bs-stat-card:hover p {
    color: #777;
}


/* =========================
   BOTTOM AREA
========================= */
.bs-stats-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 11px;
    padding: 15px 18px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.bs-stats-bottom-text {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.8);
}

.bs-stats-bottom-text i {
    color: #7E3BEB;
    font-size: 15px;
}


/* =========================
   BUTTON
========================= */

.bs-stats-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 11px 20px;

    background: #7E3BEB;
    color: #ffffff;

    border-radius: 7px;

    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;

    text-decoration: none;

    transition: all 0.3s ease;
}

.bs-stats-btn i {
    transition: transform 0.3s ease;
}

.bs-stats-btn:hover {
    background: #ffffff;
    color: #37199d;
}

.bs-stats-btn:hover i {
    transform: translateX(4px);
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

    .bs-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 991px) {

    .bs-stats-section {
        padding: 30px 0;
    }

    .bs-stats-heading h2 {
        font-size: 30px;
    }

}


@media (max-width: 768px) {

    .bs-stats-section {
        padding: 25px 0px;
    }

    .bs-stats-heading {
        margin-bottom: 20px;
    }

    .bs-stats-heading h2 {
        font-size: 24px;
    }

    .bs-stats-heading p {
        font-size: 14px;
    }

    .bs-stat-card {
        min-height: 235px;
        padding: 25px 20px;
    }

    .bs-stat-number .counter {
        font-size: 33px;
    }

}


@media (max-width: 576px) {

    .bs-stats-grid {
        grid-template-columns: 1fr;
    }

    .bs-stats-heading h2 {
        font-size: 23px;
    }

    .bs-stat-card {
        min-height: auto;
    }

    .bs-stats-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .bs-stats-btn {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 400px) {

    .bs-stats-heading h2 {
        font-size: 23px;
    }

}
/* =========================
   OUR PROCESS SECTION
========================= */
.bs-process-section {
    position: relative;
    padding: 38px 0;
    background: #f2d6f64d;
    overflow: hidden;
}

/* =========================
   HEADING
========================= */
/* ========================================
   OUTSIDER WORKS SERVICES
   Direct Colors - No :root
======================================== */



.bs-section-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: -8px;
    color: #8038e8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}




/* SERVICES GRID */

.bs-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}


/* SERVICE CARD */

.bs-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    border: 1px solid #e9def7;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 8px 30px rgba(46, 19, 84, 0.04);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.bs-service-card:hover {
    border-color: rgba(128, 56, 232, 0.35);
    box-shadow: 0 20px 45px rgba(65, 28, 115, 0.12);
    transform: translateY(-8px);
}


/* SERVICE IMAGE */

.bs-service-image {
    position: relative;
    overflow: hidden;
    height: auto;
    background: linear-gradient(
        135deg,
        #24103e,
        #54208b
    );
}

.bs-service-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.bs-service-card:hover .bs-service-image img {
    transform: scale(1.08);
}


/* IMAGE OVERLAY */

.bs-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(25, 10, 50, 0.05) 0%,
        rgba(25, 10, 50, 0.65) 100%
    );
    pointer-events: none;
}


/* SERVICE NUMBER */

.bs-service-number {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 12px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    background: rgba(32, 11, 60, 0.55);
    backdrop-filter: blur(8px);
}


/* SERVICE ICON */

.bs-service-icon {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 53px;
    height: 53px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 15px;
    color: #ffffff;
    font-size: 21px;
    background: rgba(128, 56, 232, 0.85);
    box-shadow: 0 8px 25px rgba(30, 10, 55, 0.2);
    backdrop-filter: blur(8px);
    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.bs-service-card:hover .bs-service-icon {
    color: #8038e8;
    background: #ffffff;
    transform: rotate(-5deg);
}


/* SERVICE CONTENT */

.bs-service-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 14px 10px 13px;
}


.bs-service-content p {
    min-height: 82px;
    margin: 0;
    color: #82758f;
    font-size: 14px;
    line-height: 1.85;
}


/* FEATURES */


.bs-service-more span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #625570;
    font-size: 13px;
    font-weight: 500;
}

.bs-service-more span i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #8038e8;
    font-size: 10px;
    background: #f0e7ff;
}


/* LEARN MORE BUTTON */

.bs-service-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    margin-top: auto;
    padding-top: 24px;
    color: #8038e8;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease;
}

.bs-service-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #e9def7;
    border-radius: 50%;
    font-size: 12px;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.bs-service-btn:hover {
    color: #5d22b8;
}

.bs-service-btn:hover i {
    color: #ffffff;
    background: #8038e8;
    transform: translateX(4px);
}


/* ========================================
   RESPONSIVE TABLET
======================================== */

@media (max-width: 1100px) {

    .bs-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .bs-service-content h3,
    .bs-service-content p {
        min-height: auto;
    }

}


/* ========================================
   RESPONSIVE MOBILE
======================================== */

@media (max-width: 767px) {

    .bs-services-section {
        padding: 70px 0;
    }

    .bs-services-section .container {
        width: calc(100% - 30px);
    }

    .bs-services-heading {
        margin-bottom: 40px;
    }

    .bs-section-tag {
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .bs-services-heading h2 {
        font-size: 32px;
        letter-spacing: -0.7px;
    }

    .bs-services-heading p {
        font-size: 14px;
        line-height: 1.8;
    }

    .bs-services-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .bs-service-image {
        height: 215px;
    }

    .bs-service-content {
        padding: 25px 22px 24px;
    }

    .bs-service-content h3 {
        font-size: 22px;
    }

    .bs-service-content p {
        font-size: 14px;
    }

    .bs-service-more {
        margin-top: 20px;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 400px) {

    .bs-service-image {
        height: 195px;
    }

    .bs-service-content h3 {
        font-size: 20px;
    }

    .bs-service-icon {
        width: 47px;
        height: 47px;
        font-size: 18px;
    }

    .bs-service-number {
        width: 38px;
        height: 38px;
        top: 14px;
        left: 14px;
    }

}
.bs-process-heading {
    max-width: 700px;
    margin: 0 auto 5px;
    text-align: center;
}

.bs-process-heading .bs-section-tag {
    justify-content: center;
}
.bs-process-heading h2 {
    margin: 4px 0 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    color: #17212a;
}

.bs-process-heading h2 span {
    color: #7E3BEB;
}

.bs-process-heading p {
    max-width: 620px;
    margin: auto;

    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #737c82;
}


/* =========================
   PROCESS WRAPPER
========================= */

.bs-process-wrapper {
    position: relative;

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}


/* Horizontal Line */

.bs-process-line {
    position: absolute;

    top: 42px;
    left: 10%;
    right: 10%;

    height: 2px;

    background: linear-gradient(
        90deg,
        #37199d,
        #7E3BEB,
        #37199d
    );

    opacity: 0.25;

    z-index: 0;
}


/* =========================
   PROCESS ITEM
========================= */

.bs-process-item {
    position: relative;
    z-index: 2;

    text-align: center;
}


/* Number */

.bs-process-number {
    position: absolute;

    top: -7px;
    right: 18px;

    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;

    color: #dce7ec;
}


/* Icon */

.bs-process-icon {
    width: 84px;
    height: 84px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 50%;

    background: #ffffff;

    border: 2px solid #e7eef2;

    color: #37199d;

    font-size: 22px;

    box-shadow: 0 12px 30px rgba(7, 91, 141, 0.10);

    transition: all 0.35s ease;
}


.bs-process-item:hover .bs-process-icon {
    background: #37199d;
    border-color: #37199d;
    color: #ffffff;

    transform: translateY(-7px);

    box-shadow: 0 18px 35px rgba(7, 91, 141, 0.22);
}


/* Orange ring */

.bs-process-item:nth-child(even) .bs-process-icon {
    color: #7E3BEB;
}

.bs-process-item:nth-child(even):hover .bs-process-icon {
    background: #7E3BEB;
    border-color: #7E3BEB;
    color: #ffffff;
}


/* =========================
   CONTENT
========================= */

.bs-process-content h3 {
    margin: 0 0 9px;

    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #17212a;
}
.bs-process-content p {
    margin: auto;
    /* max-width: 190px; */
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #282a2b;
}

/* =========================
   CTA
========================= */

.bs-process-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding: 20px 30px;

    border-radius: 14px;

    background: #f5f9fb;

    border: 1px solid #e8f0f3;
}


.bs-process-cta strong {
    display: block;

    margin-bottom: 4px;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #17212a;
}


.bs-process-cta span {
    display: block;

    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    color: #7b8388;
}


.bs-process-cta a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 12px 20px;

    border-radius: 7px;

    background: #37199d;
    color: #ffffff;

    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;

    transition: all 0.3s ease;
}


.bs-process-cta a:hover {
    background: #7E3BEB;
    color: #ffffff;
}

.bs-process-cta a i {
    transition: transform 0.3s ease;
}

.bs-process-cta a:hover i {
    transform: translateX(4px);
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

    .bs-process-wrapper {
        gap: 12px;
    }

    .bs-process-icon {
        width: 75px;
        height: 75px;
        font-size: 19px;
    }

    .bs-process-content p {
        font-size: 10px;
        padding: 0 5px;
    }

}


@media (max-width: 991px) {

    .bs-process-section {
        padding: 80px 0;
    }

    .bs-process-heading h2 {
        font-size: 34px;
    }

    .bs-process-wrapper {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 50px;
    }

    .bs-process-line {
        display: none;
    }

    .bs-process-cta {
        margin-top: 10px;
    }

}


@media (max-width: 768px) {

    .bs-process-section {
        padding: 25px 0px;
    }

    .bs-process-heading {
        margin-bottom: 45px;
    }

    .bs-process-heading h2 {
        font-size: 29px;
    }

    .bs-process-heading p {
        font-size: 12px;
    }

    .bs-process-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }

    .bs-process-number {
        right: 25px;
    }

    .bs-process-cta {
        padding: 20px;
    }

}


@media (max-width: 576px) {

    .bs-process-heading h2 {
        font-size: 26px;
    }

    .bs-process-wrapper {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .bs-process-item {
        display: grid;
        grid-template-columns: 70px 1fr;
        grid-template-rows: auto auto;

        text-align: left;

        column-gap: 18px;
        align-items: center;
    }

    .bs-process-icon {
        width: 65px;
        height: 65px;

        grid-row: span 2;

        margin: 0;
    }

    .bs-process-number {
        top: 0;
        right: 5px;
    }

    .bs-process-content p {
        margin: 0;
        max-width: none;
        padding: 0;
    }

    .bs-process-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .bs-process-cta a {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 400px) {

    .bs-process-heading h2 {
        font-size: 23px;
    }

    .bs-process-item {
        grid-template-columns: 60px 1fr;
        gap: 15px;
    }

    .bs-process-icon {
        width: 58px;
        height: 58px;
        font-size: 17px;
    }

}

/* =========================
   PORTFOLIO SECTION
========================= */

.bs-portfolio-section {
    padding: 40px 0;
    background: #ffffff;
    overflow: hidden;
}


/* =========================
   HEADING
========================= */
.bs-portfolio-heading {
    /* max-width: 700px; */
    margin: 0 auto 16px;
    text-align: center;
}

.bs-portfolio-heading .bs-section-tag {
    justify-content: center;
}
.bs-portfolio-heading h2 {
    margin: 6px 0 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    color: #17212a;
}
.bs-portfolio-heading h2 span {
    color: #7E3BEB;
}

.bs-portfolio-heading p {
    max-width: 620px;
    margin: auto;

    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #737c82;
}


/* =========================
   FILTER
========================= */

.bs-portfolio-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 15px;
}

.bs-portfolio-filter-btn {
    padding: 9px 17px;

    border: 1px solid #e2eaee;
    border-radius: 7px;

    background: #f8fafb;
    color: #6f797f;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition: all 0.3s ease;
}

.bs-portfolio-filter-btn:hover,
.bs-portfolio-filter-btn.active {
    background: #37199d;
    border-color: #37199d;
    color: #ffffff;
}


/* =========================
   GRID
========================= */

.bs-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}


/* =========================
   CARD
========================= */

.bs-portfolio-card {
    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e8eef1;
    border-radius: 15px;

    transition: all 0.35s ease;
}

.bs-portfolio-card:hover {
    transform: translateY(-7px);

    border-color: rgba(7, 91, 141, 0.15);

    box-shadow: 0 20px 45px rgba(7, 91, 141, 0.11);
}


/* =========================
   IMAGE
========================= */

.bs-portfolio-image {
    position: relative;

    height: 245px;

    overflow: hidden;
}

.bs-portfolio-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.6s ease;
}

.bs-portfolio-card:hover .bs-portfolio-image img {
    transform: scale(1.07);
}


/* =========================
   OVERLAY
========================= */

.bs-portfolio-overlay {
    position: absolute;

    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background:rgb(67 56 193 / 72%);

    opacity: 0;

    transition: opacity 0.35s ease;
}

.bs-portfolio-card:hover .bs-portfolio-overlay {
    opacity: 1;
}


.bs-portfolio-view {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #7E3BEB;
    color: #ffffff;

    text-decoration: none;

    transform: scale(0.7);

    transition: all 0.35s ease;
}

.bs-portfolio-card:hover .bs-portfolio-view {
    transform: scale(1);
}

.bs-portfolio-view:hover {
    background: #ffffff;
    color: #37199d;
}


/* =========================
   CATEGORY
========================= */

.bs-portfolio-category {
    position: absolute;

    top: 14px;
    left: 14px;

    padding: 6px 10px;

    border-radius: 5px;

    background: #ffffff;
    color: #37199d;

    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    font-weight: 700;

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}


/* =========================
   INFO
========================= */

.bs-portfolio-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    padding: 14px 20px;
}
.bs-portfolio-info small {
    display: block;
    margin-bottom: 5px;
    font-family: 'Poppins', sans-serif;
    font-size: 7.5px;
    font-weight: 600;
    letter-spacing: 0.7px;
    color: #7E3BEB;
}

.bs-portfolio-info h3 {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #17212a;
}


.bs-portfolio-info > a {
    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f1f7fa;
    color: #37199d;

    text-decoration: none;

    transition: all 0.3s ease;
}

.bs-portfolio-info > a:hover {
    background: #7E3BEB;
    color: #ffffff;
}


/* =========================
   BOTTOM CTA
========================= */

.bs-portfolio-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-top: 35px;
    padding: 22px 25px;

    background: #f5f9fb;

    border: 1px solid #e5edf0;
    border-radius: 12px;
}

.bs-portfolio-bottom strong {
    display: block;
    margin-bottom: 4px;
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    color: #17212a;
}

.bs-portfolio-bottom span {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #7b8388;
}


.bs-portfolio-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 11px 19px;

    border-radius: 7px;

    background: #37199d;
    color: #ffffff;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;

    text-decoration: none;
    white-space: nowrap;

    transition: all 0.3s ease;
}

.bs-portfolio-bottom a:hover {
    background: #7E3BEB;
}

.bs-portfolio-bottom a i {
    transition: transform 0.3s ease;
}

.bs-portfolio-bottom a:hover i {
    transform: translateX(4px);
}


/* =========================
   FILTER ANIMATION
========================= */

.bs-portfolio-item {
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.bs-portfolio-item.bs-hidden {
    display: none;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991px) {

    .bs-portfolio-section {
        padding: 80px 0;
    }

    .bs-portfolio-heading h2 {
        font-size: 34px;
    }

    .bs-portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 768px) {

    .bs-portfolio-section {
        padding: 25px 0px;
    }

    .bs-portfolio-heading h2 {
        font-size: 29px;
    }

    .bs-portfolio-heading p {
        font-size: 12px;
    }

    .bs-portfolio-grid {
        gap: 15px;
    }

    .bs-portfolio-image {
        height: 210px;
    }

}


@media (max-width: 576px) {

    .bs-portfolio-heading h2 {
        font-size: 26px;
    }

    .bs-portfolio-filter {
        gap: 6px;
    }

    .bs-portfolio-filter-btn {
        padding: 8px 12px;
        font-size: 9px;
    }

    .bs-portfolio-grid {
        grid-template-columns: 1fr;
    }

    .bs-portfolio-image {
        height: 230px;
    }

    .bs-portfolio-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .bs-portfolio-bottom a {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 400px) {

    .bs-portfolio-heading h2 {
        font-size: 23px;
    }

    .bs-portfolio-image {
        height: 210px;
    }

}
/* =====================================
   INDUSTRIES SECTION
===================================== */
.bs-industries-section {
    position: relative;
    padding: 30px 0;
    background: #ffe9ff3b;
    overflow: hidden;
}

.bs-industries-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;

    margin-bottom: 20px;
}

.bs-industries-heading {
    max-width: 570px;
}
.bs-industries-heading .bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    margin-bottom: 0px;
}
.bs-industries-heading .bs-section-tag span {
    width: 25px;
    height: 2px;

    background: #7E3BEB;
    border-radius: 20px;
}


.bs-industries-heading h2 {
    margin: 14px 0 0;

    font-family: 'Poppins', sans-serif;
    font-size: 34px;
    line-height: 1.25;
    font-weight: 600;

    color: #17212a;
}

.bs-industries-heading h2 span {
    color: #7E3BEB;
}


/* =====================================
   HEADER RIGHT
===================================== */

.bs-industries-header-right {
    max-width: 430px;

    display: flex;
    align-items: flex-end;
    gap: 25px;
}

.bs-industries-header-right p {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.8;

    color: #7a848a;
}


/* =====================================
   ARROWS
===================================== */

.bs-industries-arrows {
    display: flex;
    gap: 8px;
}

.bs-industries-arrows button {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #dce7eb;
    border-radius: 8px;

    background: #ffffff;
    color: #e86b12;

    cursor: pointer;

    transition: all 0.3s ease;
}

.bs-industries-arrows button:hover {
    background: #37199d;
    border-color: #37199d;
    color: #ffffff;
}

.bs-industries-arrows button i {
    font-size: 13px;
}


/* =====================================
   SLIDER
===================================== */

.bs-industries-slider {
    padding: 8px 3px 55px !important;
}


.bs-industries-slider .swiper-slide {
    height: auto;
}


/* =====================================
   INDUSTRY CARD
===================================== */

.bs-industry-card {
    position: relative;

    height: 100%;
    min-height: 315px;

    padding: 15px;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #e6edf0;
    border-radius: 17px;

    overflow: hidden;

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease,
        border-color 0.4s ease;
}


/* Orange corner */

.bs-industry-card::before {
    content: "";

    position: absolute;

    top: -70px;
    right: -70px;

    width: 140px;
    height: 140px;

    border-radius: 50%;

    background: rgb(135 81 230 / 8%);

    transition: transform 0.5s ease;
}

.bs-industry-card:hover::before {
    transform: scale(2.2);
}


.bs-industry-card:hover {
    transform: translateY(-8px);

    border-color: rgba(7, 91, 141, 0.15);

    box-shadow: 0 22px 50px rgba(7, 91, 141, 0.12);
}


/* =====================================
   CARD TOP
===================================== */

.bs-industry-card-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 7px;
}

.bs-industry-number {
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    font-weight: 600;
    color: #9564eb;
}

.bs-industry-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #faf2ed;
    color: #9564eb;
    font-size: 21px;
    transition: all 0.4s ease;
}
.bs-industry-card:hover .bs-industry-icon {
    background: #e7930d;
    color: #ffffff;

    transform: rotate(-5deg) scale(1.06);
}


/* =====================================
   CONTENT
===================================== */

.bs-industry-content {
    position: relative;
    z-index: 2;

    flex: 1;
}

.bs-industry-label {
    display: block;
    margin-bottom: 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #7E3BEB;
}

.bs-industry-content h3 {
    margin: 0 0 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;

    color: #17212a;
}


.bs-industry-content p {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.8;

    color: #7b858b;
}


/* =====================================
   CARD FOOTER
===================================== */
.bs-industry-footer {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 9px;
    padding-top: 6px;
    border-top: 1px solid #edf2f4;
}

.bs-industry-footer span {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;

    color: #899399;
}


.bs-industry-footer a {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #37199d;
    color: #ffffff;

    text-decoration: none;

    transition: all 0.3s ease;
}

.bs-industry-footer a:hover {
    background: #7E3BEB;
    transform: translateY(-2px);
}


/* =====================================
   PAGINATION
===================================== */

.bs-industry-pagination {
    bottom: 8px !important;
}


.bs-industry-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;

    background: #cbd9df;

    opacity: 1;

    transition: all 0.3s ease;
}


.bs-industry-pagination .swiper-pagination-bullet-active {
    width: 25px;

    border-radius: 10px;

    background: #37199d;
}


/* =====================================
   BOTTOM CTA
===================================== */

.bs-industries-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-top: 5px;
    padding: 20px 24px;

    background: #ffffff;

    border: 1px solid #e5edf0;
    border-radius: 13px;
}


.bs-industries-cta-left {
    display: flex;
    align-items: center;
    gap: 13px;
}


.bs-cta-icon {
    width: 43px;
    height: 43px;

    flex: 0 0 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(255, 151, 0, 0.12);
    color: #7E3BEB;

    font-size: 16px;
}

.bs-industries-cta strong {
    display: block;
    margin-bottom: 3px;
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: #17212a;
}


.bs-industries-cta span {
    display: block;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;

    color: #7d878c;
}


.bs-industries-cta > a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 11px 19px;

    border-radius: 7px;

    background: #37199d;
    color: #ffffff;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
    white-space: nowrap;

    transition: all 0.3s ease;
}

.bs-industries-cta > a:hover {
    background: #7E3BEB;
}

.bs-industries-cta > a i {
    transition: transform 0.3s ease;
}

.bs-industries-cta > a:hover i {
    transform: translateX(4px);
}


/* =====================================
   RESPONSIVE
===================================== */

@media (max-width: 1100px) {

    .bs-industries-heading h2 {
        font-size: 34px;
    }

}


@media (max-width: 991px) {

    .bs-industries-section {
        padding: 80px 0;
    }

    .bs-industries-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .bs-industries-header-right {
        max-width: 650px;
        align-items: center;
    }

}


@media (max-width: 768px) {

    .bs-industries-section {
        padding: 25px 0px;
    }

    .bs-industries-heading h2 {
        font-size: 29px;
    }

    .bs-industries-header-right {
        width: 100%;
        align-items: flex-end;
    }

    .bs-industries-header-right p {
        font-size: 10.5px;
    }

    .bs-industry-card {
        min-height: 290px;
        padding: 22px;
    }

}


@media (max-width: 576px) {

    .bs-industries-heading h2 {
        font-size: 26px;
    }

    .bs-industries-header-right {
        display: block;
    }

    .bs-industries-header-right p {
        margin-bottom: 18px;
    }

    .bs-industries-arrows {
        display: none;
    }

    .bs-industry-card {
        min-height: 300px;
    }

    .bs-industries-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .bs-industries-cta > a {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 400px) {

    .bs-industries-heading h2 {
        font-size: 23px;
    }

    .bs-industry-card {
        min-height: 285px;
    }

}
/* =====================================
   FAQ SECTION
===================================== */

.bs-faq-section {
    padding: 40px 0;
    background: #ffffff;
    overflow: hidden;
}


/* =====================================
   HEADING
===================================== */

.bs-faq-heading {
    max-width: 700px;
    margin: 0 auto 20px;
    text-align: center;
}

.bs-faq-heading .bs-section-tag span {
    width: 25px;
    height: 2px;

    background: #7E3BEB;
    border-radius: 20px;
}

.bs-faq-heading h2 {
    margin: 9px 0 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 600;
    color: #17212a;
}
.bs-faq-heading h2 span {
    color: #7E3BEB;
}

.bs-faq-heading p {
    max-width: 620px;
    margin: auto;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.8;

    color: #737c82;
}


/* =====================================
   FAQ GRID
===================================== */

.bs-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 22px;
}


/* =====================================
   FAQ COLUMN
===================================== */

.bs-faq-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


/* =====================================
   FAQ ITEM
===================================== */

.bs-faq-item {
    position: relative;

    background: #f8fafb;

    border: 1px solid #e5edf0;
    border-radius: 10px;

    overflow: hidden;

    transition: all 0.3s ease;
}


.bs-faq-item:hover {
    border-color: rgba(7, 91, 141, 0.20);
}


.bs-faq-item.active {
    background: #ffffff;

    border-color: rgba(7, 91, 141, 0.18);

    box-shadow: 0 12px 35px rgba(7, 91, 141, 0.08);
}


/* =====================================
   QUESTION
===================================== */
.bs-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 6px 14px;
    border: 0;
    outline: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
}


.bs-faq-number {
    min-width: 28px;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;

    color: #7E3BEB;
}


.bs-faq-title {
    flex: 1;

    padding-right: 12px;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;

    color: #17212a;
}


.bs-faq-toggle {
    width: 28px;
    height: 28px;

    flex: 0 0 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    background: #ffffff;
    color: #37199d;

    font-size: 10px;

    box-shadow: 0 4px 12px rgba(7, 91, 141, 0.06);

    transition: all 0.3s ease;
}


.bs-faq-item.active .bs-faq-toggle {
    background: #37199d;
    color: #ffffff;
}


.bs-faq-item.active .bs-faq-toggle i {
    transform: rotate(45deg);
}


/* =====================================
   ANSWER
===================================== */

.bs-faq-answer {
    max-height: 0;

    overflow: hidden;

    padding: 0 55px 0 46px;

    transition:
        max-height 0.4s ease,
        padding 0.4s ease;
}


.bs-faq-item.active .bs-faq-answer {
    max-height: 180px;

    padding-bottom: 10px;
}


.bs-faq-answer p {
    margin: 0;

    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.8;

    color: #7b858b;
}


/* =====================================
   CTA
===================================== */

.bs-faq-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-top: 35px;
    padding: 20px 24px;

    background: #f5f9fb;

    border: 1px solid #e5edf0;
    border-radius: 12px;
}


.bs-faq-bottom-left {
    display: flex;
    align-items: center;
    gap: 13px;
}


.bs-faq-bottom-icon {
    width: 43px;
    height: 43px;

    flex: 0 0 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(255, 151, 0, 0.12);
    color: #7E3BEB;

    font-size: 16px;
}


.bs-faq-bottom strong {
    display: block;

    margin-bottom: 3px;

    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;

    color: #17212a;
}


.bs-faq-bottom span {
    display: block;

    font-family: 'Poppins', sans-serif;
    font-size: 9px;

    color: #7d878c;
}


.bs-faq-bottom > a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 11px 19px;

    border-radius: 7px;

    background: #37199d;
    color: #ffffff;

    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;

    text-decoration: none;
    white-space: nowrap;

    transition: all 0.3s ease;
}


.bs-faq-bottom > a:hover {
    background: #7E3BEB;
}


.bs-faq-bottom > a i {
    transition: transform 0.3s ease;
}


.bs-faq-bottom > a:hover i {
    transform: translateX(4px);
}


/* =====================================
   RESPONSIVE
===================================== */

@media (max-width: 991px) {

    .bs-faq-section {
        padding: 80px 0;
    }

    .bs-faq-heading h2 {
        font-size: 34px;
    }

    .bs-faq-grid {
        gap: 16px;
    }

}


@media (max-width: 768px) {

    .bs-faq-section {
        padding: 25px 0px;
    }

    .bs-faq-heading {
        margin-bottom: 40px;
    }

    .bs-faq-heading h2 {
        font-size: 29px;
    }

    .bs-faq-heading p {
        font-size: 12px;
    }

    .bs-faq-title {
        font-size: 10.5px;
    }

    .bs-faq-answer {
        padding-left: 44px;
        padding-right: 35px;
    }

}


@media (max-width: 576px) {

    .bs-faq-heading h2 {
        font-size: 24px;
    }

    .bs-faq-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .bs-faq-question {
        padding: 15px;
    }

    .bs-faq-title {
        font-size: 10px;
    }

    .bs-faq-answer {
        padding-left: 42px;
        padding-right: 25px;
    }

    .bs-faq-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .bs-faq-bottom > a {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 400px) {

    .bs-faq-heading h2 {
        font-size: 23px;
    }

    .bs-faq-number {
        min-width: 25px;
        font-size: 8px;
    }

    .bs-faq-title {
        font-size: 9.5px;
    }

}
/* =========================================
   ENQUIRY SECTION
========================================= */
.bs-enquiry-section {
    position: relative;
    padding: 40px 0;
    background: #faefe32e;
    overflow: hidden;
}
.bs-enquiry-section::before {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(7, 91, 141, 0.045);
    top: -180px;
    left: -160px;
}

.bs-enquiry-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255, 151, 0, 0.045);
    bottom: -150px;
    right: -100px;
}

.bs-enquiry-section .container {
    position: relative;
    z-index: 2;
}


/* TAG */

.bs-enquiry-section .bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.7px;
}

.bs-enquiry-section .bs-section-tag span {
    width: 25px;
    height: 2px;
    background: #7E3BEB;
    border-radius: 20px;
}


/* LEFT TITLE */

.bs-enquiry-title {
    margin: 0 0 18px;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 34px;
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: -1px;
}

.bs-enquiry-title span {
    color: #37199d;
    position: relative;
}

.bs-enquiry-title span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 55px;
    height: 3px;
    background: #7E3BEB;
    border-radius: 10px;
}.bs-enquiry-desc {
    /* max-width: 570px; */
    margin-bottom: 32px;
    color: #3a4045;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.85;
}

/* POINTS */

.bs-enquiry-points {
    display: flex;
    flex-direction: column;
    gap: 19px;
    margin-bottom: 12px;
}

.bs-enquiry-point {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.bs-point-icon {
    width: 45px;
    height: 45px;
    min-width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #37199d;
    border: 1px solid #e5edf2;
    border-radius: 10px;
    font-size: 16px;
    box-shadow: 0 8px 25px rgba(15, 45, 65, 0.06);
}

.bs-enquiry-point:nth-child(2) .bs-point-icon {
    color: #7E3BEB;
}

.bs-enquiry-point h4 {
    margin: 0 0 4px;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.bs-enquiry-point p {
    margin: 0;
    color: #7a858d;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    line-height: 1.65;
}


/* CONTACT INFO */

.bs-contact-info {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    padding-top: 22px;
    border-top: 1px solid #e4ebef;
}

.bs-contact-item {
    display: flex;
    align-items: center;
    gap: 11px;
}

.bs-contact-icon {
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #37199d;
    color: #ffffff;
    font-size: 13px;
}

.bs-contact-item small {
    display: block;
    margin-bottom: 2px;
    color: #8b969e;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
}

.bs-contact-item a {
    color: #17212a;
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    transition: .3s ease;
}

.bs-contact-item a:hover {
    color: #37199d;
}


/* =========================================
   FORM CARD
========================================= */

.bs-enquiry-card {
    position: relative;
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e8eef2;
    border-radius: 18px;
    box-shadow: 0 22px 60px rgba(16, 54, 76, 0.10);
}

.bs-enquiry-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 35px;
    width: 75px;
    height: 3px;
    background: #7E3BEB;
    border-radius: 0 0 10px 10px;
}


/* FORM HEADING */

.bs-form-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 7px;
}

.bs-form-heading span {
    display: block;
    margin-bottom: 5px;
    color: #7E3BEB;
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.bs-form-heading h3 {
    margin: 0;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
}

.bs-form-badge {
    width: 47px;
    height: 47px;
    min-width: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #37199d;
    color: #ffffff;
    border-radius: 12px;
    font-size: 16px;
    transform: rotate(-4deg);
}

.bs-form-subtitle {
    margin: 0 0 5px;
    color: #89949c;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    line-height: 1.6;
}


/* INPUT */

.bs-input-group label {
    display: block;
    margin-bottom: 7px;
    color: #39454d;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
}

.bs-input-group label span {
    color: #7E3BEB;
}

.bs-input-wrap {
    position: relative;
}

.bs-input-wrap > i:first-child {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #91a0aa;
    font-size: 13px;
    pointer-events: none;
    z-index: 2;
}

.bs-input-wrap input,
.bs-input-wrap select,
.bs-input-wrap textarea {
    width: 100%;
    border: 1px solid #e1e8ed;
    background: #fbfcfd;
    border-radius: 9px;
    outline: none;
    color: #26343d;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    transition: all .25s ease;
}

.bs-input-wrap input,
.bs-input-wrap select {
    height: 46px;
    padding: 0 15px 0 42px;
}

.bs-input-wrap textarea {
    min-height: 110px;
    resize: vertical;
    padding: 13px 15px 13px 42px;
    line-height: 1.6;
}

.bs-input-wrap input::placeholder,
.bs-input-wrap textarea::placeholder {
    color: #aeb8bf;
}

.bs-input-wrap select {
    appearance: none;
    cursor: pointer;
}

.bs-select-arrow {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aa6ae;
    font-size: 10px;
    pointer-events: none;
}

.bs-input-wrap input:focus,
.bs-input-wrap select:focus,
.bs-input-wrap textarea:focus {
    border-color: #37199d;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(7, 91, 141, 0.07);
}

.bs-input-wrap:focus-within > i:first-child {
    color: #37199d;
}


/* SUBMIT */

.bs-submit-btn {
    width: 100%;
    height: 50px;
    margin-top: 4px;
    border: 0;
    border-radius: 9px;
    background: #37199d;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
}

.bs-submit-btn i {
    font-size: 12px;
    transition: transform .3s ease;
}

.bs-submit-btn:hover {
    background: #7E3BEB;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 151, 0, 0.20);
}

.bs-submit-btn:hover i {
    transform: translateX(4px);
}


/* FORM NOTE */

.bs-form-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
    color: #99a3aa;
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    line-height: 1.5;
    text-align: center;
}

.bs-form-note i {
    color: #37199d;
    font-size: 10px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .bs-enquiry-section {
        padding: 80px 0;
    }

    .bs-enquiry-title {
        font-size: 38px;
    }

    .bs-enquiry-card {
        padding: 30px;
    }
}

@media (max-width: 767px) {

    .bs-enquiry-section {
         padding: 25px 0px;
    }

    .bs-enquiry-title {
        font-size: 32px;
        letter-spacing: -.5px;
    }

    .bs-enquiry-desc {
        font-size: 13px;
    }

    .bs-enquiry-points {
        gap: 17px;
    }

    .bs-contact-info {
        gap: 18px;
        flex-direction: column;
    }

    .bs-enquiry-card {
        padding: 25px 20px;
        border-radius: 14px;
    }

    .bs-form-heading h3 {
        font-size: 21px;
    }

    .bs-form-badge {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }
}

@media (max-width: 575px) {

    .bs-enquiry-section {
        padding: 25px 0px;
    }

    .bs-enquiry-title {
        font-size: 24px;
    }

    .bs-point-icon {
        width: 41px;
        height: 41px;
        min-width: 41px;
    }

    .bs-enquiry-point p {
        font-size: 11px;
    }

    .bs-enquiry-card {
        padding: 23px 16px;
    }

    .bs-form-heading {
        align-items: flex-start;
    }

    .bs-form-heading h3 {
        font-size: 19px;
    }

    .bs-form-subtitle {
        font-size: 10px;
    }
}
/* =========================================
   TESTIMONIAL SECTION
========================================= */
.bs-testimonial-section {
    position: relative;
    padding: 29px 0;
    background: #fbf7ff9c;
    overflow: hidden;
}
.bs-testimonial-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(7, 91, 141, 0.035);
    top: -220px;
    right: -180px;
}

.bs-testimonial-section::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255, 151, 0, 0.035);
    bottom: -150px;
    left: -130px;
}

.bs-testimonial-section .container {
    position: relative;
    z-index: 2;
}


/* HEADER */

.bs-testimonial-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 25px;
}

.bs-testimonial-header .bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.bs-testimonial-header .bs-section-tag span {
    width: 25px;
    height: 2px;
    background: #7E3BEB;
    border-radius: 10px;
}.bs-testimonial-title {
    margin: 3px 0 0;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -1px;
}
.bs-testimonial-title span {
    color: #7E3BEB;
}

.bs-testimonial-intro {
    max-width: 440px;
    margin: 0;
    color: #78858e;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.8;
}


/* SWIPER */

.bs-testimonial-swiper {
    padding: 10px 5px 75px;
    margin: 0 -5px;
}

.bs-testimonial-swiper .swiper-slide {
    height: auto;
    display: flex;
}


/* CARD */

.bs-testimonial-card {
    position: relative;
    width: 100%;
    min-height: 270px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #e6edf1;
    border-radius: 16px;
    box-shadow: 0 15px 45px rgba(22, 52, 70, 0.07);
    transition: all .35s ease;
    overflow: hidden;
}

.bs-testimonial-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: #7E3BEB;
    transition: width .35s ease;
}

.bs-testimonial-card:hover {
    transform: translateY(-7px);
    border-color: #d8e5eb;
    box-shadow: 0 22px 55px rgba(22, 52, 70, 0.12);
}

.bs-testimonial-card:hover::before {
    width: 75px;
}


/* QUOTE */

.bs-quote-icon {
    position: absolute;
    top: 25px;
    right: 28px;
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(7, 91, 141, 0.07);
    color: #37199d;
    font-size: 15px;
    transform: rotate(5deg);
}


/* RATING */

.bs-rating {
    display: flex;
    gap: 4px;
    margin-bottom: 22px;
}

.bs-rating i {
    color: #7E3BEB;
    font-size: 11px;
}


/* TEXT */
.bs-testimonial-text {
    position: relative;
    z-index: 1;
    margin: 0 12px 5px 0;
    color: #596771;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.85;
}

/* CLIENT */

.bs-client-info {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid #edf1f3;
}

.bs-client-avatar {
    width: 45px;
    height: 45px;
    min-width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #7E3BEB;
    border-radius: 50%;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.swiper-slide:nth-child(even) .bs-client-avatar {
    background: #7E3BEB;
}

.bs-client-info h4 {
    margin: 0 0 2px;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
}

.bs-client-info p {
    margin: 0;
    color: #89959d;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
}

.bs-client-check {
    width: 23px;
    height: 23px;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eaf5fa;
    color: #37199d;
    font-size: 9px;
}


/* NAVIGATION */

.bs-testimonial-navigation {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    transform: translateX(-50%);
}

.bs-testimonial-prev,
.bs-testimonial-next {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce6eb;
    border-radius: 50%;
    background: #ffffff;
    color: #37199d;
    font-size: 12px;
    cursor: pointer;
    transition: all .3s ease;
}

.bs-testimonial-prev:hover,
.bs-testimonial-next:hover {
    background: #37199d;
    border-color: #37199d;
    color: #ffffff;
}

.bs-testimonial-pagination {
    position: static !important;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 5px;
}

.bs-testimonial-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 !important;
    background: #c8d4da;
    opacity: 1;
    transition: all .3s ease;
}

.bs-testimonial-pagination .swiper-pagination-bullet-active {
    width: 20px;
    border-radius: 10px;
    background: #7E3BEB;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .bs-testimonial-card {
        padding: 26px;
    }

    .bs-testimonial-title {
        font-size: 38px;
    }
}

@media (max-width: 991px) {

    .bs-testimonial-section {
        padding: 30px 0;
    }

    .bs-testimonial-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 35px;
    }

    .bs-testimonial-intro {
        max-width: 650px;
    }
}

@media (max-width: 767px) {

    .bs-testimonial-section {
         padding: 25px 0px;
    }

    .bs-testimonial-title {
        font-size: 32px;
    }

    .bs-testimonial-text {
        font-size: 12px;
    }

    .bs-testimonial-card {
        min-height: 285px;
    }
}

@media (max-width: 575px) {

    .bs-testimonial-section {
        padding: 25px 0px;
    }

    .bs-testimonial-title {
        font-size: 24px;
    }

    .bs-testimonial-intro {
        font-size: 11px;
    }

    .bs-testimonial-card {
        padding: 23px;
        min-height: 280px;
    }

    .bs-quote-icon {
        right: 20px;
        top: 20px;
        width: 38px;
        height: 38px;
    }

    .bs-testimonial-text {
        margin-right: 20px;
    }
}
/* =========================================
   BLOG SECTION
========================================= */
.bs-blog-section {
    position: relative;
    padding: 30px 0;
    background: #ffffff;
    overflow: hidden;
}


.bs-blog-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================
   HEADER
========================================= */

.bs-blog-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 22px;
}

.bs-blog-heading-left .bs-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #37199d;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.bs-blog-heading-left .bs-section-tag span {
    width: 25px;
    height: 2px;
    background: #7E3BEB;
    border-radius: 10px;
}

.bs-blog-heading h2 {
    margin: 10px 0 0;
    color: #17212a;
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -1px;
}

.bs-blog-heading h2 span {
    color: #7E3BEB;
}

.bs-blog-heading-right {
    max-width: 420px;
}

.bs-blog-heading-right p {
    margin: 0 0 13px;
    color: #78858e;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.8;
}

.bs-blog-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #7E3BEB;
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    transition: .3s ease;
}

.bs-blog-all-btn i {
    font-size: 10px;
    transition: .3s ease;
}

.bs-blog-all-btn:hover {
    color: #7E3BEB;
}

.bs-blog-all-btn:hover i {
    transform: translateX(4px);
}


/* =========================================
   SWIPER
========================================= */

.bs-blog-swiper {
    padding: 8px 5px 75px;
    margin: 0 -5px;
}

.bs-blog-swiper .swiper-slide {
    height: auto;
    display: flex;
}


/* =========================================
   BLOG CARD
========================================= */

.bs-blog-card {
    position: relative;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border: 1px solid #e4ebef;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(20, 53, 72, 0.06);
    transition: all .35s ease;
}

.bs-blog-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 3px;
    background: #7E3BEB;
    z-index: 5;
    transition: width .35s ease;
}

.bs-blog-card:hover {
    transform: translateY(-7px);
    border-color: #d5e3e9;
    box-shadow: 0 22px 50px rgba(20, 53, 72, 0.12);
}

.bs-blog-card:hover::before {
    width: 75px;
}


/* =========================================
   IMAGE
========================================= */

.bs-blog-img {
    position: relative;
    height: 215px;
    overflow: hidden;
    background: #e8eef1;
}

.bs-blog-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .5s ease;
}

.bs-blog-card:hover .bs-blog-img img {
    transform: scale(1.07);
}

.bs-blog-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 55%,
        rgba(0, 0, 0, .14)
    );
    pointer-events: none;
}


/* CATEGORY */

.bs-blog-category {
    position: absolute;
    left: 17px;
    bottom: 15px;
    z-index: 2;
    padding: 6px 12px;
    border-radius: 5px;
    background: #7E3BEB;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    font-weight: 600;
}


/* =========================================
   BODY
========================================= */

.bs-blog-body {
    padding: 13px 16px 17px;
}


/* META */

.bs-blog-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 12px;
}

.bs-blog-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #121314;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
}

.bs-blog-meta i {
    color: #37199d;
    font-size: 11px;
}


/* TITLE */

.bs-blog-body h3 {
    margin: 0 0 10px;
    line-height: 1.45;
}

.bs-blog-body h3 a {
    color: #17212a;
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    transition: .3s ease;
}

.bs-blog-body h3 a:hover {
    color: #37199d;
}


/* DESCRIPTION */

.bs-blog-body > p {
    min-height: 61px;
    margin: 0 0 17px;
    color: #7b8991;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    line-height: 1.75;
}


/* READ MORE */

.bs-blog-read {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #37199d;
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    transition: .3s ease;
}

.bs-blog-read i {
    font-size: 9px;
    transition: .3s ease;
}

.bs-blog-read:hover {
    color: #7E3BEB;
}

.bs-blog-read:hover i {
    transform: translateX(4px);
}


/* =========================================
   CONTROLS
========================================= */

.bs-blog-controls {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 14px;
    transform: translateX(-50%);
}

.bs-blog-prev,
.bs-blog-next {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dbe5ea;
    border-radius: 50%;
    background: #ffffff;
    color: #37199d;
    font-size: 11px;
    cursor: pointer;
    transition: .3s ease;
}

.bs-blog-prev:hover,
.bs-blog-next:hover {
    background: #37199d;
    border-color: #37199d;
    color: #ffffff;
}

.bs-blog-pagination {
    position: static !important;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 5px;
}

.bs-blog-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 !important;
    opacity: 1;
    background: #c8d4da;
    transition: .3s ease;
}

.bs-blog-pagination .swiper-pagination-bullet-active {
    width: 20px;
    border-radius: 10px;
    background: #7E3BEB;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .bs-blog-section {
        padding: 80px 0;
    }

    .bs-blog-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .bs-blog-heading-right {
        max-width: 650px;
    }

    .bs-blog-heading h2 {
        font-size: 36px;
    }
}


@media (max-width: 767px) {

    .bs-blog-section {
        padding: 65px 0;
    }

    .bs-blog-heading {
        margin-bottom: 30px;
    }

    .bs-blog-heading h2 {
        font-size: 31px;
    }

    .bs-blog-heading-right p {
        font-size: 11px;
    }

    .bs-blog-img {
        height: 210px;
    }
}


@media (max-width: 575px) {

    .bs-blog-section {
        padding: 55px 0;
    }

    .bs-blog-heading h2 {
        font-size: 27px;
    }

    .bs-blog-img {
        height: 205px;
    }

    .bs-blog-body {
        padding: 20px;
    }

    .bs-blog-body h3 a {
        font-size: 15px;
    }

    .bs-blog-body > p {
        font-size: 10px;
    }
}

/* =========================================================
   OUTSIDER WORKS - OUR WORK CREATIVE SHOWCASE SECTION
========================================================= */

.ow-creative-showcase-section {
    position: relative;
    padding: 40px 0 40px;
    background: radial-gradient(ellipse at 50% 0%, #2b1154 0%, #15092d 42%, #0d051c 100%);
    overflow: hidden;
    color: #ffffff;
}

.ow-showcase-ambient-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    z-index: 1;
}

.ow-glow-top-left {
    width: 500px;
    height: 500px;
    top: -120px;
    left: -150px;
    background: rgba(121, 57, 239, 0.28);
}

.ow-glow-bottom-right {
    width: 480px;
    height: 480px;
    bottom: -100px;
    right: -100px;
    background: rgba(255, 138, 0, 0.16);
}

.ow-showcase-grid-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.16;
    background-image:
        linear-gradient(rgba(185, 108, 255, 0.25) 1px, transparent 1px),
        linear-gradient(90deg, rgba(185, 108, 255, 0.25) 1px, transparent 1px);
    background-size: 55px 55px;
    pointer-events: none;
}

.ow-creative-showcase-section .container {
    position: relative;
    z-index: 2;
}

/* Header */
.ow-showcase-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 10px;
}

.ow-showcase-header .bs-section-tag {
    color: #d8b4fe;
    font-size: 11px;
    letter-spacing: 2px;
}

.ow-showcase-header .bs-section-tag span {
    background: #b96cff;
}
.ow-showcase-title {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.25;
    letter-spacing: -0.5px;
    margin: 10px 0 9px;
}
.ow-gradient-text {
    background: linear-gradient(135deg, #c084fc 0%, #ff8a00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.ow-showcase-subtitle {
    color: #d0c3e8;
    font-family: 'Poppins', sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    max-width: 680px;
    margin: 0 auto 26px;
}

/* Action Bar */
.ow-showcase-action-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 10px 22px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(185, 108, 255, 0.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 50px;
    max-width: 640px;
    margin: 0 auto;
}

.ow-live-indicator {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    color: #e9d5ff;
    letter-spacing: 0.4px;
}

.ow-pulse-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    animation: owPulseGreen 1.8s infinite;
}

@keyframes owPulseGreen {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}

.ow-marquee-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ow-ctrl-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(121, 57, 239, 0.28);
    border: 1px solid rgba(185, 108, 255, 0.35);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.ow-ctrl-btn:hover {
    background: #7939ef;
    border-color: #9d5cf7;
    transform: translateY(-1px);
    color: #ffffff;
}

.ow-ctrl-btn.ow-nav-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
}

/* MARQUEE CONTAINER */
.ow-marquee-viewport {
    position: relative;
    z-index: 2;
    width: 100%;
    overflow-x: hidden;
    padding: 25px 0 35px;
    mask-image: linear-gradient(to right, transparent 0%, #000000 5%, #000000 95%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000000 5%, #000000 95%, transparent 100%);
}

.ow-marquee-track {
    display: flex;
    gap: 24px;
    width: max-content;
    will-change: transform;
    animation: owMarqueeScroll 42s linear infinite;
}

.ow-marquee-viewport:hover .ow-marquee-track,
.ow-marquee-track.is-paused {
    animation-play-state: paused !important;
}

@keyframes owMarqueeScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 12px));
    }
}

/* CARD STYLES */
.ow-showcase-card {
    position: relative;
    flex-shrink: 0;
    width: 275px;
    background: rgba(22, 10, 46, 0.88);
    border: 1px solid rgba(185, 108, 255, 0.24);
    border-radius: 22px;
    padding: 12px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
                border-color 0.3s ease,
                box-shadow 0.35s ease;
    user-select: none;
}

.ow-showcase-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(185, 108, 255, 0.75);
    box-shadow: 0 20px 45px rgba(121, 57, 239, 0.45), 0 0 25px rgba(185, 108, 255, 0.25);
}

.ow-card-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 2px 4px;
}

.ow-client-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(121, 57, 239, 0.28);
    color: #e9d5ff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid rgba(185, 108, 255, 0.3);
}

.ow-client-chip i {
    color: #f59e0b;
    font-size: 10px;
}

.ow-reel-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
    color: #ff8a00;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.ow-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff8a00;
}

/* MEDIA CONTAINER (9:16 SHORTS) */
.ow-card-media-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: 16px;
    overflow: hidden;
    background-color: #000000;
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.ow-showcase-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: none; /* Keeps card hover and click fluid */
}

/* Glass overlay on video */
.ow-card-glass-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 40%, rgba(15, 7, 34, 0.85) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.ow-showcase-card:hover .ow-card-glass-overlay {
    opacity: 1;
}

.ow-overlay-center-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.ow-pulse-circle {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7939ef, #b96cff);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    box-shadow: 0 0 25px rgba(185, 108, 255, 0.7);
    transition: transform 0.25s ease;
}

.ow-showcase-card:hover .ow-pulse-circle {
    transform: scale(1.12);
}

.ow-sound-hint {
    background: rgba(0, 0, 0, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
}

/* BOTTOM DETAILS */
.ow-card-bottom-info {
    padding: 12px 4px 4px;
}

.ow-card-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.ow-card-category {
    font-size: 11px;
    color: #c4b5fd;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ow-card-badge-pill {
    font-size: 10px;
    font-weight: 600;
    color: #34d399;
    background: rgba(52, 211, 153, 0.12);
    border: 1px solid rgba(52, 211, 153, 0.25);
    padding: 2px 7px;
    border-radius: 12px;
    white-space: nowrap;
}

.ow-card-headline {
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.4;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ow-card-cta-row {
    display: flex;
    align-items: center;
}

.ow-card-play-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(185, 108, 255, 0.25);
    color: #e9d5ff;
    font-size: 11.5px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 12px;
    transition: all 0.25s ease;
}

.ow-showcase-card:hover .ow-card-play-action {
    background: linear-gradient(135deg, #7939ef, #9b51e0);
    border-color: #b96cff;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(121, 57, 239, 0.4);
}

/* FOOTER BANNER */
.ow-showcase-footer-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    background: linear-gradient(135deg, rgba(121, 57, 239, 0.22) 0%, rgba(25, 11, 54, 0.8) 100%);
    border: 1px solid rgba(185, 108, 255, 0.32);
    border-radius: 20px;
    padding: 24px 32px;
    margin-top: 30px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
}

.ow-footer-banner-content {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 650px;
}

.ow-footer-icon {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    background: linear-gradient(135deg, #7939ef, #b96cff);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(121, 57, 239, 0.4);
}

.ow-footer-text h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px;
}

.ow-footer-text p {
    font-size: 13px;
    color: #d0c3e8;
    margin: 0;
    line-height: 1.5;
}

.ow-btn-glow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #ff8a00 0%, #e06000 100%);
    color: #ffffff !important;
    font-size: 13.5px;
    font-weight: 700;
    padding: 13px 26px;
    border-radius: 50px;
    border: none;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(255, 138, 0, 0.4);
    transition: all 0.3s ease;
}

.ow-btn-glow:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(255, 138, 0, 0.6);
    background: linear-gradient(135deg, #ff9b26 0%, #ea6905 100%);
}

/* MODAL STYLING */
.ow-video-modal .modal-content {
    background: #14082c;
    border: 1px solid rgba(185, 108, 255, 0.38);
    border-radius: 24px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.8), 0 0 40px rgba(121, 57, 239, 0.35);
    overflow: hidden;
    color: #ffffff;
}

.ow-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px 10px;
}

.ow-modal-badge-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ow-modal-client {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    background: #7939ef;
    padding: 4px 14px;
    border-radius: 20px;
}

.ow-modal-category {
    font-size: 12px;
    color: #d8b4fe;
    font-weight: 500;
}

.ow-modal-body {
    padding: 10px 24px 28px;
}

.ow-modal-layout {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 28px;
    align-items: center;
}

.ow-modal-video-container {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: 18px;
    overflow: hidden;
    background: #000000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
}

.ow-modal-video-container iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.ow-modal-info-pane {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ow-modal-title {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    margin: 0;
}

.ow-modal-desc {
    color: #cfc2e9;
    font-size: 13.5px;
    line-height: 1.6;
    margin: 0;
}

.ow-modal-features {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.ow-mf-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    color: #e9d5ff;
}

.ow-mf-item i {
    color: #34d399;
}

/* RESPONSIVENESS */
@media (max-width: 991px) {
    .ow-showcase-title {
        font-size: 28px;
    }
    .ow-modal-layout {
        grid-template-columns: 1fr;
        max-width: 360px;
        margin: 0 auto;
    }
    .ow-showcase-card {
        width: 250px;
    }
}

@media (max-width: 767px) {
    .ow-creative-showcase-section {
        padding: 60px 0 70px;
    }
    .ow-showcase-title {
        font-size: 24px;
    }
    .ow-showcase-subtitle {
        font-size: 13px;
        margin-bottom: 20px;
    }
    .ow-showcase-action-bar {
        justify-content: center;
        border-radius: 20px;
        padding: 10px 16px;
    }
    .ow-showcase-card {
        width: 225px;
        padding: 10px;
    }
    .ow-footer-banner-content {
        flex-direction: column;
        text-align: center;
    }
    .ow-showcase-footer-banner {
        text-align: center;
        justify-content: center;
        padding: 20px;
    }
    .ow-footer-banner-btn {
        width: 100%;
    }
    .ow-btn-glow {
        width: 100%;
        justify-content: center;
    }
}
