    /* Custom styles for Harris Heating Plumbing */
    
    /* Smooth scroll behavior */
    html {
        scroll-behavior: smooth;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: #f1f5f9;
    }
    ::-webkit-scrollbar-thumb {
        background: #94a3b8;
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #64748b;
    }

    /* Navbar scroll effect */
    #navbar.scrolled {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(12px);
        box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
    }

    /* Nav link hover animation */
    .nav-link {
        position: relative;
    }

    .nav-link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 2px;
        background: #0d9488;
        border-radius: 1px;
        transition: all 0.2s ease;
        transform: translateX(-50%);
    }

    .nav-link:hover::after {
        width: 60%;
    }

    /* Service card stagger animation */
    .service-card {
        opacity: 0;
        transform: translateY(24px);
    }

    .service-card.visible {
        animation: fadeUp 0.6s ease forwards;
    }

    /* Area tag animation */
    .area-tag {
        opacity: 0;
        transform: scale(0.95);
    }

    .area-tag.visible {
        animation: popIn 0.4s ease forwards;
    }

    /* Keyframe animations */
    @keyframes fadeUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes popIn {
        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    /* Hero image float animation */
    @keyframes float {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
    }

    /* Back to top button visibility */
    #back-to-top.show {
        opacity: 1;
        pointer-events: all;
    }

    /* Mobile menu transition */
    #mobile-menu {
        animation: slideDown 0.3s ease;
    }

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

    /* Form input focus style */
    input:focus,
    select:focus,
    textarea:focus {
        box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.1);
    }

    /* Responsive adjustments */
    @media (max-width: 640px) {
        #hero h1 {
            font-size: 2.25rem;
        }

        .service-card {
            padding: 1.5rem;
        }

        #contact .bg-white {
            margin-top: 1rem;
        }
    }

    /* Print styles */
    @media print {
        #navbar,
        #back-to-top,
        .service-card,
        .area-tag {
            display: none;
        }
    }
