/* Custom styles to complement Tailwind */
body {
    margin: 0;
    padding: 0;
    background: linear-gradient(135deg, #1E3A8A 0%, #172554 100%);
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcz4KICAgIDxwYXR0ZXJuIGlkPSJjaXJjdWl0IiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8cGF0aCBkPSJNMTAgMTAgTDEwIDMwIE0zMCAzMCBMMTAgMzAgTTMwIDEwIE0zMCAzMCBNMTAgMTAgTTMwIDEwIiBzdHJva2U9IiMzYjgyZjYiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgb3BhY2l0eT0iMC4xNSIvPgogICAgICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjEwIiByPSIxLjUiIGZpbGw9IiMzYjgyZjYiIG9wYWNpdHk9IjAuMiIvPgogICAgICA8Y2lyY2xlIGN4PSIzMCIgY3k9IjMwIiByPSIxLjUiIGZpbGw9IiMzYj82fYiIG9wYWNpdHk9IjAuMiIvPgogICAgICA8Y2lyY2xlIGN4PSIzMCIgY3k9IjEwIiByPSIxLjUiIGZpbGw9IiMzYjgyZjYiIG9wYWNpdHk9IjAuMiIvPgogICAgICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjMwIiByPSIxLjUiIGZpbGw9IiMzYjgyZjYiIG9wYWNpdHk9IjAuMiIvPgogICAgPC9wYXR0ZXJuPgogIDwvZGVmcz4KICA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2NpcmN1aXQpIi8+Cjwvc3ZnPg==');
    background-repeat: repeat;
    background-attachment: fixed;
    color: #F3F4F6; /* Brighter white for body text */
}

header {
    background-color: #1E3A8A;
    height: 200px; /* Increased height for better logo visibility */
}

header img {
    object-fit: contain;
    object-position: 50% 50%; /* Center the logo */
    width: 100%;
    height: 100%;
}

nav {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

nav a {
    position: relative;
    transition: color 0.3s ease;
}

nav a:hover {
    color: #3B82F6;
}

nav a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -2px;
    left: 0;
    background-color: #3B82F6;
    transition: width 0.3s ease;
}

nav a:hover::after {
    width: 100%;
}

section {
    position: relative;
    z-index: 1;
    margin: 1rem;
    border-radius: 1rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.8s ease forwards;
}

section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.05);
    z-index: -1;
}

#home {
    background: linear-gradient(180deg, #1E40AF 0%, #1E3A8A 100%);
    animation-delay: 0.2s;
}

#services {
    background: linear-gradient(180deg, #1E3A8A 0%, #172554 100%);
    animation-delay: 0.4s;
}

#knowledge {
    background: linear-gradient(180deg, #172554 0%, #1E3A8A 100%);
    animation-delay: 0.6s;
}

#about {
    background: linear-gradient(180deg, #1E3A8A 0%, #172554 100%);
    animation-delay: 0.8s;
}

#contact {
    background: linear-gradient(180deg, #172554 0%, #1E40AF 100%);
    animation-delay: 1s;
}

#services .grid > div {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#services .grid > div:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

footer {
    background-color: #1E3A8A;
    position: relative;
    padding-top: 2rem;
}

footer::before {
    content: '';
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background: linear-gradient(90deg, #3B82F6, #1D4ED8);
}

input, textarea {
    transition: border-color 0.3s;
}

input:focus, textarea:focus {
    outline: none;
    border-color: #3B82F6;
}

button {
    background: linear-gradient(90deg, #3B82F6 0%, #1D4ED8 100%);
    border: none;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.5);
    background: linear-gradient(90deg, #1D4ED8 0%, #3B82F6 100%);
}

h2, h3 {
    color: #FFFFFF; /* Pure white for headings */
}

.font-heading {
    font-family: 'Poppins', sans-serif;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.font-body {
    font-family: 'Roboto', sans-serif;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Media Queries for Responsiveness */
@media (max-width: 768px) {
    header {
        height: 150px; /* Reduced height for mobile */
    }
    nav ul {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }
    nav ul li {
        margin: 0.5rem 0;
    }
    #services .grid {
        grid-template-columns: 1fr; /* Stack service cards on mobile */
    }
}

@media (max-width: 480px) {
    header {
        height: 120px; /* Further reduce for smaller screens */
    }
    h2 {
        font-size: 2rem; /* Adjust heading size for mobile */
    }
}