body {
            background: #f8fafc;
        }

        .ps-card {
            background: #fff;
            border-radius: 12px;
            padding: 1.1rem;
            box-shadow: 0 8px 22px rgba(12, 35, 64, 0.06);
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
        }

        @media(min-width:768px) {
            .gallery-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media(min-width:1200px) {
            .gallery-grid {
                grid-template-columns: repeat(4, 1fr);
            }
        }

        .image-card {
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 8px 22px rgba(12, 35, 64, 0.08);
            overflow: hidden;
            border: 1px solid #e8e8e8;
        }

        .image-card img {
            width: 100%;
            height: 170px;
            object-fit: cover;
        }

        .image-desc {
            padding: 8px;
            font-size: .85rem;
            color: #6c757d;
            text-align: center;
            min-height: 40px;
        }