/* Custom enhancements to complement Tailwind CSS */
:root {
    --brand-primary: #461E8C;
    --brand-dark: #301263;
    --brand-cream: #F8F3EC;
}

/* Global Heading Font: Lato with Bold / Heavy weights */
h1, h2, h3, h4, h5, h6, .font-heading {
    font-family: 'Lato', sans-serif !important;
}

h1, h2 {
    font-weight: 900 !important;
    letter-spacing: -0.025em;
}

h3, h4 {
    font-weight: 800 !important;
    letter-spacing: -0.015em;
}

h5, h6 {
    font-weight: 700 !important;
}

/* Glassmorphism utility */
.glass-nav {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.glass-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

/* Elegant custom borders & shadows */
.border-subtle {
    border-color: rgba(70, 30, 140, 0.08);
}

.shadow-modern {
    box-shadow: 0 10px 30px -10px rgba(48, 18, 99, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
}

.shadow-modern-hover {
    box-shadow: 0 25px 40px -15px rgba(70, 30, 140, 0.15), 0 8px 16px -4px rgba(0, 0, 0, 0.03);
}

/* Smooth transition defaults */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Section decorative gradients */
.hero-gradient {
    background: radial-gradient(circle at 85% 15%, rgba(70, 30, 140, 0.07) 0%, rgba(255, 255, 255, 0) 65%),
                radial-gradient(circle at 15% 85%, rgba(248, 243, 236, 0.9) 0%, rgba(255, 255, 255, 0) 60%),
                #FAFAFC;
}

.bg-pattern-dots {
    background-image: radial-gradient(rgba(70, 30, 140, 0.15) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
}

/* Gradient text accents */
.text-gradient-brand {
    background: linear-gradient(135deg, #461E8C 0%, #7C3AED 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Details summary removal of default arrow */
details summary::-webkit-details-marker {
    display: none;
}
details summary {
    list-style: none;
}

/* ========================================================
   DARK ANIMATED HERO UTILITIES & KEYFRAMES
   ======================================================== */
@keyframes blob-float-1 {
    0%, 100% {
        transform: translate(0px, 0px) scale(1);
    }
    33% {
        transform: translate(40px, -60px) scale(1.15);
    }
    66% {
        transform: translate(-30px, 30px) scale(0.95);
    }
}

@keyframes blob-float-2 {
    0%, 100% {
        transform: translate(0px, 0px) scale(1);
    }
    33% {
        transform: translate(-50px, 40px) scale(1.12);
    }
    66% {
        transform: translate(35px, -45px) scale(0.9);
    }
}

@keyframes blob-float-3 {
    0%, 100% {
        transform: translate(0px, 0px) scale(1);
    }
    50% {
        transform: translate(30px, 40px) scale(1.2);
    }
}

@keyframes pulse-glow {
    0%, 100% {
        opacity: 0.35;
    }
    50% {
        opacity: 0.7;
    }
}

.animate-blob-1 {
    animation: blob-float-1 16s ease-in-out infinite;
}

.animate-blob-2 {
    animation: blob-float-2 20s ease-in-out infinite;
}

.animate-blob-3 {
    animation: blob-float-3 14s ease-in-out infinite;
}

.animate-pulse-glow {
    animation: pulse-glow 6s ease-in-out infinite;
}

/* Dark Hero Modern Grid Overlay */
.hero-dark-grid {
    background-size: 50px 50px;
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 50%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 50%, transparent 100%);
}

/* Glass card dark style */
.glass-card-dark {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.glass-card-dark:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.22);
}

