/* Custom font family */
:root {
    font-family: 'Inter', sans-serif;
}
/* Custom background gradient matching the dark/teal aesthetic */
.bg-hero {
    /* Targeting a dark, professional, and trustworthy aesthetic */
    background: radial-gradient(at 0% 0%, #1a202c 0%, #083344 50%, #0f172a 100%);
}
/* Custom scrollbar style */
body::-webkit-scrollbar {
    width: 8px;
}
body::-webkit-scrollbar-track {
    background: #0f172a;
}
body::-webkit-scrollbar-thumb {
    background-color: #0d9488;
    border-radius: 4px;
}
/* Styling for the testimonial cards */
.testimonial-card {
    display: flex;
    flex-direction: column;
    background-color: #1f2937; /* Gray-800 */
    border-radius: 1rem; /* rounded-xl */
    padding: 1.5rem; /* p-6 */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-2xl */
    transition: all 0.3s ease-in-out;
    border-top: 3px solid #0d9488; /* Teal-600 */
}
.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(13, 148, 136, 0.1), 0 10px 10px -5px rgba(13, 148, 136, 0.04);
}

/* --- BLOOM EFFECT (CSS/HTML Implementation) --- */

/* Custom keyframes for the blob movement */
@keyframes blob {
    0%, 100% {
        transform: translate(0px, 0px) scale(1);
    }
    33% {
        transform: translate(30vw, -50vh) scale(1.1);
    }
    66% {
        transform: translate(-20vw, 20vh) scale(0.9);
    }
}

/* Base styles for the bloom container */
.bloom-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -10; /* Behind everything */
    pointer-events: none; /* Ignore mouse events */
    overflow: hidden; /* Prevent horizontal scroll from movement */
}

/* Base styles for a single blob */
.blob {
    position: absolute;
    border-radius: 9999px; /* rounded-full */
    filter: blur(128px); /* heavy blur for the "bloom" effect */
    opacity: 0.2; /* Subtle visibility */
    animation: blob 16s infinite alternate; /* Slower, smoother movement */
    background: radial-gradient(circle, var(--tw-gradient-stops));
}

/* Table Styling for Rate Card */
.rate-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem; /* text-sm */
}
.rate-table th, .rate-table td {
    padding: 0.75rem; /* p-3 */
    text-align: left;
    border-bottom: 1px solid #374151; /* Gray-700 */
}
.rate-table th {
    background-color: #1f2937; /* Gray-800 */
    color: #0d9488; /* Teal-600 */
    font-weight: 700;
    border-top: 1px solid #374151;
}
.rate-table tr:nth-child(even) {
    background-color: #1f2937; /* Gray-800 */
}
.rate-table tr:hover {
    background-color: #374151; /* Gray-700 hover */
}
