.features-section{
    padding:104px 0;
    background:var(--bg);
    text-align:center;
}

.heading-section{
    margin-bottom:70px;
}

.main-title{
    margin:0 0 24px;
    font-size:clamp(2.2rem,3.8vw,3.2rem);
    line-height:1.02;
    letter-spacing:-.03em;
    font-weight:900;
    text-transform:uppercase;
}

.main-title span{
    color:var(--cyan);
}

.subtitle-desc-container{
    max-width:800px;
    margin:0 auto;
}

.subtitle{
    margin:0 0 12px;
    font-size:1.25rem;
    font-weight:500;
    color:var(--muted);
}

.subtitle span{
    font-weight:800;
    color:var(--text);
}

.description{
    margin:0;
    font-size:1.05rem;
    line-height:1.68;
    color:var(--muted);
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:24px;
    justify-items:center;
}

.feature-card{
    width:100%;
    max-width:240px;
    padding:34px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.feature-card:hover{
    transform:translateY(-8px);
    box-shadow:0 16px 32px rgba(0,209,224,.12);
    border-color:rgba(0,209,224,.24);
}

[data-theme="light"] .feature-card{
    background:var(--surface);
    box-shadow:0 8px 20px rgba(0,0,0,.03);
}

.card-icon-wrapper{
    width:65px;
    height:65px;
    margin:0 auto 24px;
    border:2px solid var(--cyan);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--cyan);
    background:rgba(0,209,224,.05);
    transition:all .28s ease;
}

.feature-card:hover .card-icon-wrapper{
    background:var(--cyan);
    color:#000;
    box-shadow:0 0 15px rgba(0,209,224,.22);
}

[data-theme="light"] .feature-card:hover .card-icon-wrapper{
    color:#fff;
}

.card-icon-wrapper svg{
    width:30px;
    height:30px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.card-text{
    margin:0;
    font-size:.96rem;
    line-height:1.56;
    font-weight:600;
    color:var(--text);
}

@media (max-width:1024px){
    .features-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .feature-card{
        max-width:none;
    }
}

@media (max-width:768px){
    .features-section{
        padding:68px 0;
    }

    .heading-section{
        margin-bottom:40px;
    }

    .subtitle{
        font-size:1.08rem;
    }

    .features-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .feature-card{
        padding:26px 18px;
    }
}

@media (max-width:480px){
    .features-grid{
        grid-template-columns:1fr;
    }
}
