.service-cards-container {
        display: flex;
        justify-content: center;
        gap: 30px;
        margin: 50px auto 0;
        flex-wrap: wrap;
        width: 100%;
    }

    .service-card {
        flex: 1;
        min-width: 300px;
        height: 480px;
        border-radius: 12px;
        position: relative;
        overflow: hidden;
        cursor: pointer;
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        text-decoration: none;
        display: block;
    }

    .service-card-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        transition: transform 0.6s ease;
        z-index: 1;
    }

    .service-card-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 100%);
        z-index: 2;
        transition: background 0.5s ease;
    }

    .service-card-content {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 30px 20px;
        z-index: 3;
        color: #ffffff;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .service-card-num {
        font-size: 12px;
        letter-spacing: 2px;
        text-transform: uppercase;
        margin-bottom: 10px;
        color: #e0e0e0;
    }

    .service-card-title {
        font-size: 24px;
        font-family: 'Playfair Display', Georgia, "Times New Roman", serif; 
        margin: 0;
        color: #ffffff;
        transition: transform 0.5s ease;
    }

    .service-card-desc {
        font-size: 15px;
        line-height: 1.6;
        max-height: 0; 
        opacity: 0;
        overflow: hidden;
        margin: 0;
        color: #f0f0f0;
        transition: all 0.5s ease;
    }

    .service-card-arrow {
        margin-top: 20px;
        font-size: 18px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.2);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        transition: transform 0.5s ease, background 0.3s ease;
    }

    /* DESKTOP HOVER EFFECTS */
    @media (min-width: 769px) {
        .service-card:hover .service-card-bg { transform: scale(1.05); }
        .service-card:hover .service-card-overlay { background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(121, 121, 121, 0.85) 100%); }
        .service-card:hover .service-card-desc { max-height: 200px; opacity: 1; margin-top: 15px; }
        .service-card:hover .service-card-arrow { transform: rotate(180deg); background: rgba(187, 207, 165, 1.0); }
    }

    /* MOBILE ALWAYS-ON EFFECTS */
    @media (max-width: 768px) {
        .service-cards-container { 
            flex-direction: column; 
            align-items: center; 
        }
        
        .service-card { 
            width: 100%; 
            max-width: 450px; 
            height: auto; /* Lets the height stretch to fit the text */
            min-height: 480px;
        }

        /* Darken the default mobile gradient so the expanded text is readable */
        .service-card-overlay {
            background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.1) 100%);
        }

        /* Permanently reveal the description text on mobile */
        .service-card-desc { 
            max-height: 500px; 
            opacity: 1; 
            margin-top: 15px; 
        }

        /* Keep the arrow rotated and highlighted on mobile to indicate it's a clickable button */
        .service-card-arrow { 
            transform: rotate(180deg); 
            background: rgba(187, 207, 165, 1.0); 
        }
    }