@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
body {
    font-family: 'Inter', sans-serif;
}
.gradient-bg {
    background: linear-gradient(135deg, #D5AC70 0%, #0365A9 100%);
}
.gradient-text {
    background: linear-gradient(135deg, #D5AC70 0%, #0365A9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Professional Card Animations */
.card-animated {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(0);
}

.card-animated:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

body.dark-theme .card-animated:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 10px 20px rgba(0, 0, 0, 0.3) !important;
}

.card-image {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform: scale(1);
}

.card-animated:hover .card-image {
    transform: scale(1.1);
}

/* Fade-in animation on scroll */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
    opacity: 0;
}

/* Stats card animations */
.stat-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.stat-card:hover {
    transform: translateY(-5px) scale(1.05);
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Icon animations */
.icon-animated {
    transition: all 0.3s ease;
}

.card-animated:hover .icon-animated {
    transform: scale(1.2) rotate(5deg);
}

/* Smooth transitions for all interactive elements */
* {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* Dark Theme Styles */
body.dark-theme {
    background-color: #1a1a1a;
    color: #e0e0e0;
}

body.dark-theme .bg-white {
    background-color: #2d2d2d !important;
}

body.dark-theme .bg-gray-50 {
    background-color: #252525 !important;
}

body.dark-theme .text-gray-900,
body.dark-theme .text-gray-800 {
    color: #e0e0e0 !important;
}

body.dark-theme .text-gray-700 {
    color: #b0b0b0 !important;
}

body.dark-theme .text-gray-600 {
    color: #a0a0a0 !important;
}

/* Hero section text visibility in dark theme */
body.dark-theme .relative.pt-32 .text-gray-900 {
    color: #ffffff !important;
}

body.dark-theme .relative.pt-32 .text-gray-700 {
    color: #f3f4f6 !important;
}

body.dark-theme .border-gray-200,
body.dark-theme .border-gray-300 {
    border-color: #404040 !important;
}

body.dark-theme .shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2) !important;
}

body.dark-theme .bg-white\/95 {
    background-color: rgba(45, 45, 45, 0.95) !important;
}

body.dark-theme .bg-white\/10 {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .bg-white\/20 {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

/* Secondary color (blue) adjustments for dark theme */
body.dark-theme .bg-blue-100 {
    background-color: rgba(3, 101, 169, 0.2) !important;
}

body.dark-theme .bg-blue-200 {
    background-color: rgba(3, 101, 169, 0.15) !important;
}

body.dark-theme .text-blue-600 {
    color: #1A7BB8 !important;
}

body.dark-theme .text-blue-100 {
    color: rgba(3, 101, 169, 0.8) !important;
}

body.dark-theme .text-blue-200 {
    color: rgba(3, 101, 169, 0.6) !important;
}

body.dark-theme .border-blue-600 {
    border-color: #1A7BB8 !important;
}

body.dark-theme .hover\:bg-blue-50:hover {
    background-color: rgba(3, 101, 169, 0.1) !important;
}

body.dark-theme .hover\:text-blue-600:hover {
    color: #1A7BB8 !important;
}

/* Hero section overlay - default light mode */
.hero-overlay {
    background-color: rgba(255, 255, 255, 0.5) !important;
}

/* Hero section dark theme adjustments */
body.dark-theme .hero-overlay {
    background-color: transparent !important;
}

/* Ensure video is visible in dark theme */
body.dark-theme video {
    opacity: 1 !important;
    visibility: visible !important;
}

body.dark-theme .dark-theme\:bg-black\/10 {
    background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Ensure video container is visible in dark theme */
body.dark-theme .video-container {
    opacity: 1 !important;
    visibility: visible !important;
}

body.dark-theme .hero-video {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Gradient text dark theme */
body.dark-theme .gradient-text {
    background: linear-gradient(135deg, #E8C99A 0%, #1A7BB8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Stats section gradient background in dark theme */
body.dark-theme .bg-gradient-to-r.from-blue-600.to-purple-600 {
    background: linear-gradient(to right, #0365A9, #D5AC70) !important;
}

/* Card backgrounds in dark theme */
body.dark-theme .bg-gradient-to-br.from-blue-50.to-white {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.1), #2d2d2d) !important;
}

body.dark-theme .bg-gradient-to-br.from-purple-50.to-white {
    background: linear-gradient(to bottom right, rgba(213, 172, 112, 0.1), #2d2d2d) !important;
}

body.dark-theme .bg-gradient-to-br.from-green-50.to-green-100 {
    background: linear-gradient(to bottom right, rgba(213, 172, 112, 0.1), rgba(213, 172, 112, 0.15)) !important;
}

body.dark-theme .bg-gradient-to-br.from-orange-50.to-orange-100 {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.1), rgba(3, 101, 169, 0.15)) !important;
}

body.dark-theme .bg-purple-50 {
    background-color: rgba(213, 172, 112, 0.1) !important;
}

body.dark-theme .bg-purple-100 {
    background-color: rgba(213, 172, 112, 0.2) !important;
}

body.dark-theme .text-purple-600 {
    color: #E8C99A !important;
}

body.dark-theme .text-green-600 {
    color: #E8C99A !important;
}

body.dark-theme .text-orange-600 {
    color: #1A7BB8 !important;
}

/* Footer dark theme */
body.dark-theme .bg-gray-900 {
    background-color: #0f0f0f !important;
}

body.dark-theme .border-gray-800 {
    border-color: #2d2d2d !important;
}

/* Gradient backgrounds for dark theme - using attribute selector to match Tailwind classes */
body.dark-theme [class*="from-blue-50"][class*="to-purple-50"] {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.2), rgba(213, 172, 112, 0.2)) !important;
}

body.dark-theme [class*="from-blue-50"][class*="to-white"]:not([class*="to-blue"]):not([class*="to-purple"]):not([class*="to-green"]):not([class*="to-orange"]) {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.2), #2d2d2d) !important;
}

body.dark-theme [class*="from-purple-50"][class*="to-white"]:not([class*="to-blue"]):not([class*="to-purple"]):not([class*="to-green"]):not([class*="to-orange"]) {
    background: linear-gradient(to bottom right, rgba(213, 172, 112, 0.2), #2d2d2d) !important;
}

body.dark-theme [class*="from-blue-50"][class*="to-blue-100"] {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.2), rgba(3, 101, 169, 0.3)) !important;
}

body.dark-theme [class*="from-purple-50"][class*="to-purple-100"] {
    background: linear-gradient(to bottom right, rgba(213, 172, 112, 0.2), rgba(213, 172, 112, 0.3)) !important;
}

body.dark-theme [class*="from-green-50"][class*="to-green-100"] {
    background: linear-gradient(to bottom right, rgba(213, 172, 112, 0.2), rgba(213, 172, 112, 0.3)) !important;
}

body.dark-theme [class*="from-orange-50"][class*="to-orange-100"] {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.2), rgba(3, 101, 169, 0.3)) !important;
}

