/* Custom enhancements to complement Tailwind CSS */
:root {
    --brand-primary: #682388;
    --brand-dark: #3C0C51;
    --brand-deeper: #2A0639;
    --brand-light: #3C0C51;
    --brand-hover: #3C0C51;
    --brand-cream: #FAF7F2;
}

/* Global Interactive Link & Hover Colors */
a:hover:not(.text-white):not([class*="text-white"]):not([class*="bg-"]):not([class*="text-gray-"]):not([class*="text-purple-"]) {
    color: #3C0C51;
}

.hover\:text-brand:hover {
    color: #3C0C51 !important;
}

.hover\:bg-brand:hover,
.hover\:bg-brand-light:hover,
.hover\:bg-brand-dark:hover {
    background-color: #3C0C51 !important;
}

/* Global Heading Font & Color: Lato with Bold / Heavy weights and pure Black color */
h1, h2, h3, h4, h5, h6, .font-heading {
    font-family: 'Lato', sans-serif !important;
    color: #000000 !important;
}

/* Ensure headings inside dark containers or explicitly white remain white */
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6,
h1.text-white, h2.text-white, h3.text-white, h4.text-white, h5.text-white, h6.text-white,
[class*="bg-[#3C0C51]"] h1, [class*="bg-[#3C0C51]"] h2, [class*="bg-[#3C0C51]"] h3, [class*="bg-[#3C0C51]"] h4, [class*="bg-[#3C0C51]"] h5, [class*="bg-[#3C0C51]"] h6,
.bg-brand-dark h1, .bg-brand-dark h2, .bg-brand-dark h3, .bg-brand-dark h4, .bg-brand-dark h5, .bg-brand-dark h6,
.bg-brand-deeper h1, .bg-brand-deeper h2, .bg-brand-deeper h3, .bg-brand-deeper h4, .bg-brand-deeper h5, .bg-brand-deeper h6,
.bg-brand h1, .bg-brand h2, .bg-brand h3, .bg-brand h4, .bg-brand h5, .bg-brand h6 {
    color: #ffffff !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(104, 35, 136, 0.08);
}

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

.shadow-modern-hover {
    box-shadow: 0 25px 40px -15px rgba(104, 35, 136, 0.16), 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(104, 35, 136, 0.08) 0%, rgba(255, 255, 255, 0) 65%),
                radial-gradient(circle at 15% 85%, rgba(250, 247, 242, 0.9) 0%, rgba(255, 255, 255, 0) 60%),
                #FAFAFC;
}

.bg-pattern-dots {
    background-image: radial-gradient(rgba(104, 35, 136, 0.15) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
}

/* Gradient text accents */
.text-gradient-brand {
    background: linear-gradient(135deg, #682388 0%, #A855D8 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);
}

