html {
    scroll-behavior: smooth;
}

.safe-area-pb {
    padding-bottom: env(safe-area-inset-bottom);
}

/* Hero Gradient Overlay */
.hero-overlay {
    background: linear-gradient(to bottom, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.7) 100%);
}

/* Premium Text Gradient */
.text-gradient-gold {
    background: linear-gradient(135deg, #C5A065 0%, #E5C585 50%, #C5A065 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Modal Animation */
@keyframes modalFadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.modal-content {
    animation: modalFadeIn 0.3s ease-out forwards;
}

/* Section Padding */
section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

/* Morphing Text Effect */
@keyframes morphIn {
    0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }
    100% {
        filter: blur(0px);
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.animate-morph {
    animation: morphIn 2.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* Fade In Up Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

.font-script {
    font-family: 'Pinyon Script', cursive;
}