/* Dark theme for gradient cards with rgba colors */
body.dark-theme [class*="from-[rgba(3,101,169"][class*="to-white"],
body.dark-theme [class*="from-[rgba(3,101,169,0.1)"][class*="to-white"] {
    background: linear-gradient(to bottom right, rgba(3, 101, 169, 0.2), #2d2d2d) !important;
}

body.dark-theme [class*="from-[rgba(213,172,112"][class*="to-white"],
body.dark-theme [class*="from-[rgba(213,172,112,0.1)"][class*="to-white"] {
    background: linear-gradient(to bottom right, rgba(213, 172, 112, 0.2), #2d2d2d) !important;
}

/* Force dark background for cards with gradient that end in white */
body.dark-theme div[class*="bg-gradient-to-br"][class*="to-white"] {
    background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.1), #2d2d2d) !important;
}

/* Ensure all card text is visible in dark theme */
body.dark-theme .bg-white,
body.dark-theme [class*="bg-white"] {
    background-color: #2d2d2d !important;
}

body.dark-theme .text-gray-900 {
    color: #e0e0e0 !important;
}

body.dark-theme .text-gray-800 {
    color: #e0e0e0 !important;
}

body.dark-theme .text-gray-700 {
    color: #b0b0b0 !important;
}

body.dark-theme .text-gray-600 {
    color: #a0a0a0 !important;
}

/* Card specific text visibility */
body.dark-theme .rounded-2xl .text-gray-900,
body.dark-theme .rounded-2xl h3,
body.dark-theme .rounded-2xl h4 {
    color: #ffffff !important;
}

body.dark-theme .rounded-2xl .text-gray-600,
body.dark-theme .rounded-2xl .text-gray-700,
body.dark-theme .rounded-2xl p {
    color: #b0b0b0 !important;
}

/* Insurance Professionals Section Dark Theme */
body.dark-theme section.bg-gray-50 {
    background-color: #1a1a1a !important;
}

body.dark-theme section.bg-gray-50 h2,
body.dark-theme section.bg-gray-50 .text-4xl,
body.dark-theme section.bg-gray-50 h2.text-gray-900 {
    color: #ffffff !important;
}

body.dark-theme section.bg-gray-50 p.text-gray-600,
body.dark-theme section.bg-gray-50 .text-xl.text-gray-600 {
    color: #b0b0b0 !important;
}

/* Scroll to Top Button */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: #0365A9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.scroll-to-top:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    background-color: #025a94;
}

body.dark-theme .scroll-to-top {
    background-color: #0365A9;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

body.dark-theme .scroll-to-top:hover {
    background-color: #1A7BB8;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}
.accent-bg[type="submit"] {
    background-color: #0365A9; /* Tailwind blue-600 */
    color: white;
}
.accent-bg {
    background-color: #0365A9;
    color: white;
}
.accent-color {
    color: #0365A9;
}
.section-title {
    color: #333333;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}
.section-subtitle {
    color: #999999;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.corporate-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(3, 101, 169, 0.2);
}
