/* Custom styles and overrides */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #fdf2f4; /* Fallback */
}

/* Custom Geometric Shapes for decoration */
.shape-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    z-index: -1;
}

/* Ensure text contrast is high enough on all backgrounds */
.bg-burgundy-900 h2,
.bg-burgundy-900 h3,
.bg-burgundy-900 p {
    color: #ffffff;
}

/* Animation utilities */
.fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) {
    .btn-hover {
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .btn-hover:active {
        transform: translateY(2px);
    }
}
