/* Deploy 17 trust pages (PLAN L4): /glossary, /methodology, /coverage/status. Page styles only, built on the site.css
   tokens and components (.card, .notice, .data-table, .chip, .kicker, .t-*). Light paper page, opaque white cards,
   one accent, nothing below 12px, nothing lighter than --text-muted for text a reader needs. */

.trust-shell { max-width: 880px; margin: var(--space-6) auto var(--space-7); min-width: 0; }
.trust-head { margin: 0 0 var(--space-5); }
.trust-head .kicker { display: block; margin: 0 0 var(--space-2); }
.trust-head h1 {
    margin: 0 0 var(--space-3);
    font-family: var(--font-ui);
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
    font-weight: 700;
    color: var(--text-strong);
    letter-spacing: 0;
}
.trust-lede { margin: 0; max-width: 68ch; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text); }
.trust-meta { margin: var(--space-2) 0 0; font-size: var(--fs-small); line-height: var(--lh-small); color: var(--text-muted); }

.trust-shell .card { padding: var(--space-5); overflow-wrap: break-word; }
.trust-shell .card + .card { margin-top: var(--space-4); }
.trust-shell h2 {
    margin: 0 0 var(--space-3);
    font-family: var(--font-ui);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 700;
    color: var(--text-strong);
    scroll-margin-top: 96px;
}
.trust-shell p,
.trust-shell li { font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text); }
.trust-shell p { margin: 0 0 var(--space-3); max-width: 70ch; }
.trust-shell ul,
.trust-shell ol { margin: 0 0 var(--space-3); padding-left: 22px; max-width: 70ch; }
.trust-shell li { margin: 0 0 var(--space-2); }
.trust-shell .card > :last-child { margin-bottom: 0; }
.trust-shell a:not(.chip):not(.btn) { color: var(--accent-text); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.trust-shell strong { color: var(--text-strong); font-weight: 600; }

/* On-page contents: a wrapping row of chips that link to the sections below. */
.trust-toc { margin: 0 0 var(--space-5); }
.trust-toc .chip-list { gap: var(--space-2); margin: 0; padding-left: 0; list-style: none; }
/* Tap targets: the contents chips and each term's "#" link are at least 32px tall/wide on every screen. */
.trust-toc .chip { min-height: 32px; display: inline-flex; align-items: center; }

/* Glossary: one definition list per section; each term carries its own anchor (#term-<key>). */
.trust-terms { margin: 0; padding: 0; }
.trust-term { padding: var(--space-3) 0; border-top: 1px solid var(--line); scroll-margin-top: 96px; }
.trust-term:first-child { border-top: 0; padding-top: 0; }
.trust-term:last-child { padding-bottom: 0; }
.trust-term:target { background: var(--accent-tint); border-radius: var(--radius-sm); padding-inline: var(--space-3); }
.trust-term dt { margin: 0 0 var(--space-1); font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: 600; color: var(--text-strong); }
.trust-term dt .trust-term-full { font-weight: 500; color: var(--text-muted); font-size: var(--fs-table); }
.trust-term dt .trust-anchor {
    margin-left: var(--space-1);
    font-size: var(--fs-small);
    font-weight: 600;
    color: var(--text-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    vertical-align: middle;
}
.trust-shell .trust-term dt a.trust-anchor:not(:hover):not(:focus-visible) { text-decoration: none; }
.trust-term dt .trust-anchor:hover,
.trust-term dt .trust-anchor:focus-visible { color: var(--accent-text); text-decoration: underline; }
.trust-term dd { margin: 0; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text); max-width: 70ch; }
.trust-term dd + dd { margin-top: var(--space-1); font-size: var(--fs-small); line-height: var(--lh-small); color: var(--text-muted); }

/* Methodology: numbered steps (the <ol> carries role="list" so screen readers keep it a list without bullets). */
.trust-steps { counter-reset: trust-step; list-style: none; padding-left: 0; }
.trust-steps > li { position: relative; padding-left: 40px; margin-bottom: var(--space-4); }
.trust-steps > li::before {
    counter-increment: trust-step;
    content: counter(trust-step);
    position: absolute;
    left: 0;
    top: 1px;
    width: 26px;
    height: 26px;
    border-radius: var(--radius-pill);
    background: var(--accent-tint);
    color: var(--accent-text);
    font-size: var(--fs-small);
    font-weight: 700;
    line-height: 26px;
    text-align: center;
}
.trust-steps > li > strong:first-child { display: block; margin-bottom: var(--space-1); }

/* Coverage table: one container per state; scrolls inside its own box on narrow screens, never the page. */
.trust-table-wrap { overflow-x: auto; margin: 0 0 var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-ctl); }
.trust-table-wrap .data-table { margin: 0; min-width: 520px; }
.trust-table-wrap .data-table td { vertical-align: top; }
.trust-table-wrap .data-table :is(th, td):first-child { min-width: 11rem; }
.trust-table-wrap .data-table td.trust-note { font-size: var(--fs-small); line-height: var(--lh-small); color: var(--text-muted); min-width: 220px; }
.trust-area { display: block; font-size: var(--fs-small); line-height: var(--lh-small); color: var(--text-muted); }

.trust-related { margin-top: var(--space-5); }

@media (max-width: 720px) {
    .trust-shell { margin-top: var(--space-4); }
    .trust-shell .card { padding: var(--space-4); }
    .trust-head h1 { font-size: 1.5rem; }
}

/* Phones: each jurisdiction becomes a stacked card (label above value), so nothing scrolls sideways. */
@media (max-width: 560px) {
    .trust-table-wrap { border: 0; overflow: visible; }
    .trust-table-wrap .data-table { min-width: 0; }
    .trust-table-wrap .data-table thead {
        position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
    }
    .trust-table-wrap .data-table,
    .trust-table-wrap .data-table tbody,
    .trust-table-wrap .data-table tr,
    .trust-table-wrap .data-table td { display: block; width: 100%; }
    .trust-table-wrap .data-table tr {
        margin: 0 0 var(--space-3);
        padding: var(--space-3);
        border: 1px solid var(--line);
        border-radius: var(--radius-ctl);
        background: var(--surface-1);
    }
    .trust-table-wrap .data-table td { padding: 2px 0; border: 0; min-width: 0; }
    .trust-table-wrap .data-table td.trust-note { min-width: 0; }
    .trust-table-wrap .data-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: var(--fs-micro);
        line-height: var(--lh-micro);
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--text-muted);
    }
    .trust-table-wrap .data-table td:first-child::before { content: none; }
    .trust-table-wrap .data-table td:first-child { font-weight: 600; color: var(--text-strong); }
    .trust-table-wrap .data-table tbody tr:hover td { background: transparent; }
}

@media print {
    .trust-toc, .trust-anchor { display: none !important; }
    .trust-shell .card { box-shadow: none; break-inside: avoid-page; }
}
