/* Import Montserrat font */
        @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
        
        /* HubSpot Module CSS */
        .card-module {
            font-family: 'Montserrat', sans-serif;
            background-color: #ffffff; !important
            padding: 3rem 2rem;
            border-radius: 15px;
            max-width: 100%;
            margin: 0 auto;
        }
        
        .cards-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
            gap: 1.5rem;
            max-width: 75rem;
            margin: 0 auto;
        }
        
        .card {
            background-color: #ffffff; !important
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: none;
            border: none;
            outline: none;
            display: flex;
            flex-direction: column;
            min-height: 100%;
        }
        
        .card-image {
            width: 100%;
            height: 12rem;
            border-radius: 8px;
            margin-bottom: 1rem;
            overflow: hidden;
            position: relative;
        }
        
        .card-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            border-radius: 8px;
        }
        
        .card-image-placeholder {
            width: 100%;
            height: 100%;
            background-color: #e0e0e0;
            border-radius: 8px;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .card-image-placeholder::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 30%;
            width: 1rem;
            height: 1rem;
            background-color: white;
            border-radius: 50%;
            transform: translateY(-50%);
        }
        
        .card-image-placeholder::after {
            content: '';
            position: absolute;
            bottom: 20%;
            left: 20%;
            right: 20%;
            height: 60%;
            background-color: white;
            border-radius: 0 0 0.125rem 0.125rem;
            clip-path: polygon(0% 100%, 30% 60%, 50% 80%, 70% 40%, 100% 100%);
        }
        
        .card-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.75rem;
            font-size: 0.875rem;
            color: #00345D;
        }
        
        .card-title {
            font-size: 1.25rem;
            font-weight: bold;
            color: #00345D;
            margin-bottom: 1rem;
            line-height: 1.3;
        }
        
        .card-description {
            color: #000000;
            line-height: 1.5;
            font-size: 0.9rem;
            flex-grow: 1;
            margin-bottom: 1rem;
        }
        
        .card-cta {
            margin-top: auto;
            padding-top: 1rem;
        }
        
        .card-cta-button {
            display: inline-block;
            background-color: #00345D;
            color: white;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.875rem;
            transition: background-color 0.3s ease;
            border: none;
            cursor: pointer;
        }
        
        .card-cta-button:hover {
            background-color: #2D557F;
            color: #ffffff !important;
            text-decoration: none;
        }
        
        /* Desktop: Maximum 3 cards per row */
        @media (min-width: 768px) {
            .cards-container {
                grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
                grid-template-columns: repeat(3, 1fr);
            }
            
            .cards-container[data-count="1"] {
                grid-template-columns: 1fr;
                max-width: 25rem;
            }
            
            .cards-container[data-count="2"] {
                grid-template-columns: repeat(2, 1fr);
                max-width: 50rem;
            }
        }
        
        /* Mobile: 1 card per row */
        @media (max-width: 767px) {
            .card-module {
                padding: 2rem 1rem;
            }
            
            .cards-container {
                grid-template-columns: 1fr;
                gap: 1rem;
            }
            
            .card {
                padding: 1.25rem;
            }
            
            .card-image {
                height: 10rem;
            }
        }
        
        /* Responsive font sizes */
        @media (max-width: 480px) {
            .card-title {
                font-size: 1.125rem;
            }
            
            .card-description {
                font-size: 0.875rem;
            }
        }