    /* Custom styles for Dixieland Motorsports */

    /* Smooth scrolling */
    html {
        scroll-behavior: smooth;
    }

    /* Scroll reveal base styles — visible by default for progressive enhancement */
    .reveal-element {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    }

    /* Only apply hidden state when JS is enabled and preference allows */
    @media (prefers-reduced-motion: no-preference) {
        .reveal-element.reveal-hidden {
            opacity: 0;
            transform: translateY(24px);
        }
    }

    /* Hero reveal elements are always visible (above the fold) */
    .reveal-element {
        opacity: 1;
        transform: translateY(0);
    }

    /* Navigation */
    .nav-fixed {
        transition: box-shadow 0.3s ease;
    }

    /* Mobile menu transitions */
    #mobileMenu {
        transition: max-height 0.3s ease, opacity 0.3s ease;
    }

    #mobileMenu.hidden {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
    }

    #mobileMenu:not(.hidden) {
        max-height: 500px;
        opacity: 1;
    }

    .mobile-link {
        display: block;
        padding: 0.5rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .mobile-link:last-child {
        border-bottom: none;
    }

    /* Menu animation */
    .menu-line {
        transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    }

    #menuToggle.active .menu-line:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    #menuToggle.active .menu-line:nth-child(2) {
        opacity: 0;
    }

    #menuToggle.active .menu-line:nth-child(3) {
        width: 24px;
        transform: rotate(-45deg) translate(5px, -5px);
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }

    ::-webkit-scrollbar-track {
        background: #050810;
    }

    ::-webkit-scrollbar-thumb {
        background: #1a2744;
        border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: #2dd4a0;
    }

    /* Selection color */
    ::selection {
        background: #2dd4a0;
        color: #050810;
    }

    /* Form focus styles */
    input:focus, textarea:focus {
        outline: none;
    }

    /* Button hover lift */
    a:hover {
        transition: all 0.2s ease;
    }

    /* Image loading placeholder */
    img {
        background-color: #dce6f0;
    }

    /* Print styles */
    @media print {
        nav, #contactForm, #formSuccess {
            display: none;
        }

        body {
            color: #000;
            background: #fff;
        }

        .bg-midnight-900, .bg-midnight-800 {
            background: #fff !important;
            color: #000 !important;
        }
    }
