/* ============================================================
   BRAND PALETTE
   Primary:   #1a4480  (corporate blue)
   Dark:      #0d1b2a  (deep navy)
   Mid:       #2563a8  (link / hover blue)
   Accent:    #4a90c4  (lighter blue highlight)
   Grey:      #4a5568  (secondary text)
   Light bg:  #f4f6f9
   ============================================================ */

:root {
    --bs-primary:             #1a4480;
    --bs-primary-rgb:         26, 68, 128;
    --bs-link-color:          #1a4480;
    --bs-link-hover-color:    #2563a8;
    --bs-btn-bg:              #1a4480;
    --bs-btn-border-color:    #1a4480;
    --bs-btn-hover-bg:        #153766;
    --bs-btn-hover-border-color: #153766;
}

/* GENERAL */

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Segoe UI", sans-serif;
    color: #212529;
    background-color: #ffffff;
}

/* PAGE HEADER */

.page-header {
    background: #f4f6f9;
    border-bottom: 1px solid #e2e8f0;
    padding: 3rem 0;
}

.page-header h1 {
    color: #0d1b2a;
    font-weight: 700;
}

/* TRUST STRIP */

.trust-strip {
    background: #0d1b2a;
    border-top: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.trust-strip .trust-label {
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
}

.trust-strip .trust-sub {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
}

/* NAVIGATION */

.navbar {
    background-color: #0d1b2a !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.35);
    transition: padding 0.35s ease, box-shadow 0.35s ease;
}

.navbar-logo {
    display: block;
    height: auto;
    max-height: 72px;
    width: auto;
    transition: max-height 0.35s ease;
}

.navbar.scrolled {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
}

.navbar-brand {
    display: flex;
    align-items: center;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.navbar-logo {
    display: block;
    height: auto;
    max-height: 72px;
    width: auto;
    transition: max-height 0.35s ease;
}

.navbar.scrolled .navbar-logo {
    max-height: 40px;
}

.nav-link {
    color: rgba(255,255,255,0.8) !important;
    font-size: 0.925rem;
    letter-spacing: 0.3px;
    transition: color 0.2s;
}

.nav-link:hover,
.nav-link.active {
    color: #ffffff !important;
}

.nav-link.active {
    border-bottom: 2px solid #4a90c4;
}

/* HERO */

.hero {
    min-height: 700px;

    display: flex;
    align-items: center;

    background: linear-gradient(
            135deg,
            rgba(13, 27, 42, 0.92) 0%,
            rgba(26, 68, 128, 0.80) 100%
        ),
        url('../images/hero.avif');

    background-size: cover;
    background-position: center;

    color: #fff;
}

.hero h1 {
    font-weight: 700;
}

.hero p {
    font-size: 1.25rem;
}

/* CARDS */

.service-card {
    transition: all 0.3s ease;
}

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

/* CTA */

.cta-section {
    background: linear-gradient(135deg, #0d1b2a 0%, #1a4480 100%);
    color: #fff;
}

/* FOOTER */

footer {
    background: #0d1b2a;
    border-top: 3px solid #1a4480;
}

.footer-logo {
    height: 80px;
    width: auto;
    display: block;
    opacity: 0.5;
    transition: height 0.7s ease, opacity 0.7s ease;
}

.footer-logo.in-view {
    height: 150px;
    opacity: 1;
}

.footer-heading {
    color: #4a90c4;
    font-size: 0.75rem;
    letter-spacing: 1px;
}

.footer-links li {
    margin-bottom: 0.4rem;
}

.footer-links a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s;
}

.footer-links a:hover {
    color: #ffffff;
}

.footer-social a {
    color: rgba(255,255,255,0.55);
    font-size: 1.25rem;
    text-decoration: none;
    transition: color 0.2s, transform 0.2s;
    display: inline-flex;
}

.footer-social a:hover {
    color: #ffffff;
    transform: translateY(-2px);
}

/* SECTIONS */

section.bg-light,
.bg-light {
    background-color: #f4f6f9 !important;
}

/* FORMS */

.form-control,
.form-select {
    padding: 0.9rem;
    border-color: #cdd5e0;
}

.form-control:focus,
.form-select:focus {
    border-color: #1a4480;
    box-shadow: 0 0 0 0.2rem rgba(26,68,128,0.2);
}
.card-img-top {
    height: 240px;
    object-fit: cover;
}

/* BRAND CARDS */

.brand-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
}

.brand-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(13,27,42,0.12) !important;
}

.brand-card-icon {
    font-size: 0.6rem;
    color: #4a90c4;
    letter-spacing: 6px;
}

/* CONTACT PAGE */

.contact-icon {
    font-size: 1.25rem;
    line-height: 1.5;
    flex-shrink: 0;
}

/* PROSE CONTENT PAGES */

.prose h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0d1b2a;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.prose h3 {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a4480;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

.prose ul {
    padding-left: 1.25rem;
    margin-bottom: 1rem;
}

.prose ul li {
    margin-bottom: 0.35rem;
}

.prose a {
    color: #1a4480;
}

.prose a:hover {
    color: #2563a8;
}

/* RESPONSIVE */

@media (max-width: 991px) {

    .navbar-logo {
        max-height: 48px;
    }

    .navbar.scrolled .navbar-logo {
        max-height: 36px;
    }

}

@media (max-width: 576px) {

    .navbar-logo {
        max-height: 36px;
    }

}    .hero {
        min-height: 500px;
    }

    .hero h1 {
        font-size: 2.2rem;
    }

}