:root {
    --color-primary: #0B3D91;
    --color-secondary: #1E88E5;
    --color-accent: #F4F7FB;
    --color-text: #2B2E33;
    --color-white: #FFFFFF;
    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Inter', sans-serif;
}

body {
    font-family: var(--font-body);
    color: var(--color-text);
    line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-primary);
}

a { color: var(--color-secondary); text-decoration: none; }
a:hover { color: var(--color-primary); }

/* ---- Top Bar ---- */
.top-bar {
    background: var(--color-primary);
    color: #fff;
    font-size: 0.85rem;
    padding: 8px 0;
}
.top-bar a { color: #fff; margin-right: 20px; }
.top-bar a:hover { color: var(--color-accent); }
.top-bar i { margin-right: 6px; }

/* ---- Navigation ---- */
.site-navbar {
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s ease;
}
.site-navbar .nav-link {
    font-weight: 500;
    color: var(--color-text);
    margin: 0 8px;
}
.site-navbar .nav-link.active,
.site-navbar .nav-link:hover {
    color: var(--color-secondary);
}
.btn-primary-cta {
    background: var(--color-secondary);
    color: #fff;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 6px;
    border: none;
    transition: background 0.2s ease;
}
.btn-primary-cta:hover {
    background: var(--color-primary);
    color: #fff;
}

/* ---- Hero ---- */
.hero {
    background: linear-gradient(135deg, var(--color-primary), #0a2f6e);
    color: #fff;
    padding: 100px 0;
}
.hero h1 { color: #fff; font-size: 2.6rem; }
.hero p.lead { color: #dce6f5; }

/* ---- Sections ---- */
.section { padding: 80px 0; }
.section-alt { background: var(--color-accent); }

.icon-box {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    height: 100%;
    box-shadow: 0 2px 14px rgba(11,61,145,0.06);
    transition: transform 0.2s ease;
}
.icon-box:hover { transform: translateY(-4px); }
.icon-box i {
    font-size: 1.8rem;
    color: var(--color-secondary);
    margin-bottom: 14px;
}

/* ---- CTA band ---- */
.cta-band {
    background: var(--color-secondary);
    color: #fff;
    padding: 60px 0;
    text-align: center;
}
.cta-band .btn-light-cta {
    background: #fff;
    color: var(--color-primary);
    font-weight: 600;
    padding: 12px 28px;
    border-radius: 6px;
}

/* ---- Contact page ---- */
.contact-card {
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 2px 20px rgba(11,61,145,0.08);
}
.contact-photo {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--color-accent);
}
.contact-info-list li { margin-bottom: 14px; }
.contact-info-list i {
    color: var(--color-secondary);
    width: 24px;
}

/* ---- Footer ---- */
.site-footer {
    background: #0A2F6E;
    color: #cddaf0;
    font-size: 0.92rem;
}
.footer-heading { color: #fff; margin-bottom: 16px; font-weight: 600; }
.footer-desc { color: #b9c8e5; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 8px; }
.footer-links a { color: #cddaf0; }
.footer-links a:hover { color: #fff; }
.footer-contact { list-style: none; padding: 0; margin: 0; }
.footer-contact li { margin-bottom: 10px; }
.footer-contact a { color: #cddaf0; }
.footer-social a {
    display: inline-block;
    width: 34px; height: 34px;
    line-height: 34px;
    text-align: center;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
    color: #fff;
    margin-right: 8px;
}
.footer-bottom {
    background: #082450;
    font-size: 0.85rem;
}
.footer-bottom a { color: #cddaf0; }

/* ---- Breadcrumb ---- */
.breadcrumb-bar { background: var(--color-accent); padding: 16px 0; }

@media (max-width: 991px) {
    .hero { padding: 60px 0; }
    .section { padding: 50px 0; }
}
