    *, *::before, *::after {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
        scroll-padding-top: 80px;
    }

    body {
        overflow-x: hidden;
    }

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

    .nav-scrolled {
        box-shadow: 0 4px 30px rgba(10, 26, 43, 0.15);
    }

    /* Mobile Menu */
    #mobile-menu.open {
        max-height: 400px;
    }

    /* Service Cards */
    .service-card {
        position: relative;
        overflow: hidden;
    }

    .service-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, #d4a853, #e8a520);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.3s ease;
    }

    .service-card:hover::before {
        transform: scaleX(1);
    }

    /* Gallery */
    .gallery-item {
        cursor: pointer;
    }

    .gallery-item:hover img {
        transform: scale(1.05);
    }

    /* Testimonial Cards */
    .testimonial-card {
        position: relative;
    }

    .testimonial-card::before {
        content: '"';
        position: absolute;
        top: -10px;
        left: 20px;
        font-size: 80px;
        font-family: 'Playfair Display', serif;
        color: rgba(212, 168, 83, 0.15);
        line-height: 1;
    }

    /* Form */
    input:focus, select:focus, textarea:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(212, 168, 83, 0.2);
    }

    /* Scroll Animations */
    .reveal {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }

    .reveal.hidden {
        opacity: 0;
        transform: translateY(30px);
    }

    /* Reduced Motion */
    @media (prefers-reduced-motion: reduce) {
        html {
            scroll-behavior: auto;
        }

        .reveal.hidden {
            opacity: 1;
            transform: none;
        }

        .gallery-item:hover img {
            transform: none;
        }

        .service-card::before,
        .service-card .w-14,
        .service-card .text-gold-400,
        .service-card .group-hover\:text-navy-950,
        .service-card .group-hover\:bg-gold-500 {
            transition: none;
        }

        .testimonial-card::before {
            transition: none;
        }
    }

    /* Print Styles */
    @media print {
        .nav-fixed,
        #mobile-menu-btn,
        .gallery-item {
            display: none;
        }

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

    /* Selection Color */
    ::selection {
        background-color: rgba(212, 168, 83, 0.3);
        color: #102a43;
    }
