/* ================= ROOT VARIABLES ================= */
:root {
    --mecri-blue: #003087;
    --mecri-blue-light: #0056b3;
    --mecri-dark: #001f4d;

    --mecri-green-soft: #eaf4ef;

    --mecri-bg: #f8fafc;
    --mecri-white: #ffffff;
    --mecri-text: #1f2d3d;
    --mecri-text-muted: #6c7a89;

    --mecri-border: #e5e9f2;

    --mecri-accent: #00a86b;

    --navbar-height: 90px;
}

/* ================= GLOBAL BASE ================= */
body {
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: var(--mecri-text);
    background-color: var(--mecri-bg);

    /* IMPORTANT: no more offset padding */
    padding-top: 0;
}

/* Headings */
h1, h2, h3, h4, h5 {
    font-weight: 700;
    color: var(--mecri-blue);
}

/* Paragraphs */
p {
    color: var(--mecri-text-muted);
    line-height: 1.6;
}

/* ================= NAVBAR (FIXED PROPERLY) ================= */
.navbar {
    background-color: var(--mecri-blue);

    height: 90px; /* 🔥 HARD FIX (not min-height) */
    padding: 0;

    display: flex;
    align-items: center;

    position: sticky;
    top: 0;
    z-index: 9999;

    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.navbar-brand {
    font-weight: 700;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    height: 100%;
}

.navbar-nav .nav-link {
    font-size: 1.02rem;
    padding: 0.6rem 1rem;
    white-space: nowrap;
}

/* ================= SECTIONS ================= */
.section {
    padding: 80px 0;
}

.section-light {
    background: var(--mecri-bg);
}

.section-white {
    background: var(--mecri-white);
}

.section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 40px;
    text-align: center;
    color: var(--mecri-text);
}

/* ================= CARDS ================= */
.mecri-card {
    background: var(--mecri-white);
    border: 1px solid var(--mecri-border);
    border-radius: 14px;
    padding: 20px;
    transition: all 0.3s ease;
    height: 100%;
}

.mecri-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.08);
}

/* ================= BUTTONS ================= */
.btn-mecri {
    background-color: var(--mecri-blue);
    color: white;
    border-radius: 8px;
    padding: 12px 28px;
    font-weight: 600;
    border: none;
    transition: all 0.25s ease;
}

.btn-mecri:hover {
    background-color: var(--mecri-blue-light);
    transform: translateY(-2px);
}

.btn-mecri-outline {
    border: 2px solid var(--mecri-blue);
    color: var(--mecri-blue);
    background: transparent;
    border-radius: 8px;
    padding: 12px 28px;
    font-weight: 600;
}

.btn-mecri-outline:hover {
    background: var(--mecri-blue);
    color: white;
}

/* ================= FOOTER ================= */
footer {
    background-color: #1a1a1a;
}

/* ================= LOGO ================= */
.mecri-logo {
    max-height: 78px;
    width: auto;
    max-width: 340px;
    object-fit: contain;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 992px) {

    .mecri-logo {
        max-height: 68px;
        max-width: 290px;
    }
}

@media (max-width: 768px) {

    .navbar-brand {
        margin-right: 10px;
    }

    .mecri-logo {
        max-height: 62px;
        max-width: 260px;
    }
}