:root {
    --theme-red: #b3221f;
    /* Darker red for better contrast */
    --theme-blue: #004c87;
    /* Brighter dark blue for accessibility */
    --theme-red-dark: #9e1d1a;
    /* Hover/darker version of red */
}

html,
body {
    height: 100%;
    margin: 0;
}

body {
    font-size: 14px;
    font-family: 'plus-jakarta-sans-regular', Arial, Helvetica, sans-serif;
    font-size: 14px;
}

.container {
    max-width: 1199px;
}

.navbar-light .navbar-nav .show>.nav-link,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--theme-blue);
}

.fw-bolder,
h1,
h2,
h3 {
    font-family: 'plus-jakarta-sans-bold', Arial, Helvetica, sans-serif;
}

.fw-bold,
h4,
h5,
h6 {
    font-family: 'plus-jakarta-sans-semibold', Arial, Helvetica, sans-serif;
}

.fw-midum {
    font-family: 'plus-jakarta-sans-medium', Arial, Helvetica, sans-serif;
}

/* Backgrounds */
.theme-bg {
    background: var(--theme-red);
}

.theme-bg-blue {
    background: var(--theme-blue);
}

/* Text Colors */
.theme-color {
    color: var(--theme-red);
}

.theme-color-blue {
    color: var(--theme-blue);
}

/* Gradient Text */
.text-gradient {
    background: -webkit-linear-gradient(-220deg, #0591f1 0%, var(--theme-red) 100%);
    background: -moz-linear-gradient(-220deg, #0591f1 0%, var(--theme-red) 100%);
    background: -o-linear-gradient(-220deg, #0591f1 0%, var(--theme-red) 100%);
    background: linear-gradient(-220deg, #0591f1 0%, var(--theme-red) 100%);

    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
    color: transparent;
}


/* Navbar Background */
nav.navbar {
    background: #f9f6f2;
    /* light color, good contrast with dark text */
}

/* Buttons */
.btn-primary {
    background: var(--theme-red);
    border-color: var(--theme-red);
    color: #ffffff;
}

.btn-primary:hover {
    background: var(--theme-red-dark);
    border-color: var(--theme-red-dark);
    color: #ffffff;
}

/* Feature Icon Circle */
.feature {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    font-size: 1.5rem;
    color: #ffffff;
    background: var(--theme-blue);
}

/* Gradient Background */
.bg-gradient-primary-to-secondary {
    background: #1e30f3;
    background: -webkit-linear-gradient(-220deg, #0591f1 0%, #c9312b 100%);
    background: -moz-linear-gradient(-220deg, #0591f1 0%, #c9312b 100%);
    background: -o-linear-gradient(-220deg, #0591f1 0%, #c9312b 100%);
    background: linear-gradient(-220deg, #0591f1 0%, #c9312b 100%);

}