* {
    box-sizing: border-box;
}

/* what we do industries section css Start */
.whatwedoindustriesbanner {
    background: url(../images/whyitmattersimpact/whyitmattersimpact.webp) no-repeat center right;
    position: relative;
    height: 592px;
    background-size: cover;
}

.headingAlignset {
    display: inline-block;
}

/* initial hidden state */
.headingAlignset p {
    text-align: end;
    font-weight: 600;
    font-size: 28px;
    line-height: 120%;
    letter-spacing: 0;
    text-decoration: underline;
    margin-top: 10px;
    color: #1E4683;
    margin-left: 60px;

    opacity: 0;
    /* start hidden */
    transform: translateY(-20px);
    /* start slightly above */
    animation: fadeDown 1s ease forwards;
    /* run animation */
    animation-delay: 0.5s;
    /* optional delay after page load */
}

/* keyframes for fade down */
@keyframes fadeDown {
    to {
        opacity: 1;
        transform: translateY(0);
        /* move to original position */
    }
}

.productContentbox {
    background: #E3EEFF;
    padding: 45px 40px;
    position: relative;
    /* bottom: 30px; */
    width: 100%;
    max-width: 997px;
    margin: 284px 0px 40px;
}

.productAlign {
    display: flex;
    align-items: flex-end;
}

.productContentbox .alignTagline {
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0;
    color: #fff;
    background: #E1171F;
    padding: 7px 16px;
    position: absolute;
    top: -20px;
}

