/* ==== bureau.css :: OrderScope verification desk :: Signal Navy ==== */
:root {
    --paper: #f4f6f8;
    --sheet: #ffffff;
    --tint: #e9eef4;
    --navy: #10243e;
    --navy-deep: #0a1a2f;
    --ink: #1c2733;
    --mut: #4e5e6e;
    --line: #d7dee6;
    --pass: #1e7d46;
    --pass-deep: #135f37;
    --pass-tint: #e7f3ec;
    --flag: #8a5a07;
    --flag-tint: #f9efdc;
    --risk: #a32a1d;
    --risk-tint: #f8e9e6;
    --f-head: "Libre Franklin", "Libre Franklin Fallback", Arial, sans-serif;
    --f-body: "Public Sans", "Public Sans Fallback", Arial, sans-serif;
}
@font-face {
    font-family: "Libre Franklin Fallback";
    src: local("Arial");
    size-adjust: 96.8%;
    ascent-override: 90%;
    descent-override: 23%;
    line-gap-override: 0%;
}
@font-face {
    font-family: "Public Sans Fallback";
    src: local("Arial");
    size-adjust: 98.6%;
    ascent-override: 92%;
    descent-override: 24%;
    line-gap-override: 0%;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font: 400 1.02rem/1.62 var(--f-body);
}
body.has-railbar { padding-bottom: 92px; }
img { max-width: 100%; height: auto; }
a { color: var(--navy); }
a:focus-visible, button:focus-visible {
    outline: 3px solid var(--pass);
    outline-offset: 2px;
}
.chk-skip {
    position: absolute;
    left: -999px;
    top: 8px;
    background: var(--navy);
    color: #fff;
    padding: 10px 16px;
    z-index: 60;
}
.chk-skip:focus { left: 8px; }
.chk-wrap {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 20px;
}
/* ==== disclosure banner (top of every page, before any offer link) ==== */
.chk-banner {
    background: var(--tint);
    border-bottom: 1px solid var(--line);
    font-size: .86rem;
    color: var(--mut);
    padding: 8px 0;
}
.chk-banner a { color: var(--navy); }
/* ==== header ==== */
.chk-head {
    background: var(--navy);
    color: #fff;
    position: relative;
    z-index: 40;
}
.chk-head .chk-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 66px;
}
.chk-brand {
    color: #fff;
    text-decoration: none;
    font: 800 1.3rem/1.1 var(--f-head);
    letter-spacing: .01em;
}
.chk-brand small {
    display: block;
    font: 600 .64rem/1.2 var(--f-body);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #9fb2c6;
}
.chk-nav { margin-left: auto; }
.chk-nav ul {
    list-style: none;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    align-items: center;
}
.chk-nav a {
    color: #dbe5ee;
    text-decoration: none;
    font-size: .94rem;
}
.chk-nav a:hover { color: #fff; text-decoration: underline; }
.chk-cta {
    background: var(--pass);
    color: #fff !important;
    padding: 9px 16px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none !important;
}
.chk-cta:hover { background: var(--pass-deep); }
.chk-menubtn {
    display: none;
    margin-left: auto;
    background: none;
    border: 2px solid #dbe5ee;
    color: #fff;
    border-radius: 6px;
    font: 600 .9rem var(--f-body);
    padding: 8px 14px;
    cursor: pointer;
}
/* ==== hero ==== */
.chk-hero { padding: 44px 0 36px; }
.chk-hero .chk-wrap {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 36px;
    align-items: start;
}
.chk-kick {
    font: 600 .72rem/1.3 var(--f-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--mut);
    margin: 0 0 10px;
}
h1 {
    font: 800 2.15rem/1.16 var(--f-head);
    color: var(--navy);
    margin: 0 0 10px;
}
.chk-byline {
    font-size: .88rem;
    color: var(--mut);
    margin: 0 0 20px;
}
.chk-figure { margin: 0; text-align: center; }
.chk-figure img { width: 100%; max-width: 360px; }
.chk-figure figcaption {
    font-size: .82rem;
    color: var(--mut);
    margin-top: 8px;
}
/* ==== risk gauge ==== */
.chk-gauge {
    background: var(--sheet);
    border: 1px solid var(--line);
    border-top: 4px solid var(--navy);
    border-radius: 6px;
    padding: 18px 20px 20px;
}
.chk-gauge-label {
    font: 600 .72rem/1.3 var(--f-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--navy);
    margin: 0 0 12px;
}
.chk-gaugerow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px dotted var(--line);
}
.chk-gaugerow > span:first-child { flex: 1 1 220px; font-weight: 600; }
.chk-segs { display: inline-flex; gap: 4px; }
.chk-seg {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .04em;
    padding: 3px 10px;
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--mut);
    background: var(--paper);
}
.chk-seg.is-low { background: var(--pass); border-color: var(--pass); color: #fff; }
.chk-seg.is-high { background: var(--risk); border-color: var(--risk); color: #fff; }
.chk-reading { font-size: .84rem; font-weight: 600; }
.chk-reading.low { color: var(--pass-deep); }
.chk-reading.high { color: var(--risk); }
#audit-finding {
    margin: 16px 0 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
    font-weight: 600;
    color: var(--navy);
}
.chk-gauge-note { font-size: .92rem; margin: 0 0 14px; }
/* ==== bands & type ==== */
.chk-band { padding: 46px 0; }
.chk-band.alt { background: var(--sheet); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
h2 {
    font: 700 1.5rem/1.25 var(--f-head);
    color: var(--navy);
    margin: 0 0 16px;
}
h3 { font: 700 1.08rem/1.3 var(--f-head); color: var(--navy); margin: 22px 0 8px; }
.chk-band p { margin: 0 0 14px; }
/* ==== dossier dl ==== */
.chk-dossier {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 34px;
    margin: 0;
}
.chk-dossier div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px dotted var(--line);
}
.chk-dossier dt { font-weight: 600; color: var(--mut); }
.chk-dossier dd { margin: 0; text-align: right; font-weight: 600; }
.chk-dossier dd.ok { color: var(--pass-deep); }
.chk-dossier dd.warn { color: var(--risk); }
/* ==== nine-point test ==== */
.chk-test {
    list-style: none;
    counter-reset: checkno;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.chk-item {
    counter-increment: checkno;
    background: var(--sheet);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 16px 18px 14px 58px;
    position: relative;
}
.chk-item::before {
    content: counter(checkno);
    position: absolute;
    left: 16px;
    top: 16px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--navy);
    color: #fff;
    font: 700 .88rem/28px var(--f-head);
    text-align: center;
}
.chk-item h3 { margin: 0 42px 6px 0; }
.chk-item p { margin: 0 0 6px; font-size: .95rem; }
.chk-badge {
    position: absolute;
    right: 14px;
    top: 16px;
    font: 700 .7rem/1 var(--f-body);
    letter-spacing: .08em;
    padding: 5px 9px;
    border-radius: 4px;
    border: 1px solid;
}
.chk-badge.pass { color: var(--pass-deep); background: var(--pass-tint); border-color: var(--pass); }
.chk-badge.flag { color: var(--flag); background: var(--flag-tint); border-color: var(--flag); }
.chk-agg {
    background: var(--navy);
    color: #e6edf4;
    border-radius: 6px;
    padding: 14px 18px;
    margin-top: 16px;
}
.chk-log {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    font-size: .88rem;
    color: var(--mut);
}
.chk-log li { padding: 4px 0 4px 18px; position: relative; }
.chk-log li::before { content: "\2713"; position: absolute; left: 0; color: var(--pass); }
/* ==== tables ==== */
.chk-scroll { overflow-x: auto; }
.chk-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--sheet);
    border: 1px solid var(--line);
    font-size: .95rem;
}
.chk-table caption {
    caption-side: bottom;
    font-size: .82rem;
    color: var(--mut);
    padding: 8px 4px;
    text-align: left;
}
.chk-table th, .chk-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}
.chk-table thead th {
    background: var(--navy);
    color: #fff;
    font: 600 .8rem/1.3 var(--f-body);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.chk-table tbody tr:nth-child(even) { background: var(--paper); }
.chk-share { white-space: nowrap; font-weight: 700; color: var(--navy); }
/* ==== lists ==== */
.chk-checklist, .chk-steps { margin: 0 0 14px; padding-left: 22px; }
.chk-checklist li, .chk-steps li { margin-bottom: 8px; }
/* ==== q&a ==== */
.chk-qa h3 {
    border-top: 1px solid var(--line);
    padding-top: 16px;
    margin-top: 18px;
}
.chk-qa h3:first-of-type { border-top: 0; margin-top: 0; }
/* ==== takeaways / final ==== */
.chk-take {
    list-style: none;
    margin: 0;
    padding: 0;
}
.chk-take li {
    padding: 9px 0 9px 26px;
    position: relative;
    border-bottom: 1px dotted var(--line);
}
.chk-take li::before {
    content: "\2713";
    position: absolute;
    left: 2px;
    color: var(--pass);
    font-weight: 700;
}
.chk-final {
    background: var(--navy-deep);
    color: #dfe8f0;
    text-align: center;
    padding: 46px 0;
}
.chk-final h2 { color: #fff; }
.chk-final .chk-badges {
    margin-top: 14px;
    font-size: .86rem;
    color: #9fb2c6;
}
/* ==== buttons ==== */
.chk-btn {
    display: inline-block;
    background: var(--pass);
    color: #fff;
    font: 600 1.02rem/1 var(--f-body);
    text-decoration: none;
    padding: 15px 26px;
    border-radius: 6px;
}
.chk-btn:hover { background: var(--pass-deep); }
.chk-microcopy { font-size: .8rem; color: var(--mut); margin-top: 8px; }
.chk-final .chk-microcopy { color: #9fb2c6; }
/* ==== references ==== */
.chk-refs { padding-left: 22px; font-size: .94rem; }
.chk-refs li { margin-bottom: 6px; }
sup a { text-decoration: none; font-weight: 700; color: var(--pass-deep); }
/* ==== footer ==== */
.chk-foot {
    background: var(--navy-deep);
    color: #b9c7d5;
    font-size: .88rem;
    padding: 44px 0 30px;
}
.chk-foot h2 {
    color: #fff;
    font-size: 1.05rem;
    margin-bottom: 10px;
}
.chk-foot a { color: #dbe5ee; }
.chk-foot .chk-wrap {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 34px;
}
.chk-legalese {
    border-top: 1px solid #24405f;
    margin-top: 26px;
    padding-top: 18px;
    font-size: .8rem;
    color: #8ba0b5;
}
.chk-foot ul { list-style: none; margin: 0; padding: 0; }
.chk-foot li { margin-bottom: 6px; }
/* ==== sticky rail bar ==== */
.chk-railbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--sheet);
    border-top: 3px solid var(--navy);
    z-index: 50;
    padding: 12px 0;
}
.chk-railbar .chk-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
}
.chk-railtag {
    background: var(--pass-tint);
    color: var(--pass-deep);
    border: 1px solid var(--pass);
    border-radius: 999px;
    font: 600 .74rem/1 var(--f-body);
    padding: 6px 12px;
    white-space: nowrap;
}
.chk-railmsg { font-size: .9rem; flex: 1; }
.chk-railbar .chk-btn { padding: 11px 18px; font-size: .92rem; white-space: nowrap; }
.chk-railx {
    background: none;
    border: 1px solid var(--line);
    border-radius: 6px;
    width: 36px;
    height: 36px;
    font-size: 1rem;
    color: var(--mut);
    cursor: pointer;
}
/* ==== small screens ==== */
@media (max-width: 880px) {
    .chk-menubtn { display: block; }
    .chk-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--navy);
        visibility: hidden;
        opacity: 0;
        transition: opacity .2s ease, visibility 0s linear .2s;
        border-top: 1px solid #24405f;
    }
    .chk-nav.is-open {
        visibility: visible;
        opacity: 1;
        transition: opacity .2s ease;
    }
    .chk-nav ul {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 20px 16px;
    }
    .chk-nav li { border-bottom: 1px solid #24405f; }
    .chk-nav a { display: block; padding: 12px 0; }
    .chk-nav .chk-cta { margin-top: 12px; text-align: center; }
    .chk-hero .chk-wrap { grid-template-columns: 1fr; }
    .chk-dossier { grid-template-columns: 1fr; }
    .chk-foot .chk-wrap { grid-template-columns: 1fr; }
    h1 { font-size: 1.7rem; }
    body.has-railbar { padding-bottom: 132px; }
    .chk-railbar .chk-wrap { flex-wrap: wrap; gap: 8px; }
    .chk-railmsg { flex: 1 1 100%; order: 3; font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .chk-nav { transition: none; }
}
