 body {
            font-family: 'Inter', sans-serif;
            --color-primary: #0a3161;
            --color-primary-dark: #072247;
            --color-text-on-dark: #FFFFFF;
            --color-text-on-light: #000000;
            --color-light-bg: #F9FAFB;
            --color-white: #FFFFFF;
            --color-black: #000000;
            --color-border: #E5E7EB; 
            --color-form-input-border: #6b7280; 
            --color-form-input-focus-border: #FFFFFF;
            --color-placeholder: #d1d5db; 
            --color-footer-bg: #111827;
            --color-footer-text: #D1D5DB;
            --color-footer-link-hover: #FFFFFF;
        }
        .bg-primary { background-color: var(--color-primary); }
        .text-primary { color: var(--color-primary); }
        .hover\:bg-primary-dark:hover { background-color: var(--color-primary-dark); }
        .border-primary { border-color: var(--color-primary); }

        .bg-light { background-color: var(--color-light-bg); }
        .text-body-on-light { color: var(--color-text-on-light); }
        .text-body-on-dark { color: var(--color-text-on-dark); }

        .bg-footer { background-color: var(--color-footer-bg); }
        .text-footer { color: var(--color-footer-text); }
        .hover\:text-footer-link-hover:hover { color: var(--color-footer-link-hover); }

        html {
            scroll-behavior: smooth;
        }

        .fade-in-up {
            animation: fadeInUp 0.8s ease-out forwards;
            opacity: 0;
        }
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        .fade-in-up-delay-1 { animation-delay: 0.2s; }
        .fade-in-up-delay-2 { animation-delay: 0.4s; }
        .fade-in-up-delay-3 { animation-delay: 0.6s; } 
        .fade-in-up-delay-form { animation-delay: 0.8s; }


        .section-padding {
            padding-top: 4rem;
            padding-bottom: 4rem;
        }

          .section-padding-sm {
            padding-top: 2rem;
            padding-bottom: 3rem;
        }

        @media (min-width: 768px) {
            .section-padding {
                padding-top: 6rem;
                padding-bottom: 6rem;
            }
        }
        .rounded-card {
            border-radius: 0.75rem;
        }
        .rounded-button {
            border-radius: 0.5rem;
        }
        .nav-link {
            @apply px-3 py-2 text-sm font-medium text-white hover:bg-primary-dark rounded-md transition-colors duration-150 ease-in-out;
        }
        #mobile-menu {
            transform: translateX(100%);
            transition: transform 0.3s ease-in-out;
        }
        #mobile-menu.open {
            transform: translateX(0);
        }
        .mobile-menu-link {
            @apply block text-center text-xl font-bold text-white py-4 hover:bg-primary-dark rounded-md transition-colors duration-150 ease-in-out;
        }
        .mobile-menu-contact-link {
            @apply block w-full max-w-xs mx-auto text-center mt-6 py-3 px-6 text-lg font-semibold bg-white text-primary rounded-md hover:bg-gray-100 transition-colors duration-150 ease-in-out shadow-md ring-1 ring-inset ring-gray-300 hover:ring-gray-400;
        }
        body.mobile-menu-open {
            overflow: hidden;
        }
       
        .hero-form input[type="text"],
        .hero-form input[type="email"],
        .hero-form input[type="tel"],
        .hero-form select,
        .hero-form textarea {
            width: 100%;
            padding-top: 0.75rem; padding-bottom: 0.75rem; padding-left: 1rem; padding-right: 1rem;
            border-radius: 0.375rem;
            border: 1px solid var(--color-form-input-border);
            background-color: rgba(255, 255, 255, 0.1);
            color: var(--color-white);
            transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        }

        .hero-form input[type="text"]::placeholder,
        .hero-form input[type="email"]::placeholder,
        .hero-form input[type="tel"]::placeholder,
        .hero-form textarea::placeholder {
            color: var(--color-placeholder);
            opacity: 1;
        }
        
        .hero-form select {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23cccccc' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
            background-position: right 0.5rem center;
            background-repeat: no-repeat;
            background-size: 1.5em 1.5em;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            padding-right: 2.5rem;
        }
        .hero-form select option {
            color: var(--color-black);
            background-color: var(--color-white);
        }

        .hero-form input[type="text"]:focus,
        .hero-form input[type="email"]:focus,
        .hero-form input[type="tel"]:focus,
        .hero-form select:focus,
        .hero-form textarea:focus {
            background-color: rgba(255, 255, 255, 0.2);
            outline: none;
            border-color: var(--color-form-input-focus-border);
            box-shadow: 0 0 0 1px var(--color-form-input-focus-border);
        }
        .hero-form textarea {
            min-height: 100px;
        }
        .hero-form label {
            display: block;
            font-size: 0.875rem;
            font-weight: 500;
            color: var(--color-placeholder);
            margin-bottom: 0.25rem;
            text-align: left;
        }

        .typing-container {
            display: inline-block;
            min-height: 1.2em; 
        }
        @media (min-width: 640px) { 
            .typing-container {
                min-height: 2.4em; 
            }
        }
         @media (min-width: 768px) { 
            .typing-container {
                min-height: 3.6em; 
            }
        }


        .typed-text-cursor-span { 
            overflow: hidden; 
            border-right: .15em solid var(--color-white); 
            white-space: nowrap; 
            margin: 0 auto; 
            letter-spacing: .05em; 
            animation: 
                typing 3.5s steps(60, end) forwards, 
                blink-caret .75s step-end infinite;
            animation-delay: 0.5s; 
            display: inline-block; 
        }

        @keyframes typing {
            from { width: 0 }
            to { width: 100% }
        }

        @keyframes blink-caret {
            from, to { border-color: transparent }
            50% { border-color: var(--color-white); }
        }
        
        .header-contact-info {
            @apply text-xs text-gray-300 text-right ml-6 hidden lg:block;
        }
        .header-contact-info a {
            @apply text-sm text-white;
        }
        .header-social-icons {
            @apply flex space-x-4 ml-6 hidden lg:flex;
        }
        .header-social-icons a {
            @apply text-gray-300 hover:text-white transition-colors text-base;
        }

          .mega-menu-container-styles {
            position: absolute;
            left: 0; 
            top: 100%; 
            background-color: #FFFFFF; 
            box-shadow: 0 8px 16px rgba(0,0,0,0.15);
            z-index: 50; 
            padding: 2rem; 
            border-bottom-left-radius: 0.5rem; 
            border-bottom-right-radius: 0.5rem; 
            border-top: 1px solid #e5e7eb; 
        }
        
         .nav-link-mega-button .fa-angle-down {
            transition: transform 0.2s ease-in-out;
            margin-left: 0.25rem;
         }
        .group:hover .nav-link-mega-button .fa-angle-down {
            transform: rotate(180deg);
        }


#header{
    /* background-color: yellow; */
    background-image: url('../images/header-bg.png');
}