/* =====================================
   BUILT FOR EVERY INDIAN
===================================== */

.audience-section {

    width: 100%;

    background: #ffffff;

    padding: 85px 6.5% 100px;

    overflow: hidden;

}

.audience-container {

    max-width: 1450px;

    margin: 0 auto;

}


/* =====================================
   HEADING
===================================== */

.audience-heading {

    text-align: center;

    margin-bottom: 65px;

}

.audience-heading h2 {

    font-size: clamp(38px, 3.3vw, 52px);

    font-weight: 750;

    letter-spacing: -1.5px;

    line-height: 1.2;

    color: #000000;

    margin-bottom: 22px;

}

.audience-heading p {

    font-size: 16px;

    line-height: 1.7;

    color: #222222;

}


/* =====================================
   MAIN CONTENT GRID
===================================== */

.audience-content {

    display: grid;

    grid-template-columns: 1fr 1.45fr 1fr;

    align-items: center;

    gap: 35px;

}


/* =====================================
   LEFT AND RIGHT COLUMNS
===================================== */

.audience-column {

    display: flex;

    flex-direction: column;

    gap: 34px;

}

.audience-card {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    opacity: 0;

    transform: translateY(30px);

    transition:
        opacity 0.7s ease,
        transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);

}

.left-column .audience-card {

    align-items: flex-end;

    text-align: right;

}

.right-column .audience-card {

    align-items: flex-start;

    text-align: left;

}


/* =====================================
   ICON BADGES
===================================== */

.audience-icon {

    width: 62px;

    height: 62px;

    background: #002C8A;

    border-radius: 50% 50% 0 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 17px;

    transition:
        transform 0.35s ease,
        background 0.35s ease;

}

.audience-icon img {

    width: 30px;

    height: 30px;

    object-fit: contain;

}


/* =====================================
   CARD TEXT
===================================== */

.audience-card h3 {

    font-size: 18px;

    font-weight: 700;

    color: #080808;

    margin-bottom: 15px;

    line-height: 1.3;

}

.audience-card p {

    font-size: 15px;

    font-weight: 400;

    line-height: 1.5;

    color: #222222;

    margin: 0;

}


/* =====================================
   HOVER EFFECT
===================================== */

.audience-card:hover .audience-icon {

    background: #ED8E2F;

    transform: translateY(-5px);

}


/* =====================================
   CENTER IMAGE
===================================== */

.audience-center {

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;

    opacity: 0;

    transform: scale(0.92);

    transition:
        opacity 1s ease,
        transform 1s cubic-bezier(0.16, 1, 0.3, 1);

}

.audience-main-image {

    width: 100%;

    max-width: 520px;

    height: auto;

    display: block;

    object-fit: contain;

}


/* =====================================
   SCROLL REVEAL
===================================== */

.audience-section.active .audience-card {

    opacity: 1;

    transform: translateY(0);

}

.audience-section.active .audience-center {

    opacity: 1;

    transform: scale(1);

}

.audience-section.active .audience-card:nth-child(1) {
    transition-delay: 0.1s;
}

.audience-section.active .audience-card:nth-child(2) {
    transition-delay: 0.25s;
}

.audience-section.active .audience-card:nth-child(3) {
    transition-delay: 0.4s;
}


/* =====================================
   TABLET
===================================== */

@media (max-width: 1050px) {

    .audience-section {

        padding: 75px 4%;

    }

    .audience-content {

        grid-template-columns: 1fr 1.2fr 1fr;

        gap: 20px;

    }

    .audience-column {

        gap: 30px;

    }

    .audience-card h3 {

        font-size: 15px;

    }

    .audience-card p {

        font-size: 13px;

    }

    .audience-icon {

        width: 52px;

        height: 52px;

    }

}


/* =====================================
   MOBILE
===================================== */

@media (max-width: 700px) {

    .audience-section {

        padding: 65px 22px;

    }

    .audience-heading {

        margin-bottom: 35px;

    }

    .audience-heading h2 {

        font-size: 34px;

        letter-spacing: -0.8px;

    }

    .audience-heading p {

        font-size: 14px;

    }

    .audience-heading p br {

        display: none;

    }

    .audience-content {

        display: flex;

        flex-direction: column;

        gap: 30px;

    }

    .audience-center {

        order: -1;

        width: 100%;

    }

    .audience-main-image {

        max-width: 380px;

    }

    .audience-column {

        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 30px 15px;

        width: 100%;

    }

    .audience-card,
    .left-column .audience-card,
    .right-column .audience-card {

        align-items: center;

        text-align: center;

    }

    .audience-card h3 {

        font-size: 14px;

        margin-bottom: 8px;

    }

    .audience-card p {

        font-size: 12px;

    }

    .audience-card p br {

        display: none;

    }

    .audience-icon {

        width: 52px;

        height: 52px;

        margin-bottom: 12px;

    }

}


/* =====================================
   REDUCED MOTION
===================================== */

@media (prefers-reduced-motion: reduce) {

    .audience-card,
    .audience-center {

        opacity: 1;

        transform: none;

        transition: none;

    }

}
/* =================================
   AUDIENCE HEADING INTRO ANIMATION
================================= */

.audience-heading {
    opacity: 0;
    transform: translateY(40px);

    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.audience-heading.active {
    opacity: 1;
    transform: translateY(0);
}