       .project-item {
            position: relative;
            overflow: hidden;
            cursor: pointer;
        }

        .project-item img {
            transition: transform 0.5s;
        }

        .project-item:hover img {
            transform: scale(1.1);
        }

        .project-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            opacity: 0;
            transition: opacity 0.3s;
        }

        .project-item:hover .project-overlay {
            opacity: 1;
        }

        .project-overlay h4 {
            color: #fff;
            font-size: 1.2rem;
        }

        .service-card {
            position: relative;
            overflow: hidden;
            border-radius: 15px;
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }

        .service-card img {
            height: 280px;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .service-card {
            border-radius: 15px;
            overflow: hidden;
            transition: all 0.4s ease;
            background: #fff;
            border: 1px solid #eee;
        }

        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }

        .image-wrapper {
            position: relative;
            overflow: hidden;
        }

        .image-wrapper img {
            height: 350px;
            object-fit: cover;
            transition: transform 0.6s ease;
        }

        .service-card:hover img {
            transform: scale(1.1);
        }

        .card-overlay {
            position: absolute;
            bottom: -100%;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
            display: flex;
            align-items: end;
            justify-content: center;
            transition: all 0.5s ease;
        }

        .service-card:hover .card-overlay {
            bottom: 0;
        }

        .overlay-content {
            color: #fff;
            padding-bottom: 20px;
        }

        .overlay-content h6 {
            letter-spacing: 1px;
            font-weight: 600;
        }


        @media (max-width: 768px) {
            .image-wrapper img {
                height: 280px;
            }
        }


           /* Star rating (no external icons) */
        .rating {
            --rating: 4;
            /* default (0–5) — override per element */
            display: inline-block;
            font-size: 1.1rem;
            /* change size as needed */
            line-height: 1;
            font-family: Arial, sans-serif;
            position: relative;
            color: #dcdcdc;
            /* empty star color */
            letter-spacing: 3px;
            margin-top: 0.5rem;
        }

        /* base (empty) stars */
        .rating::before {
            content: "★★★★★";
            display: block;
        }

        /* filled stars overlay, width controlled by --rating */
        .rating::after {
            content: "★★★★★";
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            overflow: hidden;
            white-space: nowrap;
            width: calc(var(--rating) / 5 * 100%);
            color: #f5c518;
            /* filled star color (gold) */
            pointer-events: none;
        }

        /* optional: small numeric label next to stars */
        .rating+.rating-value {
            margin-left: 0.5rem;
            font-size: 0.95rem;
            color: #555;
        }