:root {
    --navy: #0b2d5c;
    --navy-2: #1d5f91;
    --slate: #516072;
    --surface: #f4f7fb;
    --accent: #3b82f6;
    --success: #16a34a;
    --warning: #f59e0b;
    --critical: #dc2626;
}

body.bg-surface {
    background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
    color: #132238;
}

.text-navy { color: var(--navy) !important; }
.text-slate { color: var(--slate) !important; }

.landing-hero {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, .12), transparent 28%),
        radial-gradient(circle at bottom left, rgba(16, 35, 63, .08), transparent 24%);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .8rem;
    border-radius: 999px;
    background: rgba(16, 35, 63, .08);
    color: var(--navy);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.badge-pill {
    display: inline-flex;
    align-items: center;
    padding: .45rem .8rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(16, 35, 63, .08);
    color: var(--navy);
    box-shadow: 0 .25rem 1rem rgba(16, 35, 63, .04);
}

.executive-card {
    border-radius: 1.25rem;
    overflow: hidden;
}

.feature-list {
    margin: 0;
    padding-left: 1.2rem;
    color: var(--slate);
}

.feature-list li + li {
    margin-top: .6rem;
}

.assessment-option {
    min-width: 3rem;
    border-radius: .75rem !important;
}

.stat-card {
    height: 100%;
    background: white;
    border-radius: 1rem;
    padding: 1rem;
    border: 1px solid rgba(16, 35, 63, .08);
}

.stat-label {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--slate);
    margin-bottom: .35rem;
}

.stat-value {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--navy);
}

.site-logo {
    max-height: 56px;
    width: auto;
}

.risk-badge {
    font-weight: 700;
    letter-spacing: .04em;
}

.risk-success { background-color: rgba(22, 163, 74, .12); color: var(--success); border: 1px solid rgba(22, 163, 74, .22); }
.risk-warning { background-color: rgba(245, 158, 11, .16); color: #8a5a00; border: 1px solid rgba(245, 158, 11, .25); }
.risk-orange { background-color: rgba(217, 119, 6, .12); color: #c2410c; border: 1px solid rgba(217, 119, 6, .25); }
.risk-critical { background-color: rgba(220, 38, 38, .12); color: var(--critical); border: 1px solid rgba(220, 38, 38, .25); }

.risk-card {
    border-left: .35rem solid transparent;
}

.risk-success-border { border-left-color: var(--success); }
.risk-warning-border { border-left-color: var(--warning); }
.risk-orange-border { border-left-color: #d97706; }
.risk-critical-border { border-left-color: var(--critical); }

.risk-bar {
    height: .95rem;
}

.heatmap-table .heat-cell {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 100px;
    padding: .35rem .5rem;
    border-radius: .5rem;
    background: linear-gradient(90deg, rgba(59,130,246,.08), rgba(16,35,63,.35));
    color: #10233f;
    font-weight: 700;
}

.heatmap-table td,
.heatmap-table th {
    vertical-align: middle;
}
