
/** what-we-do-section **/

.what-we-do-section {
    position: relative;
    padding: 120px 40px 120px;
    background: #ffffff;
    overflow: hidden;
}

.what-we-do-section .pattern-layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 99px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 2;
}

.what-we-do-container {
    position: relative;
    z-index: 5;
    max-width: 1350px;
    margin: 0 auto;
}

.what-we-do-title {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 70px;
}

.what-we-do-title h2 {
    font-size: 38px;
    line-height: 1.1;
    margin-bottom: 15px;
    color: #000;
}

.what-we-do-title h3 {
    font-size: 34px;

}

.what-we-do-title p {
    font-size: 20px;
    line-height: 1.5;
    color: #111;
}

.wm-work-with-left .upper-text {
    background: linear-gradient(
        90deg,
        #1DB954 0%,
        #3AF372 100%
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;
    color: transparent;

    /* font-size: 28px; */
    /* font-weight: 700; */

    /* text-transform: uppercase; */

    display: inline-block;

    margin-bottom: 12px;
}
.what-we-do-title .upper-text {
    background: linear-gradient(
        90deg,
        #1DB954 0%,
        #3AF372 100%
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;
    color: transparent;

    /* font-size: 28px; */
    /* font-weight: 700; */

    /* text-transform: uppercase; */

    display: inline-block;

    margin-bottom: 12px;
}


/* ACCORDION */

.wm-accordion {
    border-radius: 40px;
    overflow: hidden;
}

.wm-accordion .accordion-item {
    border: none;
}


/* PINK GRADIENT EFFECT */
.wm-accordion .accordion-item:nth-child(1) {
    background: #cf88a2;
}

.wm-accordion .accordion-item:nth-child(2) {
    background: #d17898;
}

.wm-accordion .accordion-item:nth-child(3) {
    background: #d3678f;
}

.wm-accordion .accordion-item:nth-child(4) {
    background: #d75682;
}

.wm-accordion .accordion-item:nth-child(5) {
    background: #DA366C;
}

.wm-accordion .accordion-item:nth-child(6) {
    background: #c82f62;
}


.wm-accordion .accordion-button {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    color: #ffffff;
    background: transparent;
    padding: 28px 50px;
    box-shadow: none;
}

.wm-accordion .accordion-button:not(.collapsed) {
    color: #ffffff;
    background: transparent;
}

/* ACCORDION CHEVRON ICON */

.wm-accordion .accordion-button::after {

    content: "\f107";

    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-weight: 900;

    width: 52px;
    height: 52px;

    border-radius: 50%;

    background: #ffffff;
    background-image: none !important;

    color: #DA366C;

    font-size: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    transition:
        transform 0.35s ease,
        background 0.35s ease,
        color 0.35s ease;

    margin-left: auto;
}

.wm-accordion .accordion-button:not(.collapsed)::after {

    transform: rotate(180deg);
}

.wm-accordion .accordion-body {
    padding: 20px 50px 55px;
    background: transparent;
}

/* HOVER EFFECT */

.wm-accordion .accordion-button{
    transition: all 0.3s ease;
}

.wm-accordion .accordion-button::after{
    transition: all 0.3s ease;
}

/* TEXT HOVER */

.wm-accordion .accordion-button:hover{
    color: #fdca31;
}

/* BUTTON HOVER */

.wm-accordion .accordion-button:hover::after {

    background: #fdca31;
    color: #ffffff;
    transform: scale(1.08);
}

/* KEEP ROTATION WHEN OPEN */

.wm-accordion .accordion-button:not(.collapsed):hover::after {

    transform: rotate(180deg) scale(1.08);
}

.accordion-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.accordion-grid h6 {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 24px;
    color: #ffffff;
}

.accordion-body p {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 45px;
    color: #ffffff;
}

.accordion-body ul {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}

.accordion-body ul li {
    display: inline-block;
    background: #fff;
    border-radius: 45px;
    padding: 8px 18px;
    margin-bottom: 13px;
    font-size: 17px;
    color: #000;
}

/* accordion */

.accordion-btn-wrap {
    margin-top: 45px;
}

.accordion-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 16px 34px;

    border-radius: 60px;

    background: #ffffff;

    color: #DA366C;

    font-size: 17px;
    font-weight: 700;

    text-decoration: none;

    transition: all 0.35s ease;
}

.accordion-cta-btn:hover {
    background: #fdca31;
    color: #ffffff;

    transform: translateY(-2px);
}


.accordion-media {
    width: 90%;
    max-width: 520px;

    aspect-ratio: 4 / 4.5; /* shorter height */

    margin-left: auto;

    border-radius: 30px;
    overflow: hidden;
}

.accordion-media img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center 30%; /* moves image DOWN */

    display: block;
}

