﻿:root {
    --jc-blue: #174485;
    --jc-graphite: #515255;
    --jc-navy: #0C184C;
    --jc-charcoal: #161832;
    --jc-grey-100: #FFFFFF;
    --jc-grey-200: #F5F6F8;
    --jc-grey-400: #ACB1C9;
    --jc-grey-500: #9799A4;
    --jc-grey-700: #646E99;
    --jc-grey-900: #21242E;
    --jc-text: #161832;
    --jc-border: #E3E6EC;
}

html, body {
    color: var(--jc-text);
}

a {
    color: var(--jc-blue);
}

    a:hover {
        color: var(--jc-navy);
    }

.jc-navbar {
    background: #fff;
    border-bottom: 1px solid var(--jc-border);
}

.jc-footer {
    background: var(--jc-charcoal);
    color: #fff;
}

    .jc-footer a {
        color: #fff;
        opacity: .9;
        text-decoration: none;
    }

        .jc-footer a:hover {
            opacity: 1;
            text-decoration: underline;
        }

.btn-jc {
    background: var(--jc-blue);
    border-color: var(--jc-blue);
    color: #fff;
    font-weight: 600;
}

    .btn-jc:hover {
        background: var(--jc-navy);
        border-color: var(--jc-navy);
        color: #fff;
    }

.btn-jc-outline {
    background: transparent;
    border: 2px solid var(--jc-blue);
    color: var(--jc-blue);
    font-weight: 600;
}

    .btn-jc-outline:hover {
        background: var(--jc-blue);
        color: #fff;
    }

.jc-hero {
    background: linear-gradient(180deg, #ffffff 0%, var(--jc-grey-200) 100%);
    border-bottom: 1px solid var(--jc-border);
}

.jc-card {
    border: 1px solid var(--jc-border);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.jc-badge {
    display: inline-block;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(23, 68, 133, .08);
    color: var(--jc-blue);
    font-weight: 600;
    font-size: .9rem;
}

.jc-section {
    padding: 64px 0;
}

.jc-muted {
    color: var(--jc-grey-700);
}

/* Layout polish */
.jc-body {
    background: #fff;
}

/* Top bar */
.jc-topbar {
    background: var(--jc-charcoal);
    color: rgba(255,255,255,.82);
    font-size: .9rem;
    padding: 10px 0;
}

.jc-topbar-link {
    color: rgba(255,255,255,.90);
    text-decoration: none;
}

    .jc-topbar-link:hover {
        color: #fff;
        text-decoration: underline;
    }

.jc-topbar-sep {
    opacity: .35;
}

/* Header / Navbar */
.jc-header {
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    background: #fff;
}

.jc-navbar {
    background: #fff;
    border-bottom: 1px solid var(--jc-border);
}

.jc-logo {
    height: 44px;
    width: auto;
}

.jc-toggler {
    border: 1px solid var(--jc-border);
}

.jc-navlink {
    font-weight: 700;
    color: var(--jc-grey-900);
    border-radius: 999px;
    padding: .55rem .9rem;
}

    .jc-navlink:hover {
        color: var(--jc-blue);
        background: rgba(23, 68, 133, .06);
    }

/* Active link styling (ASP.NET adds 'active' when you set it; otherwise we can do a helper later) */
.nav-link.active {
    color: var(--jc-blue) !important;
    background: rgba(23, 68, 133, .10);
}

/* CTA button spacing */
.jc-quote-btn {
    padding: .65rem 1.05rem;
    border-radius: 999px;
}

/* Footer */
.jc-footer {
    background: var(--jc-charcoal);
    color: #fff;
    margin-top: 0;
}

.jc-logo-footer {
    height: 46px;
    width: auto;
}

.jc-footer-link {
    color: rgba(255,255,255,.90);
    text-decoration: none;
}

    .jc-footer-link:hover {
        color: #fff;
        text-decoration: underline;
    }

.jc-footer-badge {
    display: inline-block;
    padding: .35rem .6rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    color: rgba(255,255,255,.90);
    font-weight: 700;
    font-size: .85rem;
}

/* Focus state polish (keyboard users) */
a:focus, button:focus, .btn:focus, .form-control:focus, .form-select:focus {
    outline: none;
    box-shadow: 0 0 0 .25rem rgba(23, 68, 133, .18);
}
