/*OUR BENEFITS starts here*/
.benefits{
    display: flex;
    padding: 100px 0px;
    flex-direction: column;
    align-items: center;
    gap: 64px;
    align-self: stretch;
    background: #F9FAFE;
}
.benefits h2{
    color: var(--text-primary, #15171B);
    text-align: center;
    font-family: var(--font-family-family, Sora);
    font-size: var(--heading-h2-size, 52px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--heading-h2-line-height, 66px);
    max-width: 680px;
    margin: auto;
    margin-bottom: 8px;
}
.benefits h2+p{
    color: var(--text-secondary, #35393F);
    text-align: center;
    font-family: var(--font-family-family, Sora);
    font-size: var(--body-md-size, 16px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--body-md-line-height, 24px);
    margin: auto;
    max-width: 680px;
}
.benefits .benefit-container{
    display: flex;
    /*width: 1280px;*/
    align-items: center;
    gap: 16px;
    margin-top: 64px;
}
.benefits .benefit-container .benefit-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 0 0;
    border-radius: 20px;
    padding: 36px 36px 0 36px;
    align-items: flex-start;
    /*gap: 64px;*/
    align-self: stretch;
    transition: all 0.3s ease;
    cursor: pointer;
    position:relative;
    height: 558px;        
    overflow: hidden;     
    box-sizing: border-box;
}
.benefit-card.yellow {
    background: var(--surface-warning-light, #FDEAB7);
}
.benefit-card.green {
    background: var(--surface-success-light, #B4EFD1);
}
.benefit-card.blue {
    background: var(--surface-primary-light, #B9E0FF);
}
.benefit-card h5{
    color: var(--text-primary, #15171B);
    font-family: var(--font-family-family, Sora);
    font-size: var(--heading-h5-size, 32px);
    font-style: normal;
    font-weight: 600;
    line-height: var(--heading-h5-line-height, 44px);
    margin: 0 0 12px;
    z-index: 5;
}
.benefit-card.yellow::after {
    background: linear-gradient(180deg, rgba(253, 234, 183, 0) 2.29%, #FDEAB7 75.57%);
}
.benefit-card.green::after{
    background: linear-gradient(180deg, rgba(180, 239, 209, 0) 2.29%, #B4EFD1 75.57%);

}
.benefit-card.blue::after{
    background: linear-gradient(180deg, rgba(185, 224, 255, 0) 2.29%, #B9E0FF 75.57%);

}
.benefit-card p{
    position: absolute;
    left: 36px;
    right: 36px;
    bottom: 0;
    margin: 0;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .32s ease, transform .32s ease;
    z-index: 6;
    font-family: 'Sora';
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #15171B;
    padding: 0 8px;
    margin-bottom: 44px;
}

/* Image stays anchored to bottom */
.benefit-card img {
    display: block;
    width: 100%;
    /*height: 318px;*/
    margin-top: auto;
    /*transition: transform .35s  ease, filter .35s ease;*/
    z-index: 2;
    border-radius: 20px 20px 0 0;
}

.benefit-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    border-radius: 16px;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 2;
}

.benefit-card:hover p {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.benefit-card:hover::after {
    opacity: 1;
}

.benefits .benefits_talk{
    margin-top:64px;
    margin-bottom:0;
}

/* Responsive */
/* Tablet: left column (h5+p stacked, vertically centered) + right column (img) */
@media (min-width: 768px) and (max-width: 1024px) {
    .benefit-card:hover p {
        opacity: 1;
        transform: translateY(12px);
        pointer-events: auto;
    }
    .benefit-card:hover::after {
        opacity: 0;
    }
    .benefits {
        padding: 60px 0px;
    }
    .benefits h2 {
        color: var(--text-primary, #15171B);
        text-align: center;
        
        /* heading/h2 */
        font-family: var(--font-family-family, Sora);
        font-size: var(--heading-h2-size, 28px);
        font-style: normal;
        font-weight: 400;
        line-height: var(--heading-h2-line-height, 38px); /* 135.714% */
        margin-bottom:8px;
    }
    .benefits .benefit-container {
        display: block;
        margin-top: 32px;
    }

  .benefits .benefit-container .benefit-card {
        display: grid !important;
        grid-template-columns: 1fr 50%;
        gap: 24px;
        align-items: center;
        padding-top: 32px;
        height: auto;
        border-radius: 14px;
        box-sizing: border-box;
        margin-bottom: 20px;
        position: relative;
        grid-template-areas:  "text image";
        display: grid;
        grid-template-columns: 1fr 45%;
        align-items: center;
  }

  /* Group h5 + p together visually */
  .benefits .benefit-container .benefit-card > h5,
  .benefits .benefit-container .benefit-card > p {
        grid-area: text;
        justify-self: start;
        align-self: center;
        position: static !important;
        /*transform: none !important;*/
        opacity: 1 !important;
        margin: 0;
        max-width: 100%;
        justify-self: start;
        grid-column: 1;
        display: block;
  }


    .benefits .benefit-container .benefit-card > h5 {
        color: var(--text-primary, #15171B);
        font-family: var(--font-family-family, Sora);
        font-size: var(--heading-h5-size, 24px);
        font-style: normal;
        font-weight: 600;
        line-height: var(--heading-h5-line-height, 34px); /* 141.667% */
        margin-bottom: 12px;
        transform: translateY(-45px);
    }

    .benefits .benefit-container .benefit-card > p {
        color: var(--text-primary, #15171B);
        
        /* body/md/regular */
        font-family: var(--font-family-family, Sora);
        font-size: var(--body-md-size, 16px);
        font-style: normal;
        font-weight: 400;
        line-height: var(--body-md-line-height, 24px); /* 150% */
        padding:0;
    }

      /* Right image column */
    .benefits .benefit-container .benefit-card > img {
        grid-column: 2;
        width: 100%;
        height: auto;
        border-radius: 12px;
        object-fit: cover;
        justify-self: end;
    }
    .benefits .benefit-card.green h5,.benefits .benefit-card.green p{
        grid-column: 2;
    }
    .benefits .benefit-card.green img{
        grid-column: 1;
    }
    .benefits .benefits_talk {
        margin-top: 32px;
        margin-bottom: 0;
    }
}

@media (max-width: 820px) {
    .benefit-card p,.benefit-card:hover p{
        transform: translateY(35px);
        padding:0;
    }
        
}

@media (max-width: 767px) {
    .benefit-card:hover p {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }
    .benefit-card:hover::after {
        opacity: 0;
    }
    .benefits {
        display: flex;
        padding: 40px 0;
    }
    .benefits h2 {
        color: var(--text-primary, #15171B);
        text-align: center;
        
        /* heading/h2 */
        font-family: var(--font-family-family, Sora);
        font-size: var(--heading-h2-size, 28px);
        font-style: normal;
        font-weight: 400;
        line-height: var(--heading-h2-line-height, 38px); /* 135.714% */
        margin-bottom:8px;
    }
    .benefits .benefit-container {
        display: block;
        align-items: center;
        gap: 16px;
        margin-top: 32px;
    }
    .benefits .benefit-container .benefit-card {
        padding: 20px 20px 0 20px;
        height: auto;
        margin-bottom: 29.52px;
    }
    .benefit-card h5 {
        margin: 0 0 8px;
        /* z-index: 5; */
        color: var(--text-primary, #15171B);
        font-family: var(--font-family-family, Sora);
        font-size: var(--heading-h5-size, 24px);
        font-style: normal;
        font-weight: 600;
        line-height: var(--heading-h5-line-height, 34px);
    }
    .benefit-card p {
        position: static;
        left: 36px;
        right: 36px;
        bottom: 0;
        margin: 0;
        opacity: 1;
        transform: none;
        transition: opacity .32s 
    ease, transform .32s 
    ease;
        z-index: 6;
        font-family: 'Sora';
        font-weight: 400;
        font-size: 16px;
        line-height: 24px;
        color: #15171b;
        padding: 0;
        margin-bottom: 24px;
    }
    .benefits .benefits_talk {
        margin-top: 32px;
        margin-bottom: 0;
    }
}
/*OUR BENEFITS ends here*/