/* MEDIA QUERY */
@media only screen and (max-width: 1500px){
     .what-we-do-container {
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media only screen and (max-width: 1000px) {

    .what-we-do-section {
        padding: 140px 24px 90px;
    }

    .accordion-grid{
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .accordion-media{
    order: -1;
    width: 60%;
    max-width: 450px;
    margin: 0 auto 35px;
    }

    .wm-accordion .accordion-button {
        font-size: 22px;
        padding: 24px 28px;
    }

    .wm-accordion .accordion-body {
        padding: 20px 28px 45px;
    }

    .what-we-do-title h2 {
        font-size: 32px;
    }

    .video-placeholder {
        font-size: 45px;
    }
}

/* ==========================================
   PAPER PATTERN — TABLET + MOBILE
========================================== */

@media only screen and (max-width: 900px) {

    .banner-section .pattern-layer,
    .what-we-do-section .pattern-layer {
        display: block !important;

        height: 99px !important;

        background-size: 100% 100% !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;

        top: 0 !important;
        bottom: auto !important;

        opacity: 1 !important;
    }

    
    .banner-section .pattern-layer {
        top: auto !important;
        bottom: -1px !important;
    }

    .accordion-grid {
        gap: 5px;
    }

}


@media only screen and (max-width: 767px) {

     .what-we-do-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .what-we-do-title h3{
        font-size: 30px;
    }

    .what-we-do-title h2{
        font-size: 32px;
    }

    .what-we-do-title p {
        font-size: 17px;
    }

    .wm-accordion .accordion-body p {
    font-size: 17px;
    }

    .accordion-grid {
        gap: 5px;
    }

    .accordion-grid h6 {
        font-size: 20px;
    }

    .accordion-grid p {
        font-size: 17px;
    }
}

@media only screen and (max-width: 600px) {

.what-we-do-section{
padding: 110px 10px 80px;
}

.what-we-do-container{
padding-left: 0;
padding-right: 0;
}

.wm-accordion{
border-radius: 28px;
}

.wm-accordion .accordion-button{
font-size: 17px;
line-height: 1.25;
 padding: 20px 20px;
gap: 14px;
}

.wm-accordion .accordion-button::after{
width: 42px;
height: 42px;
font-size: 16px;
flex-shrink: 0;
}

.wm-accordion .accordion-body{
padding: 18px 20px 38px;
}

.accordion-grid h6{
font-size: 15px !important;
line-height: 1.25;
}

.accordion-body p{
font-size: 14px !important;
line-height: 1.45;
}

.accordion-cta-btn{
font-size: 15px;
padding: 13px 26px;
}

.accordion-media{
width: 82%;
max-width: 360px;
margin: 0 auto 28px;
}
}

/*@media only screen and (max-width: 600px) and (min-width: 481px) {*/

/*     .what-we-do-container {*/
/*        padding-left: 10px;*/
/*        padding-right: 10px;*/
/*    }*/

/*    .wm-accordion .accordion-body h6 {*/
/*        font-size: 19px !important;*/
/*        line-height: 1.25 !important;*/
/*    }*/

/*    .accordion-media{*/
/*    width: 90%;*/
/*    max-width: 450px;*/
/*    margin: 0 auto 35px;*/
/*    }*/

/*    .accordion-grid {*/
/*        gap: 5px;*/
/*    }*/
    

/*}*/

