    /* Custom styles that go beyond Tailwind */

    * {
        scroll-behavior: smooth;
    }

    body {
        font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    /* Nav scroll state */
    .nav-scrolled {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 50;
        background: rgba(253, 252, 248, 0.85);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border-bottom: 1px solid rgba(234, 226, 200, 0.5);
        box-shadow: 0 1px 20px rgba(5, 95, 70, 0.06);
    }

    /* Mobile menu */
    #mobile-menu {
        animation: slideDown 0.25s ease-out;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .mobile-nav-link {
        display: block;
        padding: 0.5rem 0;
        border-bottom: 1px solid rgba(234, 226, 200, 0.5);
    }

    /* Service cards */
    .service-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .service-card:hover {
        transform: translateY(-4px);
    }

    /* Reveal animations — progressive enhancement */
    @media (prefers-reduced-motion: no-preference) {
        .reveal {
            opacity: 1;
            transform: translateY(0);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }

        .reveal.revealed {
            opacity: 0;
            transform: translateY(24px);
        }
    }

    /* Ensure all content is visible by default (no JS gate) */
    .reveal {
        opacity: 1;
        transform: translateY(0);
    }

    /* Subtle gradient border on cards */
    .service-card::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: 2rem;
        padding: 1px;
        background: linear-gradient(135deg, rgba(110, 231, 183, 0.3), rgba(13, 148, 136, 0.1));
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
    }

    .service-card {
        position: relative;
    }

    /* Input focus styles */
    input:focus,
    textarea:focus {
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
    }

    /* Custom selection color */
    ::selection {
        background-color: rgba(16, 185, 129, 0.2);
        color: #064e3b;
    }

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

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

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

    ::-webkit-scrollbar-thumb:hover {
        background: #6ee7b7;
    }

    /* Hero badge animation */
    .hero-badge {
        animation: fadeInUp 0.8s ease-out both;
    }

    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(16px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Staggered hero children */
    h1, p, .flex-row {
        animation: fadeInUp 0.8s ease-out 0.15s both;
    }

    .flex-col {
        animation: fadeInUp 0.8s ease-out 0.3s both;
    }

    .mt-16 {
        animation: fadeInUp 0.8s ease-out 0.45s both;
    }
