.memberships-section{
position:relative;
padding:95px 0 110px;
background:#f6faf8;
overflow:hidden;
}

.memberships-section .container{
position:relative;
z-index:2;
max-width:1120px;
}

.memberships-bg-shape{
position:absolute;
border-radius:50%;
pointer-events:none;
}

.memberships-bg-shape-one{
width:520px;
height:520px;
top:-350px;
right:-230px;
border:1px solid rgba(44,175,149,.12);
}

.memberships-bg-shape-two{
width:390px;
height:390px;
bottom:-260px;
left:-190px;
border:1px solid rgba(63,127,196,.09);
}

.memberships-heading{
position:relative;
max-width:650px;
margin:0 auto 58px;
text-align:center;
}

.memberships-heading-line{
width:48px;
height:3px;
margin:0 auto 15px;
border-radius:20px;
background:#2caf95;
}

.memberships-heading span{
display:block;
margin-bottom:9px;
color:#2caf95;
font-size:13px;
font-weight:700;
}

.memberships-heading h1{
margin:0 0 12px;
color:#063b44;
font-size:42px;
font-weight:800;
line-height:1.3;
}

.memberships-heading p{
max-width:570px;
margin:0 auto;
color:#7d8c8f;
font-size:15px;
line-height:2;
}

.memberships-list{
display:flex;
flex-direction:column;
gap:20px;
}

