:root {
    --primary-magenta: #e91e63;
    --primary-purple: #9c27b0;
    --accent-cyan: #00bcd4;
    --bg-navy: #011032;
    --bg-darker: #011032;
    --card-glass: rgba(255, 255, 255, 0.03);
    --border-glass: rgba(255, 255, 255, 0.05);
}

@layer base {
    body {
        background-color: var(--bg-navy);
        color: #f3f4f6;
    }
}

.bg-gradient-magenta {
    background: linear-gradient(135deg, var(--primary-magenta) 0%, var(--primary-purple) 100%);
}

.bg-gradient-cyan {
    background: linear-gradient(135deg, var(--accent-cyan) 0%, #2196f3 100%);
}

/* Pink action buttons always use white text for contrast. */
.bg-primary,
.hover\:bg-primary:hover,
a.hover\:bg-primary:hover,
button.hover\:bg-primary:hover {
    color: #fff !important;
}

/* Shared public CTA treatment */
.site-cta {
    background: linear-gradient(135deg, var(--primary-magenta) 0%, var(--primary-purple) 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

.site-cta [class*="md:flex-row"] {
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2rem !important;
    text-align: center !important;
}

.site-cta [class*="md:text-left"] {
    text-align: center !important;
}

.site-cta a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: var(--bg-navy) !important;
    color: #fff !important;
    border-radius: 1rem !important;
    padding: 1.25rem 3rem !important;
}

.site-cta h2,
.site-cta h3 {
    text-transform: uppercase;
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
}

.text-gradient-magenta {
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
}

.glass-card:hover {
    border-color: rgba(233, 30, 99, 0.3);
    background: rgba(255, 255, 255, 0.05);
}

.glow-magenta {
    box-shadow: 0 0 20px rgba(233, 30, 99, 0.2);
}

.glow-cyan {
    box-shadow: 0 0 20px rgba(0, 188, 212, 0.2);
}

/* Floating Animation */
@keyframes float {
    0% { transform: translateY(0px) translateX(0px); }
    50% { transform: translateY(-20px) translateX(10px); }
    100% { transform: translateY(0px) translateX(0px); }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

.animate-float-delayed {
    animation: float 8s ease-in-out infinite;
    animation-delay: 2s;
}

.glass {
    background: rgba(1, 16, 51, 1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