.productBannerHeading {
    font-weight: 600;
    font-size: 26px;
    line-height: 120%;
    letter-spacing: 0;
    padding: 10px 14px;
    color: #fff;
    background: linear-gradient(118.04deg, #1E4683 3.55%, #1A2A38 95.74%);
    display: inline-flex;
}

.headingAlignset p {
    background: none;
    text-decoration-color: #1e4683;
}

.alignText {
    display: flex;
    align-items: flex-start;
    margin-top: 15px;
    gap: 10px;
}

.alignText p {
    font-weight: 400;
    font-size: 24px;
    line-height: 140%;
    letter-spacing: 0;
    color: #525252;
}

/* what we do industries section css End */

/* growth section css start */
.downloadbutton {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    background: #E31E24;
    padding: 20px 51px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    transition: background 0.3s;
    cursor: pointer;
    text-decoration: none;
}

.DownloadButton :hover {
    background: #1e4683;
    color: #fff;
}

.DownloadButton span:hover {
    background: transparent;
}

.growth {
    padding: 90px 0px 0px;
    background: linear-gradient(180deg, #FFFFFF 0%, #D2E4FF 100%);

}

.growthAlign .textStyle {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    color: #525252;
    margin-top: 15px;
}

.growthAlign {
    width: 100%;
    max-width: 1432px;
    margin: auto;
}

.growthSlideralign {
    display: flex;
    padding: 15px 0px;
}

.leftInfo {
    padding: 16px;
    width: 100%;
    max-width: 997px;
    box-shadow: 0px 4px 16px 0px #0000001A;
    display: flex;
    background: url(../images/workwithus/growthleft.webp) no-repeat, center;
    background-color: #fff;
}

.leftInfo h4 {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    letter-spacing: 0;
    color: #E1171F;
}

.leftInfo p {
    padding-top: 189px;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0;
    color: #525252;
}

.paddingAlign {
    padding-top: 128px;
}

.alignContent {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;

}

.alignContent span {
    color: #fff;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0;
    margin-top: 5px;
}

.alignContent h6 {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #fff;
}

.leftsidedetails {
    padding: 10px 43px 10px 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.textCenter {
    text-align: center;
}

.growthSlideralign {
    margin-top: 30px;
}

.rightInfo {
    box-shadow: 0px 4px 16px 0px #0000001A;
    background: linear-gradient(118.04deg, #1E4683 3.55%, #1A2A38 95.74%);
    max-width: 418px;
    width: 100%;
    padding: 20px 20px 20px;
    height: 100%;
}

.rightHeadingset h5 {
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0;
    color: #fff;
    margin-top: 20px;
}

.rightInfo p {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #fff;
    padding-top: 90px;
}

.boldSet {
    color: #1E4683;
    font-weight: 700;
}

.growth .owl-carousel .owl-item img {
    width: auto;
}

.growth .owl-theme .owl-nav {
    display: block;
    position: absolute;
    right: 10px;
    bottom: 0px;
}

.owl-theme .owl-dots {
    display: none;
}


/* Container for tabs + progress bar in one row */
.tabsProgressWrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* margin-bottom: 20px; */
    margin-top: 29px;
}

/* Tabs indicators (non-clickable) */
.buttonTabs {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.buttonTabs li {
    /* width: 40px;
    height: 40px; */
    line-height: 40px;
    text-align: center;
    /* border-radius: 50%; */
    background: transparent;
    border: none;
    color: #1E4683;
    font-weight: 600;
    transition: all 0.3s ease;
    padding: 10px 24px;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 20px;
}

.buttonTabs li.active {
    background: #1E4683;
    /* border-color: #E31E24; */
    color: #fff;
}

/* Progress bar */
.progressIndicator {
    display: flex;
    align-items: center;
    gap: 8px;
}

.progressBar {
    width: 120px;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.progressFill {
    height: 100%;
    background: linear-gradient(90deg, #1E4683 0%, #1E4683 100%);
    width: 0%;
    transition: width 0.4s ease;
}

.progressText {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    min-width: 40px;
    text-align: right;
}

/* Carousel slides */
.growthCarousel .growthSlideralign {
    display: flex;
    gap: 20px;
}

@media (max-width: 768px) {
    .growthCarousel .growthSlideralign {
        flex-direction: column;
    }
}


/* growth section css end */

/* want to stay section css start */
.wanttostay {
    padding: 180px 0px 60px;
    background: #F4F8FF;
}

.staycardset {
    width: 100%;
}

.staycardset img {
    width: 100%;
}

.staycardAlign {
    display: flex;
    gap: 16px;
    margin-top: 25px;
}

.staycardAlign h5 {
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0;
    color: #1E4683;
    margin: 27px 0px 17px 0px;
}

.staycardAlign p {
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    color: #525252;
}



/* want to stay section css end */

/* responsibleGrowth section css Start */

.responsibleGrowth {
    position: relative;
    background: url(../images/whyitmattersimpact/Committed.webp) no-repeat center;
    padding-top: 90px;
}

.circle-slider-wrapper {
    display: grid;
    place-items: center;
    padding: 20px;
}

.circle-slider {
    position: relative;
    width: 90%;
    max-width: 700px;
    aspect-ratio: 1 / 1;
}


.progress-svg {
    position: absolute;
    inset: 0;
    transform: rotate(-90deg);
    z-index: 1;
}

.progress-svg circle.bg {
    fill: none;
    stroke: #d9dfe6;
    stroke-width: 1;
}

.progress-svg circle.progress {
    fill: none;
    stroke: #124a8f;
    stroke-width: 1;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.9s cubic-bezier(.22, .9, .26, 1);
}

.circle-content {
    position: relative;
    z-index: 3;
    width: 91%;
    height: 91%;
    margin: auto;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 1rem;
    border-radius: 50%;
    background: #F4F8FF;
    box-shadow: 0 6px 24px rgba(13, 35, 75, 0.06);
}

.circle-content h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vmin, 2rem);
    color: #d32b2b;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;

}

.circle-content img {
    width: clamp(80px, 8vmin, 120px);
    margin: 8px 0;
}

.circle-content p {
    font-size: clamp(1rem, 1.8vmin, 1.25rem);
    color: #222a35;
    margin: 0;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
}

.dot {
    --size: 20px;
    position: absolute;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: #e7ebee;
    border: 3px solid #d0d6db;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    cursor: pointer;
    z-index: 4;
    transition: background 220ms, transform 220ms, border-color 220ms;
}

.dot:hover {
    transform: translate(-50%, -50%) scale(1.06);
}

.dot .inner {
    border-radius: 50%;
    background: #bfc9d1;
}

.dot.active {
    background: #124a8f;
    border-color: #0b3a74;
}

.dot.active .inner {
    background: #fff;
    transform: scale(1);
}

/* responsibleGrowth section css End */

/* purpose section css start */

.openOptionDetails {
    width: 100%;
    max-width: 1141px;
    margin: auto;
    background: #F4F8FF;
    padding: 50px 80px 60px;
    position: relative;
    z-index: 11;
}

.openOptionDetails p {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0;
    margin-top: 20px;
    /* text-align: center; */
}

.openOptionDetails h5 {
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    color: #1E4683;
    margin-top: 40px;
}

.purpose {
    position: relative;
}

.purpose img {
    width: 100%;
}

.purpose .downloadbutton {
    margin-top: 50px;
}

.downloadbutton img {
    width: auto !important;
}

.purpose .container {
    position: absolute;
    top: 440px;
    max-width: 100%;
}

/* purpose section css End */

.growhtCardtitleAlign {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 20px 30px 0px;
}

.growhtCardtitleAlign h3 {
    font-family: 'Inter';
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0;
    color: #E1171F;
    margin: 15px 0px;
}

.discriptionDetails {
    margin-left: -60px;
}

.growthCard {
    background-color: #fff;
}

.growthCardAlignmentset {
    display: flex;
    gap: 20px;
    margin-top: 30px;
}

.growhtCardtitleAlign img {
    padding: 10px 60px 10px 40px;
    background-color: aliceblue;
}

.alignRight {
    text-align: right;
}

.alignRight img {
    width: 95%;
    height: 331px;
}

@media screen and (max-width:1750px) {
    .container {
        max-width: 1420px;
    }

    .purpose .container {
        top: 340px;
    }
}

@media screen and (max-width:1450px) {
    .container {
        max-width: 1220px;
    }

    .openOptionDetails {
        padding: 30px 40px 30px;
    }

    .rightInfo {
        max-width: 370px;
    }

    .leftsidedetails {
        padding: 10px 15px 10px 10px;
    }

    .leftInfo h4 {
        font-size: 28px;
    }

    .purpose .container {
        top: 270px;
    }

    .purpose .headingFont {
        font-size: 32px;
    }

    .circle-slider {
        width: 90%;
        max-width: 600px;
    }

    .circle-content p {
        padding: 0px 20px;
    }

    .downloadbutton {
        font-size: 13px;
        padding: 15px 35px;
    }

    .growhtCardtitleAlign img {
        padding: 10px 50px 10px 25px;
    }

}

@media screen and (max-width:1250px) {
    .container {
        max-width: 1040px;
    }

    .alignRight img {
        height: 260px;
    }

    .growhtCardtitleAlign h3 {
        font-size: 20px;
    }

    .rightInfo {
        max-width: 270px;
    }

    .paddingAlign {
        padding-top: 100px;
    }

    .leftInfo p {
        font-size: 16px;
    }

    .alignContent h6 {
        font-size: 16px;
    }

    .rightInfo {
        padding: 10px 10px 10px;
    }

    .leftInfo h4 {
        font-size: 26px;
    }

    .buttonTabs li {
        padding: 5px 15px;
        gap: 6px;
        font-size: 18px;
    }

    .growth {
        padding: 70px 0px 0px;
    }

    .rightHeadingset h5 {
        font-size: 22px;
    }

    .openOptionDetails p {
        font-size: 16px;
    }

    .purpose .container {
        top: 230px;
    }

    .openOptionDetails {
        max-width: 95%;
        padding: 30px 35px 30px;
    }

    .purpose .downloadbutton {
        margin-top: 30px;
    }

    .wanttostay {
        padding: 190px 0px 60px;
    }

    .staycardAlign h5 {
        font-size: 20px;
    }
}

@media screen and (max-width:1050px) {
    .container {
        max-width: 95%;
    }

    .discriptionDetails p {
        font-size: 15px;
    }

    .growhtCardtitleAlign img {
        padding: 10px 45px 10px 10px;
    }

    .staycardAlign p {
        font-size: 14px;
    }

    .buttonTabs li {
        font-size: 16px;
    }
}

@media screen and (max-width:991px) {
    .alignText p {
        font-size: 20px;
    }

    .growthAlign .textStyle {
        font-size: 16px;
    }

    .tabsProgressWrapper {
        align-items: flex-start;
        margin-top: 29px;
        flex-direction: column;
    }

    .progressIndicator {
        padding: 0px 18px;
        margin-top: 15px;
    }

    .growthCarousel .growthSlideralign {
        flex-direction: column;
    }

    .rightInfo {
        max-width: 100%;
        height: 370px;
    }

    .leftInfo {
        flex-direction: column;
    }

    .leftInfo p {
        padding-top: 30px;
        padding-bottom: 20px;
        font-size: 15px;
    }

    .rightHeadingset h5 {
        font-size: 24px;
    }

    .alignContent h6 {
        font-size: 20px;
    }

    .leftsidedetails {
        padding: 10px 5px 10px 5px;
    }

    .alignContent span {
        font-size: 15px;
    }

    .paddingAlign {
        padding-top: 15px;
    }

    .responsibleGrowth {
        padding-top: 60px;
    }

    .openOptionDetails {
        padding: 25px 25px 25px;
    }

    .openOptionDetails p {
        font-size: 14px;
    }

    .purpose .container {
        top: 200px;
    }

    .wanttostay h2 {
        margin-bottom: 20px;
    }

    .staycardset h5 {
        font-weight: 600;
        font-size: 24px;
        line-height: 120%;
        letter-spacing: 0;
        color: #1E4683;
        margin: 27px 0px 10px 0px;
    }

    .staycardset p {
        font-weight: 400;
        font-size: 16px;
        line-height: 140%;
        letter-spacing: 0;
        color: #525252;
    }

    .owl-theme .owl-nav {
        display: none;
    }

    .purpose {
        background: #F4F8FF;
    }

    .wanttostay {
        padding: 0px 0px 60px;
        background: #F4F8FF;
        margin-top: -25px;
        position: relative;
        z-index: 111;
    }

    .purpose .container {
        top: -50px;
        position: relative;
    }

    .purpose .container {
        top: -50px;
    }

    .whatwedoindustriesbanner {
        background: url(../images/whyitmattersimpact/whyitmattersimpactmob.webp) no-repeat center right;
        position: relative;
        background-size: cover;
    }

    .productContentbox {
        margin: 0px 0px 0px;
        padding: 45px 20px;
    }

    .alignText .block {
        display: inline;
    }

}

@media screen and (max-width:767px) {
    .growth {
        padding: 50px 0px 0px;
    }

    .rightInfo {
        height: 100%;
    }

    .downloadbutton {
        font-size: 14px;
        padding: 15px 30px;
    }

    .growthAlign .textStyle {
        font-size: 14px;
    }

    .customBlock .block {
        display: inline;
    }

    .leftsidedetails .block {
        display: inline;
    }

    .growthTabs img {
        display: none !important;
    }

    .buttonTabs li {
        padding: 0px 10px;
        gap: 0px;
        font-size: 14px;
    }

    .leftInfo p {
        padding-top: 20px;
        padding-bottom: 20px;
        font-size: 14px;
    }

    .rightHeadingset h5 {
        font-size: 20px;
    }

    .alignContent h6 {
        font-size: 18px;
    }

    .alignContent span {
        font-size: 15px;
    }

    .responsibleGrowth {
        padding-top: 50px;
    }

    .circle-content img {
        width: clamp(50px, 8vmin, 120px);
    }

    .circle-content h2 {
        font-size: clamp(1.2rem, 2.4vmin, 2rem);
    }

    .circle-content p {
        padding: 0px 10px;
    }

    .circle-content p {
        padding: 0px 14px;
        font-size: 13px;
    }

    .openOptionDetails {
        padding: 15px 15px 15px;
    }

    /* .purpose .container {
        top: 130px;
    } */

    .openOptionDetails p {
        font-size: 14px;
        margin-top: 10px;
    }

    /* .purpose .container {
        top: 135px;
    } */
}

@media screen and (max-width:992px) {
    .productContentbox {
        width: 95%;
        margin: 0px auto;
    }

    .productAlign {
        display: flex;
        align-items: flex-end;
        position: absolute;
        bottom: 0;
        left: 0;
    }
}

@media screen and (max-width:500px) {
    .productContentbox .alignTagline {
        font-size: 20px;
    }

    .headingAlignset p {
        margin-left: 65px;
    }

    .productBannerHeading {
        font-size: 18px;
    }

    .productContentbox {
        padding: 35px 20px 20px;
    }

    .alignText p {
        font-size: 16px;
    }

    .headingAlignset p {
        font-size: 22px;
    }

    .headingFont {
        font-size: 22px;
    }

    .buttonTabs {
        gap: 5px;
    }

    .buttonTabs li {
        padding: 0px 10px;
        font-size: 12px;
        line-height: 2;
    }

    .progressIndicator {
        padding: 0px 5px;
    }

    .leftInfo h4 {
        font-size: 20px;
    }

    .alignContent span {
        font-size: 14px;
    }

    .openOptionDetails {
        max-width: 96%;
        padding: 8px 10px 15px;
    }

    .openOptionDetails p {
        font-size: 13px;
    }

    .circle-content img {
        width: clamp(35px, 8vmin, 120px);
    }

    .circle-content p {
        padding: 0px 13px;
        font-size: 11px;
        width: 90%;
    }

    .circle-content {
        gap: 2px;
    }

    .circle-content h2 {
        font-size: clamp(0.95rem, 2.4vmin, 2rem);
    }

    .whatwedoindustriesbanner {
        height: 487px;
        padding-top: 59px;
    }

    .productContentbox .alignTagline {
        font-size: 18px;
    }

    .alignText p {
        font-size: 14px;
    }

    .headingAlignset p {
        font-size: 18px;
    }
}

@media screen and (max-width:376px) {
    .productContentbox .alignTagline {
        font-size: 16px;
    }
}