.membership-card{
position:relative;
display:flex;
/* align-items:stretch; */
width:80%;
margin:0 auto;
min-height:220px;
overflow:hidden;
border:1px solid #e1ebe8;
border-radius:24px;
background:#fff;
box-shadow:0 10px 35px rgba(6,59,68,.055);
transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.membership-card::after{
content:"";
position:absolute;
top:0;
right:0;
width:5px;
height:100%;
background:linear-gradient(180deg,#2caf95,#3f7fc4);
transform:scaleY(.25);
transform-origin:center;
transition:transform .4s ease;
}

.membership-card:hover{
transform:translateY(-5px);
border-color:#cbded9;
box-shadow:0 20px 45px rgba(6,59,68,.11);
}

.membership-card:hover::after{
transform:scaleY(1);
}

.membership-number{
position:absolute;
top:18px;
right:20px;
z-index:4;
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border:1px solid rgba(255,255,255,.5);
border-radius:50%;
background:rgba(6,59,68,.72);
color:#fff;
backdrop-filter:blur(5px);
}

.membership-number span{
font-size:11px;
font-weight:800;
letter-spacing:1px;
}

.membership-image{
position:relative;
flex:0 0 270px;
height:220px;
overflow:hidden;
background:#eaf3f0;
}

.membership-image img{
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .6s ease;
}

.membership-card:hover .membership-image img{
transform:scale(1.07);
}

.membership-placeholder{
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
background:linear-gradient(135deg,#e9f5f1,#edf5f8);
color:#2caf95;
font-size:60px;
}

.membership-image-overlay{
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(6,59,68,.03),rgba(6,59,68,.45));
}

.membership-image-label{
position:absolute;
right:20px;
bottom:18px;
padding:7px 12px;
border:1px solid rgba(255,255,255,.35);
border-radius:7px;
background:rgba(255,255,255,.14);
color:#fff;
font-size:11px;
font-weight:700;
backdrop-filter:blur(7px);
}

.membership-main{
display:flex;
flex:1;
flex-direction:column;
justify-content:center;
min-width:0;
padding:30px 38px;
}

.membership-top{
margin-bottom:15px;
}

.membership-tag{
display:inline-flex;
align-items:center;
gap:6px;
margin-bottom:11px;
color:#2caf95;
font-size:11px;
font-weight:700;
}

.membership-tag i{
font-size:12px;
}

.membership-main h2{
margin:0;
color:#063b44;
font-size:25px;
font-weight:800;
line-height:1.5;
}

.membership-description{
max-width:500px;
margin:0;
color:#7d8b8e;
font-size:14px;
line-height:2;
}

.membership-divider{
width:1px;
height:115px;
align-self:center;
background:#e8efed;
}

.membership-side{
display:flex;
flex:0 0 205px;
flex-direction:column;
justify-content:center;
gap:23px;
padding:30px 30px 30px 35px;
}

.membership-price span{
display:block;
margin-bottom:7px;
color:#99a5a7;
font-size:11px;
font-weight:600;
}

.membership-price-value{
display:flex;
align-items:baseline;
gap:5px;
}

.membership-price-value strong{
color:#063b44;
font-size:29px;
font-weight:800;
line-height:1;
}

.membership-price-value small{
color:#2caf95;
font-size:12px;
font-weight:800;
}

.membership-request-btn{
display:flex;
align-items:center;
justify-content:center;
gap:11px;
width:100%;
min-height:47px;
padding:12px 15px;
border-radius:10px;
background:#063b44;
color:#fff;
text-decoration:none;
font-size:12px;
font-weight:700;
transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}

.membership-request-btn i{
font-size:12px;
transition:transform .3s ease;
}

.membership-request-btn:hover{
background:#2caf95;
color:#fff;
transform:translateY(-2px);
box-shadow:0 9px 20px rgba(44,175,149,.2);
}

.membership-request-btn:hover i{
transform:translateX(-5px);
}

.memberships-empty{
padding:75px 25px;
border:1px dashed #d4e2de;
border-radius:22px;
background:#fff;
text-align:center;
}

.memberships-empty-icon{
display:flex;
align-items:center;
justify-content:center;
width:75px;
height:75px;
margin:0 auto 18px;
border-radius:50%;
background:#e9f6f2;
color:#2caf95;
font-size:30px;
}

.memberships-empty h3{
margin:0 0 8px;
color:#063b44;
font-size:20px;
font-weight:800;
}

.memberships-empty p{
margin:0;
color:#899598;
font-size:14px;
}

@media(max-width:1100px){
.memberships-section{
padding:80px 0 95px;
}


.membership-image{
    flex-basis:230px;
}

.membership-main{
    padding:28px 27px;
}

.membership-side{
    flex-basis:175px;
    padding:28px 24px 28px 27px;
}

.membership-main h2{
    font-size:22px;
}

.membership-price-value strong{
    font-size:26px;
}


}

@media(max-width:767px){
.memberships-section{
padding:60px 0 75px;
}


.memberships-section .container{
    padding:0 15px;
}

.memberships-heading{
    margin-bottom:38px;
}

.memberships-heading h1{
    font-size:31px;
}

.memberships-heading p{
    font-size:13px;
    line-height:1.9;
}

.membership-card{
    display:block;
    min-height:0;
    border-radius:19px;
}

.membership-card::after{
    top:0;
    right:0;
    width:100%;
    height:4px;
    transform:scaleX(.25);
}

.membership-card:hover::after{
    transform:scaleX(1);
}

.membership-number{
    top:15px;
    right:15px;
    width:36px;
    height:36px;
}

.membership-image{
    width:100%;
    height:210px;
}

.membership-image-label{
    right:17px;
    bottom:15px;
}

.membership-main{
    display:block;
    padding:23px 21px 20px;
}

.membership-top{
    margin-bottom:11px;
}

.membership-tag{
    margin-bottom:8px;
}

.membership-main h2{
    font-size:20px;
}

.membership-description{
    max-width:none;
    font-size:13px;
    line-height:1.9;
}

.membership-divider{
    width:calc(100% - 42px);
    height:1px;
    margin:0 auto;
}

.membership-side{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:19px 21px 21px;
}

.membership-price{
    flex:0 0 auto;
}

.membership-price span{
    margin-bottom:6px;
}

.membership-price-value strong{
    font-size:25px;
}

.membership-action{
    flex:1;
    max-width:190px;
}

.membership-request-btn{
    min-height:45px;
}


}

@media(max-width:480px){
.membership-side{
align-items:stretch;
flex-direction:column;
gap:15px;
}


.membership-action{
    width:100%;
    max-width:none;
}

.membership-request-btn{
    width:100%;
}


}

@media(max-width:380px){
.membership-image{
height:190px;
}


.membership-main{
    padding:21px 17px 18px;
}

.membership-side{
    padding:17px 17px 18px;
}

.membership-main h2{
    font-size:18px;
}

.membership-description{
    font-size:12px;
}


}
