/* ==============================================
   HOME SERVICES GRID
============================================== */

.services-section {
    padding: 96px 0;
    background: var(--color-surface, #F9FAFB);
}

/* Section Heading */
.services-section .section-heading {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 56px;
}

.services-section .section-heading h2 {
    font-size: clamp(1.75rem, 2.5vw, 2.25rem);
    font-weight: 700;
    color: var(--color-navy, #111827);
    margin: 0.4rem 0 0.75rem;
    line-height: 1.25;
}

.services-section .section-heading p {
    font-size: 1rem;
    color: var(--color-muted, #6B7280);
    line-height: 1.7;
    margin: 0;
}

/* Grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 56px;
    align-items: stretch;
}

/* Card */
.service-card {
    background: #fff;
    border: 1px solid var(--color-border, #E5E7EB);
    border-radius: 14px;
    padding: 32px 28px;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}

.service-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    border-color: rgba(0,0,0,.12);
    transform: translateY(-4px);
}

/* Accent line */
.service-card::before{
    content:"";
    position:absolute;
    left:0;
    top:16px;
    bottom:16px;
    width:3px;
    border-radius:0 3px 3px 0;
    background:var(--card-accent,#0057FF);
    opacity:0;
    transition:.25s;
}

.service-card:hover::before{
    opacity:1;
}

/* Header */
.service-card-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:20px;
}

/* Icon */
.service-icon-wrap{
    width:48px;
    height:48px;
    border-radius:12px;
    background:color-mix(in srgb,var(--card-accent,#0057FF) 10%,transparent);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--card-accent,#0057FF);
}

@supports not (background: color-mix(in srgb, red 10%, white)){
    .service-icon-wrap{
        background:rgba(0,87,255,.1);
    }
}

.service-icon-wrap svg{
    width:24px;
    height:24px;
}

.service-card-num{
    font-size:.75rem;
    font-weight:700;
    color:#9CA3AF;
}

/* Title */
.service-card h3{
    font-size:1.125rem;
    font-weight:700;
    line-height:1.4;
    color:#111827;
    margin:0 0 14px;
}

/* Description */
.service-card>p{
    font-size:.9rem;
    color:#6B7280;
    line-height:1.7;
    margin:0 0 18px;
    flex:1;
}

/* List */
.service-sub-list{
    list-style:none;
    padding:14px 0 0;
    margin:0 0 22px;
    display:flex;
    flex-direction:column;
    gap:8px;
    border-top:1px solid #E5E7EB;
}

.service-sub-list li{
    position:relative;
    padding-left:15px;
    font-size:.85rem;
    color:#6B7280;
    line-height:1.6;
    font-weight:500;
}

.service-sub-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--card-accent,#0057FF);
}

/* Link */
.service-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:auto;
    color:var(--card-accent,#0057FF);
    font-size:.9rem;
    font-weight:600;
    text-decoration:none;
    transition:.25s;
}

.service-link:hover{
    gap:10px;
}

.service-link svg{
    transition:.25s;
}

.service-link:hover svg{
    transform:translateX(3px);
}

/* Footer */
.services-footer{
    text-align:center;
}

.services-footer p{
    margin-bottom:16px;
    color:#6B7280;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1400px){

    .services-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:82px;
    }

}

@media (max-width:1200px){

    .services-section{
        padding:80px 0;
    }

    .services-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:22px;
    }

}

@media (max-width:991px){

    .services-section{
        padding:70px 0;
    }

    .services-section .container{
        padding-inline:24px;
    }

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

    .service-card{
        padding:28px 24px;
    }

}

@media (max-width:767px){

    .services-section{
        padding:60px 0;
    }

    .services-section .container{
        padding-inline:20px;
    }

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

    .services-section .section-heading h2{
        font-size:30px;
    }

    .services-section .section-heading p{
        font-size:15px;
    }

    .services-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .service-card{
        padding:24px;
        border-radius:16px;
    }

    .service-card h3{
        font-size:20px;
    }

    .service-card>p,
    .service-sub-list li,
    .service-link{
        font-size:15px;
    }

}

@media (max-width:480px){

    .services-section{
        padding:50px 0;
    }

    .services-section .container{
        padding-inline:16px;
    }

    .services-grid{
        gap:18px;
    }

    .service-card{
        padding:22px;
    }

    .service-icon-wrap{
        width:44px;
        height:44px;
    }

    .service-icon-wrap svg{
        width:22px;
        height:22px;
    }

}

@media (max-width:360px){

    .services-section .container{
        padding-inline:14px;
    }

    .service-card{
        padding:20px;
    }

}