/* General Styles */
html { 
    scroll-padding-top: 5rem; 
}

body { 
    font-family: 'Inter', sans-serif; 
}

/* Header & Navigation */
.dropdown:hover .dropdown-menu { 
    display: block; 
}

.large-logo-wrapper { 
    position: relative; 
    width: 110px; 
    height: 48px; 
    display: flex; 
    align-items: center; 
    z-index: 60; 
}

.large-logo-wrapper img { 
    position: absolute; 
    top: 50%; 
    left: 0; 
    transform: translateY(-50%) scale(2.4); 
    transform-origin: left center; 
    height: 48px; 
    width: auto; 
    max-width: none; 
}

.header-nav { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding-left: 2.25rem; 
}

.header-nav .nav-links-wrapper { 
    flex-grow: 1; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    margin-left: 0; 
    gap: 2rem; 
}

/* Animation Keyframes */
@keyframes fadeIn { 
    from { opacity: 0; } 
    to { opacity: 1; } 
}

@keyframes fadeInSection { 
    from { opacity: 0; transform: translateY(20px); } 
    to { opacity: 1; transform: translateY(0); } 
}

/* Animation Classes */
.fade-in-header,
.fade-in-content {
    animation: fadeIn 0.7s ease-in-out;
}

.fade-in-section {
    animation: fadeInSection 0.7s ease-in-out;
}

/* --- Page Specific Styles --- */

/* index.html */
.hero-bg-video { 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1; 
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.hero-bg-video.visible {
    opacity: 1;
}
.hero-bg-video.top {
    z-index: 2;
}
.hero-content { }
.hero-text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.hero-paragraph-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* services.html */
.service-section { 
    border-bottom: 1px solid #e5e7eb; 
}
.service-section:last-child { 
    border-bottom: none; 
}

/* article.html & white-paper-logistics.html */
.white-paper-content h3 { 
    font-size: 1.875rem; 
    font-weight: 700; 
    color: #1e3a8a; 
    margin-top: 2.5rem; 
    margin-bottom: 1rem; 
    padding-bottom: 0.5rem; 
    border-bottom: 2px solid #dbeafe; 
}
.white-paper-content h4 { 
    font-size: 1.5rem; 
    font-weight: 700; 
    color: #1e3a8a; 
    margin-top: 2rem; 
    margin-bottom: 0.75rem; 
}
.white-paper-content p { 
    font-size: 1.125rem; 
    line-height: 1.75; 
    color: #4b5563; 
    margin-bottom: 1.5rem; 
}
.white-paper-content ul { 
    list-style-type: disc; 
    padding-left: 1.5rem; 
    margin-bottom: 1.5rem; 
    font-size: 1.125rem; 
    color: #4b5563; 
}
.white-paper-content li { 
    margin-bottom: 0.75rem; 
}
.white-paper-content strong { 
    color: #1e3a8a; 
}
.white-paper-content .impact-box { 
    background-color: #eff6ff; 
    border-left: 4px solid #2563eb; 
    padding: 1.5rem; 
    margin-top: 1rem; 
    border-radius: 0.5rem; 
}

/* privacy-policy.html & terms.html */
.policy-content h2 { 
    font-size: 1.875rem; 
    font-weight: 700; 
    color: #1e3a8a; 
    margin-top: 2.5rem; 
    margin-bottom: 1rem; 
    padding-bottom: 0.5rem; 
    border-bottom: 1px solid #e5e7eb; 
}
.policy-content h3 { 
    font-size: 1.25rem; 
    font-weight: 700; 
    color: #111827; 
    margin-top: 1.5rem; 
    margin-bottom: 0.5rem; 
}
.policy-content p, 
.policy-content ul { 
    color: #374151; 
    margin-bottom: 1.5rem; 
    line-height: 1.75; 
}
.policy-content ul { 
    list-style-type: disc; 
    padding-left: 1.5rem; 
}
/* Font size override for policy pages */
.policy-content p, .policy-content ul {
    font-size: 0.95rem;
}